fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff46494c45300009000000000000000000010000004800000050000000001000000000000000000000000000003f000000020000000000000000000000000000000000000000000000ffffffff00"/262272, 0x40080, 0x102fe0}, {&(0x7f0000094e00)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x1431e0}, {&(0x7f0000094f00)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x1433e0}, {&(0x7f0000095000)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x1435e0}, {&(0x7f0000095100)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x1437e0}, {&(0x7f0000095200)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x1439e0}, {&(0x7f0000095300)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x143be0}, {&(0x7f0000095400)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x143de0}, {&(0x7f0000095500)="000000000000000000000000000000000000000000000000000000000000020046494c45300009000000000000000000010001004800030078020000001000000000000000000000040000004000000006000000000000000000000000000000000000000000000010000000480000000000000000000000300000001800000014bb7a01c88dd60148c87a01c88dd60148c87a01c88dd60114bb7a01c88dd60120000000000000000000000000000000300000006800000000000000000003004c00000018000100050000000000050014bb7a01c88dd60114bb7a01c88dd60114bb7a01c88dd60114bb7a01c88dd6010000000000000000000000000000000020000010000000000500660069006c0065003000000000005000000068000000000000000000010050000000180000000100048014000000240000000000000034000000010200000000000520000000200200000102000000000005200000002002000002001c000100000000031400ff011f0001010000000000010000000090000000100100000004180000000200f00000002000000024004900330030003000000001000000001000000100000010000000e0000000e000000000000000410000000000010060004c0000000000400000000000010089c07a01c88dd60129c47a01c88dd60129c47a01c88dd60189c07a01c88dd60120040000000000001a0400000000000020000000000000000500660069006c006500300000000600420000000000010060004c00000000004000000000000100efc77a01c88dd601efc77a01c88dd601efc77a01c88dd601efc77a01c88dd6015800000000000000540000000000000024000000000000000500660069006c00650031000000000000000000000000001000000002000000ffffffff00"/672, 0x2a0, 0x143fe0}, {&(0x7f0000095800)="0000000000000000000000000000000000000000000000000000000000000600", 0x20, 0x1443e0}, {&(0x7f0000095900)="0000000000000000000000000000000000000000000000000000000000000600", 0x20, 0x1445e0}, {&(0x7f0000095a00)="0000000000000000000000000000000000000000000000000000000000000600", 0x20, 0x1447e0}, {&(0x7f0000095b00)="0000000000000000000000000000000000000000000000000000000000000600", 0x20, 0x1449e0}, {&(0x7f0000095c00)="0000000000000000000000000000000000000000000000000000000000000600", 0x20, 0x144be0}, {&(0x7f0000095d00)="0000000000000000000000000000000000000000000000000000000000000600", 0x20, 0x144de0}, {&(0x7f0000095e00)="000000000000000000000000000000000000000000000000000000000000060046494c453000090000000000000000000100010048000100a0050000001000000000000000000000040000004100000005007273657200000000000000000000000000000000000010000000480000000000000000000000300000001800000089c07a01c88dd60129c47a01c88dd60129c47a01c88dd60189c07a01c88dd60120000000000000000000000000000000300000006800000000000000000003004c00000018000100400000000000010089c07a01c88dd60189c07a01c88dd60189c07a01c88dd60189c07a01c88dd6012004000000000000000000000000000020000000000000000500660069006c0065003000000000005000000068000000000000000000010050000000180000000100048014000000240000000000000034000000010200000000000520000000200200000102000000000005200000002002000002001c000100000000031400ff011f00010100000000000100000000800000003804000000000000000002001a0400001800000073797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c650500797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c050073797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c000000000000ffffffff00000000", 0x5c0, 0x144fe0}, {&(0x7f0000096400)="0000000000000000000000000000000000000000000000000000000000000500", 0x20, 0x1455e0}, {&(0x7f0000096500)="0000000000000000000000000000000000000000000000000000000000000500", 0x20, 0x1457e0}, {&(0x7f0000096600)="0000000000000000000000000000000000000000000000000000000000000500", 0x20, 0x1459e0}, {&(0x7f0000096700)="0000000000000000000000000000000000000000000000000000000000000500", 0x20, 0x145be0}, {&(0x7f0000096800)="0000000000000000000000000000000000000000000000000000000000000500", 0x20, 0x145de0}, {&(0x7f0000096900)="000000000000000000000000000000000000000000000000000000000000050046494c453000090000000000000000000100010048000100d80100000010000000000000000000000400000042000000030000000000000000000000000000000000000000000000100000004800000000000000000000003000000018000000efc77a01c88dd601efc77a01c88dd601efc77a01c88dd601efc77a01c88dd60124000000000000000000000000000000300000006800000000000000000003004c000000180001004000000000000100efc77a01c88dd601efc77a01c88dd601efc77a01c88dd601efc77a01c88dd6015800000000000000540000000000000024000000000000000500660069006c0065003100000000005000000068000000000000000000010050000000180000000100048014000000240000000000000034000000010200000000000520000000200200000102000000000005200000002002000002001c000100000000031400ff011f00010100000000000100000000800000007000000000000000000002005400000018000000496e74784c4e4b012f0074006d0070002f00730079007a002d0069006d00610067006500670065006e003100350032003700370032003300310034002f00660069006c00650030002f00660069006c006500300000000000ffffffff0000000000000000000000000000000000000000000000000000000000000000000000000000000000000300", 0x220, 0x145fe0}, {&(0x7f0000096c00)="0000000000000000000000000000000000000000000000000000000000000300", 0x20, 0x1463e0}, {&(0x7f0000096d00)="0000000000000000000000000000000000000000000000000000000000000300", 0x20, 0x1465e0}, {&(0x7f0000096e00)="0000000000000000000000000000000000000000000000000000000000000300", 0x20, 0x1467e0}, {&(0x7f0000096f00)="0000000000000000000000000000000000000000000000000000000000000300", 0x20, 0x1469e0}, {&(0x7f0000097000)="0000000000000000000000000000000000000000000000000000000000000300", 0x20, 0x146be0}, {&(0x7f0000097100)="0000000000000000000000000000000000000000000000000000000000000300", 0x20, 0x146de0}, {&(0x7f0000097200)="000000000000000000000000000000000000000000000000000000000000030046494c453000090000000000000000000100010048000100f001000000100000000000000000000006000000430000000900000000000000000000000000000000000000000000001000000048000000000000000000000030000000180000000fcb7a01c88dd601b0cd7a01c88dd60111d17a01c88dd6010fcb7a01c88dd60120000000000000000000000000000000300000006800000000000000000003004c0000001800010005000000000005000fcb7a01c88dd6010fcb7a01c88dd6010fcb7a01c88dd6010fcb7a01c88dd6011000000000000000000000000000000020000000000000000500660069006c0065003100000000005000000068000000000000000000010050000000180000000100048014000000240000000000000034000000010200000000000520000000200200000102000000000005200000002002000002001c000100000000031400ff011f00010100000000000100000000800000002800000000000000000002000a0000001800000073797a6b616c6c657273000000000000800000003000000000061800000004000600000028000000780061007400740072003100000000007861747472310000800000003000000000061800000005000600000028000000780061007400740072003200000000007861747472320000ffffffff0000000000000000000000000000000000000900", 0x220, 0x146fe0}, {&(0x7f0000097500)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\t\x00', 0x20, 0x1473e0}, {&(0x7f0000097600)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\t\x00', 0x20, 0x1475e0}, {&(0x7f0000097700)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\t\x00', 0x20, 0x1477e0}, {&(0x7f0000097800)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\t\x00', 0x20, 0x1479e0}, {&(0x7f0000097900)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\t\x00', 0x20, 0x147be0}, {&(0x7f0000097a00)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\t\x00', 0x20, 0x147de0}, {&(0x7f0000097b00)="000000000000000000000000000000000000000000000000000000000000090046494c4530000900000000000000000001000200480001001802000000100000000000000000000005000000440000000a0000000000000000000000000000000000000000000000100000004800000000000000000000003000000018000000add47a01c88dd60173db7a01c88dd6013bde7a01c88dd601add47a01c88dd60120000000000000000000000000000000300000006800000000000000000004004c000000180001000500000000000500add47a01c88dd60173db7a01c88dd60173db7a01c88dd601add47a01c88dd6010030000000000000282300000000000020000000000000000500660069006c006500330000000000300000006800000000000000000003004c000000180001000500000000000500add47a01c88dd601add47a01c88dd601add47a01c88dd601add47a01c88dd6010030000000000000000000000000000020000000000000000500660069006c0065003200000000005000000068000000000000000000010050000000180000000100048014000000240000000000000034000000010200000000000520000000200200000102000000000005200000002002000002001c000100000000031400ff011f000101000000000001000000008000000048000000010040000000020000000000000000000200000000000000400000000000000000300000000000002823000000000a00282300000000000021034f0100000000ffffffff00"/576, 0x240, 0x147fe0}, {&(0x7f0000097e00)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\n\x00', 0x20, 0x1483e0}, {&(0x7f0000097f00)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\n\x00', 0x20, 0x1485e0}, {&(0x7f0000098000)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\n\x00', 0x20, 0x1487e0}, {&(0x7f0000098100)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\n\x00', 0x20, 0x1489e0}, {&(0x7f0000098200)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\n\x00', 0x20, 0x148be0}, {&(0x7f0000098300)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\n\x00', 0x20, 0x148de0}, {&(0x7f0000098400)="0000000000000000000000000000000000000000000000000000000000000a0046494c453000090000000000000000000100010048000100f0010000001000000000000000000000040000004500000005000000000000000000000000000000000000000000000010000000480000000000000000000000300000001800000050e17a01c88dd601cae37a01c88dd601cae37a01c88dd60150e17a01c88dd60120000000000000000000000000000000300000007000000000000000000003005400000018000100050000000000050050e17a01c88dd60150e17a01c88dd60150e17a01c88dd60150e17a01c88dd6016800000000000000000000000000000020000000000000000900660069006c0065002e0063006f006c006400180000005000000068000000000000000000010050000000180000000100048014000000240000000000000034000000010200000000000520000000200200000102000000000005200000002002000002001c000100000000031400ff011f0001010000000000010000000080000000800000000000000000000200640000001800000073797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c65727300000000ffffffff0000000000000000000000000000000000000500", 0x220, 0x148fe0}, {&(0x7f0000098700)="0000000000000000000000000000000000000000000000000000000000000500", 0x20, 0x1493e0}, {&(0x7f0000098800)="0000000000000000000000000000000000000000000000000000000000000500", 0x20, 0x1495e0}, {&(0x7f0000098900)="0000000000000000000000000000000000000000000000000000000000000500", 0x20, 0x1497e0}, {&(0x7f0000098a00)="0000000000000000000000000000000000000000000000000000000000000500", 0x20, 0x1499e0}, {&(0x7f0000098b00)="0000000000000000000000000000000000000000000000000000000000000500", 0x20, 0x149be0}, {&(0x7f0000098c00)="0000000000000000000000000000000000000000000000000000000000000500", 0x20, 0x149de0}, {&(0x7f0000098d00)="0000000000000000000000000000000000000000000000000000000000000500", 0x20, 0x149fe0}, {&(0x7f0000098e00)="eb52904e5446532020202000100100000000000000f8000000000000000000000000000080008000ff010000000000000400000000000000ff000000000000000100000001000000a3b8b20fcf7aa836000000000e1fbe717cac22c0740b56b40ebb0700cd105eebf032e4cd16cd19ebfe54686973206973206e6f74206120626f6f7461626c65206469736b2e20506c6561736520696e73657274206120626f6f7461626c6520666c6f70707920616e640d0a707265737320616e79206b657920746f2074727920616761696e202e2e2e200d0a00"/224, 0xe0, 0x1ff000}, {&(0x7f0000098f00)="00000000000000000000000000000000000000000000000000000000000055aa", 0x20, 0x1ff1e0}], 0x0, &(0x7f0000099000)) 21:35:53 executing program 1: r0 = socket$inet6_tcp(0xa, 0x1, 0x0) setsockopt$inet6_tcp_buf(r0, 0x6, 0x1f, &(0x7f0000000440)="e7", 0x1) setsockopt$SO_TIMESTAMPING(r0, 0x1, 0xa, &(0x7f00000002c0), 0x4) 21:35:53 executing program 4: r0 = socket(0x10, 0x2, 0x0) getsockopt$sock_cred(r0, 0x1, 0x11, &(0x7f0000caaffb)={0x0, 0x0}, &(0x7f0000cab000)=0xc) setuid(r1) r2 = getpid() r3 = pidfd_open(r2, 0x0) r4 = getpid() r5 = pidfd_open(r4, 0x0) r6 = dup3(r5, r3, 0x0) setns(r6, 0x8000000) 21:35:53 executing program 5: r0 = socket(0x11, 0x800000003, 0x0) bind(r0, &(0x7f0000000080)=@generic={0x11, "0000010000000000080044944eeba71a4976e252922cb18f6e2e2aba000000012e0b3836005404b0e0301a4ce875f2e3ff5f163ee340b7679500800000000000000101013c5811039e15775027ecce66fd792bbf0e5bf5ff1b0816f3f6db1c00010000000000000049740000000000000006ad8e5ecc326d3a09ffc2c654"}, 0x80) getsockname$packet(r0, &(0x7f00000025c0)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @dev}, &(0x7f0000000040)=0x66) r2 = socket(0x10, 0x3, 0x0) sendmsg$nl_route_sched(r2, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000780)={&(0x7f00000002c0)=@newqdisc={0x48, 0x24, 0xf0b, 0x0, 0x0, {0x60, 0x0, 0x0, r1, {}, {0xffff, 0xffff}}, [@qdisc_kind_options=@q_prio={{0x9}, {0x18, 0x2, {0x4, "000000000000000200038000"}}}]}, 0x48}}, 0x0) 21:35:53 executing program 0: r0 = socket$inet_smc(0x2b, 0x1, 0x0) ioctl$sock_inet_tcp_SIOCATMARK(r0, 0x89a3, &(0x7f0000000040)) 21:35:53 executing program 3: pipe(&(0x7f0000000040)={0xffffffffffffffff, 0xffffffffffffffff}) pipe(&(0x7f0000000040)={0xffffffffffffffff}) ioctl$int_in(r1, 0x5421, &(0x7f0000000000)=0x8d) tee(r1, r0, 0x20, 0x0) 21:35:54 executing program 4: r0 = socket(0x10, 0x2, 0x0) getsockopt$sock_cred(r0, 0x1, 0x11, &(0x7f0000caaffb)={0x0, 0x0}, &(0x7f0000cab000)=0xc) setuid(r1) r2 = getpid() r3 = pidfd_open(r2, 0x0) r4 = getpid() r5 = pidfd_open(r4, 0x0) r6 = dup3(r5, r3, 0x0) setns(r6, 0x8000000) 21:35:54 executing program 1: r0 = socket$inet6_tcp(0xa, 0x1, 0x0) setsockopt$inet6_tcp_buf(r0, 0x6, 0x1f, &(0x7f0000000440)="e7", 0x1) setsockopt$SO_TIMESTAMPING(r0, 0x1, 0xa, &(0x7f00000002c0), 0x4) 21:35:54 executing program 5: r0 = socket(0x11, 0x800000003, 0x0) bind(r0, &(0x7f0000000080)=@generic={0x11, "0000010000000000080044944eeba71a4976e252922cb18f6e2e2aba000000012e0b3836005404b0e0301a4ce875f2e3ff5f163ee340b7679500800000000000000101013c5811039e15775027ecce66fd792bbf0e5bf5ff1b0816f3f6db1c00010000000000000049740000000000000006ad8e5ecc326d3a09ffc2c654"}, 0x80) getsockname$packet(r0, &(0x7f00000025c0)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @dev}, &(0x7f0000000040)=0x66) r2 = socket(0x10, 0x3, 0x0) sendmsg$nl_route_sched(r2, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000780)={&(0x7f00000002c0)=@newqdisc={0x48, 0x24, 0xf0b, 0x0, 0x0, {0x60, 0x0, 0x0, r1, {}, {0xffff, 0xffff}}, [@qdisc_kind_options=@q_prio={{0x9}, {0x18, 0x2, {0x4, "000000000000000200038000"}}}]}, 0x48}}, 0x0) 21:35:54 executing program 3: pipe(&(0x7f0000000040)={0xffffffffffffffff, 0xffffffffffffffff}) pipe(&(0x7f0000000040)={0xffffffffffffffff}) ioctl$int_in(r1, 0x5421, &(0x7f0000000000)=0x8d) tee(r1, r0, 0x20, 0x0) 21:35:54 executing program 0: r0 = socket$inet_smc(0x2b, 0x1, 0x0) ioctl$sock_inet_tcp_SIOCATMARK(r0, 0x89a3, &(0x7f0000000040)) 21:35:54 executing program 2: r0 = socket$nl_route(0x10, 0x3, 0x0) r1 = socket$nl_route(0x10, 0x3, 0x0) r2 = socket$netlink(0x10, 0x3, 0x0) r3 = socket(0x10, 0x803, 0x0) syz_genetlink_get_family_id$nl80211(&(0x7f0000000380), r3) getsockname$packet(r3, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000200)=0x14) sendmsg$nl_route(r0, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000000)={&(0x7f0000000140)=ANY=[@ANYBLOB="4800000010000507000004000000000000000000", @ANYRES32=r4, @ANYBLOB="0000000000000000280012000c00010076657468"], 0x48}}, 0x0) sendmsg$nl_route_sched(r2, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000780)={&(0x7f0000000900)=ANY=[@ANYBLOB="3000000024001d0f3a61aa51acb1d59e1a43ca38", @ANYRES32=r4, @ANYBLOB="00000000f1ffffff000000000b000100636c73616374"], 0x30}}, 0x0) sendmsg$nl_route_sched(r1, &(0x7f0000000280)={0x0, 0x0, &(0x7f0000000300)={&(0x7f0000000500)=@delchain={0x3c, 0x64, 0xf31, 0x0, 0x0, {0x0, 0x0, 0x0, r4, {}, {0xfff3, 0xffff}}, [@filter_kind_options=@f_flower={{0xb}, {0xc, 0x2, [@TCA_FLOWER_KEY_ENC_OPTS={0x8, 0x54, 0x0, 0x1, [@TCA_FLOWER_KEY_ENC_OPTS_ERSPAN={0x4}]}]}}]}, 0x3c}}, 0x0) 21:35:54 executing program 4: r0 = socket(0x10, 0x2, 0x0) getsockopt$sock_cred(r0, 0x1, 0x11, &(0x7f0000caaffb)={0x0, 0x0}, &(0x7f0000cab000)=0xc) setuid(r1) r2 = getpid() r3 = pidfd_open(r2, 0x0) r4 = getpid() r5 = pidfd_open(r4, 0x0) r6 = dup3(r5, r3, 0x0) setns(r6, 0x8000000) 21:35:54 executing program 5: r0 = socket(0x11, 0x800000003, 0x0) bind(r0, &(0x7f0000000080)=@generic={0x11, "0000010000000000080044944eeba71a4976e252922cb18f6e2e2aba000000012e0b3836005404b0e0301a4ce875f2e3ff5f163ee340b7679500800000000000000101013c5811039e15775027ecce66fd792bbf0e5bf5ff1b0816f3f6db1c00010000000000000049740000000000000006ad8e5ecc326d3a09ffc2c654"}, 0x80) getsockname$packet(r0, &(0x7f00000025c0)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @dev}, &(0x7f0000000040)=0x66) r2 = socket(0x10, 0x3, 0x0) sendmsg$nl_route_sched(r2, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000780)={&(0x7f00000002c0)=@newqdisc={0x48, 0x24, 0xf0b, 0x0, 0x0, {0x60, 0x0, 0x0, r1, {}, {0xffff, 0xffff}}, [@qdisc_kind_options=@q_prio={{0x9}, {0x18, 0x2, {0x4, "000000000000000200038000"}}}]}, 0x48}}, 0x0) 21:35:54 executing program 3: pipe(&(0x7f0000000040)={0xffffffffffffffff, 0xffffffffffffffff}) pipe(&(0x7f0000000040)={0xffffffffffffffff}) ioctl$int_in(r1, 0x5421, &(0x7f0000000000)=0x8d) tee(r1, r0, 0x20, 0x0) [ 2009.028654][ T6294] netlink: 24 bytes leftover after parsing attributes in process `syz-executor.2'. 21:35:54 executing program 1: r0 = socket$inet6_tcp(0xa, 0x1, 0x0) setsockopt$inet6_tcp_buf(r0, 0x6, 0x1f, &(0x7f0000000440)="e7", 0x1) setsockopt$SO_TIMESTAMPING(r0, 0x1, 0xa, &(0x7f00000002c0), 0x4) 21:35:54 executing program 4: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f0000000080)={0x0, 0x0, &(0x7f0000000140)={&(0x7f0000000280)=ANY=[@ANYBLOB="7c0000001000010400"/20, @ANYRES32=0x0, @ANYBLOB="00900400000000005c0012800b00010062726964676500004c0002800500250001000000080001001b00000008001a000001000008001a00090000000c0023000800000000000000050026"], 0x7c}}, 0x0) 21:35:55 executing program 3: pipe(&(0x7f0000000040)={0xffffffffffffffff, 0xffffffffffffffff}) pipe(&(0x7f0000000040)={0xffffffffffffffff}) ioctl$int_in(r1, 0x5421, &(0x7f0000000000)=0x8d) tee(r1, r0, 0x20, 0x0) 21:35:55 executing program 2: r0 = socket$nl_route(0x10, 0x3, 0x0) r1 = socket$nl_route(0x10, 0x3, 0x0) r2 = socket$netlink(0x10, 0x3, 0x0) r3 = socket(0x10, 0x803, 0x0) syz_genetlink_get_family_id$nl80211(&(0x7f0000000380), r3) getsockname$packet(r3, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000200)=0x14) sendmsg$nl_route(r0, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000000)={&(0x7f0000000140)=ANY=[@ANYBLOB="4800000010000507000004000000000000000000", @ANYRES32=r4, @ANYBLOB="0000000000000000280012000c00010076657468"], 0x48}}, 0x0) sendmsg$nl_route_sched(r2, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000780)={&(0x7f0000000900)=ANY=[@ANYBLOB="3000000024001d0f3a61aa51acb1d59e1a43ca38", @ANYRES32=r4, @ANYBLOB="00000000f1ffffff000000000b000100636c73616374"], 0x30}}, 0x0) sendmsg$nl_route_sched(r1, &(0x7f0000000280)={0x0, 0x0, &(0x7f0000000300)={&(0x7f0000000500)=@delchain={0x3c, 0x64, 0xf31, 0x0, 0x0, {0x0, 0x0, 0x0, r4, {}, {0xfff3, 0xffff}}, [@filter_kind_options=@f_flower={{0xb}, {0xc, 0x2, [@TCA_FLOWER_KEY_ENC_OPTS={0x8, 0x54, 0x0, 0x1, [@TCA_FLOWER_KEY_ENC_OPTS_ERSPAN={0x4}]}]}}]}, 0x3c}}, 0x0) 21:35:55 executing program 5: mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x0, 0x10, 0xffffffffffffffff, 0x0) pipe(0x0) r0 = socket$inet6_tcp(0xa, 0x1, 0x0) bind$inet6(r0, &(0x7f0000000000)={0xa, 0x8000002}, 0x1c) sendto$inet6(r0, 0x0, 0x0, 0x2600c800, &(0x7f0000b63fe4)={0xa, 0x2, 0x0, @ipv4={'\x00', '\xff\xff', @loopback}}, 0x1c) sendto$inet6(r0, &(0x7f0000001280)="1b", 0x1, 0x8004, 0x0, 0x0) shutdown(r0, 0x2) [ 2009.505682][ T6311] netlink: 20 bytes leftover after parsing attributes in process `syz-executor.4'. [ 2009.526010][ T6311] bridge3: the hash_elasticity option has been deprecated and is always 16 [ 2009.534841][ T6311] bridge3: trying to set multicast startup query interval below minimum, setting to 100 (1000ms) 21:35:55 executing program 0: bpf$BPF_BTF_LOAD(0x12, &(0x7f0000000140)={&(0x7f0000000080)={{0xeb9f, 0x1, 0x0, 0x18, 0x0, 0x24, 0x24, 0x2, [@union={0x0, 0x1, 0x0, 0x5, 0x0, 0x0, [{0x0, 0x2}]}, @restrict]}}, &(0x7f00000001c0)=""/139, 0x3e, 0x8b, 0x1}, 0x20) 21:35:55 executing program 1: r0 = socket$inet6_tcp(0xa, 0x1, 0x0) setsockopt$inet6_tcp_buf(r0, 0x6, 0x1f, &(0x7f0000000440)="e7", 0x1) setsockopt$SO_TIMESTAMPING(r0, 0x1, 0xa, &(0x7f00000002c0), 0x4) [ 2009.729846][ T6317] netlink: 24 bytes leftover after parsing attributes in process `syz-executor.2'. 21:35:55 executing program 4: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f0000000080)={0x0, 0x0, &(0x7f0000000140)={&(0x7f0000000280)=ANY=[@ANYBLOB="7c0000001000010400"/20, @ANYRES32=0x0, @ANYBLOB="00900400000000005c0012800b00010062726964676500004c0002800500250001000000080001001b00000008001a000001000008001a00090000000c0023000800000000000000050026"], 0x7c}}, 0x0) 21:35:55 executing program 5: mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x0, 0x10, 0xffffffffffffffff, 0x0) pipe(0x0) r0 = socket$inet6_tcp(0xa, 0x1, 0x0) bind$inet6(r0, &(0x7f0000000000)={0xa, 0x8000002}, 0x1c) sendto$inet6(r0, 0x0, 0x0, 0x2600c800, &(0x7f0000b63fe4)={0xa, 0x2, 0x0, @ipv4={'\x00', '\xff\xff', @loopback}}, 0x1c) sendto$inet6(r0, &(0x7f0000001280)="1b", 0x1, 0x8004, 0x0, 0x0) shutdown(r0, 0x2) 21:35:55 executing program 0: bpf$BPF_BTF_LOAD(0x12, &(0x7f0000000140)={&(0x7f0000000080)={{0xeb9f, 0x1, 0x0, 0x18, 0x0, 0x24, 0x24, 0x2, [@union={0x0, 0x1, 0x0, 0x5, 0x0, 0x0, [{0x0, 0x2}]}, @restrict]}}, &(0x7f00000001c0)=""/139, 0x3e, 0x8b, 0x1}, 0x20) 21:35:55 executing program 3: unshare(0x400) r0 = openat$vhost_vsock(0xffffffffffffff9c, &(0x7f0000000080), 0x2, 0x0) ioctl$VHOST_VSOCK_SET_GUEST_CID(r0, 0x4008af60, &(0x7f0000000100)={@hyper}) [ 2009.990542][ T6326] netlink: 20 bytes leftover after parsing attributes in process `syz-executor.4'. [ 2010.011382][ T6326] bridge4: the hash_elasticity option has been deprecated and is always 16 [ 2010.020202][ T6326] bridge4: trying to set multicast startup query interval below minimum, setting to 100 (1000ms) 21:35:55 executing program 2: r0 = socket$nl_route(0x10, 0x3, 0x0) r1 = socket$nl_route(0x10, 0x3, 0x0) r2 = socket$netlink(0x10, 0x3, 0x0) r3 = socket(0x10, 0x803, 0x0) syz_genetlink_get_family_id$nl80211(&(0x7f0000000380), r3) getsockname$packet(r3, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000200)=0x14) sendmsg$nl_route(r0, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000000)={&(0x7f0000000140)=ANY=[@ANYBLOB="4800000010000507000004000000000000000000", @ANYRES32=r4, @ANYBLOB="0000000000000000280012000c00010076657468"], 0x48}}, 0x0) sendmsg$nl_route_sched(r2, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000780)={&(0x7f0000000900)=ANY=[@ANYBLOB="3000000024001d0f3a61aa51acb1d59e1a43ca38", @ANYRES32=r4, @ANYBLOB="00000000f1ffffff000000000b000100636c73616374"], 0x30}}, 0x0) sendmsg$nl_route_sched(r1, &(0x7f0000000280)={0x0, 0x0, &(0x7f0000000300)={&(0x7f0000000500)=@delchain={0x3c, 0x64, 0xf31, 0x0, 0x0, {0x0, 0x0, 0x0, r4, {}, {0xfff3, 0xffff}}, [@filter_kind_options=@f_flower={{0xb}, {0xc, 0x2, [@TCA_FLOWER_KEY_ENC_OPTS={0x8, 0x54, 0x0, 0x1, [@TCA_FLOWER_KEY_ENC_OPTS_ERSPAN={0x4}]}]}}]}, 0x3c}}, 0x0) 21:35:55 executing program 0: bpf$BPF_BTF_LOAD(0x12, &(0x7f0000000140)={&(0x7f0000000080)={{0xeb9f, 0x1, 0x0, 0x18, 0x0, 0x24, 0x24, 0x2, [@union={0x0, 0x1, 0x0, 0x5, 0x0, 0x0, [{0x0, 0x2}]}, @restrict]}}, &(0x7f00000001c0)=""/139, 0x3e, 0x8b, 0x1}, 0x20) 21:35:55 executing program 5: mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x0, 0x10, 0xffffffffffffffff, 0x0) pipe(0x0) r0 = socket$inet6_tcp(0xa, 0x1, 0x0) bind$inet6(r0, &(0x7f0000000000)={0xa, 0x8000002}, 0x1c) sendto$inet6(r0, 0x0, 0x0, 0x2600c800, &(0x7f0000b63fe4)={0xa, 0x2, 0x0, @ipv4={'\x00', '\xff\xff', @loopback}}, 0x1c) sendto$inet6(r0, &(0x7f0000001280)="1b", 0x1, 0x8004, 0x0, 0x0) shutdown(r0, 0x2) 21:35:56 executing program 4: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f0000000080)={0x0, 0x0, &(0x7f0000000140)={&(0x7f0000000280)=ANY=[@ANYBLOB="7c0000001000010400"/20, @ANYRES32=0x0, @ANYBLOB="00900400000000005c0012800b00010062726964676500004c0002800500250001000000080001001b00000008001a000001000008001a00090000000c0023000800000000000000050026"], 0x7c}}, 0x0) 21:35:56 executing program 1: r0 = openat$ptmx(0xffffffffffffff9c, &(0x7f0000000180), 0x8902, 0x0) ioctl$TCSETS(r0, 0x40045431, &(0x7f0000000240)={0x0, 0x0, 0x0, 0x0, 0x0, "eaffffff090000000000000000000000000053"}) ioctl$KDFONTOP_SET_DEF(0xffffffffffffffff, 0x4b72, &(0x7f0000000000)={0x2, 0x0, 0x0, 0x0, 0x0, &(0x7f00000002c0)="00f7d685a6d09ca5a482c3adf349ca32371cb2db6246ef72ee81429a8338c64b876d7d284b9b18b55f7d7f7918e3acde19832564aa81d3f876c3b2369e4ff8b4401fdc4f10fe291c4f7ca93e0619e210d09935920b9d6eee5548cb23e6a68daf3a8a41706072ba2d24245f18dcfd926da2709944607a11302a7667aa64d7775fbd2d29cf8f6a674a252b2f8cd5cc0644769b1b9bc6f2594781560ec139562bb0afb231fd0a11f36c55f218f21d8c35d79ac197a073da8d3f76146601a39d9f8860248d3a12e565fa0e2abb21807b8cf79df9384d0deeb35e7ad4cc1f578b8c5228fefc380dfc40e8f8f3940502cf3edf511647726e2a9571fc5a40eb0ae18ac4f8334e2506fc813a3fe1cccbe27ecbe31a73ab46a04326f4b8e695d795029e643969813649392bc198b1a4570515c124827766955a4060870acc8c2872857f1fda443d2bb9c66d3ce9c7820bbbfe614fc308b8b6ffa039fe545b2f1f4a5fbe7f86cc8f574dc30338a6b266bfb85fd30115c9cc407fd16ed828ff650f2231bfa588698d03b0ef11617f628586dce1d1653436ce8406e393c402e9721371e66dd69780e9d08bf2f1dfbf967099dcb1316dbb05399e9589a769f6f536f0c73364aea22f6085e5e289850167e70a1511bbc4cea9b1fbf2e1af6fcb69a8ea36d728bb8d0d3b45edf4c4f30bc2ea3bffb457a2ab7c2468b2a71cf887c9e785d5580a3aa420e70f4dd4083f8e99ba8a21f96eb679e5963db9d99f3665f023d327a2a67031dde561e12cc4985a2ab23ad71803e548d69416454f1a8e8d0c2b43f41383aba892243ce183c466686b56f46502d0e630bf77ef50f59c5711617b800e6db262469a8d5e869c46dd81170923681592f69b39a8f29e3d36f2bae94de9f77eaa5a6f93f118dc9887cd55a8797ef2cf10d929aecd378584e88824329923d6d59611841186de823000e241ab28782d54f73d70cd12f56dfae047288bba574069616cf7fc759a1150b7cb8e550d13ee5aa0061f3b74c0fff713b4fc69124ce18c7178f2f8784165592bd49afaf57eb63d1b9f57a9a90137473c46491a8323922b640754dc792e79a51471eaa0bb04110a2fa4fb3cc05beada147e54f59b5e27c182cfda0620a9221fd4ae602012a44fb39a4469692af250948b3e6d27490ac5646b2ce4450ea2128637128221112d1333f3d5c2f004936777f5c1c1a85761d5efc6c91a7ee47decd22fdc38de2d5dffd950cdd5f2e02da2ad90fec317ee9e250779cc601d6ff12bc9fecfa35e4152ffb9a32dd2d5294b583d1f929ae1d1eb0372efea1e66d986fdf2c1d250a63e55223725591a3dc7857fbb2f543e71cb72d8ecd37e0aff2460b8713286f98f4a73b6136b7735c43cf56b7f28dfcaf3653045aeff296fac3f25b01158931781efee2eb3f2a5afc07d7f24f81d2dbe0c0e67642313b3"}) write$binfmt_aout(r0, &(0x7f0000000140)=ANY=[], 0x92c) r1 = syz_open_pts(r0, 0x0) ioctl$TCSETSF(r1, 0x5412, &(0x7f0000000280)={0xffffffff, 0x0, 0x0, 0x0, 0x0, "022cd42ab300df08fffeff0100"}) 21:35:56 executing program 3: unshare(0x400) r0 = openat$vhost_vsock(0xffffffffffffff9c, &(0x7f0000000080), 0x2, 0x0) ioctl$VHOST_VSOCK_SET_GUEST_CID(r0, 0x4008af60, &(0x7f0000000100)={@hyper}) [ 2010.395504][ T6335] netlink: 24 bytes leftover after parsing attributes in process `syz-executor.2'. 21:35:56 executing program 0: bpf$BPF_BTF_LOAD(0x12, &(0x7f0000000140)={&(0x7f0000000080)={{0xeb9f, 0x1, 0x0, 0x18, 0x0, 0x24, 0x24, 0x2, [@union={0x0, 0x1, 0x0, 0x5, 0x0, 0x0, [{0x0, 0x2}]}, @restrict]}}, &(0x7f00000001c0)=""/139, 0x3e, 0x8b, 0x1}, 0x20) 21:35:56 executing program 2: r0 = socket$nl_route(0x10, 0x3, 0x0) r1 = socket$nl_route(0x10, 0x3, 0x0) r2 = socket$netlink(0x10, 0x3, 0x0) r3 = socket(0x10, 0x803, 0x0) syz_genetlink_get_family_id$nl80211(&(0x7f0000000380), r3) getsockname$packet(r3, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000200)=0x14) sendmsg$nl_route(r0, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000000)={&(0x7f0000000140)=ANY=[@ANYBLOB="4800000010000507000004000000000000000000", @ANYRES32=r4, @ANYBLOB="0000000000000000280012000c00010076657468"], 0x48}}, 0x0) sendmsg$nl_route_sched(r2, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000780)={&(0x7f0000000900)=ANY=[@ANYBLOB="3000000024001d0f3a61aa51acb1d59e1a43ca38", @ANYRES32=r4, @ANYBLOB="00000000f1ffffff000000000b000100636c73616374"], 0x30}}, 0x0) sendmsg$nl_route_sched(r1, &(0x7f0000000280)={0x0, 0x0, &(0x7f0000000300)={&(0x7f0000000500)=@delchain={0x3c, 0x64, 0xf31, 0x0, 0x0, {0x0, 0x0, 0x0, r4, {}, {0xfff3, 0xffff}}, [@filter_kind_options=@f_flower={{0xb}, {0xc, 0x2, [@TCA_FLOWER_KEY_ENC_OPTS={0x8, 0x54, 0x0, 0x1, [@TCA_FLOWER_KEY_ENC_OPTS_ERSPAN={0x4}]}]}}]}, 0x3c}}, 0x0) [ 2010.563183][ T6342] netlink: 20 bytes leftover after parsing attributes in process `syz-executor.4'. [ 2010.583577][ T6342] bridge5: the hash_elasticity option has been deprecated and is always 16 [ 2010.592520][ T6342] bridge5: trying to set multicast startup query interval below minimum, setting to 100 (1000ms) 21:35:56 executing program 5: mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x0, 0x10, 0xffffffffffffffff, 0x0) pipe(0x0) r0 = socket$inet6_tcp(0xa, 0x1, 0x0) bind$inet6(r0, &(0x7f0000000000)={0xa, 0x8000002}, 0x1c) sendto$inet6(r0, 0x0, 0x0, 0x2600c800, &(0x7f0000b63fe4)={0xa, 0x2, 0x0, @ipv4={'\x00', '\xff\xff', @loopback}}, 0x1c) sendto$inet6(r0, &(0x7f0000001280)="1b", 0x1, 0x8004, 0x0, 0x0) shutdown(r0, 0x2) 21:35:56 executing program 3: unshare(0x400) r0 = openat$vhost_vsock(0xffffffffffffff9c, &(0x7f0000000080), 0x2, 0x0) ioctl$VHOST_VSOCK_SET_GUEST_CID(r0, 0x4008af60, &(0x7f0000000100)={@hyper}) 21:35:56 executing program 1: r0 = add_key$keyring(&(0x7f0000000000), &(0x7f0000000040)={'syz', 0x3}, 0x0, 0x0, 0xffffffffffffffff) r1 = add_key$keyring(&(0x7f0000000140), &(0x7f0000000380)={'syz', 0x2}, 0x0, 0x0, 0xffffffffffffffff) r2 = add_key$keyring(&(0x7f00000001c0), &(0x7f0000000200)={'syz', 0x2}, 0x0, 0x0, r1) keyctl$KEYCTL_MOVE(0x17, r2, 0x0, r0, 0x0) 21:35:56 executing program 0: pipe(&(0x7f0000000180)={0xffffffffffffffff, 0xffffffffffffffff}) r1 = epoll_create(0x4) epoll_ctl$EPOLL_CTL_ADD(r1, 0x1, r0, &(0x7f0000000000)) [ 2010.859272][ T6349] netlink: 24 bytes leftover after parsing attributes in process `syz-executor.2'. 21:35:56 executing program 5: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f0000000880)={0x0, 0x0, &(0x7f0000000840)={&(0x7f0000000100)=@can_delroute={0x14c, 0x19, 0x1, 0x0, 0x0, {}, [@CGW_CS_CRC8={0x11e, 0x6, {0x0, 0x0, 0x67, 0x0, 0x0, "7faa89608c49b61c71a3155bbb8a7b476bff3ceea89d19eb124fc1af6288c7fce57fef97da2ece1273e8b8a637e5c65e12cce9bd98a1cc2e06fd17aaddb9dbaa5b0e0224bfbfb094788f0555383a98344bbbe003e75c31d33d7507f2d23555b82328cce259070fabab7d477be15959a28d3886981062b76924816e63d36d599b6b03466db7875160c69d017444bd2f827c3fce6a5d729f6848e973fac9f1b80b40fc38acddafe31a923c7e834d82f06623dd5047185289a9b7f0d5a097f86a2e106c72b76c47ef71dc11c5fad496b48f4accd5d6f290312bd22edbdafc5c63b114d7d2a4a8f20bba622046ba6636159be05ed6013abdbb45b6ea10f4ed70c582", 0x0, "ce7d03fd56ea12b29e08dba4a0f28e5fc000e8d6"}}, @CGW_MOD_SET={0x15, 0x4, {{{}, 0x0, 0x0, 0x0, 0x0, "0eb8c4f2c3a77ce2"}, 0x5}}]}, 0x14c}}, 0x0) 21:35:56 executing program 4: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f0000000080)={0x0, 0x0, &(0x7f0000000140)={&(0x7f0000000280)=ANY=[@ANYBLOB="7c0000001000010400"/20, @ANYRES32=0x0, @ANYBLOB="00900400000000005c0012800b00010062726964676500004c0002800500250001000000080001001b00000008001a000001000008001a00090000000c0023000800000000000000050026"], 0x7c}}, 0x0) 21:35:56 executing program 3: unshare(0x400) r0 = openat$vhost_vsock(0xffffffffffffff9c, &(0x7f0000000080), 0x2, 0x0) ioctl$VHOST_VSOCK_SET_GUEST_CID(r0, 0x4008af60, &(0x7f0000000100)={@hyper}) 21:35:56 executing program 1: r0 = add_key$keyring(&(0x7f0000000000), &(0x7f0000000040)={'syz', 0x3}, 0x0, 0x0, 0xffffffffffffffff) r1 = add_key$keyring(&(0x7f0000000140), &(0x7f0000000380)={'syz', 0x2}, 0x0, 0x0, 0xffffffffffffffff) r2 = add_key$keyring(&(0x7f00000001c0), &(0x7f0000000200)={'syz', 0x2}, 0x0, 0x0, r1) keyctl$KEYCTL_MOVE(0x17, r2, 0x0, r0, 0x0) 21:35:56 executing program 0: r0 = socket$xdp(0x2c, 0x3, 0x0) setsockopt$XDP_UMEM_REG(r0, 0x11b, 0x4, &(0x7f0000000140)={&(0x7f0000000000)=""/244, 0x1202000, 0x1000}, 0x20) 21:35:56 executing program 2: syz_emit_ethernet(0x36, &(0x7f0000000380)={@local, @remote, @void, {@ipv4={0x800, @tcp={{0x5, 0x4, 0x0, 0x0, 0x28, 0x0, 0x0, 0x0, 0x6, 0x0, @remote, @local}, {{0x0, 0x0, 0x41424344, 0x41424344, 0x0, 0x6, 0x5, 0x6}}}}}}, 0x0) 21:35:57 executing program 5: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f0000000880)={0x0, 0x0, &(0x7f0000000840)={&(0x7f0000000100)=@can_delroute={0x14c, 0x19, 0x1, 0x0, 0x0, {}, [@CGW_CS_CRC8={0x11e, 0x6, {0x0, 0x0, 0x67, 0x0, 0x0, "7faa89608c49b61c71a3155bbb8a7b476bff3ceea89d19eb124fc1af6288c7fce57fef97da2ece1273e8b8a637e5c65e12cce9bd98a1cc2e06fd17aaddb9dbaa5b0e0224bfbfb094788f0555383a98344bbbe003e75c31d33d7507f2d23555b82328cce259070fabab7d477be15959a28d3886981062b76924816e63d36d599b6b03466db7875160c69d017444bd2f827c3fce6a5d729f6848e973fac9f1b80b40fc38acddafe31a923c7e834d82f06623dd5047185289a9b7f0d5a097f86a2e106c72b76c47ef71dc11c5fad496b48f4accd5d6f290312bd22edbdafc5c63b114d7d2a4a8f20bba622046ba6636159be05ed6013abdbb45b6ea10f4ed70c582", 0x0, "ce7d03fd56ea12b29e08dba4a0f28e5fc000e8d6"}}, @CGW_MOD_SET={0x15, 0x4, {{{}, 0x0, 0x0, 0x0, 0x0, "0eb8c4f2c3a77ce2"}, 0x5}}]}, 0x14c}}, 0x0) [ 2011.364422][ T6363] netlink: 20 bytes leftover after parsing attributes in process `syz-executor.4'. [ 2011.384505][ T6363] bridge6: the hash_elasticity option has been deprecated and is always 16 [ 2011.393419][ T6363] bridge6: trying to set multicast startup query interval below minimum, setting to 100 (1000ms) 21:35:57 executing program 3: r0 = openat$sysfs(0xffffffffffffff9c, &(0x7f0000000000)='/sys/class/power_supply', 0x0, 0x0) getdents64(r0, &(0x7f0000000080)=""/39, 0x27) 21:35:57 executing program 1: r0 = add_key$keyring(&(0x7f0000000000), &(0x7f0000000040)={'syz', 0x3}, 0x0, 0x0, 0xffffffffffffffff) r1 = add_key$keyring(&(0x7f0000000140), &(0x7f0000000380)={'syz', 0x2}, 0x0, 0x0, 0xffffffffffffffff) r2 = add_key$keyring(&(0x7f00000001c0), &(0x7f0000000200)={'syz', 0x2}, 0x0, 0x0, r1) keyctl$KEYCTL_MOVE(0x17, r2, 0x0, r0, 0x0) 21:35:57 executing program 2: close_range(0xffffffffffffffff, 0xffffffffffffffff, 0x2) r0 = openat$capi20(0xffffff9c, &(0x7f0000000080), 0x0, 0x0) ioctl$CAPI_REGISTER(r0, 0x400c4301, &(0x7f0000000000)={0x0, 0x0, 0x1ff}) poll(&(0x7f00000000c0)=[{r0}, {}], 0x2, 0x4) 21:35:57 executing program 5: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f0000000880)={0x0, 0x0, &(0x7f0000000840)={&(0x7f0000000100)=@can_delroute={0x14c, 0x19, 0x1, 0x0, 0x0, {}, [@CGW_CS_CRC8={0x11e, 0x6, {0x0, 0x0, 0x67, 0x0, 0x0, "7faa89608c49b61c71a3155bbb8a7b476bff3ceea89d19eb124fc1af6288c7fce57fef97da2ece1273e8b8a637e5c65e12cce9bd98a1cc2e06fd17aaddb9dbaa5b0e0224bfbfb094788f0555383a98344bbbe003e75c31d33d7507f2d23555b82328cce259070fabab7d477be15959a28d3886981062b76924816e63d36d599b6b03466db7875160c69d017444bd2f827c3fce6a5d729f6848e973fac9f1b80b40fc38acddafe31a923c7e834d82f06623dd5047185289a9b7f0d5a097f86a2e106c72b76c47ef71dc11c5fad496b48f4accd5d6f290312bd22edbdafc5c63b114d7d2a4a8f20bba622046ba6636159be05ed6013abdbb45b6ea10f4ed70c582", 0x0, "ce7d03fd56ea12b29e08dba4a0f28e5fc000e8d6"}}, @CGW_MOD_SET={0x15, 0x4, {{{}, 0x0, 0x0, 0x0, 0x0, "0eb8c4f2c3a77ce2"}, 0x5}}]}, 0x14c}}, 0x0) 21:35:57 executing program 3: r0 = openat$sysfs(0xffffffffffffff9c, &(0x7f0000000000)='/sys/class/power_supply', 0x0, 0x0) getdents64(r0, &(0x7f0000000080)=""/39, 0x27) 21:35:57 executing program 1: r0 = add_key$keyring(&(0x7f0000000000), &(0x7f0000000040)={'syz', 0x3}, 0x0, 0x0, 0xffffffffffffffff) r1 = add_key$keyring(&(0x7f0000000140), &(0x7f0000000380)={'syz', 0x2}, 0x0, 0x0, 0xffffffffffffffff) r2 = add_key$keyring(&(0x7f00000001c0), &(0x7f0000000200)={'syz', 0x2}, 0x0, 0x0, r1) keyctl$KEYCTL_MOVE(0x17, r2, 0x0, r0, 0x0) 21:35:57 executing program 4: r0 = syz_usb_connect(0x0, 0x4a, &(0x7f0000000a40)=ANY=[@ANYBLOB="120140005520f010402038b1420104000001090238000100000000090400000371055900090582eb1000000001020009050276"], 0x0) syz_usb_connect$hid(0x0, 0x36, &(0x7f0000000000)={{0x12, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x56a, 0x30a, 0x40, 0x1, 0x2, 0x3, 0x1, [{{0x9, 0x2, 0x24, 0x1, 0x1, 0x0, 0x0, 0x0, [{{0x9, 0x4, 0x0, 0x0, 0x0, 0x3, 0x1, 0x0, 0x0, {0x9, 0x21, 0x280}}}]}}]}}, 0x0) syz_usb_control_io(r0, &(0x7f0000000340)={0x2c, 0x0, &(0x7f0000000180)={0x0, 0x3, 0x2, @string={0x2}}, 0x0, 0x0, 0x0}, 0x0) syz_usb_ep_write$ath9k_ep1(r0, 0x82, 0xe9, &(0x7f0000000000)=ANY=[]) 21:35:57 executing program 2: close_range(0xffffffffffffffff, 0xffffffffffffffff, 0x2) r0 = openat$capi20(0xffffff9c, &(0x7f0000000080), 0x0, 0x0) ioctl$CAPI_REGISTER(r0, 0x400c4301, &(0x7f0000000000)={0x0, 0x0, 0x1ff}) poll(&(0x7f00000000c0)=[{r0}, {}], 0x2, 0x4) 21:35:57 executing program 5: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f0000000880)={0x0, 0x0, &(0x7f0000000840)={&(0x7f0000000100)=@can_delroute={0x14c, 0x19, 0x1, 0x0, 0x0, {}, [@CGW_CS_CRC8={0x11e, 0x6, {0x0, 0x0, 0x67, 0x0, 0x0, "7faa89608c49b61c71a3155bbb8a7b476bff3ceea89d19eb124fc1af6288c7fce57fef97da2ece1273e8b8a637e5c65e12cce9bd98a1cc2e06fd17aaddb9dbaa5b0e0224bfbfb094788f0555383a98344bbbe003e75c31d33d7507f2d23555b82328cce259070fabab7d477be15959a28d3886981062b76924816e63d36d599b6b03466db7875160c69d017444bd2f827c3fce6a5d729f6848e973fac9f1b80b40fc38acddafe31a923c7e834d82f06623dd5047185289a9b7f0d5a097f86a2e106c72b76c47ef71dc11c5fad496b48f4accd5d6f290312bd22edbdafc5c63b114d7d2a4a8f20bba622046ba6636159be05ed6013abdbb45b6ea10f4ed70c582", 0x0, "ce7d03fd56ea12b29e08dba4a0f28e5fc000e8d6"}}, @CGW_MOD_SET={0x15, 0x4, {{{}, 0x0, 0x0, 0x0, 0x0, "0eb8c4f2c3a77ce2"}, 0x5}}]}, 0x14c}}, 0x0) 21:35:58 executing program 0: r0 = socket$inet(0x2, 0x2000080001, 0x84) bind$inet(r0, &(0x7f0000000080)={0x2, 0x4e20, @empty}, 0x10) sendmsg(r0, &(0x7f000001afc8)={&(0x7f0000006000)=@in={0x2, 0x4e20, @loopback}, 0x80, &(0x7f0000007f80)=[{&(0x7f00000001c0)='*', 0x1}], 0x1}, 0x0) setsockopt$inet_sctp_SCTP_PEER_ADDR_THLDS(r0, 0x84, 0x85, &(0x7f00000000c0)={0x0, @in6={{0xa, 0x0, 0x0, @empty}}}, 0x90) 21:35:58 executing program 3: r0 = openat$sysfs(0xffffffffffffff9c, &(0x7f0000000000)='/sys/class/power_supply', 0x0, 0x0) getdents64(r0, &(0x7f0000000080)=""/39, 0x27) 21:35:58 executing program 1: close_range(0xffffffffffffffff, 0xffffffffffffffff, 0x2) r0 = openat$capi20(0xffffff9c, &(0x7f0000000080), 0x0, 0x0) ioctl$CAPI_REGISTER(r0, 0x400c4301, &(0x7f0000000000)={0x0, 0x0, 0x1ff}) poll(&(0x7f00000000c0)=[{r0}, {}], 0x2, 0x4) 21:35:58 executing program 2: close_range(0xffffffffffffffff, 0xffffffffffffffff, 0x2) r0 = openat$capi20(0xffffff9c, &(0x7f0000000080), 0x0, 0x0) ioctl$CAPI_REGISTER(r0, 0x400c4301, &(0x7f0000000000)={0x0, 0x0, 0x1ff}) poll(&(0x7f00000000c0)=[{r0}, {}], 0x2, 0x4) [ 2012.402662][T13731] usb 5-1: new high-speed USB device number 90 using dummy_hcd 21:35:58 executing program 5: r0 = epoll_create(0x5) r1 = openat$vim2m(0xffffffffffffff9c, &(0x7f0000000040), 0x2, 0x0) epoll_ctl$EPOLL_CTL_ADD(r0, 0x1, r1, &(0x7f00000000c0)={0xb0000004}) epoll_pwait(r0, &(0x7f0000000140)=[{}], 0x1, 0x0, 0x0, 0x0) 21:35:58 executing program 3: r0 = openat$sysfs(0xffffffffffffff9c, &(0x7f0000000000)='/sys/class/power_supply', 0x0, 0x0) getdents64(r0, &(0x7f0000000080)=""/39, 0x27) 21:35:58 executing program 2: close_range(0xffffffffffffffff, 0xffffffffffffffff, 0x2) r0 = openat$capi20(0xffffff9c, &(0x7f0000000080), 0x0, 0x0) ioctl$CAPI_REGISTER(r0, 0x400c4301, &(0x7f0000000000)={0x0, 0x0, 0x1ff}) poll(&(0x7f00000000c0)=[{r0}, {}], 0x2, 0x4) [ 2012.642792][T13731] usb 5-1: Using ep0 maxpacket: 16 21:35:58 executing program 1: close_range(0xffffffffffffffff, 0xffffffffffffffff, 0x2) r0 = openat$capi20(0xffffff9c, &(0x7f0000000080), 0x0, 0x0) ioctl$CAPI_REGISTER(r0, 0x400c4301, &(0x7f0000000000)={0x0, 0x0, 0x1ff}) poll(&(0x7f00000000c0)=[{r0}, {}], 0x2, 0x4) [ 2012.763003][T13731] usb 5-1: config 0 has an invalid descriptor of length 0, skipping remainder of the config [ 2012.773562][T13731] usb 5-1: config 0 interface 0 altsetting 0 endpoint 0x82 has an invalid bInterval 0, changing to 7 [ 2012.786065][T13731] usb 5-1: config 0 interface 0 altsetting 0 endpoint 0x2 has invalid wMaxPacketSize 0 [ 2012.796015][T13731] usb 5-1: config 0 interface 0 altsetting 0 bulk endpoint 0x2 has invalid maxpacket 0 [ 2012.805894][T13731] usb 5-1: config 0 interface 0 altsetting 0 has 2 endpoint descriptors, different from the interface descriptor's value: 3 21:35:58 executing program 5: r0 = epoll_create(0x5) r1 = openat$vim2m(0xffffffffffffff9c, &(0x7f0000000040), 0x2, 0x0) epoll_ctl$EPOLL_CTL_ADD(r0, 0x1, r1, &(0x7f00000000c0)={0xb0000004}) epoll_pwait(r0, &(0x7f0000000140)=[{}], 0x1, 0x0, 0x0, 0x0) [ 2013.003929][T13731] usb 5-1: New USB device found, idVendor=2040, idProduct=b138, bcdDevice= 1.42 [ 2013.013409][T13731] usb 5-1: New USB device strings: Mfr=4, Product=0, SerialNumber=0 [ 2013.021531][T13731] usb 5-1: Manufacturer: syz [ 2013.082670][T13731] usb 5-1: config 0 descriptor?? [ 2013.326476][ T6385] UDC core: couldn't find an available UDC or it's busy: -16 [ 2013.334261][ T6385] misc raw-gadget: fail, usb_gadget_probe_driver returned -16 [ 2013.442562][T13731] rc_core: IR keymap rc-hauppauge not found [ 2013.448583][T13731] Registered IR keymap rc-empty [ 2013.454452][T13731] mceusb 5-1:0.0: Error: mce write submit urb error = -90 [ 2013.483106][T13731] mceusb 5-1:0.0: Error: mce write submit urb error = -90 [ 2013.524131][T13731] rc rc0: Conexant Hybrid TV (cx231xx) MCE IR no TX (2040:b138) as /devices/platform/dummy_hcd.4/usb5/5-1/5-1:0.0/rc/rc0 [ 2013.539847][T13731] input: Conexant Hybrid TV (cx231xx) MCE IR no TX (2040:b138) as /devices/platform/dummy_hcd.4/usb5/5-1/5-1:0.0/rc/rc0/input94 [ 2013.589067][T13731] mceusb 5-1:0.0: Error: mce write submit urb error = -90 [ 2013.622552][T13731] mceusb 5-1:0.0: Error: mce write submit urb error = -90 [ 2013.652495][T13731] mceusb 5-1:0.0: Error: mce write submit urb error = -90 [ 2013.683769][T13731] mceusb 5-1:0.0: Error: mce write submit urb error = -90 [ 2013.712647][T13731] mceusb 5-1:0.0: Error: mce write submit urb error = -90 [ 2013.742507][T13731] mceusb 5-1:0.0: Error: mce write submit urb error = -90 [ 2013.772529][T13731] mceusb 5-1:0.0: Error: mce write submit urb error = -90 [ 2013.802473][T13731] mceusb 5-1:0.0: Error: mce write submit urb error = -90 [ 2013.832461][T13731] mceusb 5-1:0.0: Error: mce write submit urb error = -90 [ 2013.862607][T13731] mceusb 5-1:0.0: Error: mce write submit urb error = -90 [ 2013.895026][T13731] mceusb 5-1:0.0: Registered with mce emulator interface version 1 [ 2013.903403][T13731] mceusb 5-1:0.0: 2 tx ports (0x0 cabled) and 2 rx sensors (0x0 active) [ 2014.089319][T13731] usb 5-1: USB disconnect, device number 90 21:36:00 executing program 4: r0 = syz_usb_connect(0x0, 0x4a, &(0x7f0000000a40)=ANY=[@ANYBLOB="120140005520f010402038b1420104000001090238000100000000090400000371055900090582eb1000000001020009050276"], 0x0) syz_usb_connect$hid(0x0, 0x36, &(0x7f0000000000)={{0x12, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x56a, 0x30a, 0x40, 0x1, 0x2, 0x3, 0x1, [{{0x9, 0x2, 0x24, 0x1, 0x1, 0x0, 0x0, 0x0, [{{0x9, 0x4, 0x0, 0x0, 0x0, 0x3, 0x1, 0x0, 0x0, {0x9, 0x21, 0x280}}}]}}]}}, 0x0) syz_usb_control_io(r0, &(0x7f0000000340)={0x2c, 0x0, &(0x7f0000000180)={0x0, 0x3, 0x2, @string={0x2}}, 0x0, 0x0, 0x0}, 0x0) syz_usb_ep_write$ath9k_ep1(r0, 0x82, 0xe9, &(0x7f0000000000)=ANY=[]) 21:36:00 executing program 2: r0 = socket$inet_udplite(0x2, 0x2, 0x88) ioctl$sock_SIOCGIFINDEX(r0, 0x8933, &(0x7f0000000180)={'bridge_slave_0\x00', 0x0}) r2 = socket$netlink(0x10, 0x3, 0x0) sendmsg$nl_route(r2, &(0x7f0000000100)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000040)=@bridge_setlink={0x3c, 0x13, 0x1, 0x0, 0x0, {0x7, 0x0, 0x0, r1}, [@IFLA_AF_SPEC={0xf, 0xc, 0x0, 0x0}]}, 0x3c}}, 0x0) 21:36:00 executing program 3: r0 = epoll_create(0x5) r1 = openat$vim2m(0xffffffffffffff9c, &(0x7f0000000040), 0x2, 0x0) epoll_ctl$EPOLL_CTL_ADD(r0, 0x1, r1, &(0x7f00000000c0)={0xb0000004}) epoll_pwait(r0, &(0x7f0000000140)=[{}], 0x1, 0x0, 0x0, 0x0) 21:36:00 executing program 1: close_range(0xffffffffffffffff, 0xffffffffffffffff, 0x2) r0 = openat$capi20(0xffffff9c, &(0x7f0000000080), 0x0, 0x0) ioctl$CAPI_REGISTER(r0, 0x400c4301, &(0x7f0000000000)={0x0, 0x0, 0x1ff}) poll(&(0x7f00000000c0)=[{r0}, {}], 0x2, 0x4) 21:36:00 executing program 5: r0 = epoll_create(0x5) r1 = openat$vim2m(0xffffffffffffff9c, &(0x7f0000000040), 0x2, 0x0) epoll_ctl$EPOLL_CTL_ADD(r0, 0x1, r1, &(0x7f00000000c0)={0xb0000004}) epoll_pwait(r0, &(0x7f0000000140)=[{}], 0x1, 0x0, 0x0, 0x0) 21:36:00 executing program 0: bpf$PROG_LOAD(0x5, &(0x7f00000054c0)={0x2, 0x16, &(0x7f0000000e80)=ANY=[@ANYBLOB="61128c000000000061134c0000000000bf2000000000000025000c0007ffffffbd0301000000000095002000000000006916000000000000bf6700000000000004070000b964b01a4607feff00200000540600000ee60000bf050000000000000f5700000000000065070000d23700002c030000000000001f75000000000000bf54000000000000070000000400f9ffad430100000000007c000000000000000500000000000000950000000000000032ed3c5be95e5db67754bb12dc8c4ed68ecf264e0f84f9f17d3c30e3c7bdd2d17f2f175455000078af6d71d79a5e12814cb1d8a5d4601d295c45a6a0b9bdb7dd390700000500000000f18c30907d7bee45a0100000fe9de56c9d05000000c6c60bef0d742a81762bab8395fa64810b5b40d893ea8fe0185473d51b546cac3f1d5af65727546e7c955ccefa1f6ab689ffffff7f63ede202fa4e0a2127b8b83c71a51445dc8dfd13ff15f852a39e5b2ab7bcb8f512036a5ba6d04ae76002d4519af619e3cca4d69e0dee5eb106774a8f3e6916fcecc8158f0200000000c8fb735fd552bdc268694aeb0743e326c819b6cf5c8ac86f8a297dff0445a13d0045fb3cda30a673a6037ed8c85f21dce431e56723888fb126a19bc1172b84b3ebe174aba210d739a018f9bbec63222d20cecac4d03723f1c921b5bbf7949632cacfdd32b3a6aa57f1ad2e99e0e67a993716dbf580469f0f53acbb400001e3738270b315d362ed834f2af97787f696649a462e7e090000000000000045eac1f2014f720e83b7838e3eede14308d582685e1becd6f35154bcb4000000000000000000000000000000bc3af2b170ad3e2b26539cebca8f4ddc211bc3ccf0bd9d42ca019dd5d022cf74686e9fbe2562979eaed840a7afaab43176e65ec1118d46d1e827f3472f4445d353887a5ad103649afa1769080584f800031e03a651bb04000000ab04871bc47287cd31cc43ea0ffb567b40407d0000413a0000000000000000005f37d83f84e98a523d80bd56a57fa82b82f639601ae899a559944cb9a62a29ab028acfc1cb26a0f6a5480a55d624a0c544ba0dc828c22fe30000aa391598000000437d57fcf8295f63a70837f5cd4e5e77964522dc7ca3aa3476b7f2d851d27fd4de6eabb43e0799dc8d9fb7dc6c523ffbd74a6a40e4acb1ac872ade9d1f2ab779b8dbe843aeeda0426c767c00327b8c95b2bb6ddb55117669d9598c0f3598073f3a921c76beceff7e4fbfea5011db9020823b83abe54346c7af0a99fa077ffe7000feb9e44023a1749eb1d0d572b77d6e0d0fcd74035c7a1eb6eb4e1c8ef2629f5ecff4626746d6abe98a255e92c3c4f79bfcd0d91741380000cfeb73dec68ed56b5d3dfdf0cb8b71ad79000000000000000000000000000000dd434a25e95d0ec29d3adaccf89d0888031ecdfdb4dfbe444673be099ece7e4009c76c7108ef0a7e59fd6d906fbc3c9b412e0478cfee4485f423c63f49db43833c92eeeb647cebd4d7a93a17bcbb6bae5ff876375d4fe39cc2d292691672cc18ca372104ceb83a35ecedd97fc191d8f64d2b1d60c6d12911aada66c26aa4802c3514c3d92ec905000000b13f4a2575fbe943a6c40000000000000000000000000000028026b80c3899543223a6079ee96198b9a326db3be3a48af415ca28ca68c502550044ed8e29af8d763ef9b1f31befcad2ce5394601c7cdc233ba3d4ce26ed703dcb9fb3ad650f77e339768924dfdbeead13b88371154d743544a6091ec93e0d3fd5b4dc42911c1ba322fd4d6fbf19e617d51f964727bfd5cc5ba15370f6e1141d2271eded0b15e4316a1e4623272beb249a0928c417720be14c898f397411c88a7bcf3df46ab3efe7cd5e160c2afd3cc945f75011a102d95ac7ad17a58d9be691c334ea35bae71e76e160cc2260bd028162917807ce89e11b5f261052ee0dde18efa1d802af2b7bcf6f8af41933cea0d0343261bccf64ca1c81045153eafbefdb91fbdff9ee3307d4a1837963b2dc2a3698d90e7915b098f19392e792adaea86052f4e948184001b6494e906925a092483adc7e9c8f7a29d226763c100aecae7f00619c36bceb9fb6dd7e55487d8485e498fdfc377fd3d266d21d46ab2f6b2ce22cd0aebba9b0ffbfe8ec3143c3734967c90b16ebbeeae1ce2baaae05aed6bf0f40c8a323f9235dc99698bd0b800067a901a79daada03cc77e74feb98b1586946b452764ff917a8ecc10e529c5bea49cad70e22df522c2803b6ef65df70223c6e22c3433e322d8dbd6e9b040065a9d6b3d5ae276cffe935d559bea88e1aa36b4e6c19e78457904297e77370e013b705a96548d47c609a93c45f4d1382b39c05dcc07d5b49ad75ddb3ce5b5b9416e03995da04647aa5e6fc1a6f5d663380967ccef9de49a90ced031335e3219ebd9d06c257a50497ec523f5ff7361261ccfe239d603364a42e2e81fc068fcbb9792b673827fe7018a988fbce55bb74cdb327ced4b77b8743fb3cb72cc280b9f62e4f92f46a19600b802cba88b7d0a938d9e0e6cfe5d66b874cd004179e5b6025c0e1050faec7ecd9de190a975db2f8c06a551236278c4766d7e22e3b85168c9851de6266c791252f919b4f8b257b5a786734e5142e4666c67aef5b7b2f88c6640995434aa8636993089c73f196dd4ae829ad4307132655b075ae534fa7f1ea9a17e62357b0bd2bd1d62d34bfc1364640250136729ba4f763ffeb2ba12c2574567d0d3cd28425c33e8acc806611792add8254e705fefd2a44d5b15e3b36f6b75c97c9c04c511d8cf9e24c61c8284a913a381cb1a5628878040000000000000017b68afd95d4abf79286692439ee7acca2adc3d83d72b1b778e30c2bf2efbbcd054cf505eb0faa8a0d9f18135cb1d8d567c3436fa697b72c5035d98b9e4f7f3379c0b3339debc78352b2e65299223d7ef2bd540e78167a3ac92a4c4f826f6d0e5c4ebf4f7a70c03e2f5ddbebf168586331eb5995d2288a167b7c6b20b32116b0c528dab6d0c4fe2ee402348104bc5d4012babedee898c6d3e1017be2e9bc759d3ab4d615f5000000000000000000000000000000000000000000007fff0000000000e693e314adf7dc9f517d04f1e6ca367d30d31d3647c6059db6e1e9529eb1623ef99e2d9ac2ab4872f8e784b07a31110bef6d000000a6f9e89e6d50ee06ce716f94da60f1f22d9669560d296287c13c92070000ee7553eb2df17839542fa88d09f000e88a90cf4406b9000000000000000000000000f441d6a6f516c235c6f5863e7f454ee0e16b9aa2593eb31fa3836703e7765aaeb77a8770e518efaa6d3dd85e03b3b133eb749057cea9af75a0e6f633532f2891b8e263cb6eecea691842827bc7c887081c8d320642389f5f0c42dba0ff75a257310f2d92cb1d1e16468949f5674f62ee6609cf26ae4a8f5eac0ebf318e735930b01d8f586e34537bcff7d6196f494cdcf3a712078d745db0f5687a78ee6d000b3d171a0f08299b52d207f32e9da311ca090000003a42732808515eec574f892622c5be497fc3d9ca122d7c18b9e54637812c8debc61f0e42d838e44a819b74bce1a56108bb0f72c4a02475920532309c55b2c9ae9f281391ec5cc72a5e94cca1cbf1a706ec201eedfa5fbdb537a0c52bd45a9f966c25616cec30c3ea3246cb8e6aac7cf273638e6656a3e4ccadc348f0172028c99cc5f6d5c6d09ed65aa54549e73c28b7c8ad06ad3c5e3c27eec0eff1a6c84f118991cb781e4cdb04af00ac92f1080211c4bee74381a0e31021918f27863fdbafb50f70857d52a1f7df51935a80b1980a4778d35f183ea517f55a98c5a471f3521956f8da6a4ccf2071095305701ab3f3ae43f06e91bc7d85e3800b46926944fba9805a985e63e53a62232fcd3f01dbe1728f300e247a7ebe344f9749818ff3961b2a42664ccd680a90bbb6ab400e286acc8f9febef64594777f848ed1cf980a3da2f0f7745760a05887d0c28060d613dd6539d392fc21fee0b5131609664b821d7a994e6c5965a4fa1ec1790c54e54586907dcc5e8bac16e79da9c2444420900000000000000f888a94365b99b72796fca1b922fc9aefaf1546c17cbb1d2d2fd12cb1a49cad501a3ca218c595b667b634606c57987ebfb0783a4948e4561d5cda158fe74453ff4a837beeedba483842c57d6005b544b4f80003386edfd3d4a88a667bd41eefe0d808abed08a29e6bc370a80cc0366fb4080bfbaaa946fd47ab662c79c846e403910bbc3a48bb276cbb08a8eab145c221ef16a238e3d50ad18aea9a2cec97d3c2d0569caabe2bffe02506bc9cb7294c5d020536dd5e7a6351642112df3b55d0215aaec7e45598995e79699e47567e353e68b03f82be860b188554b734e1192f9c1a867b815ef52cdc3307c0cc9be05a4fdde69c350e59f11f1d26a4d04d8c8b2c4a4d23ee931d14bc7807db773a614b670acf46f83f7c65a0f8d43c5f647e1f0d27c46d4b686e867e9b0be76a7978a8f962bb5a070df97f2bf7612115cfe5ebdc7ad0bc5a5f3ace25347d0e5c347279d55aa67a967380000000000000000000000000000000000000000000000ed0942d980c754c6c69ef65c375ad018824f78b260d5f51bc3feba504408a8c8141d84f3f417603b5081680f346ff0ffbe4ae19e936511966965ce268b6345a0001c0f26a32e0a999fc869292e939dcf89b9bfd794f9c12d41959a0068d0a603659f9f"], &(0x7f0000000100)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0xfffffffffffffe50}, 0x48) 21:36:00 executing program 3: r0 = epoll_create(0x5) r1 = openat$vim2m(0xffffffffffffff9c, &(0x7f0000000040), 0x2, 0x0) epoll_ctl$EPOLL_CTL_ADD(r0, 0x1, r1, &(0x7f00000000c0)={0xb0000004}) epoll_pwait(r0, &(0x7f0000000140)=[{}], 0x1, 0x0, 0x0, 0x0) 21:36:00 executing program 1: r0 = socket$nl_generic(0x10, 0x3, 0x10) sendmmsg$inet(r0, &(0x7f00000047c0)=[{{0x0, 0x0, &(0x7f0000000340)=[{&(0x7f0000000140)="e2", 0x1}], 0x1}}, {{&(0x7f0000000500)={0x2, 0x0, @private}, 0x10, &(0x7f0000000700)=[{&(0x7f0000001080)="f5", 0x1}], 0x1}}], 0x2, 0x0) 21:36:00 executing program 2: syz_mount_image$f2fs(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x4000000, 0x43, &(0x7f0000000200)=[{&(0x7f0000010000)="1020f5f201000b0009000000030000000c0000000900000002000000010000000000000000400000000000000b0000001e0000000200000002000000020000000200000016000000000400000004000000080000000c0000001000000014000003000000010000000200000083ee401059d845f79dcecdc6a3510a0600000000", 0x80, 0x400}, {&(0x7f0000010100)="000000000000000000000000000000000000000000000000000000001c0000006a706700000000006769660000000000706e670000000000617669000000000064697678000000006d703400000000006d703300000000003367700000000000776d760000000000776d6100000000006d706567000000006d6b7600000000006d6f76000000000061737800000000006173660000000000776d78000000000073766900000000007776780000000000776d0000000000006d706700000000006d70650000000000726d0000000000006f676700000000006a70656700000000766964656f00000061706b0000000000736f000000000000636f6c6400000000646200"/288, 0x120, 0x860}, {&(0x7f0000010300)='\x00\x00\x00\x00Linux version 5.7.10-1rodete2-amd64 (glinux-team@google.com) (gcc version 9.3.0 (Debian 9.3.0-12), GNU ld (GNU Binutils for Debian) 2.34) #1 SMP Debian 5.7.10-1rodete2 (2020-08-12 > 2018)\x00', 0xc0, 0xa80}, {&(0x7f0000010400)='\x00\x00\x00\x00Linux version 5.7.10-1rodete2-amd64 (glinux-team@google.com) (gcc version 9.3.0 (Debian 9.3.0-12), GNU ld (GNU Binutils for Debian) 2.34) #1 SMP Debian 5.7.10-1rodete2 (2020-08-12 > 2018)\x00', 0xc0, 0xb80}, {&(0x7f0000010500)="00000000000100"/32, 0x20, 0xec0}, {&(0x7f0000010600)="1020f5f201000b0009000000030000000c0000000900000002000000010000000000000000400000000000000b0000001e0000000200000002000000020000000200000016000000000400000004000000080000000c0000001000000014000003000000010000000200000083ee401059d845f79dcecdc6a3510a0600000000", 0x80, 0x1400}, {&(0x7f0000010700)="000000000000000000000000000000000000000000000000000000001c0000006a706700000000006769660000000000706e670000000000617669000000000064697678000000006d703400000000006d703300000000003367700000000000776d760000000000776d6100000000006d706567000000006d6b7600000000006d6f76000000000061737800000000006173660000000000776d78000000000073766900000000007776780000000000776d0000000000006d706700000000006d70650000000000726d0000000000006f676700000000006a70656700000000766964656f00000061706b0000000000736f000000000000636f6c6400000000646200"/288, 0x120, 0x1860}, {&(0x7f0000010900)='\x00\x00\x00\x00Linux version 5.7.10-1rodete2-amd64 (glinux-team@google.com) (gcc version 9.3.0 (Debian 9.3.0-12), GNU ld (GNU Binutils for Debian) 2.34) #1 SMP Debian 5.7.10-1rodete2 (2020-08-12 > 2018)\x00', 0xc0, 0x1a80}, {&(0x7f0000010a00)='\x00\x00\x00\x00Linux version 5.7.10-1rodete2-amd64 (glinux-team@google.com) (gcc version 9.3.0 (Debian 9.3.0-12), GNU ld (GNU Binutils for Debian) 2.34) #1 SMP Debian 5.7.10-1rodete2 (2020-08-12 > 2018)\x00', 0xc0, 0x1b80}, {&(0x7f0000010b00)="00000000000100"/32, 0x20, 0x1ec0}, {&(0x7f0000010c00)="d92f381f0000000000020000000000000b0000000000000015000000150000001000000006000000080000000a000000ffffffffffffffffffffffffffffffffffffffff03000600000000000000000000000000000000000200000004000000ffffffffffffffffffffffffffffffffffffffff05000000000000000000000000000000c5010000060000000100000007000000070000000a0000004000000040000000fc0f00"/192, 0xc0, 0x400000}, {&(0x7f0000010d00)="0000000000000000000000000000000000000000000000000000000026dd0ce30000030000000003000000002000"/64, 0x40, 0x400fe0}, {&(0x7f0000010e00)="00000000000000000000000000000000000000000000000000000006000000000004007800"/64, 0x40, 0x4011e0}, {&(0x7f0000010f00)="000000000000000000000002000000000400"/32, 0x20, 0x401240}, {&(0x7f0000011000)="0000000000000000000000000000000000000000000000000004000000000800", 0x20, 0x401280}, {&(0x7f0000011100)="0000000000000006000000020c6000"/32, 0x20, 0x4012e0}, {&(0x7f0000011200)="000000000000000000000000000000000000000000080000000510ec00000000", 0x20, 0x401320}, {&(0x7f0000011300)="0000000a000000001400"/32, 0x20, 0x401380}, {&(0x7f0000011400)="00000000000000000000000000000000000000000000030000000000000300000000000008000000000000080000000001000800000000020000000000000000", 0x40, 0x4013e0}, {&(0x7f0000011500)="03000000000000030000000000000400"/32, 0x20, 0x402000}, {&(0x7f0000011600)="00008c00"/32, 0x20, 0x402e00}, {&(0x7f0000011700)="000000000000000000000000000000000000000000000000000000010000000005000000000000060000000000000700000000000008000000000000090000000000000800"/96, 0x60, 0x402fe0}, {&(0x7f0000011800)="0000000000000000000000000000000000000000000000000000000100000000", 0x20, 0x403fe0}, {&(0x7f0000011900)="0000000000000000000000000000000000000000000000000000000100000000d92f381f0000000000020000000000000b0000000000000015000000150000001000000006000000080000000a000000ffffffffffffffffffffffffffffffffffffffff03000600000000000000000000000000000000000200000004000000ffffffffffffffffffffffffffffffffffffffff05000000000000000000000000000000c5010000060000000100000007000000070000000a0000004000000040000000fc0f00"/224, 0xe0, 0x404fe0}, {&(0x7f0000011a00)="0000000000000000000000000000000000000000000000000000000026dd0ce3", 0x20, 0x405fe0}, {&(0x7f0000011b00)="d92f381f26dd0ce300"/32, 0x20, 0x5ff000}, {&(0x7f0000011c00)="0000000000000000feffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00"/96, 0x60, 0x5ff040}, {&(0x7f0000011d00)="d82f381f0000000000020000000000000b0000000000000015000000150000001000000006000000080000000a000000ffffffffffffffffffffffffffffffffffffffff03000600000000000000000000000000000000000200000004000000ffffffffffffffffffffffffffffffffffffffff05000000000000000000000000000000c5000000060000000100000007000000070000000a0000004000000040000000fc0f00"/192, 0xc0, 0x600000}, {&(0x7f0000011e00)="0000000000000000000000000000000000000000000000000000000040dfb02a0000030000000003000000002000"/64, 0x40, 0x600fe0}, {&(0x7f0000011f00)="00000000000000000000000000000000000000000000000000000006000000000004007800"/64, 0x40, 0x6011e0}, {&(0x7f0000012000)="000000000000000000000002000000000400"/32, 0x20, 0x601240}, {&(0x7f0000012100)="0000000000000000000000000000000000000000000000000004000000000800", 0x20, 0x601280}, {&(0x7f0000012200)="0000000000000006000000020c6000"/32, 0x20, 0x6012e0}, {&(0x7f0000012300)="000000000000000000000000000000000000000000080000000510ec00000000", 0x20, 0x601320}, {&(0x7f0000012400)="0000000a000000001400"/32, 0x20, 0x601380}, {&(0x7f0000012500)="00000000000000000000000000000000000000000000030000000000000300000000000008000000000000080000000001000800000000020000000000000000", 0x40, 0x6013e0}, {&(0x7f0000012600)="03000000000000030000000000000400"/32, 0x20, 0x602000}, {&(0x7f0000012700)='\x00\x00p\x00'/32, 0x20, 0x602e00}, {&(0x7f0000012800)="000000000000000000000000000000000000000000000000000000010000000005000000000000060000000000000700000000000008000000000000090000000000000800"/96, 0x60, 0x602fe0}, {&(0x7f0000012900)="0000000000000000000000000000000000000000000000000000000100000000", 0x20, 0x603fe0}, {&(0x7f0000012a00)="0000000000000000000000000000000000000000000000000000000100000000d82f381f0000000000020000000000000b0000000000000015000000150000001000000006000000080000000a000000ffffffffffffffffffffffffffffffffffffffff03000600000000000000000000000000000000000200000004000000ffffffffffffffffffffffffffffffffffffffff05000000000000000000000000000000c5000000060000000100000007000000070000000a0000004000000040000000fc0f00"/224, 0xe0, 0x604fe0}, {&(0x7f0000012b00)="0000000000000000000000000000000000000000000000000000000040dfb02a", 0x20, 0x605fe0}, {&(0x7f0000012c00)="d82f381f40dfb02a00"/32, 0x20, 0x7ff000}, {&(0x7f0000012d00)="0000000000000000feffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00"/96, 0x60, 0x7ff040}, {&(0x7f0000012e00)="000000000000000000000100000001000000000200000001000000000300000001200000000400000002200000000500000000240000000600000001240000000700000002240000000800000005240000000900000004240000000000000000", 0x60, 0xc00000}, {&(0x7f0000012f00)="000000000000000000000100000001000000000200000001000000000300000001200000000400000002200000000500000000240000000600000001240000000700000002240000000800000003240000000900000004240000000000000000", 0x60, 0xe00000}, {&(0x7f0000013000)="ff0000000000000000000000000000000000000000000000000000000000000000000300000001000200000000030000000200024a8113ed040000000500028dcece4507000000050001baeed06f0800000005000153bfc55008000000050001120052230900000009000100"/128, 0x80, 0x1401000}, {&(0x7f0000013100)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00.\x00\x00\x00\x00\x00\x00\x00..\x00\x00\x00\x00\x00\x00file0\x00\x00\x00file1\x00\x00\x00file2\x00\x00\x00file3\x00\x00\x00file.cold\x00'/96, 0x60, 0x1401940}, {&(0x7f0000013200)="ed4100005cf90100535f0100030000000010000000000000020000000000000012bc645f0000000013bc645f0000000013bc645f0000000000000000dc35f110dc35f110000000000100"/96, 0x60, 0x2001000}, {&(0x7f0000013300)="0000000000000000011400"/32, 0x20, 0x2001160}, {&(0x7f0000013400)="0000000000000000030000000300000000000000d52f381f0000000002200000ed410005000000000000000002000000a00d000000000000010000000000000013bc645f0000000013bc645f0000000013bc645f00000000dc35f110dc35f110dc35f11088236d92000000000000000000100000030000000500000066696c653000"/160, 0xa0, 0x2001fe0}, {&(0x7f0000013500)="0000000000000000000000000f0000000000000000000000000000000000000000000000000000000000000000000400000001000200000000030000000200024a8113ed050000000500018dcece450600000005000700"/96, 0x60, 0x2002160}, {&(0x7f0000013600)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00.\x00\x00\x00\x00\x00\x00\x00..\x00\x00\x00\x00\x00\x00file0\x00\x00\x00file1\x00\x00\x00\x00\x00\x00\x00', 0x40, 0x2002940}, {&(0x7f0000013700)="0000000000000000040000000400000000000000d52f381f0000000003200000", 0x20, 0x2002fe0}, {&(0x7f0000013800)="ed81000b0000000000000000010000001a04000000000000010000000000000013bc645f0000000013bc645f0000000013bc645f00000000dc35f110dc35f110dc35f110626b4777000000000000000000000000040000000500000066696c653000"/128, 0x80, 0x2400000}, {&(0x7f0000013900)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00syzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkal\x00'/1088, 0x440, 0x2400160}, {&(0x7f0000013e00)="0000000000000000050000000500000001000000d52f381f0000000001240000ffa1000b0000000000000000010000002600000000000000010000000000000013bc645f0000000013bc645f0000000013bc645f00000000dc35f110dc35f110dc35f110590c11d2000000000000000000000000040000000500000066696c653100"/160, 0xa0, 0x2400fe0}, {&(0x7f0000013f00)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00/tmp/syz-imagegen065208004/file0/file0\x00'/64, 0x40, 0x2401160}, {&(0x7f0000014000)="0000000000000000060000000600000001000000d52f381f0000000002240000ed81000b0000000000000000010000000a00000000000000010000000000000013bc645f0000000013bc645f0000000013bc645f00000000dc35f110dc35f110dc35f110da831a34000000000000000000000000030000000500000066696c653100"/160, 0xa0, 0x2401fe0}, {&(0x7f0000014100)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00syzkallers\x00'/32, 0x20, 0x2402160}, {&(0x7f0000014200)="0000000000000000000000001120f5f20100000000000000000000000000000000000000010606007861747472317861747472310106060078617474723278617474723200"/96, 0x60, 0x2402f00}, {&(0x7f0000014300)="0000000000000000070000000700000001000000d52f381f0000000003240000", 0x20, 0x2402fe0}, {&(0x7f0000014400)="ed81010b0000000000000000010000006400000000000000010000000000000013bc645f0000000013bc645f0000000013bc645f00000000dc35f110dc35f110dc35f110f6629eb6000000000000000000000000030000000900000066696c652e636f6c6400"/128, 0x80, 0x2404000}, {&(0x7f0000014500)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00syzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallers\x00'/128, 0x80, 0x2404160}, {&(0x7f0000014600)="0000000000000000090000000900000001000000d52f381f0000000005240000ed8102010000000000000000020000002823000000000000040000000000000013bc645f0000000013bc645f0000000013bc645f00000000dc35f110dc35f110dc35f110c1f38a48000000000000000000000000030000000500000066696c653300"/160, 0xa0, 0x2404fe0}, {&(0x7f0000014700)="02140000030000000214000003140000041400"/32, 0x20, 0x2405160}, {&(0x7f0000014800)="0000000000000000080000000800000001000000d62f381f08a5fcbc06240000", 0x20, 0x2405fe0}], 0x0, &(0x7f0000014900)) 21:36:00 executing program 5: r0 = epoll_create(0x5) r1 = openat$vim2m(0xffffffffffffff9c, &(0x7f0000000040), 0x2, 0x0) epoll_ctl$EPOLL_CTL_ADD(r0, 0x1, r1, &(0x7f00000000c0)={0xb0000004}) epoll_pwait(r0, &(0x7f0000000140)=[{}], 0x1, 0x0, 0x0, 0x0) 21:36:00 executing program 3: r0 = epoll_create(0x5) r1 = openat$vim2m(0xffffffffffffff9c, &(0x7f0000000040), 0x2, 0x0) epoll_ctl$EPOLL_CTL_ADD(r0, 0x1, r1, &(0x7f00000000c0)={0xb0000004}) epoll_pwait(r0, &(0x7f0000000140)=[{}], 0x1, 0x0, 0x0, 0x0) 21:36:00 executing program 1: r0 = socket$nl_generic(0x10, 0x3, 0x10) sendmmsg$inet(r0, &(0x7f00000047c0)=[{{0x0, 0x0, &(0x7f0000000340)=[{&(0x7f0000000140)="e2", 0x1}], 0x1}}, {{&(0x7f0000000500)={0x2, 0x0, @private}, 0x10, &(0x7f0000000700)=[{&(0x7f0000001080)="f5", 0x1}], 0x1}}], 0x2, 0x0) [ 2015.192365][ T7] usb 5-1: new high-speed USB device number 91 using dummy_hcd [ 2015.432548][ T7] usb 5-1: Using ep0 maxpacket: 16 [ 2015.573601][ T7] usb 5-1: config 0 has an invalid descriptor of length 0, skipping remainder of the config [ 2015.584093][ T7] usb 5-1: config 0 interface 0 altsetting 0 endpoint 0x82 has an invalid bInterval 0, changing to 7 [ 2015.595390][ T7] usb 5-1: config 0 interface 0 altsetting 0 endpoint 0x2 has invalid wMaxPacketSize 0 [ 2015.605348][ T7] usb 5-1: config 0 interface 0 altsetting 0 bulk endpoint 0x2 has invalid maxpacket 0 [ 2015.615453][ T7] usb 5-1: config 0 interface 0 altsetting 0 has 2 endpoint descriptors, different from the interface descriptor's value: 3 [ 2015.723295][ T7] usb 5-1: New USB device found, idVendor=2040, idProduct=b138, bcdDevice= 1.42 [ 2015.734049][ T7] usb 5-1: New USB device strings: Mfr=4, Product=0, SerialNumber=0 [ 2015.742565][ T7] usb 5-1: Manufacturer: syz [ 2015.756731][ T7] usb 5-1: config 0 descriptor?? [ 2016.017635][ T6426] UDC core: couldn't find an available UDC or it's busy: -16 [ 2016.025382][ T6426] misc raw-gadget: fail, usb_gadget_probe_driver returned -16 [ 2016.112422][ T7] rc_core: IR keymap rc-hauppauge not found [ 2016.118643][ T7] Registered IR keymap rc-empty [ 2016.124012][ T7] mceusb 5-1:0.0: Error: mce write submit urb error = -90 [ 2016.165104][ T7] mceusb 5-1:0.0: Error: mce write submit urb error = -90 [ 2016.203673][ T7] rc rc0: Conexant Hybrid TV (cx231xx) MCE IR no TX (2040:b138) as /devices/platform/dummy_hcd.4/usb5/5-1/5-1:0.0/rc/rc0 [ 2016.218590][ T7] input: Conexant Hybrid TV (cx231xx) MCE IR no TX (2040:b138) as /devices/platform/dummy_hcd.4/usb5/5-1/5-1:0.0/rc/rc0/input95 [ 2016.238552][ T7] mceusb 5-1:0.0: Error: mce write submit urb error = -90 [ 2016.275114][ T7] mceusb 5-1:0.0: Error: mce write submit urb error = -90 [ 2016.322812][ T7] mceusb 5-1:0.0: Error: mce write submit urb error = -90 [ 2016.362706][ T7] mceusb 5-1:0.0: Error: mce write submit urb error = -90 [ 2016.395102][ T7] mceusb 5-1:0.0: Error: mce write submit urb error = -90 [ 2016.442484][ T7] mceusb 5-1:0.0: Error: mce write submit urb error = -90 [ 2016.472712][ T7] mceusb 5-1:0.0: Error: mce write submit urb error = -90 [ 2016.517588][ T7] mceusb 5-1:0.0: Error: mce write submit urb error = -90 [ 2016.560088][ T7] mceusb 5-1:0.0: Error: mce write submit urb error = -90 [ 2016.595034][ T7] mceusb 5-1:0.0: Error: mce write submit urb error = -90 [ 2016.645027][ T7] mceusb 5-1:0.0: Registered with mce emulator interface version 1 [ 2016.655174][ T7] mceusb 5-1:0.0: 2 tx ports (0x0 cabled) and 2 rx sensors (0x0 active) [ 2016.801282][ T7] usb 5-1: USB disconnect, device number 91 21:36:03 executing program 4: r0 = syz_usb_connect(0x0, 0x4a, &(0x7f0000000a40)=ANY=[@ANYBLOB="120140005520f010402038b1420104000001090238000100000000090400000371055900090582eb1000000001020009050276"], 0x0) syz_usb_connect$hid(0x0, 0x36, &(0x7f0000000000)={{0x12, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x56a, 0x30a, 0x40, 0x1, 0x2, 0x3, 0x1, [{{0x9, 0x2, 0x24, 0x1, 0x1, 0x0, 0x0, 0x0, [{{0x9, 0x4, 0x0, 0x0, 0x0, 0x3, 0x1, 0x0, 0x0, {0x9, 0x21, 0x280}}}]}}]}}, 0x0) syz_usb_control_io(r0, &(0x7f0000000340)={0x2c, 0x0, &(0x7f0000000180)={0x0, 0x3, 0x2, @string={0x2}}, 0x0, 0x0, 0x0}, 0x0) syz_usb_ep_write$ath9k_ep1(r0, 0x82, 0xe9, &(0x7f0000000000)=ANY=[]) 21:36:03 executing program 2: bpf$PROG_LOAD(0x5, &(0x7f00000054c0)={0x3, 0x16, &(0x7f0000000140)=ANY=[@ANYBLOB="61128c000000000061134c0000000000bf200000000000001500000008ffffffbd0301000000000095000000000000006916000000000000bf67000000000000170600000fff070067060000020000000702000000e60000bf050000000000001f650000000000006507000002000000070700004c0000001f75000000000000bf74000000000000070500000419311f3d4301000000000095000000000000000500000000000000950000000000000032ed3c5be95e76b6bb12dc8c27df8ecf264e0f84f9f17d3c30e3c72fe9755ba08508d2d17f2f1754558f2278af6d71d79a5e12814cb1d8a5d4601d295c45a674f888a08034b76d0a3e1282ee45a010fb94fa9de56c9d8a814261bdb94a6538b89dc6c60bf70d742a81b72bab8395fa64810b5b1bfd3782519518c51231422bb8fab4d4d897db2c544c0ec50b8eac8c63d2b1cd06a39702bd547f5e5e2e3b2bd352e93a22adfe8efe33e9a78b02af242f8ee5476d893f501dc4704403b9bad2b648e90fff24f69a5ef05f5408ea197ed09a9510ee6063229de2984abdd46e127002ed37fb2a5ff221e0d831d64759d17b8c59d0f2b0727f6b7958fb5b939af4be5e55a95f8c6d785a91c7c3f0c17ae7f9ac5ff05f5ecddf0cef90d50e763be96496661c749e21ab63a1f50b30a65a9027ba357bf8c614497ee59b68bf6a5d45c81c567e347d545741fbbbea3e7b7f8a13cce7014137f250370b8a70ae3eaf6d6f17759c3886871e97d063b7f26eed3226bb0b9ee6320a2b02fea7a06a0e37182adf4b1be6f29358d4f50000de616d1affb57f6de4efe62bcccc3bc60536f01a18a0f37d5cfb5af3dc496c5eaa81549b0f3f6420acfe1b215229d95678ec0000000000000000"], &(0x7f0000000100)='GPL\x00'}, 0x48) 21:36:03 executing program 5: r0 = socket$nl_generic(0x10, 0x3, 0x10) r1 = syz_genetlink_get_family_id$ethtool(&(0x7f0000000040), 0xffffffffffffffff) r2 = socket$inet6_tcp(0xa, 0x1, 0x0) ioctl$ifreq_SIOCGIFINDEX_team(r2, 0x8933, &(0x7f00000000c0)={'team0\x00', 0x0}) sendmsg$ETHTOOL_MSG_EEE_SET(r0, &(0x7f0000000240)={0x0, 0x0, &(0x7f0000000200)={&(0x7f0000000080)={0x20, r1, 0x1, 0x0, 0x0, {0x5}, [@ETHTOOL_A_EEE_HEADER={0xc, 0x1, 0x0, 0x1, [@ETHTOOL_A_HEADER_DEV_INDEX={0x8, 0x1, r3}]}]}, 0x20}}, 0x0) 21:36:03 executing program 3: mkdir(&(0x7f0000000000)='./file1\x00', 0x0) pipe(&(0x7f0000000100)={0xffffffffffffffff, 0xffffffffffffffff}) mount$fuse(0x0, 0x0, 0x0, 0x0, &(0x7f0000000400)=ANY=[@ANYBLOB='fd=', @ANYRESHEX=r0]) mount(0x0, &(0x7f0000000380)='./file1\x00', &(0x7f0000000040)='autofs\x00', 0x0, &(0x7f0000000400)) chdir(&(0x7f0000000140)='./file1\x00') r1 = open(&(0x7f0000000000)='.\x00', 0x0, 0x0) ioctl$AUTOFS_DEV_IOCTL_TIMEOUT(r1, 0xc018937a, 0x0) 21:36:03 executing program 0: bpf$PROG_LOAD(0x5, &(0x7f00000054c0)={0x2, 0x16, &(0x7f0000000e80)=ANY=[@ANYBLOB="61128c000000000061134c0000000000bf2000000000000025000c0007ffffffbd0301000000000095002000000000006916000000000000bf6700000000000004070000b964b01a4607feff00200000540600000ee60000bf050000000000000f5700000000000065070000d23700002c030000000000001f75000000000000bf54000000000000070000000400f9ffad430100000000007c000000000000000500000000000000950000000000000032ed3c5be95e5db67754bb12dc8c4ed68ecf264e0f84f9f17d3c30e3c7bdd2d17f2f175455000078af6d71d79a5e12814cb1d8a5d4601d295c45a6a0b9bdb7dd390700000500000000f18c30907d7bee45a0100000fe9de56c9d05000000c6c60bef0d742a81762bab8395fa64810b5b40d893ea8fe0185473d51b546cac3f1d5af65727546e7c955ccefa1f6ab689ffffff7f63ede202fa4e0a2127b8b83c71a51445dc8dfd13ff15f852a39e5b2ab7bcb8f512036a5ba6d04ae76002d4519af619e3cca4d69e0dee5eb106774a8f3e6916fcecc8158f0200000000c8fb735fd552bdc268694aeb0743e326c819b6cf5c8ac86f8a297dff0445a13d0045fb3cda30a673a6037ed8c85f21dce431e56723888fb126a19bc1172b84b3ebe174aba210d739a018f9bbec63222d20cecac4d03723f1c921b5bbf7949632cacfdd32b3a6aa57f1ad2e99e0e67a993716dbf580469f0f53acbb400001e3738270b315d362ed834f2af97787f696649a462e7e090000000000000045eac1f2014f720e83b7838e3eede14308d582685e1becd6f35154bcb4000000000000000000000000000000bc3af2b170ad3e2b26539cebca8f4ddc211bc3ccf0bd9d42ca019dd5d022cf74686e9fbe2562979eaed840a7afaab43176e65ec1118d46d1e827f3472f4445d353887a5ad103649afa1769080584f800031e03a651bb04000000ab04871bc47287cd31cc43ea0ffb567b40407d0000413a0000000000000000005f37d83f84e98a523d80bd56a57fa82b82f639601ae899a559944cb9a62a29ab028acfc1cb26a0f6a5480a55d624a0c544ba0dc828c22fe30000aa391598000000437d57fcf8295f63a70837f5cd4e5e77964522dc7ca3aa3476b7f2d851d27fd4de6eabb43e0799dc8d9fb7dc6c523ffbd74a6a40e4acb1ac872ade9d1f2ab779b8dbe843aeeda0426c767c00327b8c95b2bb6ddb55117669d9598c0f3598073f3a921c76beceff7e4fbfea5011db9020823b83abe54346c7af0a99fa077ffe7000feb9e44023a1749eb1d0d572b77d6e0d0fcd74035c7a1eb6eb4e1c8ef2629f5ecff4626746d6abe98a255e92c3c4f79bfcd0d91741380000cfeb73dec68ed56b5d3dfdf0cb8b71ad79000000000000000000000000000000dd434a25e95d0ec29d3adaccf89d0888031ecdfdb4dfbe444673be099ece7e4009c76c7108ef0a7e59fd6d906fbc3c9b412e0478cfee4485f423c63f49db43833c92eeeb647cebd4d7a93a17bcbb6bae5ff876375d4fe39cc2d292691672cc18ca372104ceb83a35ecedd97fc191d8f64d2b1d60c6d12911aada66c26aa4802c3514c3d92ec905000000b13f4a2575fbe943a6c40000000000000000000000000000028026b80c3899543223a6079ee96198b9a326db3be3a48af415ca28ca68c502550044ed8e29af8d763ef9b1f31befcad2ce5394601c7cdc233ba3d4ce26ed703dcb9fb3ad650f77e339768924dfdbeead13b88371154d743544a6091ec93e0d3fd5b4dc42911c1ba322fd4d6fbf19e617d51f964727bfd5cc5ba15370f6e1141d2271eded0b15e4316a1e4623272beb249a0928c417720be14c898f397411c88a7bcf3df46ab3efe7cd5e160c2afd3cc945f75011a102d95ac7ad17a58d9be691c334ea35bae71e76e160cc2260bd028162917807ce89e11b5f261052ee0dde18efa1d802af2b7bcf6f8af41933cea0d0343261bccf64ca1c81045153eafbefdb91fbdff9ee3307d4a1837963b2dc2a3698d90e7915b098f19392e792adaea86052f4e948184001b6494e906925a092483adc7e9c8f7a29d226763c100aecae7f00619c36bceb9fb6dd7e55487d8485e498fdfc377fd3d266d21d46ab2f6b2ce22cd0aebba9b0ffbfe8ec3143c3734967c90b16ebbeeae1ce2baaae05aed6bf0f40c8a323f9235dc99698bd0b800067a901a79daada03cc77e74feb98b1586946b452764ff917a8ecc10e529c5bea49cad70e22df522c2803b6ef65df70223c6e22c3433e322d8dbd6e9b040065a9d6b3d5ae276cffe935d559bea88e1aa36b4e6c19e78457904297e77370e013b705a96548d47c609a93c45f4d1382b39c05dcc07d5b49ad75ddb3ce5b5b9416e03995da04647aa5e6fc1a6f5d663380967ccef9de49a90ced031335e3219ebd9d06c257a50497ec523f5ff7361261ccfe239d603364a42e2e81fc068fcbb9792b673827fe7018a988fbce55bb74cdb327ced4b77b8743fb3cb72cc280b9f62e4f92f46a19600b802cba88b7d0a938d9e0e6cfe5d66b874cd004179e5b6025c0e1050faec7ecd9de190a975db2f8c06a551236278c4766d7e22e3b85168c9851de6266c791252f919b4f8b257b5a786734e5142e4666c67aef5b7b2f88c6640995434aa8636993089c73f196dd4ae829ad4307132655b075ae534fa7f1ea9a17e62357b0bd2bd1d62d34bfc1364640250136729ba4f763ffeb2ba12c2574567d0d3cd28425c33e8acc806611792add8254e705fefd2a44d5b15e3b36f6b75c97c9c04c511d8cf9e24c61c8284a913a381cb1a5628878040000000000000017b68afd95d4abf79286692439ee7acca2adc3d83d72b1b778e30c2bf2efbbcd054cf505eb0faa8a0d9f18135cb1d8d567c3436fa697b72c5035d98b9e4f7f3379c0b3339debc78352b2e65299223d7ef2bd540e78167a3ac92a4c4f826f6d0e5c4ebf4f7a70c03e2f5ddbebf168586331eb5995d2288a167b7c6b20b32116b0c528dab6d0c4fe2ee402348104bc5d4012babedee898c6d3e1017be2e9bc759d3ab4d615f5000000000000000000000000000000000000000000007fff0000000000e693e314adf7dc9f517d04f1e6ca367d30d31d3647c6059db6e1e9529eb1623ef99e2d9ac2ab4872f8e784b07a31110bef6d000000a6f9e89e6d50ee06ce716f94da60f1f22d9669560d296287c13c92070000ee7553eb2df17839542fa88d09f000e88a90cf4406b9000000000000000000000000f441d6a6f516c235c6f5863e7f454ee0e16b9aa2593eb31fa3836703e7765aaeb77a8770e518efaa6d3dd85e03b3b133eb749057cea9af75a0e6f633532f2891b8e263cb6eecea691842827bc7c887081c8d320642389f5f0c42dba0ff75a257310f2d92cb1d1e16468949f5674f62ee6609cf26ae4a8f5eac0ebf318e735930b01d8f586e34537bcff7d6196f494cdcf3a712078d745db0f5687a78ee6d000b3d171a0f08299b52d207f32e9da311ca090000003a42732808515eec574f892622c5be497fc3d9ca122d7c18b9e54637812c8debc61f0e42d838e44a819b74bce1a56108bb0f72c4a02475920532309c55b2c9ae9f281391ec5cc72a5e94cca1cbf1a706ec201eedfa5fbdb537a0c52bd45a9f966c25616cec30c3ea3246cb8e6aac7cf273638e6656a3e4ccadc348f0172028c99cc5f6d5c6d09ed65aa54549e73c28b7c8ad06ad3c5e3c27eec0eff1a6c84f118991cb781e4cdb04af00ac92f1080211c4bee74381a0e31021918f27863fdbafb50f70857d52a1f7df51935a80b1980a4778d35f183ea517f55a98c5a471f3521956f8da6a4ccf2071095305701ab3f3ae43f06e91bc7d85e3800b46926944fba9805a985e63e53a62232fcd3f01dbe1728f300e247a7ebe344f9749818ff3961b2a42664ccd680a90bbb6ab400e286acc8f9febef64594777f848ed1cf980a3da2f0f7745760a05887d0c28060d613dd6539d392fc21fee0b5131609664b821d7a994e6c5965a4fa1ec1790c54e54586907dcc5e8bac16e79da9c2444420900000000000000f888a94365b99b72796fca1b922fc9aefaf1546c17cbb1d2d2fd12cb1a49cad501a3ca218c595b667b634606c57987ebfb0783a4948e4561d5cda158fe74453ff4a837beeedba483842c57d6005b544b4f80003386edfd3d4a88a667bd41eefe0d808abed08a29e6bc370a80cc0366fb4080bfbaaa946fd47ab662c79c846e403910bbc3a48bb276cbb08a8eab145c221ef16a238e3d50ad18aea9a2cec97d3c2d0569caabe2bffe02506bc9cb7294c5d020536dd5e7a6351642112df3b55d0215aaec7e45598995e79699e47567e353e68b03f82be860b188554b734e1192f9c1a867b815ef52cdc3307c0cc9be05a4fdde69c350e59f11f1d26a4d04d8c8b2c4a4d23ee931d14bc7807db773a614b670acf46f83f7c65a0f8d43c5f647e1f0d27c46d4b686e867e9b0be76a7978a8f962bb5a070df97f2bf7612115cfe5ebdc7ad0bc5a5f3ace25347d0e5c347279d55aa67a967380000000000000000000000000000000000000000000000ed0942d980c754c6c69ef65c375ad018824f78b260d5f51bc3feba504408a8c8141d84f3f417603b5081680f346ff0ffbe4ae19e936511966965ce268b6345a0001c0f26a32e0a999fc869292e939dcf89b9bfd794f9c12d41959a0068d0a603659f9f"], &(0x7f0000000100)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0xfffffffffffffe50}, 0x48) 21:36:03 executing program 1: r0 = socket$nl_generic(0x10, 0x3, 0x10) sendmmsg$inet(r0, &(0x7f00000047c0)=[{{0x0, 0x0, &(0x7f0000000340)=[{&(0x7f0000000140)="e2", 0x1}], 0x1}}, {{&(0x7f0000000500)={0x2, 0x0, @private}, 0x10, &(0x7f0000000700)=[{&(0x7f0000001080)="f5", 0x1}], 0x1}}], 0x2, 0x0) 21:36:03 executing program 1: r0 = socket$nl_generic(0x10, 0x3, 0x10) sendmmsg$inet(r0, &(0x7f00000047c0)=[{{0x0, 0x0, &(0x7f0000000340)=[{&(0x7f0000000140)="e2", 0x1}], 0x1}}, {{&(0x7f0000000500)={0x2, 0x0, @private}, 0x10, &(0x7f0000000700)=[{&(0x7f0000001080)="f5", 0x1}], 0x1}}], 0x2, 0x0) 21:36:03 executing program 3: mkdir(&(0x7f0000000000)='./file1\x00', 0x0) pipe(&(0x7f0000000100)={0xffffffffffffffff, 0xffffffffffffffff}) mount$fuse(0x0, 0x0, 0x0, 0x0, &(0x7f0000000400)=ANY=[@ANYBLOB='fd=', @ANYRESHEX=r0]) mount(0x0, &(0x7f0000000380)='./file1\x00', &(0x7f0000000040)='autofs\x00', 0x0, &(0x7f0000000400)) chdir(&(0x7f0000000140)='./file1\x00') r1 = open(&(0x7f0000000000)='.\x00', 0x0, 0x0) ioctl$AUTOFS_DEV_IOCTL_TIMEOUT(r1, 0xc018937a, 0x0) 21:36:03 executing program 2: bpf$PROG_LOAD(0x5, &(0x7f00000054c0)={0x3, 0x16, &(0x7f0000000140)=ANY=[@ANYBLOB="61128c000000000061134c0000000000bf200000000000001500000008ffffffbd0301000000000095000000000000006916000000000000bf67000000000000170600000fff070067060000020000000702000000e60000bf050000000000001f650000000000006507000002000000070700004c0000001f75000000000000bf74000000000000070500000419311f3d4301000000000095000000000000000500000000000000950000000000000032ed3c5be95e76b6bb12dc8c27df8ecf264e0f84f9f17d3c30e3c72fe9755ba08508d2d17f2f1754558f2278af6d71d79a5e12814cb1d8a5d4601d295c45a674f888a08034b76d0a3e1282ee45a010fb94fa9de56c9d8a814261bdb94a6538b89dc6c60bf70d742a81b72bab8395fa64810b5b1bfd3782519518c51231422bb8fab4d4d897db2c544c0ec50b8eac8c63d2b1cd06a39702bd547f5e5e2e3b2bd352e93a22adfe8efe33e9a78b02af242f8ee5476d893f501dc4704403b9bad2b648e90fff24f69a5ef05f5408ea197ed09a9510ee6063229de2984abdd46e127002ed37fb2a5ff221e0d831d64759d17b8c59d0f2b0727f6b7958fb5b939af4be5e55a95f8c6d785a91c7c3f0c17ae7f9ac5ff05f5ecddf0cef90d50e763be96496661c749e21ab63a1f50b30a65a9027ba357bf8c614497ee59b68bf6a5d45c81c567e347d545741fbbbea3e7b7f8a13cce7014137f250370b8a70ae3eaf6d6f17759c3886871e97d063b7f26eed3226bb0b9ee6320a2b02fea7a06a0e37182adf4b1be6f29358d4f50000de616d1affb57f6de4efe62bcccc3bc60536f01a18a0f37d5cfb5af3dc496c5eaa81549b0f3f6420acfe1b215229d95678ec0000000000000000"], &(0x7f0000000100)='GPL\x00'}, 0x48) 21:36:03 executing program 5: r0 = socket$nl_generic(0x10, 0x3, 0x10) r1 = syz_genetlink_get_family_id$ethtool(&(0x7f0000000040), 0xffffffffffffffff) r2 = socket$inet6_tcp(0xa, 0x1, 0x0) ioctl$ifreq_SIOCGIFINDEX_team(r2, 0x8933, &(0x7f00000000c0)={'team0\x00', 0x0}) sendmsg$ETHTOOL_MSG_EEE_SET(r0, &(0x7f0000000240)={0x0, 0x0, &(0x7f0000000200)={&(0x7f0000000080)={0x20, r1, 0x1, 0x0, 0x0, {0x5}, [@ETHTOOL_A_EEE_HEADER={0xc, 0x1, 0x0, 0x1, [@ETHTOOL_A_HEADER_DEV_INDEX={0x8, 0x1, r3}]}]}, 0x20}}, 0x0) [ 2017.842415][T16828] usb 5-1: new high-speed USB device number 92 using dummy_hcd 21:36:03 executing program 1: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) r1 = dup(r0) sendmsg$IPSET_CMD_CREATE(r1, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000000)={&(0x7f00000003c0)={0x60, 0x2, 0x6, 0x5, 0x0, 0xf0ffff, {}, [@IPSET_ATTR_PROTOCOL={0x5, 0x1, 0x6}, @IPSET_ATTR_FAMILY={0x5, 0x5, 0xa}, @IPSET_ATTR_SETNAME={0x9, 0x2, 'syz1\x00'}, @IPSET_ATTR_REVISION={0x5}, @IPSET_ATTR_DATA={0x14, 0x7, 0x0, 0x1, [@IPSET_ATTR_TIMEOUT={0x8}, @IPSET_ATTR_CADT_FLAGS={0x8, 0x8, 0x1, 0x0, 0xbb}]}, @IPSET_ATTR_TYPENAME={0x14, 0x3, 'hash:ip,port,ip\x00'}]}, 0x60}}, 0x0) 21:36:03 executing program 5: r0 = socket$nl_generic(0x10, 0x3, 0x10) r1 = syz_genetlink_get_family_id$ethtool(&(0x7f0000000040), 0xffffffffffffffff) r2 = socket$inet6_tcp(0xa, 0x1, 0x0) ioctl$ifreq_SIOCGIFINDEX_team(r2, 0x8933, &(0x7f00000000c0)={'team0\x00', 0x0}) sendmsg$ETHTOOL_MSG_EEE_SET(r0, &(0x7f0000000240)={0x0, 0x0, &(0x7f0000000200)={&(0x7f0000000080)={0x20, r1, 0x1, 0x0, 0x0, {0x5}, [@ETHTOOL_A_EEE_HEADER={0xc, 0x1, 0x0, 0x1, [@ETHTOOL_A_HEADER_DEV_INDEX={0x8, 0x1, r3}]}]}, 0x20}}, 0x0) [ 2018.102347][T16828] usb 5-1: Using ep0 maxpacket: 16 [ 2018.232981][T16828] usb 5-1: config 0 has an invalid descriptor of length 0, skipping remainder of the config [ 2018.243394][T16828] usb 5-1: config 0 interface 0 altsetting 0 endpoint 0x82 has an invalid bInterval 0, changing to 7 [ 2018.254640][T16828] usb 5-1: config 0 interface 0 altsetting 0 endpoint 0x2 has invalid wMaxPacketSize 0 [ 2018.264626][T16828] usb 5-1: config 0 interface 0 altsetting 0 bulk endpoint 0x2 has invalid maxpacket 0 [ 2018.274585][T16828] usb 5-1: config 0 interface 0 altsetting 0 has 2 endpoint descriptors, different from the interface descriptor's value: 3 [ 2018.363064][T16828] usb 5-1: New USB device found, idVendor=2040, idProduct=b138, bcdDevice= 1.42 [ 2018.372563][T16828] usb 5-1: New USB device strings: Mfr=4, Product=0, SerialNumber=0 [ 2018.380672][T16828] usb 5-1: Manufacturer: syz [ 2018.394704][T16828] usb 5-1: config 0 descriptor?? [ 2018.640227][ T6452] UDC core: couldn't find an available UDC or it's busy: -16 [ 2018.648002][ T6452] misc raw-gadget: fail, usb_gadget_probe_driver returned -16 [ 2018.732556][T16828] rc_core: IR keymap rc-hauppauge not found [ 2018.738575][T16828] Registered IR keymap rc-empty [ 2018.743962][T16828] mceusb 5-1:0.0: Error: mce write submit urb error = -90 [ 2018.772403][T16828] mceusb 5-1:0.0: Error: mce write submit urb error = -90 [ 2018.805457][T16828] rc rc0: Conexant Hybrid TV (cx231xx) MCE IR no TX (2040:b138) as /devices/platform/dummy_hcd.4/usb5/5-1/5-1:0.0/rc/rc0 [ 2018.820316][T16828] input: Conexant Hybrid TV (cx231xx) MCE IR no TX (2040:b138) as /devices/platform/dummy_hcd.4/usb5/5-1/5-1:0.0/rc/rc0/input96 [ 2018.837770][T16828] mceusb 5-1:0.0: Error: mce write submit urb error = -90 [ 2018.872541][T16828] mceusb 5-1:0.0: Error: mce write submit urb error = -90 [ 2018.902508][T16828] mceusb 5-1:0.0: Error: mce write submit urb error = -90 [ 2018.932407][T16828] mceusb 5-1:0.0: Error: mce write submit urb error = -90 [ 2018.962560][T16828] mceusb 5-1:0.0: Error: mce write submit urb error = -90 [ 2018.992573][T16828] mceusb 5-1:0.0: Error: mce write submit urb error = -90 [ 2019.022526][T16828] mceusb 5-1:0.0: Error: mce write submit urb error = -90 [ 2019.052456][T16828] mceusb 5-1:0.0: Error: mce write submit urb error = -90 [ 2019.091934][T16828] mceusb 5-1:0.0: Error: mce write submit urb error = -90 [ 2019.127240][T16828] mceusb 5-1:0.0: Error: mce write submit urb error = -90 [ 2019.174984][T16828] mceusb 5-1:0.0: Registered with mce emulator interface version 1 [ 2019.183269][T16828] mceusb 5-1:0.0: 2 tx ports (0x0 cabled) and 2 rx sensors (0x0 active) [ 2019.424012][T13731] usb 5-1: USB disconnect, device number 92 21:36:05 executing program 4: r0 = syz_usb_connect(0x0, 0x4a, &(0x7f0000000a40)=ANY=[@ANYBLOB="120140005520f010402038b1420104000001090238000100000000090400000371055900090582eb1000000001020009050276"], 0x0) syz_usb_connect$hid(0x0, 0x36, &(0x7f0000000000)={{0x12, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x56a, 0x30a, 0x40, 0x1, 0x2, 0x3, 0x1, [{{0x9, 0x2, 0x24, 0x1, 0x1, 0x0, 0x0, 0x0, [{{0x9, 0x4, 0x0, 0x0, 0x0, 0x3, 0x1, 0x0, 0x0, {0x9, 0x21, 0x280}}}]}}]}}, 0x0) syz_usb_control_io(r0, &(0x7f0000000340)={0x2c, 0x0, &(0x7f0000000180)={0x0, 0x3, 0x2, @string={0x2}}, 0x0, 0x0, 0x0}, 0x0) syz_usb_ep_write$ath9k_ep1(r0, 0x82, 0xe9, &(0x7f0000000000)=ANY=[]) 21:36:05 executing program 2: bpf$PROG_LOAD(0x5, &(0x7f00000054c0)={0x3, 0x16, &(0x7f0000000140)=ANY=[@ANYBLOB="61128c000000000061134c0000000000bf200000000000001500000008ffffffbd0301000000000095000000000000006916000000000000bf67000000000000170600000fff070067060000020000000702000000e60000bf050000000000001f650000000000006507000002000000070700004c0000001f75000000000000bf74000000000000070500000419311f3d4301000000000095000000000000000500000000000000950000000000000032ed3c5be95e76b6bb12dc8c27df8ecf264e0f84f9f17d3c30e3c72fe9755ba08508d2d17f2f1754558f2278af6d71d79a5e12814cb1d8a5d4601d295c45a674f888a08034b76d0a3e1282ee45a010fb94fa9de56c9d8a814261bdb94a6538b89dc6c60bf70d742a81b72bab8395fa64810b5b1bfd3782519518c51231422bb8fab4d4d897db2c544c0ec50b8eac8c63d2b1cd06a39702bd547f5e5e2e3b2bd352e93a22adfe8efe33e9a78b02af242f8ee5476d893f501dc4704403b9bad2b648e90fff24f69a5ef05f5408ea197ed09a9510ee6063229de2984abdd46e127002ed37fb2a5ff221e0d831d64759d17b8c59d0f2b0727f6b7958fb5b939af4be5e55a95f8c6d785a91c7c3f0c17ae7f9ac5ff05f5ecddf0cef90d50e763be96496661c749e21ab63a1f50b30a65a9027ba357bf8c614497ee59b68bf6a5d45c81c567e347d545741fbbbea3e7b7f8a13cce7014137f250370b8a70ae3eaf6d6f17759c3886871e97d063b7f26eed3226bb0b9ee6320a2b02fea7a06a0e37182adf4b1be6f29358d4f50000de616d1affb57f6de4efe62bcccc3bc60536f01a18a0f37d5cfb5af3dc496c5eaa81549b0f3f6420acfe1b215229d95678ec0000000000000000"], &(0x7f0000000100)='GPL\x00'}, 0x48) 21:36:05 executing program 0: bpf$PROG_LOAD(0x5, &(0x7f00000054c0)={0x2, 0x16, &(0x7f0000000e80)=ANY=[@ANYBLOB="61128c000000000061134c0000000000bf2000000000000025000c0007ffffffbd0301000000000095002000000000006916000000000000bf6700000000000004070000b964b01a4607feff00200000540600000ee60000bf050000000000000f5700000000000065070000d23700002c030000000000001f75000000000000bf54000000000000070000000400f9ffad430100000000007c000000000000000500000000000000950000000000000032ed3c5be95e5db67754bb12dc8c4ed68ecf264e0f84f9f17d3c30e3c7bdd2d17f2f175455000078af6d71d79a5e12814cb1d8a5d4601d295c45a6a0b9bdb7dd390700000500000000f18c30907d7bee45a0100000fe9de56c9d05000000c6c60bef0d742a81762bab8395fa64810b5b40d893ea8fe0185473d51b546cac3f1d5af65727546e7c955ccefa1f6ab689ffffff7f63ede202fa4e0a2127b8b83c71a51445dc8dfd13ff15f852a39e5b2ab7bcb8f512036a5ba6d04ae76002d4519af619e3cca4d69e0dee5eb106774a8f3e6916fcecc8158f0200000000c8fb735fd552bdc268694aeb0743e326c819b6cf5c8ac86f8a297dff0445a13d0045fb3cda30a673a6037ed8c85f21dce431e56723888fb126a19bc1172b84b3ebe174aba210d739a018f9bbec63222d20cecac4d03723f1c921b5bbf7949632cacfdd32b3a6aa57f1ad2e99e0e67a993716dbf580469f0f53acbb400001e3738270b315d362ed834f2af97787f696649a462e7e090000000000000045eac1f2014f720e83b7838e3eede14308d582685e1becd6f35154bcb4000000000000000000000000000000bc3af2b170ad3e2b26539cebca8f4ddc211bc3ccf0bd9d42ca019dd5d022cf74686e9fbe2562979eaed840a7afaab43176e65ec1118d46d1e827f3472f4445d353887a5ad103649afa1769080584f800031e03a651bb04000000ab04871bc47287cd31cc43ea0ffb567b40407d0000413a0000000000000000005f37d83f84e98a523d80bd56a57fa82b82f639601ae899a559944cb9a62a29ab028acfc1cb26a0f6a5480a55d624a0c544ba0dc828c22fe30000aa391598000000437d57fcf8295f63a70837f5cd4e5e77964522dc7ca3aa3476b7f2d851d27fd4de6eabb43e0799dc8d9fb7dc6c523ffbd74a6a40e4acb1ac872ade9d1f2ab779b8dbe843aeeda0426c767c00327b8c95b2bb6ddb55117669d9598c0f3598073f3a921c76beceff7e4fbfea5011db9020823b83abe54346c7af0a99fa077ffe7000feb9e44023a1749eb1d0d572b77d6e0d0fcd74035c7a1eb6eb4e1c8ef2629f5ecff4626746d6abe98a255e92c3c4f79bfcd0d91741380000cfeb73dec68ed56b5d3dfdf0cb8b71ad79000000000000000000000000000000dd434a25e95d0ec29d3adaccf89d0888031ecdfdb4dfbe444673be099ece7e4009c76c7108ef0a7e59fd6d906fbc3c9b412e0478cfee4485f423c63f49db43833c92eeeb647cebd4d7a93a17bcbb6bae5ff876375d4fe39cc2d292691672cc18ca372104ceb83a35ecedd97fc191d8f64d2b1d60c6d12911aada66c26aa4802c3514c3d92ec905000000b13f4a2575fbe943a6c40000000000000000000000000000028026b80c3899543223a6079ee96198b9a326db3be3a48af415ca28ca68c502550044ed8e29af8d763ef9b1f31befcad2ce5394601c7cdc233ba3d4ce26ed703dcb9fb3ad650f77e339768924dfdbeead13b88371154d743544a6091ec93e0d3fd5b4dc42911c1ba322fd4d6fbf19e617d51f964727bfd5cc5ba15370f6e1141d2271eded0b15e4316a1e4623272beb249a0928c417720be14c898f397411c88a7bcf3df46ab3efe7cd5e160c2afd3cc945f75011a102d95ac7ad17a58d9be691c334ea35bae71e76e160cc2260bd028162917807ce89e11b5f261052ee0dde18efa1d802af2b7bcf6f8af41933cea0d0343261bccf64ca1c81045153eafbefdb91fbdff9ee3307d4a1837963b2dc2a3698d90e7915b098f19392e792adaea86052f4e948184001b6494e906925a092483adc7e9c8f7a29d226763c100aecae7f00619c36bceb9fb6dd7e55487d8485e498fdfc377fd3d266d21d46ab2f6b2ce22cd0aebba9b0ffbfe8ec3143c3734967c90b16ebbeeae1ce2baaae05aed6bf0f40c8a323f9235dc99698bd0b800067a901a79daada03cc77e74feb98b1586946b452764ff917a8ecc10e529c5bea49cad70e22df522c2803b6ef65df70223c6e22c3433e322d8dbd6e9b040065a9d6b3d5ae276cffe935d559bea88e1aa36b4e6c19e78457904297e77370e013b705a96548d47c609a93c45f4d1382b39c05dcc07d5b49ad75ddb3ce5b5b9416e03995da04647aa5e6fc1a6f5d663380967ccef9de49a90ced031335e3219ebd9d06c257a50497ec523f5ff7361261ccfe239d603364a42e2e81fc068fcbb9792b673827fe7018a988fbce55bb74cdb327ced4b77b8743fb3cb72cc280b9f62e4f92f46a19600b802cba88b7d0a938d9e0e6cfe5d66b874cd004179e5b6025c0e1050faec7ecd9de190a975db2f8c06a551236278c4766d7e22e3b85168c9851de6266c791252f919b4f8b257b5a786734e5142e4666c67aef5b7b2f88c6640995434aa8636993089c73f196dd4ae829ad4307132655b075ae534fa7f1ea9a17e62357b0bd2bd1d62d34bfc1364640250136729ba4f763ffeb2ba12c2574567d0d3cd28425c33e8acc806611792add8254e705fefd2a44d5b15e3b36f6b75c97c9c04c511d8cf9e24c61c8284a913a381cb1a5628878040000000000000017b68afd95d4abf79286692439ee7acca2adc3d83d72b1b778e30c2bf2efbbcd054cf505eb0faa8a0d9f18135cb1d8d567c3436fa697b72c5035d98b9e4f7f3379c0b3339debc78352b2e65299223d7ef2bd540e78167a3ac92a4c4f826f6d0e5c4ebf4f7a70c03e2f5ddbebf168586331eb5995d2288a167b7c6b20b32116b0c528dab6d0c4fe2ee402348104bc5d4012babedee898c6d3e1017be2e9bc759d3ab4d615f5000000000000000000000000000000000000000000007fff0000000000e693e314adf7dc9f517d04f1e6ca367d30d31d3647c6059db6e1e9529eb1623ef99e2d9ac2ab4872f8e784b07a31110bef6d000000a6f9e89e6d50ee06ce716f94da60f1f22d9669560d296287c13c92070000ee7553eb2df17839542fa88d09f000e88a90cf4406b9000000000000000000000000f441d6a6f516c235c6f5863e7f454ee0e16b9aa2593eb31fa3836703e7765aaeb77a8770e518efaa6d3dd85e03b3b133eb749057cea9af75a0e6f633532f2891b8e263cb6eecea691842827bc7c887081c8d320642389f5f0c42dba0ff75a257310f2d92cb1d1e16468949f5674f62ee6609cf26ae4a8f5eac0ebf318e735930b01d8f586e34537bcff7d6196f494cdcf3a712078d745db0f5687a78ee6d000b3d171a0f08299b52d207f32e9da311ca090000003a42732808515eec574f892622c5be497fc3d9ca122d7c18b9e54637812c8debc61f0e42d838e44a819b74bce1a56108bb0f72c4a02475920532309c55b2c9ae9f281391ec5cc72a5e94cca1cbf1a706ec201eedfa5fbdb537a0c52bd45a9f966c25616cec30c3ea3246cb8e6aac7cf273638e6656a3e4ccadc348f0172028c99cc5f6d5c6d09ed65aa54549e73c28b7c8ad06ad3c5e3c27eec0eff1a6c84f118991cb781e4cdb04af00ac92f1080211c4bee74381a0e31021918f27863fdbafb50f70857d52a1f7df51935a80b1980a4778d35f183ea517f55a98c5a471f3521956f8da6a4ccf2071095305701ab3f3ae43f06e91bc7d85e3800b46926944fba9805a985e63e53a62232fcd3f01dbe1728f300e247a7ebe344f9749818ff3961b2a42664ccd680a90bbb6ab400e286acc8f9febef64594777f848ed1cf980a3da2f0f7745760a05887d0c28060d613dd6539d392fc21fee0b5131609664b821d7a994e6c5965a4fa1ec1790c54e54586907dcc5e8bac16e79da9c2444420900000000000000f888a94365b99b72796fca1b922fc9aefaf1546c17cbb1d2d2fd12cb1a49cad501a3ca218c595b667b634606c57987ebfb0783a4948e4561d5cda158fe74453ff4a837beeedba483842c57d6005b544b4f80003386edfd3d4a88a667bd41eefe0d808abed08a29e6bc370a80cc0366fb4080bfbaaa946fd47ab662c79c846e403910bbc3a48bb276cbb08a8eab145c221ef16a238e3d50ad18aea9a2cec97d3c2d0569caabe2bffe02506bc9cb7294c5d020536dd5e7a6351642112df3b55d0215aaec7e45598995e79699e47567e353e68b03f82be860b188554b734e1192f9c1a867b815ef52cdc3307c0cc9be05a4fdde69c350e59f11f1d26a4d04d8c8b2c4a4d23ee931d14bc7807db773a614b670acf46f83f7c65a0f8d43c5f647e1f0d27c46d4b686e867e9b0be76a7978a8f962bb5a070df97f2bf7612115cfe5ebdc7ad0bc5a5f3ace25347d0e5c347279d55aa67a967380000000000000000000000000000000000000000000000ed0942d980c754c6c69ef65c375ad018824f78b260d5f51bc3feba504408a8c8141d84f3f417603b5081680f346ff0ffbe4ae19e936511966965ce268b6345a0001c0f26a32e0a999fc869292e939dcf89b9bfd794f9c12d41959a0068d0a603659f9f"], &(0x7f0000000100)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0xfffffffffffffe50}, 0x48) 21:36:05 executing program 3: mkdir(&(0x7f0000000000)='./file1\x00', 0x0) pipe(&(0x7f0000000100)={0xffffffffffffffff, 0xffffffffffffffff}) mount$fuse(0x0, 0x0, 0x0, 0x0, &(0x7f0000000400)=ANY=[@ANYBLOB='fd=', @ANYRESHEX=r0]) mount(0x0, &(0x7f0000000380)='./file1\x00', &(0x7f0000000040)='autofs\x00', 0x0, &(0x7f0000000400)) chdir(&(0x7f0000000140)='./file1\x00') r1 = open(&(0x7f0000000000)='.\x00', 0x0, 0x0) ioctl$AUTOFS_DEV_IOCTL_TIMEOUT(r1, 0xc018937a, 0x0) 21:36:05 executing program 5: r0 = socket$nl_generic(0x10, 0x3, 0x10) r1 = syz_genetlink_get_family_id$ethtool(&(0x7f0000000040), 0xffffffffffffffff) r2 = socket$inet6_tcp(0xa, 0x1, 0x0) ioctl$ifreq_SIOCGIFINDEX_team(r2, 0x8933, &(0x7f00000000c0)={'team0\x00', 0x0}) sendmsg$ETHTOOL_MSG_EEE_SET(r0, &(0x7f0000000240)={0x0, 0x0, &(0x7f0000000200)={&(0x7f0000000080)={0x20, r1, 0x1, 0x0, 0x0, {0x5}, [@ETHTOOL_A_EEE_HEADER={0xc, 0x1, 0x0, 0x1, [@ETHTOOL_A_HEADER_DEV_INDEX={0x8, 0x1, r3}]}]}, 0x20}}, 0x0) 21:36:05 executing program 1: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) r1 = dup(r0) sendmsg$IPSET_CMD_CREATE(r1, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000000)={&(0x7f00000003c0)={0x60, 0x2, 0x6, 0x5, 0x0, 0xf0ffff, {}, [@IPSET_ATTR_PROTOCOL={0x5, 0x1, 0x6}, @IPSET_ATTR_FAMILY={0x5, 0x5, 0xa}, @IPSET_ATTR_SETNAME={0x9, 0x2, 'syz1\x00'}, @IPSET_ATTR_REVISION={0x5}, @IPSET_ATTR_DATA={0x14, 0x7, 0x0, 0x1, [@IPSET_ATTR_TIMEOUT={0x8}, @IPSET_ATTR_CADT_FLAGS={0x8, 0x8, 0x1, 0x0, 0xbb}]}, @IPSET_ATTR_TYPENAME={0x14, 0x3, 'hash:ip,port,ip\x00'}]}, 0x60}}, 0x0) 21:36:05 executing program 1: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) r1 = dup(r0) sendmsg$IPSET_CMD_CREATE(r1, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000000)={&(0x7f00000003c0)={0x60, 0x2, 0x6, 0x5, 0x0, 0xf0ffff, {}, [@IPSET_ATTR_PROTOCOL={0x5, 0x1, 0x6}, @IPSET_ATTR_FAMILY={0x5, 0x5, 0xa}, @IPSET_ATTR_SETNAME={0x9, 0x2, 'syz1\x00'}, @IPSET_ATTR_REVISION={0x5}, @IPSET_ATTR_DATA={0x14, 0x7, 0x0, 0x1, [@IPSET_ATTR_TIMEOUT={0x8}, @IPSET_ATTR_CADT_FLAGS={0x8, 0x8, 0x1, 0x0, 0xbb}]}, @IPSET_ATTR_TYPENAME={0x14, 0x3, 'hash:ip,port,ip\x00'}]}, 0x60}}, 0x0) 21:36:05 executing program 2: bpf$PROG_LOAD(0x5, &(0x7f00000054c0)={0x3, 0x16, &(0x7f0000000140)=ANY=[@ANYBLOB="61128c000000000061134c0000000000bf200000000000001500000008ffffffbd0301000000000095000000000000006916000000000000bf67000000000000170600000fff070067060000020000000702000000e60000bf050000000000001f650000000000006507000002000000070700004c0000001f75000000000000bf74000000000000070500000419311f3d4301000000000095000000000000000500000000000000950000000000000032ed3c5be95e76b6bb12dc8c27df8ecf264e0f84f9f17d3c30e3c72fe9755ba08508d2d17f2f1754558f2278af6d71d79a5e12814cb1d8a5d4601d295c45a674f888a08034b76d0a3e1282ee45a010fb94fa9de56c9d8a814261bdb94a6538b89dc6c60bf70d742a81b72bab8395fa64810b5b1bfd3782519518c51231422bb8fab4d4d897db2c544c0ec50b8eac8c63d2b1cd06a39702bd547f5e5e2e3b2bd352e93a22adfe8efe33e9a78b02af242f8ee5476d893f501dc4704403b9bad2b648e90fff24f69a5ef05f5408ea197ed09a9510ee6063229de2984abdd46e127002ed37fb2a5ff221e0d831d64759d17b8c59d0f2b0727f6b7958fb5b939af4be5e55a95f8c6d785a91c7c3f0c17ae7f9ac5ff05f5ecddf0cef90d50e763be96496661c749e21ab63a1f50b30a65a9027ba357bf8c614497ee59b68bf6a5d45c81c567e347d545741fbbbea3e7b7f8a13cce7014137f250370b8a70ae3eaf6d6f17759c3886871e97d063b7f26eed3226bb0b9ee6320a2b02fea7a06a0e37182adf4b1be6f29358d4f50000de616d1affb57f6de4efe62bcccc3bc60536f01a18a0f37d5cfb5af3dc496c5eaa81549b0f3f6420acfe1b215229d95678ec0000000000000000"], &(0x7f0000000100)='GPL\x00'}, 0x48) 21:36:05 executing program 5: r0 = openat$proc_capi20ncci(0xffffff9c, &(0x7f0000000000), 0x3a1500, 0x0) r1 = syz_io_uring_setup(0x77d, &(0x7f0000000080), &(0x7f0000ffc000/0x1000)=nil, &(0x7f0000ee6000/0x3000)=nil, &(0x7f00000014c0), &(0x7f00000001c0)) io_uring_register$IORING_REGISTER_FILES(r1, 0x2, &(0x7f0000000140)=[r0], 0x1) 21:36:05 executing program 3: mkdir(&(0x7f0000000000)='./file1\x00', 0x0) pipe(&(0x7f0000000100)={0xffffffffffffffff, 0xffffffffffffffff}) mount$fuse(0x0, 0x0, 0x0, 0x0, &(0x7f0000000400)=ANY=[@ANYBLOB='fd=', @ANYRESHEX=r0]) mount(0x0, &(0x7f0000000380)='./file1\x00', &(0x7f0000000040)='autofs\x00', 0x0, &(0x7f0000000400)) chdir(&(0x7f0000000140)='./file1\x00') r1 = open(&(0x7f0000000000)='.\x00', 0x0, 0x0) ioctl$AUTOFS_DEV_IOCTL_TIMEOUT(r1, 0xc018937a, 0x0) 21:36:06 executing program 1: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) r1 = dup(r0) sendmsg$IPSET_CMD_CREATE(r1, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000000)={&(0x7f00000003c0)={0x60, 0x2, 0x6, 0x5, 0x0, 0xf0ffff, {}, [@IPSET_ATTR_PROTOCOL={0x5, 0x1, 0x6}, @IPSET_ATTR_FAMILY={0x5, 0x5, 0xa}, @IPSET_ATTR_SETNAME={0x9, 0x2, 'syz1\x00'}, @IPSET_ATTR_REVISION={0x5}, @IPSET_ATTR_DATA={0x14, 0x7, 0x0, 0x1, [@IPSET_ATTR_TIMEOUT={0x8}, @IPSET_ATTR_CADT_FLAGS={0x8, 0x8, 0x1, 0x0, 0xbb}]}, @IPSET_ATTR_TYPENAME={0x14, 0x3, 'hash:ip,port,ip\x00'}]}, 0x60}}, 0x0) [ 2020.422420][T13731] usb 5-1: new high-speed USB device number 93 using dummy_hcd 21:36:06 executing program 5: r0 = openat$proc_capi20ncci(0xffffff9c, &(0x7f0000000000), 0x3a1500, 0x0) r1 = syz_io_uring_setup(0x77d, &(0x7f0000000080), &(0x7f0000ffc000/0x1000)=nil, &(0x7f0000ee6000/0x3000)=nil, &(0x7f00000014c0), &(0x7f00000001c0)) io_uring_register$IORING_REGISTER_FILES(r1, 0x2, &(0x7f0000000140)=[r0], 0x1) [ 2020.662819][T13731] usb 5-1: Using ep0 maxpacket: 16 [ 2020.783325][T13731] usb 5-1: config 0 has an invalid descriptor of length 0, skipping remainder of the config [ 2020.793683][T13731] usb 5-1: config 0 interface 0 altsetting 0 endpoint 0x82 has an invalid bInterval 0, changing to 7 [ 2020.804859][T13731] usb 5-1: config 0 interface 0 altsetting 0 endpoint 0x2 has invalid wMaxPacketSize 0 [ 2020.814739][T13731] usb 5-1: config 0 interface 0 altsetting 0 bulk endpoint 0x2 has invalid maxpacket 0 [ 2020.824622][T13731] usb 5-1: config 0 interface 0 altsetting 0 has 2 endpoint descriptors, different from the interface descriptor's value: 3 [ 2020.973199][T13731] usb 5-1: New USB device found, idVendor=2040, idProduct=b138, bcdDevice= 1.42 [ 2020.982993][T13731] usb 5-1: New USB device strings: Mfr=4, Product=0, SerialNumber=0 [ 2020.991219][T13731] usb 5-1: Manufacturer: syz [ 2021.000681][T13731] usb 5-1: config 0 descriptor?? [ 2021.245983][ T6478] UDC core: couldn't find an available UDC or it's busy: -16 [ 2021.253675][ T6478] misc raw-gadget: fail, usb_gadget_probe_driver returned -16 [ 2021.352869][T13731] rc_core: IR keymap rc-hauppauge not found [ 2021.358886][T13731] Registered IR keymap rc-empty [ 2021.364134][T13731] mceusb 5-1:0.0: Error: mce write submit urb error = -90 [ 2021.392741][T13731] mceusb 5-1:0.0: Error: mce write submit urb error = -90 [ 2021.423491][T13731] rc rc0: Conexant Hybrid TV (cx231xx) MCE IR no TX (2040:b138) as /devices/platform/dummy_hcd.4/usb5/5-1/5-1:0.0/rc/rc0 [ 2021.437855][T13731] input: Conexant Hybrid TV (cx231xx) MCE IR no TX (2040:b138) as /devices/platform/dummy_hcd.4/usb5/5-1/5-1:0.0/rc/rc0/input97 [ 2021.462613][T13731] mceusb 5-1:0.0: Error: mce write submit urb error = -90 [ 2021.492522][T13731] mceusb 5-1:0.0: Error: mce write submit urb error = -90 [ 2021.522455][T13731] mceusb 5-1:0.0: Error: mce write submit urb error = -90 [ 2021.552510][T13731] mceusb 5-1:0.0: Error: mce write submit urb error = -90 [ 2021.582498][T13731] mceusb 5-1:0.0: Error: mce write submit urb error = -90 [ 2021.612785][T13731] mceusb 5-1:0.0: Error: mce write submit urb error = -90 [ 2021.642688][T13731] mceusb 5-1:0.0: Error: mce write submit urb error = -90 [ 2021.672521][T13731] mceusb 5-1:0.0: Error: mce write submit urb error = -90 [ 2021.702405][T13731] mceusb 5-1:0.0: Error: mce write submit urb error = -90 [ 2021.732689][T13731] mceusb 5-1:0.0: Error: mce write submit urb error = -90 [ 2021.774915][T13731] mceusb 5-1:0.0: Registered with mce emulator interface version 1 [ 2021.783561][T13731] mceusb 5-1:0.0: 2 tx ports (0x0 cabled) and 2 rx sensors (0x0 active) [ 2022.011914][T13731] usb 5-1: USB disconnect, device number 93 21:36:08 executing program 3: r0 = socket$inet_sctp(0x2, 0x5, 0x84) getsockopt$inet_int(r0, 0x0, 0x53, &(0x7f0000000000), &(0x7f0000000040)=0x4) 21:36:08 executing program 2: r0 = socket$phonet_pipe(0x23, 0x5, 0x2) ioctl$sock_SIOCGIFCONF(r0, 0x8992, &(0x7f00000000c0)=@buf) 21:36:08 executing program 1: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f00000000c0), 0x0, 0x0) ioctl$KVM_CHECK_EXTENSION(r0, 0xae03, 0x4) 21:36:08 executing program 0: bpf$PROG_LOAD(0x5, &(0x7f00000054c0)={0x2, 0x16, &(0x7f0000000e80)=ANY=[@ANYBLOB="61128c000000000061134c0000000000bf2000000000000025000c0007ffffffbd0301000000000095002000000000006916000000000000bf6700000000000004070000b964b01a4607feff00200000540600000ee60000bf050000000000000f5700000000000065070000d23700002c030000000000001f75000000000000bf54000000000000070000000400f9ffad430100000000007c000000000000000500000000000000950000000000000032ed3c5be95e5db67754bb12dc8c4ed68ecf264e0f84f9f17d3c30e3c7bdd2d17f2f175455000078af6d71d79a5e12814cb1d8a5d4601d295c45a6a0b9bdb7dd390700000500000000f18c30907d7bee45a0100000fe9de56c9d05000000c6c60bef0d742a81762bab8395fa64810b5b40d893ea8fe0185473d51b546cac3f1d5af65727546e7c955ccefa1f6ab689ffffff7f63ede202fa4e0a2127b8b83c71a51445dc8dfd13ff15f852a39e5b2ab7bcb8f512036a5ba6d04ae76002d4519af619e3cca4d69e0dee5eb106774a8f3e6916fcecc8158f0200000000c8fb735fd552bdc268694aeb0743e326c819b6cf5c8ac86f8a297dff0445a13d0045fb3cda30a673a6037ed8c85f21dce431e56723888fb126a19bc1172b84b3ebe174aba210d739a018f9bbec63222d20cecac4d03723f1c921b5bbf7949632cacfdd32b3a6aa57f1ad2e99e0e67a993716dbf580469f0f53acbb400001e3738270b315d362ed834f2af97787f696649a462e7e090000000000000045eac1f2014f720e83b7838e3eede14308d582685e1becd6f35154bcb4000000000000000000000000000000bc3af2b170ad3e2b26539cebca8f4ddc211bc3ccf0bd9d42ca019dd5d022cf74686e9fbe2562979eaed840a7afaab43176e65ec1118d46d1e827f3472f4445d353887a5ad103649afa1769080584f800031e03a651bb04000000ab04871bc47287cd31cc43ea0ffb567b40407d0000413a0000000000000000005f37d83f84e98a523d80bd56a57fa82b82f639601ae899a559944cb9a62a29ab028acfc1cb26a0f6a5480a55d624a0c544ba0dc828c22fe30000aa391598000000437d57fcf8295f63a70837f5cd4e5e77964522dc7ca3aa3476b7f2d851d27fd4de6eabb43e0799dc8d9fb7dc6c523ffbd74a6a40e4acb1ac872ade9d1f2ab779b8dbe843aeeda0426c767c00327b8c95b2bb6ddb55117669d9598c0f3598073f3a921c76beceff7e4fbfea5011db9020823b83abe54346c7af0a99fa077ffe7000feb9e44023a1749eb1d0d572b77d6e0d0fcd74035c7a1eb6eb4e1c8ef2629f5ecff4626746d6abe98a255e92c3c4f79bfcd0d91741380000cfeb73dec68ed56b5d3dfdf0cb8b71ad79000000000000000000000000000000dd434a25e95d0ec29d3adaccf89d0888031ecdfdb4dfbe444673be099ece7e4009c76c7108ef0a7e59fd6d906fbc3c9b412e0478cfee4485f423c63f49db43833c92eeeb647cebd4d7a93a17bcbb6bae5ff876375d4fe39cc2d292691672cc18ca372104ceb83a35ecedd97fc191d8f64d2b1d60c6d12911aada66c26aa4802c3514c3d92ec905000000b13f4a2575fbe943a6c40000000000000000000000000000028026b80c3899543223a6079ee96198b9a326db3be3a48af415ca28ca68c502550044ed8e29af8d763ef9b1f31befcad2ce5394601c7cdc233ba3d4ce26ed703dcb9fb3ad650f77e339768924dfdbeead13b88371154d743544a6091ec93e0d3fd5b4dc42911c1ba322fd4d6fbf19e617d51f964727bfd5cc5ba15370f6e1141d2271eded0b15e4316a1e4623272beb249a0928c417720be14c898f397411c88a7bcf3df46ab3efe7cd5e160c2afd3cc945f75011a102d95ac7ad17a58d9be691c334ea35bae71e76e160cc2260bd028162917807ce89e11b5f261052ee0dde18efa1d802af2b7bcf6f8af41933cea0d0343261bccf64ca1c81045153eafbefdb91fbdff9ee3307d4a1837963b2dc2a3698d90e7915b098f19392e792adaea86052f4e948184001b6494e906925a092483adc7e9c8f7a29d226763c100aecae7f00619c36bceb9fb6dd7e55487d8485e498fdfc377fd3d266d21d46ab2f6b2ce22cd0aebba9b0ffbfe8ec3143c3734967c90b16ebbeeae1ce2baaae05aed6bf0f40c8a323f9235dc99698bd0b800067a901a79daada03cc77e74feb98b1586946b452764ff917a8ecc10e529c5bea49cad70e22df522c2803b6ef65df70223c6e22c3433e322d8dbd6e9b040065a9d6b3d5ae276cffe935d559bea88e1aa36b4e6c19e78457904297e77370e013b705a96548d47c609a93c45f4d1382b39c05dcc07d5b49ad75ddb3ce5b5b9416e03995da04647aa5e6fc1a6f5d663380967ccef9de49a90ced031335e3219ebd9d06c257a50497ec523f5ff7361261ccfe239d603364a42e2e81fc068fcbb9792b673827fe7018a988fbce55bb74cdb327ced4b77b8743fb3cb72cc280b9f62e4f92f46a19600b802cba88b7d0a938d9e0e6cfe5d66b874cd004179e5b6025c0e1050faec7ecd9de190a975db2f8c06a551236278c4766d7e22e3b85168c9851de6266c791252f919b4f8b257b5a786734e5142e4666c67aef5b7b2f88c6640995434aa8636993089c73f196dd4ae829ad4307132655b075ae534fa7f1ea9a17e62357b0bd2bd1d62d34bfc1364640250136729ba4f763ffeb2ba12c2574567d0d3cd28425c33e8acc806611792add8254e705fefd2a44d5b15e3b36f6b75c97c9c04c511d8cf9e24c61c8284a913a381cb1a5628878040000000000000017b68afd95d4abf79286692439ee7acca2adc3d83d72b1b778e30c2bf2efbbcd054cf505eb0faa8a0d9f18135cb1d8d567c3436fa697b72c5035d98b9e4f7f3379c0b3339debc78352b2e65299223d7ef2bd540e78167a3ac92a4c4f826f6d0e5c4ebf4f7a70c03e2f5ddbebf168586331eb5995d2288a167b7c6b20b32116b0c528dab6d0c4fe2ee402348104bc5d4012babedee898c6d3e1017be2e9bc759d3ab4d615f5000000000000000000000000000000000000000000007fff0000000000e693e314adf7dc9f517d04f1e6ca367d30d31d3647c6059db6e1e9529eb1623ef99e2d9ac2ab4872f8e784b07a31110bef6d000000a6f9e89e6d50ee06ce716f94da60f1f22d9669560d296287c13c92070000ee7553eb2df17839542fa88d09f000e88a90cf4406b9000000000000000000000000f441d6a6f516c235c6f5863e7f454ee0e16b9aa2593eb31fa3836703e7765aaeb77a8770e518efaa6d3dd85e03b3b133eb749057cea9af75a0e6f633532f2891b8e263cb6eecea691842827bc7c887081c8d320642389f5f0c42dba0ff75a257310f2d92cb1d1e16468949f5674f62ee6609cf26ae4a8f5eac0ebf318e735930b01d8f586e34537bcff7d6196f494cdcf3a712078d745db0f5687a78ee6d000b3d171a0f08299b52d207f32e9da311ca090000003a42732808515eec574f892622c5be497fc3d9ca122d7c18b9e54637812c8debc61f0e42d838e44a819b74bce1a56108bb0f72c4a02475920532309c55b2c9ae9f281391ec5cc72a5e94cca1cbf1a706ec201eedfa5fbdb537a0c52bd45a9f966c25616cec30c3ea3246cb8e6aac7cf273638e6656a3e4ccadc348f0172028c99cc5f6d5c6d09ed65aa54549e73c28b7c8ad06ad3c5e3c27eec0eff1a6c84f118991cb781e4cdb04af00ac92f1080211c4bee74381a0e31021918f27863fdbafb50f70857d52a1f7df51935a80b1980a4778d35f183ea517f55a98c5a471f3521956f8da6a4ccf2071095305701ab3f3ae43f06e91bc7d85e3800b46926944fba9805a985e63e53a62232fcd3f01dbe1728f300e247a7ebe344f9749818ff3961b2a42664ccd680a90bbb6ab400e286acc8f9febef64594777f848ed1cf980a3da2f0f7745760a05887d0c28060d613dd6539d392fc21fee0b5131609664b821d7a994e6c5965a4fa1ec1790c54e54586907dcc5e8bac16e79da9c2444420900000000000000f888a94365b99b72796fca1b922fc9aefaf1546c17cbb1d2d2fd12cb1a49cad501a3ca218c595b667b634606c57987ebfb0783a4948e4561d5cda158fe74453ff4a837beeedba483842c57d6005b544b4f80003386edfd3d4a88a667bd41eefe0d808abed08a29e6bc370a80cc0366fb4080bfbaaa946fd47ab662c79c846e403910bbc3a48bb276cbb08a8eab145c221ef16a238e3d50ad18aea9a2cec97d3c2d0569caabe2bffe02506bc9cb7294c5d020536dd5e7a6351642112df3b55d0215aaec7e45598995e79699e47567e353e68b03f82be860b188554b734e1192f9c1a867b815ef52cdc3307c0cc9be05a4fdde69c350e59f11f1d26a4d04d8c8b2c4a4d23ee931d14bc7807db773a614b670acf46f83f7c65a0f8d43c5f647e1f0d27c46d4b686e867e9b0be76a7978a8f962bb5a070df97f2bf7612115cfe5ebdc7ad0bc5a5f3ace25347d0e5c347279d55aa67a967380000000000000000000000000000000000000000000000ed0942d980c754c6c69ef65c375ad018824f78b260d5f51bc3feba504408a8c8141d84f3f417603b5081680f346ff0ffbe4ae19e936511966965ce268b6345a0001c0f26a32e0a999fc869292e939dcf89b9bfd794f9c12d41959a0068d0a603659f9f"], &(0x7f0000000100)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0xfffffffffffffe50}, 0x48) 21:36:08 executing program 5: r0 = openat$proc_capi20ncci(0xffffff9c, &(0x7f0000000000), 0x3a1500, 0x0) r1 = syz_io_uring_setup(0x77d, &(0x7f0000000080), &(0x7f0000ffc000/0x1000)=nil, &(0x7f0000ee6000/0x3000)=nil, &(0x7f00000014c0), &(0x7f00000001c0)) io_uring_register$IORING_REGISTER_FILES(r1, 0x2, &(0x7f0000000140)=[r0], 0x1) 21:36:08 executing program 3: r0 = socket$inet_sctp(0x2, 0x5, 0x84) getsockopt$inet_int(r0, 0x0, 0x53, &(0x7f0000000000), &(0x7f0000000040)=0x4) 21:36:08 executing program 1: r0 = socket$nl_xfrm(0x10, 0x3, 0x6) sendmsg$nl_xfrm(r0, &(0x7f0000000100)={0x0, 0x0, &(0x7f0000000140)={&(0x7f0000000000)=@migrate={0xec, 0x21, 0xd39, 0x0, 0x0, {{@in=@dev, @in=@empty}}, [@migrate={0x9c, 0x11, [{@in6=@mcast1, @in=@broadcast, @in6=@rand_addr=' \x01\x00', @in6=@initdev={0xfe, 0x88, '\x00', 0x0, 0x0}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2}, {@in6=@mcast1, @in=@broadcast, @in6=@remote, @in=@remote}]}]}, 0xec}}, 0x0) 21:36:08 executing program 5: r0 = openat$proc_capi20ncci(0xffffff9c, &(0x7f0000000000), 0x3a1500, 0x0) r1 = syz_io_uring_setup(0x77d, &(0x7f0000000080), &(0x7f0000ffc000/0x1000)=nil, &(0x7f0000ee6000/0x3000)=nil, &(0x7f00000014c0), &(0x7f00000001c0)) io_uring_register$IORING_REGISTER_FILES(r1, 0x2, &(0x7f0000000140)=[r0], 0x1) 21:36:08 executing program 4: syz_open_dev$radio(&(0x7f00000000c0), 0x0, 0x2) r0 = syz_io_uring_setup(0x1c87, &(0x7f0000000340), &(0x7f0000ee8000/0x4000)=nil, &(0x7f0000eea000/0x1000)=nil, &(0x7f0000000180)=0x0, &(0x7f0000000040)=0x0) syz_io_uring_submit(r1, r2, &(0x7f0000000200)=@IORING_OP_POLL_ADD={0x6, 0x0, 0x0, @fd_index=0x3}, 0x0) io_uring_enter(r0, 0x450e, 0x0, 0x0, 0x0, 0x0) 21:36:08 executing program 2: r0 = socket$phonet_pipe(0x23, 0x5, 0x2) ioctl$sock_SIOCGIFCONF(r0, 0x8992, &(0x7f00000000c0)=@buf) 21:36:08 executing program 4: syz_open_dev$radio(&(0x7f00000000c0), 0x0, 0x2) r0 = syz_io_uring_setup(0x1c87, &(0x7f0000000340), &(0x7f0000ee8000/0x4000)=nil, &(0x7f0000eea000/0x1000)=nil, &(0x7f0000000180)=0x0, &(0x7f0000000040)=0x0) syz_io_uring_submit(r1, r2, &(0x7f0000000200)=@IORING_OP_POLL_ADD={0x6, 0x0, 0x0, @fd_index=0x3}, 0x0) io_uring_enter(r0, 0x450e, 0x0, 0x0, 0x0, 0x0) 21:36:08 executing program 3: r0 = socket$inet_sctp(0x2, 0x5, 0x84) getsockopt$inet_int(r0, 0x0, 0x53, &(0x7f0000000000), &(0x7f0000000040)=0x4) 21:36:08 executing program 1: r0 = socket$nl_xfrm(0x10, 0x3, 0x6) sendmsg$nl_xfrm(r0, &(0x7f0000000100)={0x0, 0x0, &(0x7f0000000140)={&(0x7f0000000000)=@migrate={0xec, 0x21, 0xd39, 0x0, 0x0, {{@in=@dev, @in=@empty}}, [@migrate={0x9c, 0x11, [{@in6=@mcast1, @in=@broadcast, @in6=@rand_addr=' \x01\x00', @in6=@initdev={0xfe, 0x88, '\x00', 0x0, 0x0}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2}, {@in6=@mcast1, @in=@broadcast, @in6=@remote, @in=@remote}]}]}, 0xec}}, 0x0) 21:36:09 executing program 5: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$NFNL_MSG_ACCT_GET_CTRZERO(r0, &(0x7f0000000340)={0x0, 0x0, &(0x7f0000000300)={&(0x7f00000002c0)={0x18, 0x2, 0x7, 0x201, 0x0, 0x0, {}, [@NFACCT_FILTER={0x3}]}, 0x18}}, 0x0) 21:36:09 executing program 3: r0 = socket$inet_sctp(0x2, 0x5, 0x84) getsockopt$inet_int(r0, 0x0, 0x53, &(0x7f0000000000), &(0x7f0000000040)=0x4) [ 2023.610993][ T6524] netlink: 4 bytes leftover after parsing attributes in process `syz-executor.5'. 21:36:09 executing program 1: r0 = socket$nl_xfrm(0x10, 0x3, 0x6) sendmsg$nl_xfrm(r0, &(0x7f0000000100)={0x0, 0x0, &(0x7f0000000140)={&(0x7f0000000000)=@migrate={0xec, 0x21, 0xd39, 0x0, 0x0, {{@in=@dev, @in=@empty}}, [@migrate={0x9c, 0x11, [{@in6=@mcast1, @in=@broadcast, @in6=@rand_addr=' \x01\x00', @in6=@initdev={0xfe, 0x88, '\x00', 0x0, 0x0}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2}, {@in6=@mcast1, @in=@broadcast, @in6=@remote, @in=@remote}]}]}, 0xec}}, 0x0) 21:36:09 executing program 4: syz_open_dev$radio(&(0x7f00000000c0), 0x0, 0x2) r0 = syz_io_uring_setup(0x1c87, &(0x7f0000000340), &(0x7f0000ee8000/0x4000)=nil, &(0x7f0000eea000/0x1000)=nil, &(0x7f0000000180)=0x0, &(0x7f0000000040)=0x0) syz_io_uring_submit(r1, r2, &(0x7f0000000200)=@IORING_OP_POLL_ADD={0x6, 0x0, 0x0, @fd_index=0x3}, 0x0) io_uring_enter(r0, 0x450e, 0x0, 0x0, 0x0, 0x0) 21:36:09 executing program 5: r0 = syz_open_dev$evdev(&(0x7f0000000080), 0x0, 0x822b01) syz_open_dev$mouse(0x0, 0x0, 0x0) write$evdev(0xffffffffffffffff, 0x0, 0x0) write$char_usb(0xffffffffffffffff, &(0x7f0000000040)="e2", 0x35000) ioctl$EVIOCGKEYCODE_V2(r0, 0x80284505, &(0x7f00000000c0)=""/77) 21:36:09 executing program 2: r0 = socket$phonet_pipe(0x23, 0x5, 0x2) ioctl$sock_SIOCGIFCONF(r0, 0x8992, &(0x7f00000000c0)=@buf) 21:36:09 executing program 4: syz_open_dev$radio(&(0x7f00000000c0), 0x0, 0x2) r0 = syz_io_uring_setup(0x1c87, &(0x7f0000000340), &(0x7f0000ee8000/0x4000)=nil, &(0x7f0000eea000/0x1000)=nil, &(0x7f0000000180)=0x0, &(0x7f0000000040)=0x0) syz_io_uring_submit(r1, r2, &(0x7f0000000200)=@IORING_OP_POLL_ADD={0x6, 0x0, 0x0, @fd_index=0x3}, 0x0) io_uring_enter(r0, 0x450e, 0x0, 0x0, 0x0, 0x0) 21:36:09 executing program 1: r0 = socket$nl_xfrm(0x10, 0x3, 0x6) sendmsg$nl_xfrm(r0, &(0x7f0000000100)={0x0, 0x0, &(0x7f0000000140)={&(0x7f0000000000)=@migrate={0xec, 0x21, 0xd39, 0x0, 0x0, {{@in=@dev, @in=@empty}}, [@migrate={0x9c, 0x11, [{@in6=@mcast1, @in=@broadcast, @in6=@rand_addr=' \x01\x00', @in6=@initdev={0xfe, 0x88, '\x00', 0x0, 0x0}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2}, {@in6=@mcast1, @in=@broadcast, @in6=@remote, @in=@remote}]}]}, 0xec}}, 0x0) 21:36:09 executing program 3: r0 = socket$vsock_stream(0x28, 0x1, 0x0) bind$vsock_stream(r0, &(0x7f0000000140)={0x28, 0x0, 0x2710, @host}, 0x10) listen(r0, 0x0) r1 = socket$vsock_stream(0x28, 0x1, 0x0) connect$vsock_stream(r1, &(0x7f0000000080)={0x28, 0x0, 0x2710}, 0x10) r2 = accept4(r0, 0x0, 0x0, 0x0) sendto(r2, &(0x7f0000000000)='+', 0xffffffffffffffc0, 0x0, 0x0, 0x0) setsockopt$SO_VM_SOCKETS_BUFFER_MAX_SIZE(r1, 0x28, 0x2, &(0x7f00000000c0), 0x8) recvmmsg(r1, &(0x7f0000004780)=[{{0x0, 0x0, &(0x7f0000000680)=[{&(0x7f0000000100)=""/14, 0xe}], 0x1}}], 0x1, 0x0, 0x0) 21:36:09 executing program 0: set_mempolicy(0x5, &(0x7f00000000c0)=0xfffffffffffffc01, 0x7b1) r0 = socket$alg(0x26, 0x5, 0x0) bind$alg(r0, &(0x7f00000003c0)={0x26, 'hash\x00', 0x0, 0x0, 'crc32c\x00'}, 0x58) r1 = accept4(r0, 0x0, 0x0, 0x0) r2 = openat$procfs(0xffffffffffffff9c, &(0x7f0000000000)='/proc/vmallocinfo\x00', 0x0, 0x0) sendfile(r1, r2, 0x0, 0x7) 21:36:09 executing program 5: r0 = syz_open_dev$evdev(&(0x7f0000000080), 0x0, 0x822b01) syz_open_dev$mouse(0x0, 0x0, 0x0) write$evdev(0xffffffffffffffff, 0x0, 0x0) write$char_usb(0xffffffffffffffff, &(0x7f0000000040)="e2", 0x35000) ioctl$EVIOCGKEYCODE_V2(r0, 0x80284505, &(0x7f00000000c0)=""/77) 21:36:10 executing program 0: set_mempolicy(0x5, &(0x7f00000000c0)=0xfffffffffffffc01, 0x7b1) r0 = socket$alg(0x26, 0x5, 0x0) bind$alg(r0, &(0x7f00000003c0)={0x26, 'hash\x00', 0x0, 0x0, 'crc32c\x00'}, 0x58) r1 = accept4(r0, 0x0, 0x0, 0x0) r2 = openat$procfs(0xffffffffffffff9c, &(0x7f0000000000)='/proc/vmallocinfo\x00', 0x0, 0x0) sendfile(r1, r2, 0x0, 0x7) 21:36:10 executing program 4: syz_mount_image$ext4(&(0x7f0000000000)='ext4\x00', &(0x7f0000000100)='./file0\x00', 0xc01000a, 0xa, &(0x7f0000000200)=[{&(0x7f0000010000)="200000008000000006000000600000000f000000000000000100000001000000004000000040000020000000d2f4655fd2f4655f0100ffff53ef010001000000d0f4655f000000000000000001000000090000000b0000008000000008000000524700006201", 0x66, 0x400}, {&(0x7f0000010100)="000000000000000011", 0x9, 0x4e0}, {&(0x7f0000010200)="01000000000005000c", 0x9, 0x560}, {&(0x7f0000010300)="03", 0x1, 0x640}, {&(0x7f0000010400)="020000001200000022", 0x9, 0x800}, {&(0x7f0000003980)="504d4d00504d4dff", 0x8, 0x6000}, {&(0x7f0000011700)="111fc0d901000000803a0900803a09000000000006", 0x15, 0x6800}, {&(0x7f00000001c0)="ffff01", 0x3, 0x9000}, {&(0x7f0000012e00)="ed41000000080000d0f4655fd2f4655fd2f4655f000000000000040004", 0x1d, 0x11080}, {&(0x7f0000012f00)="8081000000180000d0f465001000005fd0f4655f00000000000001000c00000010000800000000000af30100040000000000000000000000030000000d", 0x3d, 0x11100}], 0x0, &(0x7f00000000c0)) 21:36:10 executing program 1: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$IPSET_CMD_CREATE(r0, &(0x7f0000001080)={0x0, 0x0, &(0x7f0000000080)={&(0x7f00000000c0)={0x54, 0x2, 0x6, 0x3, 0x0, 0x0, {}, [@IPSET_ATTR_TYPENAME={0xe, 0x3, 'bitmap:ip\x00'}, @IPSET_ATTR_REVISION={0x5}, @IPSET_ATTR_SETNAME={0x9, 0x2, 'syz0\x00'}, @IPSET_ATTR_DATA={0xc, 0x7, 0x0, 0x1, [@IPSET_ATTR_HASHSIZE={0x8}]}, @IPSET_ATTR_FAMILY={0x5, 0x5, 0x2}, @IPSET_ATTR_PROTOCOL={0x5, 0x1, 0x6}]}, 0x54}}, 0x0) 21:36:10 executing program 2: r0 = socket$phonet_pipe(0x23, 0x5, 0x2) ioctl$sock_SIOCGIFCONF(r0, 0x8992, &(0x7f00000000c0)=@buf) 21:36:10 executing program 4: r0 = socket(0x11, 0x800000003, 0x0) r1 = socket(0x11, 0x800000003, 0x0) bind(r1, &(0x7f0000000080)=@generic={0x11, "0000010000000000080044944eeba71a4976e252922cb18f6e2e2aba000000012e0b3836005404b0e0301a4ce875f2e3ff5f163ee340b7679500800000000000000101013c58110308d9123127ecce66fd792bbf0e5bf5ff1b0816f3f6db1c00010000000000000049740000000000000006ad8e5ecc326d3a09ffc2c654"}, 0x80) getsockname$packet(r1, &(0x7f0000000000)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @dev}, &(0x7f0000000140)=0x14) setsockopt$packet_add_memb(r0, 0x107, 0x1, &(0x7f0000000400)={r2, 0x3, 0x5, @broadcast}, 0x10) 21:36:10 executing program 5: r0 = syz_open_dev$evdev(&(0x7f0000000080), 0x0, 0x822b01) syz_open_dev$mouse(0x0, 0x0, 0x0) write$evdev(0xffffffffffffffff, 0x0, 0x0) write$char_usb(0xffffffffffffffff, &(0x7f0000000040)="e2", 0x35000) ioctl$EVIOCGKEYCODE_V2(r0, 0x80284505, &(0x7f00000000c0)=""/77) 21:36:10 executing program 3: r0 = socket$vsock_stream(0x28, 0x1, 0x0) bind$vsock_stream(r0, &(0x7f0000000140)={0x28, 0x0, 0x2710, @host}, 0x10) listen(r0, 0x0) r1 = socket$vsock_stream(0x28, 0x1, 0x0) connect$vsock_stream(r1, &(0x7f0000000080)={0x28, 0x0, 0x2710}, 0x10) r2 = accept4(r0, 0x0, 0x0, 0x0) sendto(r2, &(0x7f0000000000)='+', 0xffffffffffffffc0, 0x0, 0x0, 0x0) setsockopt$SO_VM_SOCKETS_BUFFER_MAX_SIZE(r1, 0x28, 0x2, &(0x7f00000000c0), 0x8) recvmmsg(r1, &(0x7f0000004780)=[{{0x0, 0x0, &(0x7f0000000680)=[{&(0x7f0000000100)=""/14, 0xe}], 0x1}}], 0x1, 0x0, 0x0) 21:36:10 executing program 0: set_mempolicy(0x5, &(0x7f00000000c0)=0xfffffffffffffc01, 0x7b1) r0 = socket$alg(0x26, 0x5, 0x0) bind$alg(r0, &(0x7f00000003c0)={0x26, 'hash\x00', 0x0, 0x0, 'crc32c\x00'}, 0x58) r1 = accept4(r0, 0x0, 0x0, 0x0) r2 = openat$procfs(0xffffffffffffff9c, &(0x7f0000000000)='/proc/vmallocinfo\x00', 0x0, 0x0) sendfile(r1, r2, 0x0, 0x7) 21:36:10 executing program 1: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$IPSET_CMD_CREATE(r0, &(0x7f0000001080)={0x0, 0x0, &(0x7f0000000080)={&(0x7f00000000c0)={0x54, 0x2, 0x6, 0x3, 0x0, 0x0, {}, [@IPSET_ATTR_TYPENAME={0xe, 0x3, 'bitmap:ip\x00'}, @IPSET_ATTR_REVISION={0x5}, @IPSET_ATTR_SETNAME={0x9, 0x2, 'syz0\x00'}, @IPSET_ATTR_DATA={0xc, 0x7, 0x0, 0x1, [@IPSET_ATTR_HASHSIZE={0x8}]}, @IPSET_ATTR_FAMILY={0x5, 0x5, 0x2}, @IPSET_ATTR_PROTOCOL={0x5, 0x1, 0x6}]}, 0x54}}, 0x0) 21:36:10 executing program 4: r0 = socket(0x11, 0x800000003, 0x0) r1 = socket(0x11, 0x800000003, 0x0) bind(r1, &(0x7f0000000080)=@generic={0x11, "0000010000000000080044944eeba71a4976e252922cb18f6e2e2aba000000012e0b3836005404b0e0301a4ce875f2e3ff5f163ee340b7679500800000000000000101013c58110308d9123127ecce66fd792bbf0e5bf5ff1b0816f3f6db1c00010000000000000049740000000000000006ad8e5ecc326d3a09ffc2c654"}, 0x80) getsockname$packet(r1, &(0x7f0000000000)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @dev}, &(0x7f0000000140)=0x14) setsockopt$packet_add_memb(r0, 0x107, 0x1, &(0x7f0000000400)={r2, 0x3, 0x5, @broadcast}, 0x10) 21:36:10 executing program 5: r0 = syz_open_dev$evdev(&(0x7f0000000080), 0x0, 0x822b01) syz_open_dev$mouse(0x0, 0x0, 0x0) write$evdev(0xffffffffffffffff, 0x0, 0x0) write$char_usb(0xffffffffffffffff, &(0x7f0000000040)="e2", 0x35000) ioctl$EVIOCGKEYCODE_V2(r0, 0x80284505, &(0x7f00000000c0)=""/77) 21:36:10 executing program 0: set_mempolicy(0x5, &(0x7f00000000c0)=0xfffffffffffffc01, 0x7b1) r0 = socket$alg(0x26, 0x5, 0x0) bind$alg(r0, &(0x7f00000003c0)={0x26, 'hash\x00', 0x0, 0x0, 'crc32c\x00'}, 0x58) r1 = accept4(r0, 0x0, 0x0, 0x0) r2 = openat$procfs(0xffffffffffffff9c, &(0x7f0000000000)='/proc/vmallocinfo\x00', 0x0, 0x0) sendfile(r1, r2, 0x0, 0x7) 21:36:10 executing program 1: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$IPSET_CMD_CREATE(r0, &(0x7f0000001080)={0x0, 0x0, &(0x7f0000000080)={&(0x7f00000000c0)={0x54, 0x2, 0x6, 0x3, 0x0, 0x0, {}, [@IPSET_ATTR_TYPENAME={0xe, 0x3, 'bitmap:ip\x00'}, @IPSET_ATTR_REVISION={0x5}, @IPSET_ATTR_SETNAME={0x9, 0x2, 'syz0\x00'}, @IPSET_ATTR_DATA={0xc, 0x7, 0x0, 0x1, [@IPSET_ATTR_HASHSIZE={0x8}]}, @IPSET_ATTR_FAMILY={0x5, 0x5, 0x2}, @IPSET_ATTR_PROTOCOL={0x5, 0x1, 0x6}]}, 0x54}}, 0x0) 21:36:10 executing program 4: r0 = socket(0x11, 0x800000003, 0x0) r1 = socket(0x11, 0x800000003, 0x0) bind(r1, &(0x7f0000000080)=@generic={0x11, "0000010000000000080044944eeba71a4976e252922cb18f6e2e2aba000000012e0b3836005404b0e0301a4ce875f2e3ff5f163ee340b7679500800000000000000101013c58110308d9123127ecce66fd792bbf0e5bf5ff1b0816f3f6db1c00010000000000000049740000000000000006ad8e5ecc326d3a09ffc2c654"}, 0x80) getsockname$packet(r1, &(0x7f0000000000)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @dev}, &(0x7f0000000140)=0x14) setsockopt$packet_add_memb(r0, 0x107, 0x1, &(0x7f0000000400)={r2, 0x3, 0x5, @broadcast}, 0x10) 21:36:11 executing program 2: r0 = socket$vsock_stream(0x28, 0x1, 0x0) bind$vsock_stream(r0, &(0x7f0000000140)={0x28, 0x0, 0x2710, @host}, 0x10) listen(r0, 0x0) r1 = socket$vsock_stream(0x28, 0x1, 0x0) connect$vsock_stream(r1, &(0x7f0000000080)={0x28, 0x0, 0x2710}, 0x10) r2 = accept4(r0, 0x0, 0x0, 0x0) sendto(r2, &(0x7f0000000000)='+', 0xffffffffffffffc0, 0x0, 0x0, 0x0) setsockopt$SO_VM_SOCKETS_BUFFER_MAX_SIZE(r1, 0x28, 0x2, &(0x7f00000000c0), 0x8) recvmmsg(r1, &(0x7f0000004780)=[{{0x0, 0x0, &(0x7f0000000680)=[{&(0x7f0000000100)=""/14, 0xe}], 0x1}}], 0x1, 0x0, 0x0) 21:36:11 executing program 0: r0 = openat(0xffffffffffffffff, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x3800005, 0x10012, r0, 0x0) r1 = socket$inet6_sctp(0xa, 0x5, 0x84) getsockopt$inet_sctp6_SCTP_GET_ASSOC_ID_LIST(r1, 0x84, 0x2, 0x0, &(0x7f0000000400)) 21:36:11 executing program 5: bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f00000011c0)={0x9, 0x4, &(0x7f0000000040)=@framed={{}, [@call={0x85, 0x0, 0x0, 0x11}]}, &(0x7f0000000100)='syzkaller\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x78) 21:36:11 executing program 3: r0 = socket$vsock_stream(0x28, 0x1, 0x0) bind$vsock_stream(r0, &(0x7f0000000140)={0x28, 0x0, 0x2710, @host}, 0x10) listen(r0, 0x0) r1 = socket$vsock_stream(0x28, 0x1, 0x0) connect$vsock_stream(r1, &(0x7f0000000080)={0x28, 0x0, 0x2710}, 0x10) r2 = accept4(r0, 0x0, 0x0, 0x0) sendto(r2, &(0x7f0000000000)='+', 0xffffffffffffffc0, 0x0, 0x0, 0x0) setsockopt$SO_VM_SOCKETS_BUFFER_MAX_SIZE(r1, 0x28, 0x2, &(0x7f00000000c0), 0x8) recvmmsg(r1, &(0x7f0000004780)=[{{0x0, 0x0, &(0x7f0000000680)=[{&(0x7f0000000100)=""/14, 0xe}], 0x1}}], 0x1, 0x0, 0x0) 21:36:11 executing program 4: r0 = socket(0x11, 0x800000003, 0x0) r1 = socket(0x11, 0x800000003, 0x0) bind(r1, &(0x7f0000000080)=@generic={0x11, "0000010000000000080044944eeba71a4976e252922cb18f6e2e2aba000000012e0b3836005404b0e0301a4ce875f2e3ff5f163ee340b7679500800000000000000101013c58110308d9123127ecce66fd792bbf0e5bf5ff1b0816f3f6db1c00010000000000000049740000000000000006ad8e5ecc326d3a09ffc2c654"}, 0x80) getsockname$packet(r1, &(0x7f0000000000)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @dev}, &(0x7f0000000140)=0x14) setsockopt$packet_add_memb(r0, 0x107, 0x1, &(0x7f0000000400)={r2, 0x3, 0x5, @broadcast}, 0x10) 21:36:11 executing program 1: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$IPSET_CMD_CREATE(r0, &(0x7f0000001080)={0x0, 0x0, &(0x7f0000000080)={&(0x7f00000000c0)={0x54, 0x2, 0x6, 0x3, 0x0, 0x0, {}, [@IPSET_ATTR_TYPENAME={0xe, 0x3, 'bitmap:ip\x00'}, @IPSET_ATTR_REVISION={0x5}, @IPSET_ATTR_SETNAME={0x9, 0x2, 'syz0\x00'}, @IPSET_ATTR_DATA={0xc, 0x7, 0x0, 0x1, [@IPSET_ATTR_HASHSIZE={0x8}]}, @IPSET_ATTR_FAMILY={0x5, 0x5, 0x2}, @IPSET_ATTR_PROTOCOL={0x5, 0x1, 0x6}]}, 0x54}}, 0x0) 21:36:11 executing program 0: r0 = openat(0xffffffffffffffff, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x3800005, 0x10012, r0, 0x0) r1 = socket$inet6_sctp(0xa, 0x5, 0x84) getsockopt$inet_sctp6_SCTP_GET_ASSOC_ID_LIST(r1, 0x84, 0x2, 0x0, &(0x7f0000000400)) 21:36:11 executing program 5: bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f00000011c0)={0x9, 0x4, &(0x7f0000000040)=@framed={{}, [@call={0x85, 0x0, 0x0, 0x11}]}, &(0x7f0000000100)='syzkaller\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x78) 21:36:11 executing program 4: r0 = syz_init_net_socket$ax25(0x3, 0x2, 0x0) ioctl$sock_ax25_SIOCDELRT(r0, 0x8916, 0x0) 21:36:11 executing program 1: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f00000002c0)={&(0x7f0000000040)=@ipv4_newroute={0x1c, 0x18, 0x1, 0x0, 0x0, {0x2, 0x0, 0x0, 0x0, 0x0, 0x0, 0xfe, 0x1}}, 0x1c}}, 0x0) 21:36:11 executing program 0: r0 = openat(0xffffffffffffffff, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x3800005, 0x10012, r0, 0x0) r1 = socket$inet6_sctp(0xa, 0x5, 0x84) getsockopt$inet_sctp6_SCTP_GET_ASSOC_ID_LIST(r1, 0x84, 0x2, 0x0, &(0x7f0000000400)) 21:36:11 executing program 4: r0 = syz_init_net_socket$ax25(0x3, 0x2, 0x0) ioctl$sock_ax25_SIOCDELRT(r0, 0x8916, 0x0) 21:36:12 executing program 2: r0 = socket$vsock_stream(0x28, 0x1, 0x0) bind$vsock_stream(r0, &(0x7f0000000140)={0x28, 0x0, 0x2710, @host}, 0x10) listen(r0, 0x0) r1 = socket$vsock_stream(0x28, 0x1, 0x0) connect$vsock_stream(r1, &(0x7f0000000080)={0x28, 0x0, 0x2710}, 0x10) r2 = accept4(r0, 0x0, 0x0, 0x0) sendto(r2, &(0x7f0000000000)='+', 0xffffffffffffffc0, 0x0, 0x0, 0x0) setsockopt$SO_VM_SOCKETS_BUFFER_MAX_SIZE(r1, 0x28, 0x2, &(0x7f00000000c0), 0x8) recvmmsg(r1, &(0x7f0000004780)=[{{0x0, 0x0, &(0x7f0000000680)=[{&(0x7f0000000100)=""/14, 0xe}], 0x1}}], 0x1, 0x0, 0x0) 21:36:12 executing program 3: r0 = socket$vsock_stream(0x28, 0x1, 0x0) bind$vsock_stream(r0, &(0x7f0000000140)={0x28, 0x0, 0x2710, @host}, 0x10) listen(r0, 0x0) r1 = socket$vsock_stream(0x28, 0x1, 0x0) connect$vsock_stream(r1, &(0x7f0000000080)={0x28, 0x0, 0x2710}, 0x10) r2 = accept4(r0, 0x0, 0x0, 0x0) sendto(r2, &(0x7f0000000000)='+', 0xffffffffffffffc0, 0x0, 0x0, 0x0) setsockopt$SO_VM_SOCKETS_BUFFER_MAX_SIZE(r1, 0x28, 0x2, &(0x7f00000000c0), 0x8) recvmmsg(r1, &(0x7f0000004780)=[{{0x0, 0x0, &(0x7f0000000680)=[{&(0x7f0000000100)=""/14, 0xe}], 0x1}}], 0x1, 0x0, 0x0) 21:36:12 executing program 5: bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f00000011c0)={0x9, 0x4, &(0x7f0000000040)=@framed={{}, [@call={0x85, 0x0, 0x0, 0x11}]}, &(0x7f0000000100)='syzkaller\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x78) 21:36:12 executing program 1: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f00000002c0)={&(0x7f0000000040)=@ipv4_newroute={0x1c, 0x18, 0x1, 0x0, 0x0, {0x2, 0x0, 0x0, 0x0, 0x0, 0x0, 0xfe, 0x1}}, 0x1c}}, 0x0) 21:36:12 executing program 0: r0 = openat(0xffffffffffffffff, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x3800005, 0x10012, r0, 0x0) r1 = socket$inet6_sctp(0xa, 0x5, 0x84) getsockopt$inet_sctp6_SCTP_GET_ASSOC_ID_LIST(r1, 0x84, 0x2, 0x0, &(0x7f0000000400)) 21:36:12 executing program 4: r0 = syz_init_net_socket$ax25(0x3, 0x2, 0x0) ioctl$sock_ax25_SIOCDELRT(r0, 0x8916, 0x0) 21:36:12 executing program 5: bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f00000011c0)={0x9, 0x4, &(0x7f0000000040)=@framed={{}, [@call={0x85, 0x0, 0x0, 0x11}]}, &(0x7f0000000100)='syzkaller\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x78) 21:36:12 executing program 1: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f00000002c0)={&(0x7f0000000040)=@ipv4_newroute={0x1c, 0x18, 0x1, 0x0, 0x0, {0x2, 0x0, 0x0, 0x0, 0x0, 0x0, 0xfe, 0x1}}, 0x1c}}, 0x0) 21:36:12 executing program 4: r0 = syz_init_net_socket$ax25(0x3, 0x2, 0x0) ioctl$sock_ax25_SIOCDELRT(r0, 0x8916, 0x0) 21:36:12 executing program 0: r0 = socket(0x40000000002, 0x3, 0x2) setsockopt$SO_BINDTODEVICE(r0, 0x1, 0x19, &(0x7f0000000080)='syz_tun\x00', 0x4d) r1 = socket$inet(0x2, 0x3, 0x2) setsockopt$inet_mreqsrc(r1, 0x0, 0x27, &(0x7f0000000040)={@multicast2, @local, @dev}, 0xc) syz_emit_ethernet(0x36, &(0x7f0000001800)={@link_local, @dev, @void, {@ipv4={0x800, @icmp={{0x5, 0x4, 0x0, 0x0, 0x28, 0x0, 0x0, 0x0, 0x2, 0x0, @empty, @multicast1=0xe0000002}, @timestamp_reply={0x11}}}}}, 0x0) 21:36:12 executing program 5: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route_sched(r0, &(0x7f0000005300)={0x0, 0x0, &(0x7f00000052c0)={&(0x7f0000000440)=@newtaction={0xe84, 0x30, 0x1, 0x0, 0x0, {}, [{0xe70, 0x1, [@m_pedit={0xe6c, 0x1, 0x0, 0x0, {{0xa}, {0xe40, 0x2, 0x0, 0x1, [@TCA_PEDIT_KEYS_EX={0x1c, 0x5, 0x0, 0x1, [{0x14, 0x6, 0x0, 0x1, [@TCA_PEDIT_KEY_EX_CMD={0x5}, @TCA_PEDIT_KEY_EX_HTYPE={0x6}]}, {0x4}]}, @TCA_PEDIT_PARMS={0xe20, 0x2, {{{}, 0x9}}}]}, {0x4}, {0xc}, {0xc}}}]}]}, 0xe84}}, 0x0) 21:36:12 executing program 4: r0 = syz_init_net_socket$x25(0x9, 0x5, 0x0) listen(r0, 0x0) ioctl$SIOCX25SFACILITIES(r0, 0x89e8, 0x0) 21:36:12 executing program 2: r0 = socket$vsock_stream(0x28, 0x1, 0x0) bind$vsock_stream(r0, &(0x7f0000000140)={0x28, 0x0, 0x2710, @host}, 0x10) listen(r0, 0x0) r1 = socket$vsock_stream(0x28, 0x1, 0x0) connect$vsock_stream(r1, &(0x7f0000000080)={0x28, 0x0, 0x2710}, 0x10) r2 = accept4(r0, 0x0, 0x0, 0x0) sendto(r2, &(0x7f0000000000)='+', 0xffffffffffffffc0, 0x0, 0x0, 0x0) setsockopt$SO_VM_SOCKETS_BUFFER_MAX_SIZE(r1, 0x28, 0x2, &(0x7f00000000c0), 0x8) recvmmsg(r1, &(0x7f0000004780)=[{{0x0, 0x0, &(0x7f0000000680)=[{&(0x7f0000000100)=""/14, 0xe}], 0x1}}], 0x1, 0x0, 0x0) 21:36:13 executing program 0: r0 = socket(0x40000000002, 0x3, 0x2) setsockopt$SO_BINDTODEVICE(r0, 0x1, 0x19, &(0x7f0000000080)='syz_tun\x00', 0x4d) r1 = socket$inet(0x2, 0x3, 0x2) setsockopt$inet_mreqsrc(r1, 0x0, 0x27, &(0x7f0000000040)={@multicast2, @local, @dev}, 0xc) syz_emit_ethernet(0x36, &(0x7f0000001800)={@link_local, @dev, @void, {@ipv4={0x800, @icmp={{0x5, 0x4, 0x0, 0x0, 0x28, 0x0, 0x0, 0x0, 0x2, 0x0, @empty, @multicast1=0xe0000002}, @timestamp_reply={0x11}}}}}, 0x0) 21:36:13 executing program 1: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f00000002c0)={&(0x7f0000000040)=@ipv4_newroute={0x1c, 0x18, 0x1, 0x0, 0x0, {0x2, 0x0, 0x0, 0x0, 0x0, 0x0, 0xfe, 0x1}}, 0x1c}}, 0x0) 21:36:13 executing program 3: r0 = openat$uinput(0xffffffffffffff9c, &(0x7f0000000040), 0x802, 0x0) ioctl$UI_DEV_CREATE(0xffffffffffffffff, 0x5501) ioctl$UI_ABS_SETUP(r0, 0x401c5504, &(0x7f0000000340)={0x400000100002f}) ioctl$UI_SET_EVBIT(r0, 0x40045564, 0x3) write$uinput_user_dev(r0, &(0x7f0000000c80)={'syz1\x00', {}, 0x0, [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1004b0], [], [], [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8]}, 0x45c) socketpair$unix(0x1, 0x1, 0x0, &(0x7f00000001c0)={0xffffffffffffffff}) ioctl$sock_ifreq(r1, 0x89a2, &(0x7f0000000000)={'bridge0\x00', @ifru_settings={0x0, 0x0, @fr=0x0}}) socketpair$unix(0x1, 0x1, 0x0, &(0x7f0000000100)={0xffffffffffffffff}) ioctl$BTRFS_IOC_GET_SUBVOL_ROOTREF(0xffffffffffffffff, 0xd000943d, 0x0) ioctl$BTRFS_IOC_INO_LOOKUP_USER(r2, 0xd000943e, &(0x7f000005aec0)={0x0, 0x0, "878a82cd456ad890ddf6cde64d1e78b27383e9c4975aef4f4170f428c775b1a0e0894fcf2d835ac7c687f6649f26434b54aa29f9dc21eeb0a4cce6308f5d15ac8654ea3705d9d994f40e545c518da8de04f224c7b705e1160d789f360b16e29858ff9d02b85e60c78bd22d1ac2e6e956f70da3434b153ac422d760627fdd195184ad378cb0d942baff4790c3e3ff2bf6b98dd8eb5b246a44fe5764c678997840e8635c7eef634293e4437988c85512078e1621136ced418bd9e5c0295f619730fe226c9ffa2a1be3ffff4f8c41a1ba5ae2ea3f8625d8a69e434b28af4c740efd1f3a63d64bfd0f3ce44da9dde17919e665e3ea3deaf50db65b1c0449b4b9a189", "862e4bb7cf53ac23769fba995f463c193676386e4b2e6f850c2ddd27d3d285491e94c742d028a381df122ec27c5ec510eccdd3db97c3d87c02870db669c211cb8b8dceb35632bbcb9c393ee1343744a53f06fdb7b2c8900b49e084396da735ec5dd94a9fba39b4186666f61c96c5aceda21ef0917501f260c7bd78ae0ba27c581641618058bb87318112363fd47b8ab7929c03a73d3a8c182121e3b455575f1fbdd8ff71a1a255bef0c568e11cb2cc89101e24c8d3c554733dd7d7336ebe2d456347469cf59e5b6a1988b532cfd7aa72ea157a007ad110b2326bb87e5ad48c6e4aec38918a2600394a12bdd194cbd8e99ca4d506d7051225481e5938adc4468ba6f78035500e0f4c6f94c62ed7ab9901af3c54e485a9b1886644eb7a81858091617b76bc6c1784b80ce1a216394fb9f08179859bcc9b9bb8f0294ef0f753ca87fc3bd2f35756109f3d5db1b4f3713c3d42247f95ca68e56267ee37f768bfba12eaa9de8e95a8967658685837acf091f984b7c99ae12a2ddcdfdc1797fd1f157c1b2678b857fcf75700ed00c402b5cc76343830122424a2b7c0df27e2c62965c1bc6c75979c4c8fe969aecac2b9477b27d6c3b9157e1a428bca07a7013a1c50cf416f7fec53a6f36e3623c02d2a7b61709179810bbeccffbdeaf7a207b67d0e3722c35834ffc262d4963296ae37e7ac77ca6f577d8fe28ac6b1e38afdb9f82857d9ffe768ea1a7e9aee9e3061c7c4e659f894390b0f35cf39acd02cf62df91739fcda5738e484f93eca08fe465c6cc407b63a221500b83f340480ef9f3573b2903b7f89c17f1a44789a69423555da3e0872f149894f735a5954f7ff3b239040c26b8ddc4fe8778b5b012188963ea5d8f188231729bc052ea2a4368f2c09313ab08e4bfa99c284ac0dee0d9e94f5c3300149ee01107b2f79fade0da469861381580302eb8645e0f03ef1fec05c1a0acfa5c7ba2328602c58d8c9eee83769ee34d9002163744e3233a8f2c1233ec6e70af2ed3100f4ee4607ba2cafd2cbd0a7d478b2f3fad9c646fd81cf203677824134a0d3266b966f8cda84f579e6ec0597076a4fc9e0f91fe4a07a8c1ac5a7af86813875fec7bb2e3f8dbb72c5d19e1ff40a49a13e302eaa6aa0e8c16202fcced86c024f77dad20af4372ca98286591ae9db0ff4efcbac3b01f18946c152846b0e5d4e34118560c691408d96f4a2effa9c65e5fff22799975ec0caee1b26d6e6bc91f0ffc07261f999fff2a0ed9c0a1cbf363a6dffdf844040bd3a83464cc97bc322bb2913e7c6345d3d9c363dfe95e8c04b2c3d1ce258668bcfb65890c197dac250c37c8397b6ef2a42582d28f6281bd41db94ea548b9d0f6a3b04122259428fbe8b990c9bb449e7c0f12840a58215edc64251866e957f0e69d07a82c73d4819d1d08b0e2051efe68fdbd60f703fca1e802f10d49bd07e2fe754333bf3ba03481bede2e09df5f1361706b81341c00c40055c2a7f4eb1a6121aec4df32f3fb1a80659bc32249effaaa278ae06469b979dc0f8ec6a7acda946dc8cd5e4031bd41c760a67f4b6c5a8ec6c7a36dd1bf0c7c9365364e1c79707a442c2e2bc75569b4e0f65e7938fe36cf66976c9a1b1253d0fef68eca57f857e6f3d8c9fa9f34f977e1c6ed748f14e03d8075c2bb73e5823c2e535e3ab2d467e179d6d8057872546f26c8bd1e87a531ccc0e523ae57cbe5281b85bc5159d37f2d7a86447ab5bf34cdf4c5a6dd66cf04beff9947e7d14f2fc663ab76058a637ec94a89fd20239e4de48eddae141a7664876ae17c154d96f9e802f5210b9b684bffeea7eebc21541d07708dcaab30711e343bd73e311bf7a58e695abfff917d2e92470a622ca572e2e7cef243f4a7e9d96068dbda73b1fdc3a3eef9178fbdfc1036f72bf7ab16dbecfbae7de2b4313d1b666ff1be47452d37554832b06f5f458c3f2f4154be33796f93fecbdb3515d7a7af08009ef4fc66755ebe2a979daa66a9a16f4f59cf9d17e02b3c004505a529024b1d1f824c81f84ee252f0bbdc403b50e12e0abc830ef751919a7d886fc0139af922066dcca7686cf0d50cc8b045203d8f8c8ad43fd42eb2a2b90b857dc4bacd192d6c263216c0dcf3042e32a5bdeb10457b3a1d8d339acaf2e81ed589ec5197dc07e7c03a1fb8860e2fba1bcaf673ddf05621390cd7e570bc39c672a4a25257754246d417b34a6ff2242adc6ff4ea4214d7ec186157b020a17622eb89bbd61caba1598e6c84c7d0be4cf40ba9ddffdabffe708406e6867f60c0f6a9f995dcfa7833b58cefae137dd4fd9f8a2b7238201adbb3247e83e561b9132660b94fbf59eeb09ac388da333d6fe9c173cf203039c85dccdfd1e7f880f6c35aedbae69a6153c9f92fbd395791bd3acac6edb17fbe6f14eb7dc37e3f391642f86f06499bca16a9d2778d431b74e4f7d1cba4e8308ddf2551313522111c4de6338600af7cefa327f925ef5127feb19847d6dc751ba0c0f2f667c5660f37bdbaf1a3c2ba9d2890ba3df59073b6d7f8464758885e543211b2dfec38ad7328add7edd8a26f283f9ed57acf91d8bc0d8c42f618cb77227fd2fb87c08ad7e81863b8cb07423ef9a841ae1fd3e9b08676834ded2875ec399f67349f7ab20bd2ab5e9cfa082620428644a07a85d19ce06f8156e1024562e0dbe91f2272ad43cc1aed62c74bbb9c916d5bf11ae540752973ca13d226f2377e51a0f813c768fabd1b0b622cb51ab8f991a2a4384091cfaa9b6eefdbe9abb6f7d0597fc0a4469925523f3b1d7ff82acde52e61d332c2f0b5948149f368cf4cd6dafa57fd91ab06b2ae73b0d206e17c90e096dfc4452e9b976fdb777ed03067581d5ef380c8c30731533ab2dd4d7b067867bedf7443e9bdb5f18aae75cee3fe0b7f579b77c10488c5487176ceb6189bf94d551720ac94a11a63fdba9f9d1ec3acb8cb29a9b9a3bf8b5ec698c773dc85443cac3f21b9d74ab3dc1c92eb70c52e4f3f247bcbac06837b785fa2227614c68416a64ef4da996a92e1db19b7c5ff99fd32dd65d9865cb60d9ca948c886a497ba551e30f43925f7b2be3f183e3740a6dfa54447097c3cf096caeaedff5be1c85329f3fa877f4c30cb7c68ff6dd6931a93b88f12293e26184e0b5c6598d57e87b16f040e0baf535916fa50dfc649f2314be7c1e18651b6a7526ea8a8aaacb88fa5c48a941a866cde4321983423a12612b5593e63bf962c261b8d33356538b7cbc8ace758223e011b98ee8e0579cafffbc4e87ba95d37c129f7cc34831e7c187fc821282a1304041ffda93f4241739f4929d873a64955cea5bd674a3140a04c9ab250dfc54e990bcbbd3cf60e6ea3e9f726042ea3a7e720e68271960e35ad2b6257e0fa62715b20bd5b73bfa6faabd569f995c9863b2d870c933fb8c8f15a3527d89c0857356b5f19c399de9f6193fdc7168c51a5f17e110d1016770a1f8176394f2053631af32cc2661917d71574481b67bb5e9375398b1fdb2918620893f6d5a0d7590a97fadb0688d0613e67dd375e639b8f2680b8f21f74045d182a81e6839ea7d9dcc6c6c6df1b1d827ace9ce437e146bc9d5c83812afa4f83c4e93e5a20a357fe76a35065d7c28a7d0e1f10efae9c212ba7fd69d7276ed72aac8471f5cce1f24a4fdc202877bd791628eceec8ee5ac27926bcbe0bb7ce705a114823ef2f2ac0b738eb77f0661599dec8017107a5b81144608e12a03c1ef7eed45ceaa9625fe4e4a3e790a5d6d80c200cdc19ac36e2ae7b712475e4e505ccea8e5d1347ceb64eade932cfcea27090f95866101de2e0a4c5b211d82aea778a32a6123d194204c3cc725ec8c8c4e92da8627be4b0c578739c1f102177a73bc6bb3a4e2a3bcc310e09536d0ea31d01b743d028072df4087d3d3290f4b1e8a331182ac50c75f1b481cb845fa6b0a5deb41c9c506b28c529e2eee25803b65ca9060b81d6af653760d440431da9b34ca6624ef19b7d58eed8336927b5ca69b3e31ff015e39d97a11ea030365751c2ee22beb6f0f577a240b4a3d4d0a092c87be56521c0d5a47d6eb3e45794ad289d4fd866a47eb36f35a489682377ce189e0cf448cf4301b83cd0519f6a679e902d382bacfc689f5be56e4ada8d42dba8b99ca20d8f3e88f59874580ad98e752995e18f440e2b01fc5d70a629f5f63f01758c09bac13af8b3abd033bf6a144c1da3e7276e99a04afc3540473367735a7faf4a36803bde10a74707a572d60e7b31dfd21bfb6db6e623933461fa954480f51b375db980352a5d2f059111d5729ef00e748282d07abec2d48c7e0526bc0271b3c1bb55bf3c1ec6a477e67d4609d685c61d76c1dd20f61ecbcdf3bf68b57ca9c88f76bec557859152f9c5313d012190d0f183455e58f31bfcfb3caec6b1ef4a7037f27fd7e172dcfb41e88d7f9b966771e49868e0ef5db9db5eb46f82b4172e52979e5c2a8ebd0d8fd9fc87dfc6c833f061977157ee53f067d9f27d4768d076b79b10555981d99427c76194296a6203207715b8357c2d51e3f237d231954c81e06351ea55574ef02c87315e61e16e2f688a25e783c3ab005863e17720f827ec59c2df1643f58bf45e94242bd64e04ff558857568c18f7bcde29b621e4fb845f17e59f0589caca2df24a830fe4c8144f978cc75711e745483f0faa56c4e74bc8da86ffb428e3b7d805d94f4b788585cb369dee64b83b21ce8c1dea829c572b4e2c02e332fc2b4b31eafcdbfc12d5c420c6c947b98fed5eb3865b770364cef6d27974229c6f2365690db07d07322657a0ef4eeb0f1b274c9aa22424d670d89e4cc31beaa3e9b79fc2f13c33f5b3a05dcb7af8faed4ec50b15fb680d65ae959031e7d38187873a8beb91857922b49fb99364da5ac7464ef87cd5db6a3565cafc2a7e05dd37790a20aac096d78f66debde9d0b9c9f66908c78495b6f054d62ffa0d3c5dd3f42b847ce8d0aa034cdebe885425856fdc7ee2517162a96fb26db1f7be9bf895e795150d903136348faf5a241941a729ae318ac7279e9973790523ca8adba04689910a9af01872cf146b1004eeb001f4985572dfed184c0cb7bed20534166c1d2a42c8e268d63290c19117880a2048fd50e9e24fdf654cf7714193cae0572483c7eeba4b8eb8176d4d7502be0447fbf6f3162de63af58bb5a4c435970b62aba4aa4b39eef11188a16ae0465e656a3addc7c4e0d56b8fe4fb9baa304a265af0b7bf44d4575e0fc19a4a67d02661236a18dfe07b5588e7cd3440d3a3e929ca575932a8b82bf3bdbd69ead0fb316d0f176ebd27d6c4fc0975065a437d0c10816f15f4842616575d913dd01a9e63ea6fd3cf2ae37f75e3c1c2284bb4ae3440f035dbc85d58777938c43e991dd0b51736b1b0cb63c267f18369096624fcdb057c92917f05807bf4"}) ioctl$BTRFS_IOC_GET_SUBVOL_ROOTREF(0xffffffffffffffff, 0xd000943d, &(0x7f000005bec0)={0x80000001, [{}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {0x0, r3}], 0x86, "4d3c0af354faea"}) ioctl$BTRFS_IOC_GET_SUBVOL_INFO(0xffffffffffffffff, 0x81f8943c, &(0x7f0000049200)={0x0, ""/256, 0x0, 0x0}) ioctl$BTRFS_IOC_GET_SUBVOL_ROOTREF(0xffffffffffffffff, 0xd000943d, &(0x7f0000049400)={0x575f, [{}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {0x0, r4}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {0x0, r4}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {0x0, r4}], 0x28, "24e7da361fe599"}) ioctl$UI_DEV_CREATE(r0, 0x5501) [ 2027.363907][ T6629] netlink: 'syz-executor.5': attribute type 2 has an invalid length. 21:36:13 executing program 4: r0 = syz_init_net_socket$x25(0x9, 0x5, 0x0) listen(r0, 0x0) ioctl$SIOCX25SFACILITIES(r0, 0x89e8, 0x0) 21:36:13 executing program 5: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route_sched(r0, &(0x7f0000005300)={0x0, 0x0, &(0x7f00000052c0)={&(0x7f0000000440)=@newtaction={0xe84, 0x30, 0x1, 0x0, 0x0, {}, [{0xe70, 0x1, [@m_pedit={0xe6c, 0x1, 0x0, 0x0, {{0xa}, {0xe40, 0x2, 0x0, 0x1, [@TCA_PEDIT_KEYS_EX={0x1c, 0x5, 0x0, 0x1, [{0x14, 0x6, 0x0, 0x1, [@TCA_PEDIT_KEY_EX_CMD={0x5}, @TCA_PEDIT_KEY_EX_HTYPE={0x6}]}, {0x4}]}, @TCA_PEDIT_PARMS={0xe20, 0x2, {{{}, 0x9}}}]}, {0x4}, {0xc}, {0xc}}}]}]}, 0xe84}}, 0x0) 21:36:13 executing program 1: r0 = syz_open_dev$sg(&(0x7f0000000200), 0x0, 0x121002) setresuid(0xee00, 0xee01, 0x0) ioctl$SCSI_IOCTL_SEND_COMMAND(r0, 0x5393, &(0x7f0000000080)=ANY=[@ANYBLOB='G']) [ 2027.595289][ T6639] ------------[ cut here ]------------ [ 2027.600863][ T6639] WARNING: CPU: 1 PID: 6639 at mm/page_alloc.c:5381 __alloc_pages+0x762/0x1090 [ 2027.610770][ T6639] Modules linked in: [ 2027.615415][ T6639] CPU: 1 PID: 6639 Comm: syz-executor.3 Not tainted 5.17.0-rc4-syzkaller #0 [ 2027.624367][ T6639] Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 [ 2027.634654][ T6639] RIP: 0010:__alloc_pages+0x762/0x1090 [ 2027.640277][ T6639] Code: f7 c6 00 20 00 00 74 0c 41 f7 d6 41 21 de 0f 84 29 06 00 00 45 31 f6 b8 00 00 00 00 41 bf 00 00 00 00 85 db 0f 85 60 04 00 00 <0f> 0b 45 31 f6 31 c0 45 31 ff e9 51 04 00 00 89 bd 38 ff ff ff 89 [ 2027.660635][ T6639] RSP: 0018:ffff8880870bf770 EFLAGS: 00010246 [ 2027.667114][ T6639] RAX: 0000000000000000 RBX: 0000000000000000 RCX: 0000000000000001 [ 2027.675315][ T6639] RDX: ffff888086cbf848 RSI: 0000000002a33bb0 RDI: ffffea000000000f [ 2027.683585][ T6639] RBP: ffff8880870bf880 R08: 0000000000000001 R09: ffff8880868bf828 [ 2027.691703][ T6639] R10: ffff8880870bf728 R11: ffff8881051cc100 R12: 000000000000000f [ 2027.700204][ T6639] R13: ffff8881051ccc40 R14: 0000000000000000 R15: 0000000000000000 [ 2027.708525][ T6639] FS: 0000000000000000(0000) GS:ffff88813fd00000(0063) knlGS:00000000f58ccb40 [ 2027.718737][ T6639] CS: 0010 DS: 002b ES: 002b CR0: 0000000080050033 [ 2027.725667][ T6639] CR2: 000000002004a000 CR3: 00000000843d0000 CR4: 00000000003506e0 [ 2027.733851][ T6639] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 21:36:13 executing program 0: r0 = socket(0x40000000002, 0x3, 0x2) setsockopt$SO_BINDTODEVICE(r0, 0x1, 0x19, &(0x7f0000000080)='syz_tun\x00', 0x4d) r1 = socket$inet(0x2, 0x3, 0x2) setsockopt$inet_mreqsrc(r1, 0x0, 0x27, &(0x7f0000000040)={@multicast2, @local, @dev}, 0xc) syz_emit_ethernet(0x36, &(0x7f0000001800)={@link_local, @dev, @void, {@ipv4={0x800, @icmp={{0x5, 0x4, 0x0, 0x0, 0x28, 0x0, 0x0, 0x0, 0x2, 0x0, @empty, @multicast1=0xe0000002}, @timestamp_reply={0x11}}}}}, 0x0) [ 2027.741937][ T6639] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 [ 2027.750238][ T6639] Call Trace: [ 2027.753742][ T6639] [ 2027.756759][ T6639] ? kmsan_get_metadata+0x33/0x220 [ 2027.762183][ T6639] ? kmsan_get_metadata+0x33/0x220 [ 2027.767485][ T6639] ? kmsan_get_shadow_origin_ptr+0x9b/0xf0 [ 2027.773720][ T6639] alloc_pages+0xa08/0xd50 [ 2027.778352][ T6639] kmalloc_order_trace+0xd8/0x590 [ 2027.783871][ T6639] ? kmsan_get_metadata+0x33/0x220 [ 2027.789191][ T6639] __kmalloc+0x97d/0x12d0 [ 2027.793885][ T6639] ? kfree+0x4fe/0x950 [ 2027.798114][ T6639] ? tomoyo_path_number_perm+0x94f/0xaf0 [ 2027.804255][ T6639] ? kmsan_get_metadata+0x33/0x220 [ 2027.809581][ T6639] ? kmsan_get_shadow_origin_ptr+0x9b/0xf0 [ 2027.816279][ T6639] input_mt_init_slots+0x23c/0x1210 [ 2027.821725][ T6639] ? hpet_alloc+0x1b0/0x1bf0 [ 2027.826759][ T6639] uinput_create_device+0x96f/0xaf0 [ 2027.832313][ T6639] uinput_ioctl_handler+0x1526/0x27b0 [ 2027.837949][ T6639] uinput_compat_ioctl+0x127/0x140 [ 2027.843436][ T6639] ? uinput_ioctl+0xb0/0xb0 [ 2027.848136][ T6639] __se_compat_sys_ioctl+0x876/0x1150 [ 2027.853960][ T6639] ? kmsan_get_shadow_origin_ptr+0x9b/0xf0 [ 2027.859989][ T6639] __ia32_compat_sys_ioctl+0xd9/0x110 [ 2027.865834][ T6639] __do_fast_syscall_32+0x96/0xf0 [ 2027.871072][ T6639] do_fast_syscall_32+0x34/0x70 [ 2027.876299][ T6639] do_SYSENTER_32+0x1b/0x20 [ 2027.880996][ T6639] entry_SYSENTER_compat_after_hwframe+0x4d/0x5c [ 2027.887709][ T6639] RIP: 0023:0xf6ed2549 [ 2027.891900][ T6639] Code: 03 74 c0 01 10 05 03 74 b8 01 10 06 03 74 b4 01 10 07 03 74 b0 01 10 08 03 74 d8 01 00 00 00 00 00 51 52 55 89 e5 0f 34 cd 80 <5d> 5a 59 c3 90 90 90 90 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 44 00 [ 2027.912107][ T6639] RSP: 002b:00000000f58cc5cc EFLAGS: 00000296 ORIG_RAX: 0000000000000036 [ 2027.920704][ T6639] RAX: ffffffffffffffda RBX: 0000000000000003 RCX: 0000000000005501 [ 2027.928952][ T6639] RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000000 [ 2027.937146][ T6639] RBP: 0000000000000000 R08: 0000000000000000 R09: 0000000000000000 [ 2027.945369][ T6639] R10: 0000000000000000 R11: 0000000000000000 R12: 0000000000000000 [ 2027.953562][ T6639] R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000000 [ 2027.961685][ T6639] [ 2027.964954][ T6639] ---[ end trace 0000000000000000 ]--- 21:36:13 executing program 3: r0 = openat$uinput(0xffffffffffffff9c, &(0x7f0000000040), 0x802, 0x0) ioctl$UI_DEV_CREATE(0xffffffffffffffff, 0x5501) ioctl$UI_ABS_SETUP(r0, 0x401c5504, &(0x7f0000000340)={0x400000100002f}) ioctl$UI_SET_EVBIT(r0, 0x40045564, 0x3) write$uinput_user_dev(r0, &(0x7f0000000c80)={'syz1\x00', {}, 0x0, [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1004b0], [], [], [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8]}, 0x45c) socketpair$unix(0x1, 0x1, 0x0, &(0x7f00000001c0)={0xffffffffffffffff}) ioctl$sock_ifreq(r1, 0x89a2, &(0x7f0000000000)={'bridge0\x00', @ifru_settings={0x0, 0x0, @fr=0x0}}) socketpair$unix(0x1, 0x1, 0x0, &(0x7f0000000100)={0xffffffffffffffff}) ioctl$BTRFS_IOC_GET_SUBVOL_ROOTREF(0xffffffffffffffff, 0xd000943d, 0x0) ioctl$BTRFS_IOC_INO_LOOKUP_USER(r2, 0xd000943e, &(0x7f000005aec0)={0x0, 0x0, "878a82cd456ad890ddf6cde64d1e78b27383e9c4975aef4f4170f428c775b1a0e0894fcf2d835ac7c687f6649f26434b54aa29f9dc21eeb0a4cce6308f5d15ac8654ea3705d9d994f40e545c518da8de04f224c7b705e1160d789f360b16e29858ff9d02b85e60c78bd22d1ac2e6e956f70da3434b153ac422d760627fdd195184ad378cb0d942baff4790c3e3ff2bf6b98dd8eb5b246a44fe5764c678997840e8635c7eef634293e4437988c85512078e1621136ced418bd9e5c0295f619730fe226c9ffa2a1be3ffff4f8c41a1ba5ae2ea3f8625d8a69e434b28af4c740efd1f3a63d64bfd0f3ce44da9dde17919e665e3ea3deaf50db65b1c0449b4b9a189", "862e4bb7cf53ac23769fba995f463c193676386e4b2e6f850c2ddd27d3d285491e94c742d028a381df122ec27c5ec510eccdd3db97c3d87c02870db669c211cb8b8dceb35632bbcb9c393ee1343744a53f06fdb7b2c8900b49e084396da735ec5dd94a9fba39b4186666f61c96c5aceda21ef0917501f260c7bd78ae0ba27c581641618058bb87318112363fd47b8ab7929c03a73d3a8c182121e3b455575f1fbdd8ff71a1a255bef0c568e11cb2cc89101e24c8d3c554733dd7d7336ebe2d456347469cf59e5b6a1988b532cfd7aa72ea157a007ad110b2326bb87e5ad48c6e4aec38918a2600394a12bdd194cbd8e99ca4d506d7051225481e5938adc4468ba6f78035500e0f4c6f94c62ed7ab9901af3c54e485a9b1886644eb7a81858091617b76bc6c1784b80ce1a216394fb9f08179859bcc9b9bb8f0294ef0f753ca87fc3bd2f35756109f3d5db1b4f3713c3d42247f95ca68e56267ee37f768bfba12eaa9de8e95a8967658685837acf091f984b7c99ae12a2ddcdfdc1797fd1f157c1b2678b857fcf75700ed00c402b5cc76343830122424a2b7c0df27e2c62965c1bc6c75979c4c8fe969aecac2b9477b27d6c3b9157e1a428bca07a7013a1c50cf416f7fec53a6f36e3623c02d2a7b61709179810bbeccffbdeaf7a207b67d0e3722c35834ffc262d4963296ae37e7ac77ca6f577d8fe28ac6b1e38afdb9f82857d9ffe768ea1a7e9aee9e3061c7c4e659f894390b0f35cf39acd02cf62df91739fcda5738e484f93eca08fe465c6cc407b63a221500b83f340480ef9f3573b2903b7f89c17f1a44789a69423555da3e0872f149894f735a5954f7ff3b239040c26b8ddc4fe8778b5b012188963ea5d8f188231729bc052ea2a4368f2c09313ab08e4bfa99c284ac0dee0d9e94f5c3300149ee01107b2f79fade0da469861381580302eb8645e0f03ef1fec05c1a0acfa5c7ba2328602c58d8c9eee83769ee34d9002163744e3233a8f2c1233ec6e70af2ed3100f4ee4607ba2cafd2cbd0a7d478b2f3fad9c646fd81cf203677824134a0d3266b966f8cda84f579e6ec0597076a4fc9e0f91fe4a07a8c1ac5a7af86813875fec7bb2e3f8dbb72c5d19e1ff40a49a13e302eaa6aa0e8c16202fcced86c024f77dad20af4372ca98286591ae9db0ff4efcbac3b01f18946c152846b0e5d4e34118560c691408d96f4a2effa9c65e5fff22799975ec0caee1b26d6e6bc91f0ffc07261f999fff2a0ed9c0a1cbf363a6dffdf844040bd3a83464cc97bc322bb2913e7c6345d3d9c363dfe95e8c04b2c3d1ce258668bcfb65890c197dac250c37c8397b6ef2a42582d28f6281bd41db94ea548b9d0f6a3b04122259428fbe8b990c9bb449e7c0f12840a58215edc64251866e957f0e69d07a82c73d4819d1d08b0e2051efe68fdbd60f703fca1e802f10d49bd07e2fe754333bf3ba03481bede2e09df5f1361706b81341c00c40055c2a7f4eb1a6121aec4df32f3fb1a80659bc32249effaaa278ae06469b979dc0f8ec6a7acda946dc8cd5e4031bd41c760a67f4b6c5a8ec6c7a36dd1bf0c7c9365364e1c79707a442c2e2bc75569b4e0f65e7938fe36cf66976c9a1b1253d0fef68eca57f857e6f3d8c9fa9f34f977e1c6ed748f14e03d8075c2bb73e5823c2e535e3ab2d467e179d6d8057872546f26c8bd1e87a531ccc0e523ae57cbe5281b85bc5159d37f2d7a86447ab5bf34cdf4c5a6dd66cf04beff9947e7d14f2fc663ab76058a637ec94a89fd20239e4de48eddae141a7664876ae17c154d96f9e802f5210b9b684bffeea7eebc21541d07708dcaab30711e343bd73e311bf7a58e695abfff917d2e92470a622ca572e2e7cef243f4a7e9d96068dbda73b1fdc3a3eef9178fbdfc1036f72bf7ab16dbecfbae7de2b4313d1b666ff1be47452d37554832b06f5f458c3f2f4154be33796f93fecbdb3515d7a7af08009ef4fc66755ebe2a979daa66a9a16f4f59cf9d17e02b3c004505a529024b1d1f824c81f84ee252f0bbdc403b50e12e0abc830ef751919a7d886fc0139af922066dcca7686cf0d50cc8b045203d8f8c8ad43fd42eb2a2b90b857dc4bacd192d6c263216c0dcf3042e32a5bdeb10457b3a1d8d339acaf2e81ed589ec5197dc07e7c03a1fb8860e2fba1bcaf673ddf05621390cd7e570bc39c672a4a25257754246d417b34a6ff2242adc6ff4ea4214d7ec186157b020a17622eb89bbd61caba1598e6c84c7d0be4cf40ba9ddffdabffe708406e6867f60c0f6a9f995dcfa7833b58cefae137dd4fd9f8a2b7238201adbb3247e83e561b9132660b94fbf59eeb09ac388da333d6fe9c173cf203039c85dccdfd1e7f880f6c35aedbae69a6153c9f92fbd395791bd3acac6edb17fbe6f14eb7dc37e3f391642f86f06499bca16a9d2778d431b74e4f7d1cba4e8308ddf2551313522111c4de6338600af7cefa327f925ef5127feb19847d6dc751ba0c0f2f667c5660f37bdbaf1a3c2ba9d2890ba3df59073b6d7f8464758885e543211b2dfec38ad7328add7edd8a26f283f9ed57acf91d8bc0d8c42f618cb77227fd2fb87c08ad7e81863b8cb07423ef9a841ae1fd3e9b08676834ded2875ec399f67349f7ab20bd2ab5e9cfa082620428644a07a85d19ce06f8156e1024562e0dbe91f2272ad43cc1aed62c74bbb9c916d5bf11ae540752973ca13d226f2377e51a0f813c768fabd1b0b622cb51ab8f991a2a4384091cfaa9b6eefdbe9abb6f7d0597fc0a4469925523f3b1d7ff82acde52e61d332c2f0b5948149f368cf4cd6dafa57fd91ab06b2ae73b0d206e17c90e096dfc4452e9b976fdb777ed03067581d5ef380c8c30731533ab2dd4d7b067867bedf7443e9bdb5f18aae75cee3fe0b7f579b77c10488c5487176ceb6189bf94d551720ac94a11a63fdba9f9d1ec3acb8cb29a9b9a3bf8b5ec698c773dc85443cac3f21b9d74ab3dc1c92eb70c52e4f3f247bcbac06837b785fa2227614c68416a64ef4da996a92e1db19b7c5ff99fd32dd65d9865cb60d9ca948c886a497ba551e30f43925f7b2be3f183e3740a6dfa54447097c3cf096caeaedff5be1c85329f3fa877f4c30cb7c68ff6dd6931a93b88f12293e26184e0b5c6598d57e87b16f040e0baf535916fa50dfc649f2314be7c1e18651b6a7526ea8a8aaacb88fa5c48a941a866cde4321983423a12612b5593e63bf962c261b8d33356538b7cbc8ace758223e011b98ee8e0579cafffbc4e87ba95d37c129f7cc34831e7c187fc821282a1304041ffda93f4241739f4929d873a64955cea5bd674a3140a04c9ab250dfc54e990bcbbd3cf60e6ea3e9f726042ea3a7e720e68271960e35ad2b6257e0fa62715b20bd5b73bfa6faabd569f995c9863b2d870c933fb8c8f15a3527d89c0857356b5f19c399de9f6193fdc7168c51a5f17e110d1016770a1f8176394f2053631af32cc2661917d71574481b67bb5e9375398b1fdb2918620893f6d5a0d7590a97fadb0688d0613e67dd375e639b8f2680b8f21f74045d182a81e6839ea7d9dcc6c6c6df1b1d827ace9ce437e146bc9d5c83812afa4f83c4e93e5a20a357fe76a35065d7c28a7d0e1f10efae9c212ba7fd69d7276ed72aac8471f5cce1f24a4fdc202877bd791628eceec8ee5ac27926bcbe0bb7ce705a114823ef2f2ac0b738eb77f0661599dec8017107a5b81144608e12a03c1ef7eed45ceaa9625fe4e4a3e790a5d6d80c200cdc19ac36e2ae7b712475e4e505ccea8e5d1347ceb64eade932cfcea27090f95866101de2e0a4c5b211d82aea778a32a6123d194204c3cc725ec8c8c4e92da8627be4b0c578739c1f102177a73bc6bb3a4e2a3bcc310e09536d0ea31d01b743d028072df4087d3d3290f4b1e8a331182ac50c75f1b481cb845fa6b0a5deb41c9c506b28c529e2eee25803b65ca9060b81d6af653760d440431da9b34ca6624ef19b7d58eed8336927b5ca69b3e31ff015e39d97a11ea030365751c2ee22beb6f0f577a240b4a3d4d0a092c87be56521c0d5a47d6eb3e45794ad289d4fd866a47eb36f35a489682377ce189e0cf448cf4301b83cd0519f6a679e902d382bacfc689f5be56e4ada8d42dba8b99ca20d8f3e88f59874580ad98e752995e18f440e2b01fc5d70a629f5f63f01758c09bac13af8b3abd033bf6a144c1da3e7276e99a04afc3540473367735a7faf4a36803bde10a74707a572d60e7b31dfd21bfb6db6e623933461fa954480f51b375db980352a5d2f059111d5729ef00e748282d07abec2d48c7e0526bc0271b3c1bb55bf3c1ec6a477e67d4609d685c61d76c1dd20f61ecbcdf3bf68b57ca9c88f76bec557859152f9c5313d012190d0f183455e58f31bfcfb3caec6b1ef4a7037f27fd7e172dcfb41e88d7f9b966771e49868e0ef5db9db5eb46f82b4172e52979e5c2a8ebd0d8fd9fc87dfc6c833f061977157ee53f067d9f27d4768d076b79b10555981d99427c76194296a6203207715b8357c2d51e3f237d231954c81e06351ea55574ef02c87315e61e16e2f688a25e783c3ab005863e17720f827ec59c2df1643f58bf45e94242bd64e04ff558857568c18f7bcde29b621e4fb845f17e59f0589caca2df24a830fe4c8144f978cc75711e745483f0faa56c4e74bc8da86ffb428e3b7d805d94f4b788585cb369dee64b83b21ce8c1dea829c572b4e2c02e332fc2b4b31eafcdbfc12d5c420c6c947b98fed5eb3865b770364cef6d27974229c6f2365690db07d07322657a0ef4eeb0f1b274c9aa22424d670d89e4cc31beaa3e9b79fc2f13c33f5b3a05dcb7af8faed4ec50b15fb680d65ae959031e7d38187873a8beb91857922b49fb99364da5ac7464ef87cd5db6a3565cafc2a7e05dd37790a20aac096d78f66debde9d0b9c9f66908c78495b6f054d62ffa0d3c5dd3f42b847ce8d0aa034cdebe885425856fdc7ee2517162a96fb26db1f7be9bf895e795150d903136348faf5a241941a729ae318ac7279e9973790523ca8adba04689910a9af01872cf146b1004eeb001f4985572dfed184c0cb7bed20534166c1d2a42c8e268d63290c19117880a2048fd50e9e24fdf654cf7714193cae0572483c7eeba4b8eb8176d4d7502be0447fbf6f3162de63af58bb5a4c435970b62aba4aa4b39eef11188a16ae0465e656a3addc7c4e0d56b8fe4fb9baa304a265af0b7bf44d4575e0fc19a4a67d02661236a18dfe07b5588e7cd3440d3a3e929ca575932a8b82bf3bdbd69ead0fb316d0f176ebd27d6c4fc0975065a437d0c10816f15f4842616575d913dd01a9e63ea6fd3cf2ae37f75e3c1c2284bb4ae3440f035dbc85d58777938c43e991dd0b51736b1b0cb63c267f18369096624fcdb057c92917f05807bf4"}) ioctl$BTRFS_IOC_GET_SUBVOL_ROOTREF(0xffffffffffffffff, 0xd000943d, &(0x7f000005bec0)={0x80000001, [{}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {0x0, r3}], 0x86, "4d3c0af354faea"}) ioctl$BTRFS_IOC_GET_SUBVOL_INFO(0xffffffffffffffff, 0x81f8943c, &(0x7f0000049200)={0x0, ""/256, 0x0, 0x0}) ioctl$BTRFS_IOC_GET_SUBVOL_ROOTREF(0xffffffffffffffff, 0xd000943d, &(0x7f0000049400)={0x575f, [{}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {0x0, r4}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {0x0, r4}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {0x0, r4}], 0x28, "24e7da361fe599"}) ioctl$UI_DEV_CREATE(r0, 0x5501) 21:36:13 executing program 4: r0 = syz_init_net_socket$x25(0x9, 0x5, 0x0) listen(r0, 0x0) ioctl$SIOCX25SFACILITIES(r0, 0x89e8, 0x0) 21:36:13 executing program 0: r0 = socket(0x40000000002, 0x3, 0x2) setsockopt$SO_BINDTODEVICE(r0, 0x1, 0x19, &(0x7f0000000080)='syz_tun\x00', 0x4d) r1 = socket$inet(0x2, 0x3, 0x2) setsockopt$inet_mreqsrc(r1, 0x0, 0x27, &(0x7f0000000040)={@multicast2, @local, @dev}, 0xc) syz_emit_ethernet(0x36, &(0x7f0000001800)={@link_local, @dev, @void, {@ipv4={0x800, @icmp={{0x5, 0x4, 0x0, 0x0, 0x28, 0x0, 0x0, 0x0, 0x2, 0x0, @empty, @multicast1=0xe0000002}, @timestamp_reply={0x11}}}}}, 0x0) 21:36:13 executing program 1: bpf$MAP_CREATE(0x0, &(0x7f0000000080)=@base={0x15, 0x8, 0x1000000}, 0x48) [ 2028.190027][ T6647] netlink: 'syz-executor.5': attribute type 2 has an invalid length. 21:36:13 executing program 2: r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) r1 = socket(0x10, 0x2, 0x0) getsockopt$sock_cred(r1, 0x1, 0x11, &(0x7f0000caaffb)={0x0, 0x0}, &(0x7f0000cab000)=0xc) setresuid(0x0, r2, 0x0) ioctl$VT_OPENQRY(r0, 0x4b69, &(0x7f0000000000)) 21:36:14 executing program 5: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route_sched(r0, &(0x7f0000005300)={0x0, 0x0, &(0x7f00000052c0)={&(0x7f0000000440)=@newtaction={0xe84, 0x30, 0x1, 0x0, 0x0, {}, [{0xe70, 0x1, [@m_pedit={0xe6c, 0x1, 0x0, 0x0, {{0xa}, {0xe40, 0x2, 0x0, 0x1, [@TCA_PEDIT_KEYS_EX={0x1c, 0x5, 0x0, 0x1, [{0x14, 0x6, 0x0, 0x1, [@TCA_PEDIT_KEY_EX_CMD={0x5}, @TCA_PEDIT_KEY_EX_HTYPE={0x6}]}, {0x4}]}, @TCA_PEDIT_PARMS={0xe20, 0x2, {{{}, 0x9}}}]}, {0x4}, {0xc}, {0xc}}}]}]}, 0xe84}}, 0x0) 21:36:14 executing program 1: bpf$MAP_CREATE(0x0, &(0x7f0000000080)=@base={0x15, 0x8, 0x1000000}, 0x48) 21:36:14 executing program 4: r0 = syz_init_net_socket$x25(0x9, 0x5, 0x0) listen(r0, 0x0) ioctl$SIOCX25SFACILITIES(r0, 0x89e8, 0x0) 21:36:14 executing program 2: r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) r1 = socket(0x10, 0x2, 0x0) getsockopt$sock_cred(r1, 0x1, 0x11, &(0x7f0000caaffb)={0x0, 0x0}, &(0x7f0000cab000)=0xc) setresuid(0x0, r2, 0x0) ioctl$VT_OPENQRY(r0, 0x4b69, &(0x7f0000000000)) 21:36:14 executing program 3: r0 = openat$uinput(0xffffffffffffff9c, &(0x7f0000000040), 0x802, 0x0) ioctl$UI_DEV_CREATE(0xffffffffffffffff, 0x5501) ioctl$UI_ABS_SETUP(r0, 0x401c5504, &(0x7f0000000340)={0x400000100002f}) ioctl$UI_SET_EVBIT(r0, 0x40045564, 0x3) write$uinput_user_dev(r0, &(0x7f0000000c80)={'syz1\x00', {}, 0x0, [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1004b0], [], [], [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8]}, 0x45c) socketpair$unix(0x1, 0x1, 0x0, &(0x7f00000001c0)={0xffffffffffffffff}) ioctl$sock_ifreq(r1, 0x89a2, &(0x7f0000000000)={'bridge0\x00', @ifru_settings={0x0, 0x0, @fr=0x0}}) socketpair$unix(0x1, 0x1, 0x0, &(0x7f0000000100)={0xffffffffffffffff}) ioctl$BTRFS_IOC_GET_SUBVOL_ROOTREF(0xffffffffffffffff, 0xd000943d, 0x0) ioctl$BTRFS_IOC_INO_LOOKUP_USER(r2, 0xd000943e, &(0x7f000005aec0)={0x0, 0x0, "878a82cd456ad890ddf6cde64d1e78b27383e9c4975aef4f4170f428c775b1a0e0894fcf2d835ac7c687f6649f26434b54aa29f9dc21eeb0a4cce6308f5d15ac8654ea3705d9d994f40e545c518da8de04f224c7b705e1160d789f360b16e29858ff9d02b85e60c78bd22d1ac2e6e956f70da3434b153ac422d760627fdd195184ad378cb0d942baff4790c3e3ff2bf6b98dd8eb5b246a44fe5764c678997840e8635c7eef634293e4437988c85512078e1621136ced418bd9e5c0295f619730fe226c9ffa2a1be3ffff4f8c41a1ba5ae2ea3f8625d8a69e434b28af4c740efd1f3a63d64bfd0f3ce44da9dde17919e665e3ea3deaf50db65b1c0449b4b9a189", "862e4bb7cf53ac23769fba995f463c193676386e4b2e6f850c2ddd27d3d285491e94c742d028a381df122ec27c5ec510eccdd3db97c3d87c02870db669c211cb8b8dceb35632bbcb9c393ee1343744a53f06fdb7b2c8900b49e084396da735ec5dd94a9fba39b4186666f61c96c5aceda21ef0917501f260c7bd78ae0ba27c581641618058bb87318112363fd47b8ab7929c03a73d3a8c182121e3b455575f1fbdd8ff71a1a255bef0c568e11cb2cc89101e24c8d3c554733dd7d7336ebe2d456347469cf59e5b6a1988b532cfd7aa72ea157a007ad110b2326bb87e5ad48c6e4aec38918a2600394a12bdd194cbd8e99ca4d506d7051225481e5938adc4468ba6f78035500e0f4c6f94c62ed7ab9901af3c54e485a9b1886644eb7a81858091617b76bc6c1784b80ce1a216394fb9f08179859bcc9b9bb8f0294ef0f753ca87fc3bd2f35756109f3d5db1b4f3713c3d42247f95ca68e56267ee37f768bfba12eaa9de8e95a8967658685837acf091f984b7c99ae12a2ddcdfdc1797fd1f157c1b2678b857fcf75700ed00c402b5cc76343830122424a2b7c0df27e2c62965c1bc6c75979c4c8fe969aecac2b9477b27d6c3b9157e1a428bca07a7013a1c50cf416f7fec53a6f36e3623c02d2a7b61709179810bbeccffbdeaf7a207b67d0e3722c35834ffc262d4963296ae37e7ac77ca6f577d8fe28ac6b1e38afdb9f82857d9ffe768ea1a7e9aee9e3061c7c4e659f894390b0f35cf39acd02cf62df91739fcda5738e484f93eca08fe465c6cc407b63a221500b83f340480ef9f3573b2903b7f89c17f1a44789a69423555da3e0872f149894f735a5954f7ff3b239040c26b8ddc4fe8778b5b012188963ea5d8f188231729bc052ea2a4368f2c09313ab08e4bfa99c284ac0dee0d9e94f5c3300149ee01107b2f79fade0da469861381580302eb8645e0f03ef1fec05c1a0acfa5c7ba2328602c58d8c9eee83769ee34d9002163744e3233a8f2c1233ec6e70af2ed3100f4ee4607ba2cafd2cbd0a7d478b2f3fad9c646fd81cf203677824134a0d3266b966f8cda84f579e6ec0597076a4fc9e0f91fe4a07a8c1ac5a7af86813875fec7bb2e3f8dbb72c5d19e1ff40a49a13e302eaa6aa0e8c16202fcced86c024f77dad20af4372ca98286591ae9db0ff4efcbac3b01f18946c152846b0e5d4e34118560c691408d96f4a2effa9c65e5fff22799975ec0caee1b26d6e6bc91f0ffc07261f999fff2a0ed9c0a1cbf363a6dffdf844040bd3a83464cc97bc322bb2913e7c6345d3d9c363dfe95e8c04b2c3d1ce258668bcfb65890c197dac250c37c8397b6ef2a42582d28f6281bd41db94ea548b9d0f6a3b04122259428fbe8b990c9bb449e7c0f12840a58215edc64251866e957f0e69d07a82c73d4819d1d08b0e2051efe68fdbd60f703fca1e802f10d49bd07e2fe754333bf3ba03481bede2e09df5f1361706b81341c00c40055c2a7f4eb1a6121aec4df32f3fb1a80659bc32249effaaa278ae06469b979dc0f8ec6a7acda946dc8cd5e4031bd41c760a67f4b6c5a8ec6c7a36dd1bf0c7c9365364e1c79707a442c2e2bc75569b4e0f65e7938fe36cf66976c9a1b1253d0fef68eca57f857e6f3d8c9fa9f34f977e1c6ed748f14e03d8075c2bb73e5823c2e535e3ab2d467e179d6d8057872546f26c8bd1e87a531ccc0e523ae57cbe5281b85bc5159d37f2d7a86447ab5bf34cdf4c5a6dd66cf04beff9947e7d14f2fc663ab76058a637ec94a89fd20239e4de48eddae141a7664876ae17c154d96f9e802f5210b9b684bffeea7eebc21541d07708dcaab30711e343bd73e311bf7a58e695abfff917d2e92470a622ca572e2e7cef243f4a7e9d96068dbda73b1fdc3a3eef9178fbdfc1036f72bf7ab16dbecfbae7de2b4313d1b666ff1be47452d37554832b06f5f458c3f2f4154be33796f93fecbdb3515d7a7af08009ef4fc66755ebe2a979daa66a9a16f4f59cf9d17e02b3c004505a529024b1d1f824c81f84ee252f0bbdc403b50e12e0abc830ef751919a7d886fc0139af922066dcca7686cf0d50cc8b045203d8f8c8ad43fd42eb2a2b90b857dc4bacd192d6c263216c0dcf3042e32a5bdeb10457b3a1d8d339acaf2e81ed589ec5197dc07e7c03a1fb8860e2fba1bcaf673ddf05621390cd7e570bc39c672a4a25257754246d417b34a6ff2242adc6ff4ea4214d7ec186157b020a17622eb89bbd61caba1598e6c84c7d0be4cf40ba9ddffdabffe708406e6867f60c0f6a9f995dcfa7833b58cefae137dd4fd9f8a2b7238201adbb3247e83e561b9132660b94fbf59eeb09ac388da333d6fe9c173cf203039c85dccdfd1e7f880f6c35aedbae69a6153c9f92fbd395791bd3acac6edb17fbe6f14eb7dc37e3f391642f86f06499bca16a9d2778d431b74e4f7d1cba4e8308ddf2551313522111c4de6338600af7cefa327f925ef5127feb19847d6dc751ba0c0f2f667c5660f37bdbaf1a3c2ba9d2890ba3df59073b6d7f8464758885e543211b2dfec38ad7328add7edd8a26f283f9ed57acf91d8bc0d8c42f618cb77227fd2fb87c08ad7e81863b8cb07423ef9a841ae1fd3e9b08676834ded2875ec399f67349f7ab20bd2ab5e9cfa082620428644a07a85d19ce06f8156e1024562e0dbe91f2272ad43cc1aed62c74bbb9c916d5bf11ae540752973ca13d226f2377e51a0f813c768fabd1b0b622cb51ab8f991a2a4384091cfaa9b6eefdbe9abb6f7d0597fc0a4469925523f3b1d7ff82acde52e61d332c2f0b5948149f368cf4cd6dafa57fd91ab06b2ae73b0d206e17c90e096dfc4452e9b976fdb777ed03067581d5ef380c8c30731533ab2dd4d7b067867bedf7443e9bdb5f18aae75cee3fe0b7f579b77c10488c5487176ceb6189bf94d551720ac94a11a63fdba9f9d1ec3acb8cb29a9b9a3bf8b5ec698c773dc85443cac3f21b9d74ab3dc1c92eb70c52e4f3f247bcbac06837b785fa2227614c68416a64ef4da996a92e1db19b7c5ff99fd32dd65d9865cb60d9ca948c886a497ba551e30f43925f7b2be3f183e3740a6dfa54447097c3cf096caeaedff5be1c85329f3fa877f4c30cb7c68ff6dd6931a93b88f12293e26184e0b5c6598d57e87b16f040e0baf535916fa50dfc649f2314be7c1e18651b6a7526ea8a8aaacb88fa5c48a941a866cde4321983423a12612b5593e63bf962c261b8d33356538b7cbc8ace758223e011b98ee8e0579cafffbc4e87ba95d37c129f7cc34831e7c187fc821282a1304041ffda93f4241739f4929d873a64955cea5bd674a3140a04c9ab250dfc54e990bcbbd3cf60e6ea3e9f726042ea3a7e720e68271960e35ad2b6257e0fa62715b20bd5b73bfa6faabd569f995c9863b2d870c933fb8c8f15a3527d89c0857356b5f19c399de9f6193fdc7168c51a5f17e110d1016770a1f8176394f2053631af32cc2661917d71574481b67bb5e9375398b1fdb2918620893f6d5a0d7590a97fadb0688d0613e67dd375e639b8f2680b8f21f74045d182a81e6839ea7d9dcc6c6c6df1b1d827ace9ce437e146bc9d5c83812afa4f83c4e93e5a20a357fe76a35065d7c28a7d0e1f10efae9c212ba7fd69d7276ed72aac8471f5cce1f24a4fdc202877bd791628eceec8ee5ac27926bcbe0bb7ce705a114823ef2f2ac0b738eb77f0661599dec8017107a5b81144608e12a03c1ef7eed45ceaa9625fe4e4a3e790a5d6d80c200cdc19ac36e2ae7b712475e4e505ccea8e5d1347ceb64eade932cfcea27090f95866101de2e0a4c5b211d82aea778a32a6123d194204c3cc725ec8c8c4e92da8627be4b0c578739c1f102177a73bc6bb3a4e2a3bcc310e09536d0ea31d01b743d028072df4087d3d3290f4b1e8a331182ac50c75f1b481cb845fa6b0a5deb41c9c506b28c529e2eee25803b65ca9060b81d6af653760d440431da9b34ca6624ef19b7d58eed8336927b5ca69b3e31ff015e39d97a11ea030365751c2ee22beb6f0f577a240b4a3d4d0a092c87be56521c0d5a47d6eb3e45794ad289d4fd866a47eb36f35a489682377ce189e0cf448cf4301b83cd0519f6a679e902d382bacfc689f5be56e4ada8d42dba8b99ca20d8f3e88f59874580ad98e752995e18f440e2b01fc5d70a629f5f63f01758c09bac13af8b3abd033bf6a144c1da3e7276e99a04afc3540473367735a7faf4a36803bde10a74707a572d60e7b31dfd21bfb6db6e623933461fa954480f51b375db980352a5d2f059111d5729ef00e748282d07abec2d48c7e0526bc0271b3c1bb55bf3c1ec6a477e67d4609d685c61d76c1dd20f61ecbcdf3bf68b57ca9c88f76bec557859152f9c5313d012190d0f183455e58f31bfcfb3caec6b1ef4a7037f27fd7e172dcfb41e88d7f9b966771e49868e0ef5db9db5eb46f82b4172e52979e5c2a8ebd0d8fd9fc87dfc6c833f061977157ee53f067d9f27d4768d076b79b10555981d99427c76194296a6203207715b8357c2d51e3f237d231954c81e06351ea55574ef02c87315e61e16e2f688a25e783c3ab005863e17720f827ec59c2df1643f58bf45e94242bd64e04ff558857568c18f7bcde29b621e4fb845f17e59f0589caca2df24a830fe4c8144f978cc75711e745483f0faa56c4e74bc8da86ffb428e3b7d805d94f4b788585cb369dee64b83b21ce8c1dea829c572b4e2c02e332fc2b4b31eafcdbfc12d5c420c6c947b98fed5eb3865b770364cef6d27974229c6f2365690db07d07322657a0ef4eeb0f1b274c9aa22424d670d89e4cc31beaa3e9b79fc2f13c33f5b3a05dcb7af8faed4ec50b15fb680d65ae959031e7d38187873a8beb91857922b49fb99364da5ac7464ef87cd5db6a3565cafc2a7e05dd37790a20aac096d78f66debde9d0b9c9f66908c78495b6f054d62ffa0d3c5dd3f42b847ce8d0aa034cdebe885425856fdc7ee2517162a96fb26db1f7be9bf895e795150d903136348faf5a241941a729ae318ac7279e9973790523ca8adba04689910a9af01872cf146b1004eeb001f4985572dfed184c0cb7bed20534166c1d2a42c8e268d63290c19117880a2048fd50e9e24fdf654cf7714193cae0572483c7eeba4b8eb8176d4d7502be0447fbf6f3162de63af58bb5a4c435970b62aba4aa4b39eef11188a16ae0465e656a3addc7c4e0d56b8fe4fb9baa304a265af0b7bf44d4575e0fc19a4a67d02661236a18dfe07b5588e7cd3440d3a3e929ca575932a8b82bf3bdbd69ead0fb316d0f176ebd27d6c4fc0975065a437d0c10816f15f4842616575d913dd01a9e63ea6fd3cf2ae37f75e3c1c2284bb4ae3440f035dbc85d58777938c43e991dd0b51736b1b0cb63c267f18369096624fcdb057c92917f05807bf4"}) ioctl$BTRFS_IOC_GET_SUBVOL_ROOTREF(0xffffffffffffffff, 0xd000943d, &(0x7f000005bec0)={0x80000001, [{}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {0x0, r3}], 0x86, "4d3c0af354faea"}) ioctl$BTRFS_IOC_GET_SUBVOL_INFO(0xffffffffffffffff, 0x81f8943c, &(0x7f0000049200)={0x0, ""/256, 0x0, 0x0}) ioctl$BTRFS_IOC_GET_SUBVOL_ROOTREF(0xffffffffffffffff, 0xd000943d, &(0x7f0000049400)={0x575f, [{}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {0x0, r4}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {0x0, r4}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {0x0, r4}], 0x28, "24e7da361fe599"}) ioctl$UI_DEV_CREATE(r0, 0x5501) [ 2028.554036][ T6659] netlink: 'syz-executor.5': attribute type 2 has an invalid length. 21:36:14 executing program 0: r0 = openat$nvme_fabrics(0xffffff9c, &(0x7f0000000200), 0x101002, 0x0) writev(r0, &(0x7f00000016c0)=[{&(0x7f0000001380)="a9", 0x20001381}], 0x1) 21:36:14 executing program 5: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route_sched(r0, &(0x7f0000005300)={0x0, 0x0, &(0x7f00000052c0)={&(0x7f0000000440)=@newtaction={0xe84, 0x30, 0x1, 0x0, 0x0, {}, [{0xe70, 0x1, [@m_pedit={0xe6c, 0x1, 0x0, 0x0, {{0xa}, {0xe40, 0x2, 0x0, 0x1, [@TCA_PEDIT_KEYS_EX={0x1c, 0x5, 0x0, 0x1, [{0x14, 0x6, 0x0, 0x1, [@TCA_PEDIT_KEY_EX_CMD={0x5}, @TCA_PEDIT_KEY_EX_HTYPE={0x6}]}, {0x4}]}, @TCA_PEDIT_PARMS={0xe20, 0x2, {{{}, 0x9}}}]}, {0x4}, {0xc}, {0xc}}}]}]}, 0xe84}}, 0x0) 21:36:14 executing program 1: bpf$MAP_CREATE(0x0, &(0x7f0000000080)=@base={0x15, 0x8, 0x1000000}, 0x48) 21:36:14 executing program 0: r0 = openat$nvme_fabrics(0xffffff9c, &(0x7f0000000200), 0x101002, 0x0) writev(r0, &(0x7f00000016c0)=[{&(0x7f0000001380)="a9", 0x20001381}], 0x1) [ 2028.924261][ T6671] netlink: 'syz-executor.5': attribute type 2 has an invalid length. 21:36:14 executing program 4: pipe(&(0x7f0000000100)={0xffffffffffffffff, 0xffffffffffffffff}) r2 = socket$vsock_stream(0x28, 0x1, 0x0) bind$vsock_stream(r2, &(0x7f0000000380)={0x28, 0x0, 0x0, @host}, 0x17) listen(r2, 0x0) socket$vsock_stream(0x28, 0x1, 0x0) connect$vsock_stream(0xffffffffffffffff, 0x0, 0x0) writev(r1, &(0x7f0000000200)=[{&(0x7f00000000c0)="580000001400379b9fb61b47", 0xc}], 0x1) r3 = socket$netlink(0x10, 0x3, 0x4) bind(0xffffffffffffffff, &(0x7f0000000140)=@vsock={0x28, 0x0, 0x54e7547e02afa628, @hyper}, 0x80) write$binfmt_misc(r1, &(0x7f0000000140)=ANY=[], 0x4240a2a0) splice(r0, 0x0, r3, 0x0, 0x4ffdc, 0x0) 21:36:14 executing program 3: r0 = openat$uinput(0xffffffffffffff9c, &(0x7f0000000040), 0x802, 0x0) ioctl$UI_DEV_CREATE(0xffffffffffffffff, 0x5501) ioctl$UI_ABS_SETUP(r0, 0x401c5504, &(0x7f0000000340)={0x400000100002f}) ioctl$UI_SET_EVBIT(r0, 0x40045564, 0x3) write$uinput_user_dev(r0, &(0x7f0000000c80)={'syz1\x00', {}, 0x0, [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1004b0], [], [], [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8]}, 0x45c) socketpair$unix(0x1, 0x1, 0x0, &(0x7f00000001c0)={0xffffffffffffffff}) ioctl$sock_ifreq(r1, 0x89a2, &(0x7f0000000000)={'bridge0\x00', @ifru_settings={0x0, 0x0, @fr=0x0}}) socketpair$unix(0x1, 0x1, 0x0, &(0x7f0000000100)={0xffffffffffffffff}) ioctl$BTRFS_IOC_GET_SUBVOL_ROOTREF(0xffffffffffffffff, 0xd000943d, 0x0) ioctl$BTRFS_IOC_INO_LOOKUP_USER(r2, 0xd000943e, &(0x7f000005aec0)={0x0, 0x0, "878a82cd456ad890ddf6cde64d1e78b27383e9c4975aef4f4170f428c775b1a0e0894fcf2d835ac7c687f6649f26434b54aa29f9dc21eeb0a4cce6308f5d15ac8654ea3705d9d994f40e545c518da8de04f224c7b705e1160d789f360b16e29858ff9d02b85e60c78bd22d1ac2e6e956f70da3434b153ac422d760627fdd195184ad378cb0d942baff4790c3e3ff2bf6b98dd8eb5b246a44fe5764c678997840e8635c7eef634293e4437988c85512078e1621136ced418bd9e5c0295f619730fe226c9ffa2a1be3ffff4f8c41a1ba5ae2ea3f8625d8a69e434b28af4c740efd1f3a63d64bfd0f3ce44da9dde17919e665e3ea3deaf50db65b1c0449b4b9a189", "862e4bb7cf53ac23769fba995f463c193676386e4b2e6f850c2ddd27d3d285491e94c742d028a381df122ec27c5ec510eccdd3db97c3d87c02870db669c211cb8b8dceb35632bbcb9c393ee1343744a53f06fdb7b2c8900b49e084396da735ec5dd94a9fba39b4186666f61c96c5aceda21ef0917501f260c7bd78ae0ba27c581641618058bb87318112363fd47b8ab7929c03a73d3a8c182121e3b455575f1fbdd8ff71a1a255bef0c568e11cb2cc89101e24c8d3c554733dd7d7336ebe2d456347469cf59e5b6a1988b532cfd7aa72ea157a007ad110b2326bb87e5ad48c6e4aec38918a2600394a12bdd194cbd8e99ca4d506d7051225481e5938adc4468ba6f78035500e0f4c6f94c62ed7ab9901af3c54e485a9b1886644eb7a81858091617b76bc6c1784b80ce1a216394fb9f08179859bcc9b9bb8f0294ef0f753ca87fc3bd2f35756109f3d5db1b4f3713c3d42247f95ca68e56267ee37f768bfba12eaa9de8e95a8967658685837acf091f984b7c99ae12a2ddcdfdc1797fd1f157c1b2678b857fcf75700ed00c402b5cc76343830122424a2b7c0df27e2c62965c1bc6c75979c4c8fe969aecac2b9477b27d6c3b9157e1a428bca07a7013a1c50cf416f7fec53a6f36e3623c02d2a7b61709179810bbeccffbdeaf7a207b67d0e3722c35834ffc262d4963296ae37e7ac77ca6f577d8fe28ac6b1e38afdb9f82857d9ffe768ea1a7e9aee9e3061c7c4e659f894390b0f35cf39acd02cf62df91739fcda5738e484f93eca08fe465c6cc407b63a221500b83f340480ef9f3573b2903b7f89c17f1a44789a69423555da3e0872f149894f735a5954f7ff3b239040c26b8ddc4fe8778b5b012188963ea5d8f188231729bc052ea2a4368f2c09313ab08e4bfa99c284ac0dee0d9e94f5c3300149ee01107b2f79fade0da469861381580302eb8645e0f03ef1fec05c1a0acfa5c7ba2328602c58d8c9eee83769ee34d9002163744e3233a8f2c1233ec6e70af2ed3100f4ee4607ba2cafd2cbd0a7d478b2f3fad9c646fd81cf203677824134a0d3266b966f8cda84f579e6ec0597076a4fc9e0f91fe4a07a8c1ac5a7af86813875fec7bb2e3f8dbb72c5d19e1ff40a49a13e302eaa6aa0e8c16202fcced86c024f77dad20af4372ca98286591ae9db0ff4efcbac3b01f18946c152846b0e5d4e34118560c691408d96f4a2effa9c65e5fff22799975ec0caee1b26d6e6bc91f0ffc07261f999fff2a0ed9c0a1cbf363a6dffdf844040bd3a83464cc97bc322bb2913e7c6345d3d9c363dfe95e8c04b2c3d1ce258668bcfb65890c197dac250c37c8397b6ef2a42582d28f6281bd41db94ea548b9d0f6a3b04122259428fbe8b990c9bb449e7c0f12840a58215edc64251866e957f0e69d07a82c73d4819d1d08b0e2051efe68fdbd60f703fca1e802f10d49bd07e2fe754333bf3ba03481bede2e09df5f1361706b81341c00c40055c2a7f4eb1a6121aec4df32f3fb1a80659bc32249effaaa278ae06469b979dc0f8ec6a7acda946dc8cd5e4031bd41c760a67f4b6c5a8ec6c7a36dd1bf0c7c9365364e1c79707a442c2e2bc75569b4e0f65e7938fe36cf66976c9a1b1253d0fef68eca57f857e6f3d8c9fa9f34f977e1c6ed748f14e03d8075c2bb73e5823c2e535e3ab2d467e179d6d8057872546f26c8bd1e87a531ccc0e523ae57cbe5281b85bc5159d37f2d7a86447ab5bf34cdf4c5a6dd66cf04beff9947e7d14f2fc663ab76058a637ec94a89fd20239e4de48eddae141a7664876ae17c154d96f9e802f5210b9b684bffeea7eebc21541d07708dcaab30711e343bd73e311bf7a58e695abfff917d2e92470a622ca572e2e7cef243f4a7e9d96068dbda73b1fdc3a3eef9178fbdfc1036f72bf7ab16dbecfbae7de2b4313d1b666ff1be47452d37554832b06f5f458c3f2f4154be33796f93fecbdb3515d7a7af08009ef4fc66755ebe2a979daa66a9a16f4f59cf9d17e02b3c004505a529024b1d1f824c81f84ee252f0bbdc403b50e12e0abc830ef751919a7d886fc0139af922066dcca7686cf0d50cc8b045203d8f8c8ad43fd42eb2a2b90b857dc4bacd192d6c263216c0dcf3042e32a5bdeb10457b3a1d8d339acaf2e81ed589ec5197dc07e7c03a1fb8860e2fba1bcaf673ddf05621390cd7e570bc39c672a4a25257754246d417b34a6ff2242adc6ff4ea4214d7ec186157b020a17622eb89bbd61caba1598e6c84c7d0be4cf40ba9ddffdabffe708406e6867f60c0f6a9f995dcfa7833b58cefae137dd4fd9f8a2b7238201adbb3247e83e561b9132660b94fbf59eeb09ac388da333d6fe9c173cf203039c85dccdfd1e7f880f6c35aedbae69a6153c9f92fbd395791bd3acac6edb17fbe6f14eb7dc37e3f391642f86f06499bca16a9d2778d431b74e4f7d1cba4e8308ddf2551313522111c4de6338600af7cefa327f925ef5127feb19847d6dc751ba0c0f2f667c5660f37bdbaf1a3c2ba9d2890ba3df59073b6d7f8464758885e543211b2dfec38ad7328add7edd8a26f283f9ed57acf91d8bc0d8c42f618cb77227fd2fb87c08ad7e81863b8cb07423ef9a841ae1fd3e9b08676834ded2875ec399f67349f7ab20bd2ab5e9cfa082620428644a07a85d19ce06f8156e1024562e0dbe91f2272ad43cc1aed62c74bbb9c916d5bf11ae540752973ca13d226f2377e51a0f813c768fabd1b0b622cb51ab8f991a2a4384091cfaa9b6eefdbe9abb6f7d0597fc0a4469925523f3b1d7ff82acde52e61d332c2f0b5948149f368cf4cd6dafa57fd91ab06b2ae73b0d206e17c90e096dfc4452e9b976fdb777ed03067581d5ef380c8c30731533ab2dd4d7b067867bedf7443e9bdb5f18aae75cee3fe0b7f579b77c10488c5487176ceb6189bf94d551720ac94a11a63fdba9f9d1ec3acb8cb29a9b9a3bf8b5ec698c773dc85443cac3f21b9d74ab3dc1c92eb70c52e4f3f247bcbac06837b785fa2227614c68416a64ef4da996a92e1db19b7c5ff99fd32dd65d9865cb60d9ca948c886a497ba551e30f43925f7b2be3f183e3740a6dfa54447097c3cf096caeaedff5be1c85329f3fa877f4c30cb7c68ff6dd6931a93b88f12293e26184e0b5c6598d57e87b16f040e0baf535916fa50dfc649f2314be7c1e18651b6a7526ea8a8aaacb88fa5c48a941a866cde4321983423a12612b5593e63bf962c261b8d33356538b7cbc8ace758223e011b98ee8e0579cafffbc4e87ba95d37c129f7cc34831e7c187fc821282a1304041ffda93f4241739f4929d873a64955cea5bd674a3140a04c9ab250dfc54e990bcbbd3cf60e6ea3e9f726042ea3a7e720e68271960e35ad2b6257e0fa62715b20bd5b73bfa6faabd569f995c9863b2d870c933fb8c8f15a3527d89c0857356b5f19c399de9f6193fdc7168c51a5f17e110d1016770a1f8176394f2053631af32cc2661917d71574481b67bb5e9375398b1fdb2918620893f6d5a0d7590a97fadb0688d0613e67dd375e639b8f2680b8f21f74045d182a81e6839ea7d9dcc6c6c6df1b1d827ace9ce437e146bc9d5c83812afa4f83c4e93e5a20a357fe76a35065d7c28a7d0e1f10efae9c212ba7fd69d7276ed72aac8471f5cce1f24a4fdc202877bd791628eceec8ee5ac27926bcbe0bb7ce705a114823ef2f2ac0b738eb77f0661599dec8017107a5b81144608e12a03c1ef7eed45ceaa9625fe4e4a3e790a5d6d80c200cdc19ac36e2ae7b712475e4e505ccea8e5d1347ceb64eade932cfcea27090f95866101de2e0a4c5b211d82aea778a32a6123d194204c3cc725ec8c8c4e92da8627be4b0c578739c1f102177a73bc6bb3a4e2a3bcc310e09536d0ea31d01b743d028072df4087d3d3290f4b1e8a331182ac50c75f1b481cb845fa6b0a5deb41c9c506b28c529e2eee25803b65ca9060b81d6af653760d440431da9b34ca6624ef19b7d58eed8336927b5ca69b3e31ff015e39d97a11ea030365751c2ee22beb6f0f577a240b4a3d4d0a092c87be56521c0d5a47d6eb3e45794ad289d4fd866a47eb36f35a489682377ce189e0cf448cf4301b83cd0519f6a679e902d382bacfc689f5be56e4ada8d42dba8b99ca20d8f3e88f59874580ad98e752995e18f440e2b01fc5d70a629f5f63f01758c09bac13af8b3abd033bf6a144c1da3e7276e99a04afc3540473367735a7faf4a36803bde10a74707a572d60e7b31dfd21bfb6db6e623933461fa954480f51b375db980352a5d2f059111d5729ef00e748282d07abec2d48c7e0526bc0271b3c1bb55bf3c1ec6a477e67d4609d685c61d76c1dd20f61ecbcdf3bf68b57ca9c88f76bec557859152f9c5313d012190d0f183455e58f31bfcfb3caec6b1ef4a7037f27fd7e172dcfb41e88d7f9b966771e49868e0ef5db9db5eb46f82b4172e52979e5c2a8ebd0d8fd9fc87dfc6c833f061977157ee53f067d9f27d4768d076b79b10555981d99427c76194296a6203207715b8357c2d51e3f237d231954c81e06351ea55574ef02c87315e61e16e2f688a25e783c3ab005863e17720f827ec59c2df1643f58bf45e94242bd64e04ff558857568c18f7bcde29b621e4fb845f17e59f0589caca2df24a830fe4c8144f978cc75711e745483f0faa56c4e74bc8da86ffb428e3b7d805d94f4b788585cb369dee64b83b21ce8c1dea829c572b4e2c02e332fc2b4b31eafcdbfc12d5c420c6c947b98fed5eb3865b770364cef6d27974229c6f2365690db07d07322657a0ef4eeb0f1b274c9aa22424d670d89e4cc31beaa3e9b79fc2f13c33f5b3a05dcb7af8faed4ec50b15fb680d65ae959031e7d38187873a8beb91857922b49fb99364da5ac7464ef87cd5db6a3565cafc2a7e05dd37790a20aac096d78f66debde9d0b9c9f66908c78495b6f054d62ffa0d3c5dd3f42b847ce8d0aa034cdebe885425856fdc7ee2517162a96fb26db1f7be9bf895e795150d903136348faf5a241941a729ae318ac7279e9973790523ca8adba04689910a9af01872cf146b1004eeb001f4985572dfed184c0cb7bed20534166c1d2a42c8e268d63290c19117880a2048fd50e9e24fdf654cf7714193cae0572483c7eeba4b8eb8176d4d7502be0447fbf6f3162de63af58bb5a4c435970b62aba4aa4b39eef11188a16ae0465e656a3addc7c4e0d56b8fe4fb9baa304a265af0b7bf44d4575e0fc19a4a67d02661236a18dfe07b5588e7cd3440d3a3e929ca575932a8b82bf3bdbd69ead0fb316d0f176ebd27d6c4fc0975065a437d0c10816f15f4842616575d913dd01a9e63ea6fd3cf2ae37f75e3c1c2284bb4ae3440f035dbc85d58777938c43e991dd0b51736b1b0cb63c267f18369096624fcdb057c92917f05807bf4"}) ioctl$BTRFS_IOC_GET_SUBVOL_ROOTREF(0xffffffffffffffff, 0xd000943d, &(0x7f000005bec0)={0x80000001, [{}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {0x0, r3}], 0x86, "4d3c0af354faea"}) ioctl$BTRFS_IOC_GET_SUBVOL_INFO(0xffffffffffffffff, 0x81f8943c, &(0x7f0000049200)={0x0, ""/256, 0x0, 0x0}) ioctl$BTRFS_IOC_GET_SUBVOL_ROOTREF(0xffffffffffffffff, 0xd000943d, &(0x7f0000049400)={0x575f, [{}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {0x0, r4}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {0x0, r4}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {0x0, r4}], 0x28, "24e7da361fe599"}) ioctl$UI_DEV_CREATE(r0, 0x5501) 21:36:14 executing program 2: r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) r1 = socket(0x10, 0x2, 0x0) getsockopt$sock_cred(r1, 0x1, 0x11, &(0x7f0000caaffb)={0x0, 0x0}, &(0x7f0000cab000)=0xc) setresuid(0x0, r2, 0x0) ioctl$VT_OPENQRY(r0, 0x4b69, &(0x7f0000000000)) 21:36:14 executing program 5: mkdir(&(0x7f0000000340)='./file0\x00', 0x0) mount(0x0, &(0x7f000000aff8)='./file0\x00', &(0x7f0000000000)='ramfs\x00', 0x0, 0x0) chdir(&(0x7f00000002c0)='./file0\x00') symlink(&(0x7f0000000140)='..', &(0x7f00000000c0)='./file0\x00') r0 = socket$inet_udplite(0x2, 0x2, 0x88) getsockopt$sock_cred(r0, 0x1, 0x11, &(0x7f0000000240)={0x0, 0x0}, &(0x7f0000000280)=0x5) setuid(r1) unlink(&(0x7f0000000300)='./file0\x00') 21:36:14 executing program 1: bpf$MAP_CREATE(0x0, &(0x7f0000000080)=@base={0x15, 0x8, 0x1000000}, 0x48) 21:36:15 executing program 0: r0 = openat$nvme_fabrics(0xffffff9c, &(0x7f0000000200), 0x101002, 0x0) writev(r0, &(0x7f00000016c0)=[{&(0x7f0000001380)="a9", 0x20001381}], 0x1) 21:36:15 executing program 2: r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) r1 = socket(0x10, 0x2, 0x0) getsockopt$sock_cred(r1, 0x1, 0x11, &(0x7f0000caaffb)={0x0, 0x0}, &(0x7f0000cab000)=0xc) setresuid(0x0, r2, 0x0) ioctl$VT_OPENQRY(r0, 0x4b69, &(0x7f0000000000)) 21:36:15 executing program 1: r0 = syz_usb_connect(0x0, 0x24, &(0x7f0000000800)={{0x12, 0x1, 0x0, 0x80, 0x7e, 0x90, 0x40, 0xc45, 0x610a, 0xfd92, 0x0, 0x0, 0x0, 0x1, [{{0x9, 0x2, 0x12, 0x1, 0x0, 0x0, 0x0, 0x0, [{{0x9, 0x4, 0x0, 0x0, 0x0, 0xf0, 0x61, 0x44}}]}}]}}, 0x0) syz_usb_control_io$hid(r0, 0x0, 0x0) syz_usb_control_io$hid(r0, 0x0, &(0x7f0000000600)={0x2c, &(0x7f0000000000)=ANY=[], 0x0, 0x0, 0x0, 0x0}) syz_usb_control_io$hid(r0, 0x0, 0x0) syz_usb_control_io$hid(r0, 0x0, &(0x7f0000000640)={0x2c, &(0x7f0000000000)=ANY=[@ANYBLOB="00003900000012"], 0x0, 0x0, 0x0, 0x0}) syz_usb_control_io$hid(r0, 0x0, 0x0) syz_usb_control_io$cdc_ecm(r0, 0x0, 0x0) syz_usb_control_io$cdc_ecm(r0, 0x0, 0x0) syz_usb_control_io$cdc_ncm(r0, 0x0, 0x0) syz_usb_control_io(r0, 0x0, &(0x7f00000006c0)={0x84, &(0x7f00000001c0)=ANY=[], 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}) syz_usb_control_io$hid(r0, 0x0, 0x0) syz_usb_control_io$printer(r0, 0x0, 0x0) 21:36:15 executing program 5: mkdir(&(0x7f0000000340)='./file0\x00', 0x0) mount(0x0, &(0x7f000000aff8)='./file0\x00', &(0x7f0000000000)='ramfs\x00', 0x0, 0x0) chdir(&(0x7f00000002c0)='./file0\x00') symlink(&(0x7f0000000140)='..', &(0x7f00000000c0)='./file0\x00') r0 = socket$inet_udplite(0x2, 0x2, 0x88) getsockopt$sock_cred(r0, 0x1, 0x11, &(0x7f0000000240)={0x0, 0x0}, &(0x7f0000000280)=0x5) setuid(r1) unlink(&(0x7f0000000300)='./file0\x00') 21:36:15 executing program 2: r0 = openat$fb0(0xffffffffffffff9c, &(0x7f00000006c0), 0x0, 0x0) ioctl$FBIOPUT_VSCREENINFO(r0, 0x4601, &(0x7f0000000000)={0x400, 0x10, 0x0, 0x140, 0x0, 0x0, 0x4, 0x0, {0x0, 0x0, 0x1}, {}, {}, {0x0, 0x9}, 0x1, 0x0, 0x9, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x54e, 0x9, 0x0, 0xe, 0x4}) 21:36:15 executing program 0: r0 = openat$nvme_fabrics(0xffffff9c, &(0x7f0000000200), 0x101002, 0x0) writev(r0, &(0x7f00000016c0)=[{&(0x7f0000001380)="a9", 0x20001381}], 0x1) 21:36:15 executing program 3: r0 = socket$inet6_tcp(0xa, 0x1, 0x0) bind$inet6(r0, &(0x7f0000d84000)={0xa, 0x2}, 0x1c) setsockopt$inet6_tcp_int(r0, 0x6, 0xa, &(0x7f0000000080)=0x4, 0x4) setsockopt$inet6_tcp_TCP_CONGESTION(r0, 0x6, 0xd, &(0x7f00000000c0)='cdg\x00', 0x4) sendto$inet6(r0, &(0x7f0000f6f000), 0xfffffffffffffea7, 0x20000004, &(0x7f0000b63fe4)={0xa, 0x2, 0x983a, @rand_addr, 0x900}, 0x1c) 21:36:15 executing program 2: r0 = openat$fb0(0xffffffffffffff9c, &(0x7f00000006c0), 0x0, 0x0) ioctl$FBIOPUT_VSCREENINFO(r0, 0x4601, &(0x7f0000000000)={0x400, 0x10, 0x0, 0x140, 0x0, 0x0, 0x4, 0x0, {0x0, 0x0, 0x1}, {}, {}, {0x0, 0x9}, 0x1, 0x0, 0x9, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x54e, 0x9, 0x0, 0xe, 0x4}) 21:36:15 executing program 5: mkdir(&(0x7f0000000340)='./file0\x00', 0x0) mount(0x0, &(0x7f000000aff8)='./file0\x00', &(0x7f0000000000)='ramfs\x00', 0x0, 0x0) chdir(&(0x7f00000002c0)='./file0\x00') symlink(&(0x7f0000000140)='..', &(0x7f00000000c0)='./file0\x00') r0 = socket$inet_udplite(0x2, 0x2, 0x88) getsockopt$sock_cred(r0, 0x1, 0x11, &(0x7f0000000240)={0x0, 0x0}, &(0x7f0000000280)=0x5) setuid(r1) unlink(&(0x7f0000000300)='./file0\x00') 21:36:15 executing program 4: pipe(&(0x7f0000000100)={0xffffffffffffffff, 0xffffffffffffffff}) r2 = socket$vsock_stream(0x28, 0x1, 0x0) bind$vsock_stream(r2, &(0x7f0000000380)={0x28, 0x0, 0x0, @host}, 0x17) listen(r2, 0x0) socket$vsock_stream(0x28, 0x1, 0x0) connect$vsock_stream(0xffffffffffffffff, 0x0, 0x0) writev(r1, &(0x7f0000000200)=[{&(0x7f00000000c0)="580000001400379b9fb61b47", 0xc}], 0x1) r3 = socket$netlink(0x10, 0x3, 0x4) bind(0xffffffffffffffff, &(0x7f0000000140)=@vsock={0x28, 0x0, 0x54e7547e02afa628, @hyper}, 0x80) write$binfmt_misc(r1, &(0x7f0000000140)=ANY=[], 0x4240a2a0) splice(r0, 0x0, r3, 0x0, 0x4ffdc, 0x0) 21:36:15 executing program 0: bpf$BPF_BTF_LOAD(0x12, &(0x7f0000000040)={&(0x7f0000000180)={{0xeb9f, 0x1, 0x0, 0x18, 0x0, 0x28, 0x28, 0x5, [@datasec={0x1, 0x2, 0x0, 0xf, 0x1, [{0x1, 0x0, 0x1}], 'I'}, @datasec={0x1000000, 0x0, 0x0, 0xf, 0x3, [], "f20ef4"}]}, {0x0, [0x5f, 0x0, 0x0]}}, &(0x7f0000000080)=""/198, 0x45, 0xc6, 0x1}, 0x20) 21:36:15 executing program 2: r0 = openat$fb0(0xffffffffffffff9c, &(0x7f00000006c0), 0x0, 0x0) ioctl$FBIOPUT_VSCREENINFO(r0, 0x4601, &(0x7f0000000000)={0x400, 0x10, 0x0, 0x140, 0x0, 0x0, 0x4, 0x0, {0x0, 0x0, 0x1}, {}, {}, {0x0, 0x9}, 0x1, 0x0, 0x9, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x54e, 0x9, 0x0, 0xe, 0x4}) 21:36:16 executing program 5: mkdir(&(0x7f0000000340)='./file0\x00', 0x0) mount(0x0, &(0x7f000000aff8)='./file0\x00', &(0x7f0000000000)='ramfs\x00', 0x0, 0x0) chdir(&(0x7f00000002c0)='./file0\x00') symlink(&(0x7f0000000140)='..', &(0x7f00000000c0)='./file0\x00') r0 = socket$inet_udplite(0x2, 0x2, 0x88) getsockopt$sock_cred(r0, 0x1, 0x11, &(0x7f0000000240)={0x0, 0x0}, &(0x7f0000000280)=0x5) setuid(r1) unlink(&(0x7f0000000300)='./file0\x00') 21:36:16 executing program 0: bpf$BPF_BTF_LOAD(0x12, &(0x7f0000000040)={&(0x7f0000000180)={{0xeb9f, 0x1, 0x0, 0x18, 0x0, 0x28, 0x28, 0x5, [@datasec={0x1, 0x2, 0x0, 0xf, 0x1, [{0x1, 0x0, 0x1}], 'I'}, @datasec={0x1000000, 0x0, 0x0, 0xf, 0x3, [], "f20ef4"}]}, {0x0, [0x5f, 0x0, 0x0]}}, &(0x7f0000000080)=""/198, 0x45, 0xc6, 0x1}, 0x20) 21:36:16 executing program 1: add_key(&(0x7f0000000080)='asymmetric\x00', 0x0, &(0x7f0000000140)="048141", 0x3, 0xfffffffffffffffc) 21:36:16 executing program 2: r0 = openat$fb0(0xffffffffffffff9c, &(0x7f00000006c0), 0x0, 0x0) ioctl$FBIOPUT_VSCREENINFO(r0, 0x4601, &(0x7f0000000000)={0x400, 0x10, 0x0, 0x140, 0x0, 0x0, 0x4, 0x0, {0x0, 0x0, 0x1}, {}, {}, {0x0, 0x9}, 0x1, 0x0, 0x9, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x54e, 0x9, 0x0, 0xe, 0x4}) 21:36:16 executing program 0: bpf$BPF_BTF_LOAD(0x12, &(0x7f0000000040)={&(0x7f0000000180)={{0xeb9f, 0x1, 0x0, 0x18, 0x0, 0x28, 0x28, 0x5, [@datasec={0x1, 0x2, 0x0, 0xf, 0x1, [{0x1, 0x0, 0x1}], 'I'}, @datasec={0x1000000, 0x0, 0x0, 0xf, 0x3, [], "f20ef4"}]}, {0x0, [0x5f, 0x0, 0x0]}}, &(0x7f0000000080)=""/198, 0x45, 0xc6, 0x1}, 0x20) 21:36:16 executing program 5: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$NFT_BATCH(r0, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000000)={&(0x7f0000001440)={{0x14}, [@NFT_MSG_NEWTABLE={0x20, 0x0, 0xa, 0x3, 0x0, 0x0, {}, [@NFTA_TABLE_NAME={0x9, 0x1, 'syz0\x00'}]}, @NFT_MSG_NEWSET={0x70, 0x9, 0xa, 0x401, 0x0, 0x0, {}, [@NFTA_SET_ID={0x8}, @NFTA_SET_NAME={0x9, 0x2, 'syz1\x00'}, @NFTA_SET_TABLE={0x9, 0x1, 'syz0\x00'}, @NFTA_SET_KEY_LEN={0x8, 0x5, 0x1, 0x0, 0x32}, @NFTA_SET_EXPR={0x34, 0x11, 0x0, 0x1, @bitwise={{0xc}, @val={0x24, 0x2, 0x0, 0x1, [@NFTA_BITWISE_XOR={0x4}, @NFTA_BITWISE_MASK={0x4}, @NFTA_BITWISE_SREG={0x8, 0x1, 0x1, 0x0, 0x2}, @NFTA_BITWISE_LEN={0x8, 0x3, 0x1, 0x0, 0x6}, @NFTA_BITWISE_DREG={0x8, 0x2, 0x1, 0x0, 0x3}]}}}]}], {0x14, 0x10}}, 0xb8}}, 0x0) 21:36:16 executing program 3: syz_mount_image$ext4(&(0x7f0000000000)='ext4\x00', &(0x7f0000000100)='./file0\x00', 0x200000, 0x9, &(0x7f0000000200)=[{&(0x7f0000010000)="200000000002000019000000900100000f000000000000000200000006000000000008000080000020000000dbf4655fdbf4655f0100ffff53ef010001000000daf4655f000000000000000001000000000000000b0000000004000008000000d2c200001203", 0x66, 0x400}, {&(0x7f00000000c0)="00000000000000000000000082e36724c6f34caa846ed2e527703378010040", 0x1f, 0x4e0}, {&(0x7f0000000080)="0300000004", 0x5, 0x640}, {&(0x7f0000000300)="02000000030000000400000019000f000300040000000000000000000f002e69", 0x20, 0x1000}, {&(0x7f0000012600)="ed41000000100000daf4655fdbf4655fdbf4655f000000000000040080", 0x1d, 0x4400}, {&(0x7f0000000040)="8081000000180000daf4655fdaf4655fdaf4655f00000000000001008000000010000800000000000af301000400000000000000000000000200000030", 0x3d, 0x4800}, {&(0x7f0000012a00)="8081000000180000daf4655fdaf4655fdaf4655f01000000000001008000000010000800000000000af301000400000000000000000000000200000040", 0x3d, 0x4c00}, {&(0x7f0000013900)="111fc0d901000000803a0900803a09000000000006", 0x15, 0x30000}, {&(0x7f0000000880)="2719c0d9", 0x4, 0x40000}], 0x0, &(0x7f00000000c0)=ANY=[]) 21:36:16 executing program 1: add_key(&(0x7f0000000080)='asymmetric\x00', 0x0, &(0x7f0000000140)="048141", 0x3, 0xfffffffffffffffc) 21:36:16 executing program 2: syz_usb_connect(0x1, 0x36, &(0x7f0000000180)=ANY=[@ANYBLOB="120100005cab4408070a64006eee010203010902240001000000000904000002ca74340009050303008068000009050102"], &(0x7f00000007c0)={0x0, 0x0, 0x0, 0x0, 0x1, [{0x0, 0x0}]}) 21:36:16 executing program 4: pipe(&(0x7f0000000100)={0xffffffffffffffff, 0xffffffffffffffff}) r2 = socket$vsock_stream(0x28, 0x1, 0x0) bind$vsock_stream(r2, &(0x7f0000000380)={0x28, 0x0, 0x0, @host}, 0x17) listen(r2, 0x0) socket$vsock_stream(0x28, 0x1, 0x0) connect$vsock_stream(0xffffffffffffffff, 0x0, 0x0) writev(r1, &(0x7f0000000200)=[{&(0x7f00000000c0)="580000001400379b9fb61b47", 0xc}], 0x1) r3 = socket$netlink(0x10, 0x3, 0x4) bind(0xffffffffffffffff, &(0x7f0000000140)=@vsock={0x28, 0x0, 0x54e7547e02afa628, @hyper}, 0x80) write$binfmt_misc(r1, &(0x7f0000000140)=ANY=[], 0x4240a2a0) splice(r0, 0x0, r3, 0x0, 0x4ffdc, 0x0) 21:36:16 executing program 0: bpf$BPF_BTF_LOAD(0x12, &(0x7f0000000040)={&(0x7f0000000180)={{0xeb9f, 0x1, 0x0, 0x18, 0x0, 0x28, 0x28, 0x5, [@datasec={0x1, 0x2, 0x0, 0xf, 0x1, [{0x1, 0x0, 0x1}], 'I'}, @datasec={0x1000000, 0x0, 0x0, 0xf, 0x3, [], "f20ef4"}]}, {0x0, [0x5f, 0x0, 0x0]}}, &(0x7f0000000080)=""/198, 0x45, 0xc6, 0x1}, 0x20) 21:36:16 executing program 5: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$NFT_BATCH(r0, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000000)={&(0x7f0000001440)={{0x14}, [@NFT_MSG_NEWTABLE={0x20, 0x0, 0xa, 0x3, 0x0, 0x0, {}, [@NFTA_TABLE_NAME={0x9, 0x1, 'syz0\x00'}]}, @NFT_MSG_NEWSET={0x70, 0x9, 0xa, 0x401, 0x0, 0x0, {}, [@NFTA_SET_ID={0x8}, @NFTA_SET_NAME={0x9, 0x2, 'syz1\x00'}, @NFTA_SET_TABLE={0x9, 0x1, 'syz0\x00'}, @NFTA_SET_KEY_LEN={0x8, 0x5, 0x1, 0x0, 0x32}, @NFTA_SET_EXPR={0x34, 0x11, 0x0, 0x1, @bitwise={{0xc}, @val={0x24, 0x2, 0x0, 0x1, [@NFTA_BITWISE_XOR={0x4}, @NFTA_BITWISE_MASK={0x4}, @NFTA_BITWISE_SREG={0x8, 0x1, 0x1, 0x0, 0x2}, @NFTA_BITWISE_LEN={0x8, 0x3, 0x1, 0x0, 0x6}, @NFTA_BITWISE_DREG={0x8, 0x2, 0x1, 0x0, 0x3}]}}}]}], {0x14, 0x10}}, 0xb8}}, 0x0) 21:36:16 executing program 3: r0 = socket(0x10, 0x3, 0x0) r1 = socket(0x11, 0x800000003, 0x0) bind(r1, &(0x7f0000000080)=@generic={0x11, "0000010000000000080044944eeba71a4976e252922cb18f6e2e2aba000000012e0b3836005404b0e0301a4ce875f2e3ff5f163ee340b7679500800000000000000101013c5811039e15775027ecce66fd792bbf0e5bf5ff1b0816f3f6db1c00010000000000000049740000000000000006ad8e5ecc326d3a09ffc2c654"}, 0x80) getsockname$packet(r1, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000002400)=0x14) sendmsg$nl_route_sched(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000780)={&(0x7f00000003c0)=@newqdisc={0x60, 0x24, 0xf0b, 0x0, 0x0, {0x60, 0x0, 0x0, r2, {}, {0xffff, 0xffff}}, [@qdisc_kind_options=@q_tbf={{0x8}, {0x34, 0x2, [@TCA_TBF_PARMS={0x28, 0x1, {{}, {0x0, 0x2}}}, @TCA_TBF_BURST={0x8, 0x6, 0x7f}]}}]}, 0x60}, 0x1, 0x8}, 0x0) 21:36:16 executing program 1: add_key(&(0x7f0000000080)='asymmetric\x00', 0x0, &(0x7f0000000140)="048141", 0x3, 0xfffffffffffffffc) [ 2031.312366][ T7] usb 3-1: new low-speed USB device number 116 using dummy_hcd 21:36:17 executing program 0: r0 = socket$packet(0x11, 0x3, 0x300) setsockopt$packet_tx_ring(r0, 0x107, 0x5, &(0x7f0000000040)=@req3={0x210000, 0x8, 0x210000, 0x8}, 0x1c) setsockopt$packet_int(r0, 0x107, 0xf, &(0x7f0000000140), 0x4) 21:36:17 executing program 3: r0 = socket(0x10, 0x3, 0x0) r1 = socket(0x11, 0x800000003, 0x0) bind(r1, &(0x7f0000000080)=@generic={0x11, "0000010000000000080044944eeba71a4976e252922cb18f6e2e2aba000000012e0b3836005404b0e0301a4ce875f2e3ff5f163ee340b7679500800000000000000101013c5811039e15775027ecce66fd792bbf0e5bf5ff1b0816f3f6db1c00010000000000000049740000000000000006ad8e5ecc326d3a09ffc2c654"}, 0x80) getsockname$packet(r1, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000002400)=0x14) sendmsg$nl_route_sched(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000780)={&(0x7f00000003c0)=@newqdisc={0x60, 0x24, 0xf0b, 0x0, 0x0, {0x60, 0x0, 0x0, r2, {}, {0xffff, 0xffff}}, [@qdisc_kind_options=@q_tbf={{0x8}, {0x34, 0x2, [@TCA_TBF_PARMS={0x28, 0x1, {{}, {0x0, 0x2}}}, @TCA_TBF_BURST={0x8, 0x6, 0x7f}]}}]}, 0x60}, 0x1, 0x8}, 0x0) 21:36:17 executing program 5: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$NFT_BATCH(r0, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000000)={&(0x7f0000001440)={{0x14}, [@NFT_MSG_NEWTABLE={0x20, 0x0, 0xa, 0x3, 0x0, 0x0, {}, [@NFTA_TABLE_NAME={0x9, 0x1, 'syz0\x00'}]}, @NFT_MSG_NEWSET={0x70, 0x9, 0xa, 0x401, 0x0, 0x0, {}, [@NFTA_SET_ID={0x8}, @NFTA_SET_NAME={0x9, 0x2, 'syz1\x00'}, @NFTA_SET_TABLE={0x9, 0x1, 'syz0\x00'}, @NFTA_SET_KEY_LEN={0x8, 0x5, 0x1, 0x0, 0x32}, @NFTA_SET_EXPR={0x34, 0x11, 0x0, 0x1, @bitwise={{0xc}, @val={0x24, 0x2, 0x0, 0x1, [@NFTA_BITWISE_XOR={0x4}, @NFTA_BITWISE_MASK={0x4}, @NFTA_BITWISE_SREG={0x8, 0x1, 0x1, 0x0, 0x2}, @NFTA_BITWISE_LEN={0x8, 0x3, 0x1, 0x0, 0x6}, @NFTA_BITWISE_DREG={0x8, 0x2, 0x1, 0x0, 0x3}]}}}]}], {0x14, 0x10}}, 0xb8}}, 0x0) 21:36:17 executing program 1: add_key(&(0x7f0000000080)='asymmetric\x00', 0x0, &(0x7f0000000140)="048141", 0x3, 0xfffffffffffffffc) [ 2031.682949][ T7] usb 3-1: config 0 interface 0 altsetting 0 endpoint 0x3 has invalid maxpacket 32768, setting to 8 [ 2031.696598][ T7] usb 3-1: config 0 interface 0 altsetting 0 endpoint 0x1 is Bulk; changing to Interrupt [ 2031.706765][ T7] usb 3-1: config 0 interface 0 altsetting 0 endpoint 0x1 has invalid wMaxPacketSize 0 21:36:17 executing program 3: r0 = socket(0x10, 0x3, 0x0) r1 = socket(0x11, 0x800000003, 0x0) bind(r1, &(0x7f0000000080)=@generic={0x11, "0000010000000000080044944eeba71a4976e252922cb18f6e2e2aba000000012e0b3836005404b0e0301a4ce875f2e3ff5f163ee340b7679500800000000000000101013c5811039e15775027ecce66fd792bbf0e5bf5ff1b0816f3f6db1c00010000000000000049740000000000000006ad8e5ecc326d3a09ffc2c654"}, 0x80) getsockname$packet(r1, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000002400)=0x14) sendmsg$nl_route_sched(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000780)={&(0x7f00000003c0)=@newqdisc={0x60, 0x24, 0xf0b, 0x0, 0x0, {0x60, 0x0, 0x0, r2, {}, {0xffff, 0xffff}}, [@qdisc_kind_options=@q_tbf={{0x8}, {0x34, 0x2, [@TCA_TBF_PARMS={0x28, 0x1, {{}, {0x0, 0x2}}}, @TCA_TBF_BURST={0x8, 0x6, 0x7f}]}}]}, 0x60}, 0x1, 0x8}, 0x0) 21:36:17 executing program 5: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$NFT_BATCH(r0, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000000)={&(0x7f0000001440)={{0x14}, [@NFT_MSG_NEWTABLE={0x20, 0x0, 0xa, 0x3, 0x0, 0x0, {}, [@NFTA_TABLE_NAME={0x9, 0x1, 'syz0\x00'}]}, @NFT_MSG_NEWSET={0x70, 0x9, 0xa, 0x401, 0x0, 0x0, {}, [@NFTA_SET_ID={0x8}, @NFTA_SET_NAME={0x9, 0x2, 'syz1\x00'}, @NFTA_SET_TABLE={0x9, 0x1, 'syz0\x00'}, @NFTA_SET_KEY_LEN={0x8, 0x5, 0x1, 0x0, 0x32}, @NFTA_SET_EXPR={0x34, 0x11, 0x0, 0x1, @bitwise={{0xc}, @val={0x24, 0x2, 0x0, 0x1, [@NFTA_BITWISE_XOR={0x4}, @NFTA_BITWISE_MASK={0x4}, @NFTA_BITWISE_SREG={0x8, 0x1, 0x1, 0x0, 0x2}, @NFTA_BITWISE_LEN={0x8, 0x3, 0x1, 0x0, 0x6}, @NFTA_BITWISE_DREG={0x8, 0x2, 0x1, 0x0, 0x3}]}}}]}], {0x14, 0x10}}, 0xb8}}, 0x0) [ 2032.032723][ T7] usb 3-1: string descriptor 0 read error: -22 [ 2032.039419][ T7] usb 3-1: New USB device found, idVendor=0a07, idProduct=0064, bcdDevice=ee.6e [ 2032.049345][ T7] usb 3-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ 2032.089397][ T7] usb 3-1: config 0 descriptor?? [ 2032.148932][ T7] adutux 3-1:0.0: interrupt endpoints not found [ 2032.348705][ T7] usb 3-1: USB disconnect, device number 116 21:36:18 executing program 2: syz_usb_connect(0x1, 0x36, &(0x7f0000000180)=ANY=[@ANYBLOB="120100005cab4408070a64006eee010203010902240001000000000904000002ca74340009050303008068000009050102"], &(0x7f00000007c0)={0x0, 0x0, 0x0, 0x0, 0x1, [{0x0, 0x0}]}) 21:36:18 executing program 0: r0 = socket$packet(0x11, 0x3, 0x300) setsockopt$packet_tx_ring(r0, 0x107, 0x5, &(0x7f0000000040)=@req3={0x210000, 0x8, 0x210000, 0x8}, 0x1c) setsockopt$packet_int(r0, 0x107, 0xf, &(0x7f0000000140), 0x4) 21:36:18 executing program 1: bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000080)={0xe, 0x4, &(0x7f0000000040)=@framed={{}, [@call={0x85, 0x0, 0x0, 0x48}]}, &(0x7f0000000380)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x78) 21:36:18 executing program 3: r0 = socket(0x10, 0x3, 0x0) r1 = socket(0x11, 0x800000003, 0x0) bind(r1, &(0x7f0000000080)=@generic={0x11, "0000010000000000080044944eeba71a4976e252922cb18f6e2e2aba000000012e0b3836005404b0e0301a4ce875f2e3ff5f163ee340b7679500800000000000000101013c5811039e15775027ecce66fd792bbf0e5bf5ff1b0816f3f6db1c00010000000000000049740000000000000006ad8e5ecc326d3a09ffc2c654"}, 0x80) getsockname$packet(r1, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000002400)=0x14) sendmsg$nl_route_sched(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000780)={&(0x7f00000003c0)=@newqdisc={0x60, 0x24, 0xf0b, 0x0, 0x0, {0x60, 0x0, 0x0, r2, {}, {0xffff, 0xffff}}, [@qdisc_kind_options=@q_tbf={{0x8}, {0x34, 0x2, [@TCA_TBF_PARMS={0x28, 0x1, {{}, {0x0, 0x2}}}, @TCA_TBF_BURST={0x8, 0x6, 0x7f}]}}]}, 0x60}, 0x1, 0x8}, 0x0) 21:36:18 executing program 5: r0 = openat$sequencer(0xffffffffffffff9c, &(0x7f0000000040), 0x80802, 0x0) epoll_create1(0x0) r1 = epoll_create1(0x0) epoll_ctl$EPOLL_CTL_ADD(r1, 0x1, r0, &(0x7f0000000180)={0x2008}) write$P9_RSTATu(r0, &(0x7f0000000000)=ANY=[], 0x214) 21:36:18 executing program 4: pipe(&(0x7f0000000100)={0xffffffffffffffff, 0xffffffffffffffff}) r2 = socket$vsock_stream(0x28, 0x1, 0x0) bind$vsock_stream(r2, &(0x7f0000000380)={0x28, 0x0, 0x0, @host}, 0x17) listen(r2, 0x0) socket$vsock_stream(0x28, 0x1, 0x0) connect$vsock_stream(0xffffffffffffffff, 0x0, 0x0) writev(r1, &(0x7f0000000200)=[{&(0x7f00000000c0)="580000001400379b9fb61b47", 0xc}], 0x1) r3 = socket$netlink(0x10, 0x3, 0x4) bind(0xffffffffffffffff, &(0x7f0000000140)=@vsock={0x28, 0x0, 0x54e7547e02afa628, @hyper}, 0x80) write$binfmt_misc(r1, &(0x7f0000000140)=ANY=[], 0x4240a2a0) splice(r0, 0x0, r3, 0x0, 0x4ffdc, 0x0) 21:36:18 executing program 1: bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000080)={0xe, 0x4, &(0x7f0000000040)=@framed={{}, [@call={0x85, 0x0, 0x0, 0x48}]}, &(0x7f0000000380)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x78) 21:36:18 executing program 5: r0 = openat$sequencer(0xffffffffffffff9c, &(0x7f0000000040), 0x80802, 0x0) epoll_create1(0x0) r1 = epoll_create1(0x0) epoll_ctl$EPOLL_CTL_ADD(r1, 0x1, r0, &(0x7f0000000180)={0x2008}) write$P9_RSTATu(r0, &(0x7f0000000000)=ANY=[], 0x214) 21:36:18 executing program 0: r0 = socket$packet(0x11, 0x3, 0x300) setsockopt$packet_tx_ring(r0, 0x107, 0x5, &(0x7f0000000040)=@req3={0x210000, 0x8, 0x210000, 0x8}, 0x1c) setsockopt$packet_int(r0, 0x107, 0xf, &(0x7f0000000140), 0x4) 21:36:18 executing program 3: r0 = socket$nl_route(0x10, 0x3, 0x0) socketpair$unix(0x1, 0x5, 0x0, &(0x7f00000000c0)={0xffffffffffffffff, 0xffffffffffffffff}) r2 = dup(r1) bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f00000000c0)={0x0, 0x3, &(0x7f0000000080)=@framed, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) getsockname$packet(r2, &(0x7f00000000c0)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @random}, &(0x7f0000000140)=0x14) sendmsg$nl_route_sched(r0, &(0x7f00000000c0)={0x0, 0x0, &(0x7f0000000280)={&(0x7f00000002c0)=@newtaction={0x68, 0x30, 0x1, 0x0, 0x0, {0x0, 0x0, 0x1300}, [{0x54, 0x1, [@m_mirred={0x50, 0x1, 0x0, 0x0, {{0xb}, {0x24, 0x2, 0x0, 0x1, [@TCA_MIRRED_PARMS={0x20, 0x2, {{}, 0x4, r3}}]}, {0x4}, {0xc}, {0xc}}}]}]}, 0x68}}, 0x0) 21:36:19 executing program 0: r0 = socket$packet(0x11, 0x3, 0x300) setsockopt$packet_tx_ring(r0, 0x107, 0x5, &(0x7f0000000040)=@req3={0x210000, 0x8, 0x210000, 0x8}, 0x1c) setsockopt$packet_int(r0, 0x107, 0xf, &(0x7f0000000140), 0x4) [ 2033.392731][T16828] usb 3-1: new low-speed USB device number 117 using dummy_hcd 21:36:19 executing program 1: bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000080)={0xe, 0x4, &(0x7f0000000040)=@framed={{}, [@call={0x85, 0x0, 0x0, 0x48}]}, &(0x7f0000000380)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x78) [ 2033.763309][T16828] usb 3-1: config 0 interface 0 altsetting 0 endpoint 0x3 has invalid maxpacket 32768, setting to 8 [ 2033.775808][T16828] usb 3-1: config 0 interface 0 altsetting 0 endpoint 0x1 is Bulk; changing to Interrupt [ 2033.785922][T16828] usb 3-1: config 0 interface 0 altsetting 0 endpoint 0x1 has invalid wMaxPacketSize 0 [ 2034.079709][T16828] usb 3-1: string descriptor 0 read error: -22 [ 2034.086370][T16828] usb 3-1: New USB device found, idVendor=0a07, idProduct=0064, bcdDevice=ee.6e [ 2034.095824][T16828] usb 3-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ 2034.107384][T16828] usb 3-1: config 0 descriptor?? [ 2034.169029][T16828] adutux 3-1:0.0: interrupt endpoints not found [ 2034.382254][T16828] usb 3-1: USB disconnect, device number 117 21:36:20 executing program 2: syz_usb_connect(0x1, 0x36, &(0x7f0000000180)=ANY=[@ANYBLOB="120100005cab4408070a64006eee010203010902240001000000000904000002ca74340009050303008068000009050102"], &(0x7f00000007c0)={0x0, 0x0, 0x0, 0x0, 0x1, [{0x0, 0x0}]}) 21:36:20 executing program 5: r0 = openat$sequencer(0xffffffffffffff9c, &(0x7f0000000040), 0x80802, 0x0) epoll_create1(0x0) r1 = epoll_create1(0x0) epoll_ctl$EPOLL_CTL_ADD(r1, 0x1, r0, &(0x7f0000000180)={0x2008}) write$P9_RSTATu(r0, &(0x7f0000000000)=ANY=[], 0x214) 21:36:20 executing program 3: r0 = socket$nl_route(0x10, 0x3, 0x0) socketpair$unix(0x1, 0x5, 0x0, &(0x7f00000000c0)={0xffffffffffffffff, 0xffffffffffffffff}) r2 = dup(r1) bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f00000000c0)={0x0, 0x3, &(0x7f0000000080)=@framed, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) getsockname$packet(r2, &(0x7f00000000c0)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @random}, &(0x7f0000000140)=0x14) sendmsg$nl_route_sched(r0, &(0x7f00000000c0)={0x0, 0x0, &(0x7f0000000280)={&(0x7f00000002c0)=@newtaction={0x68, 0x30, 0x1, 0x0, 0x0, {0x0, 0x0, 0x1300}, [{0x54, 0x1, [@m_mirred={0x50, 0x1, 0x0, 0x0, {{0xb}, {0x24, 0x2, 0x0, 0x1, [@TCA_MIRRED_PARMS={0x20, 0x2, {{}, 0x4, r3}}]}, {0x4}, {0xc}, {0xc}}}]}]}, 0x68}}, 0x0) 21:36:20 executing program 1: bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000080)={0xe, 0x4, &(0x7f0000000040)=@framed={{}, [@call={0x85, 0x0, 0x0, 0x48}]}, &(0x7f0000000380)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x78) 21:36:20 executing program 0: r0 = socket$inet6(0xa, 0x2, 0x0) bind$inet6(r0, &(0x7f0000f5dfe4)={0xa, 0x4e20}, 0x1c) sendto$inet6(r0, 0x0, 0x0, 0x4098000, &(0x7f0000000240)={0xa, 0x4e20, 0x0, @mcast2}, 0x1c) setsockopt$sock_int(r0, 0x1, 0x2a, &(0x7f0000000040), 0x4) sendto$inet6(r0, &(0x7f00000000c0)='r', 0x1, 0x0, 0x0, 0x0) recvfrom$inet6(r0, &(0x7f0000001580)=""/214, 0xd6, 0x0, 0x0, 0x0) 21:36:20 executing program 4: syz_usb_connect(0x0, 0x24, &(0x7f0000000000)={{0x12, 0x1, 0x0, 0x9c, 0x50, 0x3e, 0x40, 0x46d, 0x850, 0xd342, 0x0, 0x0, 0x0, 0x1, [{{0x9, 0x2, 0x12, 0x1, 0x0, 0x0, 0x0, 0x0, [{{0x9, 0x4, 0x0, 0x0, 0x0, 0x1, 0x1, 0x8f}}]}}]}}, 0x0) 21:36:20 executing program 3: r0 = socket$nl_route(0x10, 0x3, 0x0) socketpair$unix(0x1, 0x5, 0x0, &(0x7f00000000c0)={0xffffffffffffffff, 0xffffffffffffffff}) r2 = dup(r1) bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f00000000c0)={0x0, 0x3, &(0x7f0000000080)=@framed, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) getsockname$packet(r2, &(0x7f00000000c0)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @random}, &(0x7f0000000140)=0x14) sendmsg$nl_route_sched(r0, &(0x7f00000000c0)={0x0, 0x0, &(0x7f0000000280)={&(0x7f00000002c0)=@newtaction={0x68, 0x30, 0x1, 0x0, 0x0, {0x0, 0x0, 0x1300}, [{0x54, 0x1, [@m_mirred={0x50, 0x1, 0x0, 0x0, {{0xb}, {0x24, 0x2, 0x0, 0x1, [@TCA_MIRRED_PARMS={0x20, 0x2, {{}, 0x4, r3}}]}, {0x4}, {0xc}, {0xc}}}]}]}, 0x68}}, 0x0) 21:36:20 executing program 5: r0 = openat$sequencer(0xffffffffffffff9c, &(0x7f0000000040), 0x80802, 0x0) epoll_create1(0x0) r1 = epoll_create1(0x0) epoll_ctl$EPOLL_CTL_ADD(r1, 0x1, r0, &(0x7f0000000180)={0x2008}) write$P9_RSTATu(r0, &(0x7f0000000000)=ANY=[], 0x214) 21:36:20 executing program 1: r0 = socket$nl_generic(0x10, 0x3, 0x10) r1 = socket$nl_generic(0x10, 0x3, 0x10) r2 = syz_genetlink_get_family_id$batadv(&(0x7f00000000c0), 0xffffffffffffffff) ioctl$ifreq_SIOCGIFINDEX_batadv_mesh(r0, 0x8933, &(0x7f0000000480)={'batadv0\x00', 0x0}) sendmsg$BATADV_CMD_GET_MCAST_FLAGS(r1, &(0x7f0000000540)={0x0, 0x0, &(0x7f0000000500)={&(0x7f00000004c0)={0x1c, r2, 0x1643a3a6fd511339, 0x0, 0x0, {0xd}, [@BATADV_ATTR_MESH_IFINDEX={0x8, 0x3, r3}]}, 0x1c}, 0x1, 0x1000000000000000}, 0x0) [ 2035.272519][T13731] usb 5-1: new high-speed USB device number 94 using dummy_hcd 21:36:21 executing program 3: r0 = socket$nl_route(0x10, 0x3, 0x0) socketpair$unix(0x1, 0x5, 0x0, &(0x7f00000000c0)={0xffffffffffffffff, 0xffffffffffffffff}) r2 = dup(r1) bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f00000000c0)={0x0, 0x3, &(0x7f0000000080)=@framed, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) getsockname$packet(r2, &(0x7f00000000c0)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @random}, &(0x7f0000000140)=0x14) sendmsg$nl_route_sched(r0, &(0x7f00000000c0)={0x0, 0x0, &(0x7f0000000280)={&(0x7f00000002c0)=@newtaction={0x68, 0x30, 0x1, 0x0, 0x0, {0x0, 0x0, 0x1300}, [{0x54, 0x1, [@m_mirred={0x50, 0x1, 0x0, 0x0, {{0xb}, {0x24, 0x2, 0x0, 0x1, [@TCA_MIRRED_PARMS={0x20, 0x2, {{}, 0x4, r3}}]}, {0x4}, {0xc}, {0xc}}}]}]}, 0x68}}, 0x0) 21:36:21 executing program 5: r0 = openat$kvm(0x0, &(0x7f0000000040), 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0x2000ae01, 0x0) r2 = ioctl$KVM_CREATE_VCPU(r1, 0x2000ae41, 0x0) ioctl$KVM_RUN(r2, 0x2000ae80, 0x0) 21:36:21 executing program 1: openat(0xffffffffffffff9c, &(0x7f00000001c0)='./file0\x00', 0x40, 0x0) r0 = openat$fuse(0xffffffffffffff9c, &(0x7f0000002080), 0x42, 0x0) mount$fuse(0x0, &(0x7f00000020c0)='./file0\x00', &(0x7f0000002100), 0x0, &(0x7f0000002140)=ANY=[@ANYBLOB='fd=', @ANYRESHEX=r0, @ANYBLOB=',rootmode=00000000000000000100000,user_id=', @ANYRESDEC=0x0, @ANYBLOB=',group_id=', @ANYRESDEC=0x0]) read$FUSE(r0, &(0x7f0000006380)={0x2020, 0x0, 0x0}, 0x2020) write$FUSE_INIT(r0, &(0x7f0000000040)={0x50, 0x0, r1, {0x7, 0x1f}}, 0x50) syz_fuse_handle_req(r0, &(0x7f00000021c0)="d56cea33946c0eae3241d3604bfce89adddb2eb96960338db7572fa254eb7c69dc0cb526989630e26224c258c8d70ccacc5564d67723f4756c0399174c5460c4995942d24092c36dc820e97344798b5bb45423f853bf50e374323abacf0388cd091016b7a3d7843f4d3ae1658bd34d967e3323a64908442788dbc99c1f4248da53fb5be2c8001236b994ca594e3b3c588beaf3cb1c32c072d768b9e665e7d87044fdfc1fd6452593e6793963153f3850bf85042a5c139799ba8f6cb8d877fc436c4f1601270d6e29d60a4c80d6315e46f4219494ce897127d0b76f5d681e90f4e9282468ef7993cd92076aed266c1db8b81b93adc4969c9b89b32b8768c9f39f2d148e933dbb651746a9364f49986ef73b4c29f647b82b83216bb8179fe5346fdacdc5fda4bd48875cd2f1cf57a0c9a91e059446bac310a6d68948675c35a8e442168fd84d78d9800e5b05bdbce3a6eac65bee7279a3628f2a08931d3d52ce490652c20f8ae529eaf24bf421dad976c68b234ee6f6210c9f9aac3a55c6939d6aa3805b95619546264ff3ff82d0dc690e8ead61b6ed528c3c117cd771a3b7feb214ce8d720640d97f14b399b7f46dc4aad83117e8e642ccb117d13f345536fc3801c124cfaf8aa7aafff6c8df3fdd4469c077eccbd8ddacad80d9113dfde26ae67b226185743b2d53667fb3016fe114f87484ab614ddf0887c4b2c85351ab21a0ece6c066a154b38b4d7c1792d2db2cc5f8ceb42078187949d354b7a08d1529f3d10814757179c860db031dad4a3dc13ca01d1013238ed5f7a9674fcc77f0d34e2118fb851c970d86ecf9de1cfdb8d3ab197480e263c3207c3d7ebe17f9547c7c56b08e83de875294d0fd68df1926ecac24350b2c70bd73e14122ed480c564353d34049e67c26036fc35d04022cd35d6ac00756d3b8550bb22ae80a4bd630a00268d07fa249b0bf545dfbf01bea2f12b30738c6e13156244eb24e6d69ba7c3acdbbefe8bbc06b821aebf836ca07a3cc7b6b24686ed8f3b23085c893e72188b797651c5ab5cceb1465414a325f793a3af6d06eed7eb734ad05bc1f6619e8485259f570a482a67273ee01fe15dd938afce026f1111c7a38ed6d1aba34f009ce1e99140fd0db2de74150541fd48dd2ec5b1d15669de2ffe3a198184b6186ccda31aa64c585ff8cb65b67fe1455753895a88b6ab4c6bf1bb8329739178147e6f15801bfa707bd9ec9da662573ce07af684bb7c880a7d63b0a0a7300881408c44e95c679ea32b0eab845d0b333f245e8d6006258678704aa8cccdaf80cc46138d5b7a0804fdfa34c91d61a0d2fa6c62e7d1a675e5743f845ab40ea5df0182d6eb9781905c94751c75a411699a76f48433142c5f109d5dfddcc0b1dc6254efd5ea50d6ffbc7b9ca031e1a0123844b63c48b964645c6d24707582825e219bcd61677ed4fc45ee1f4be91b4c1b856d65a86acf22b8b0d588bc473248ac040326b1490c2fea24bc0c0a721e2ed63e39973cd4d38df1001dba9b9d995c229655dd26f3cd3d64077ec111e2c370717cb4cd068e0d3a52f1027d3df953e1f1ac768a7215a3695722b1b6714ce43801451a9532212b651d073c780d61712aebadd145c1cd95c1dc0dcf51850046ae5771e365f45858a36e48afe563ec0afee3803ff6a35bc25217b53eda39bb813b8d3d728c21a0b80d014003143666c0d1398cc46a01aaaf97117edda217f984010e7c5cf32535a669d4f11f6b70e3a3b823987ef7c9f878415063bf05205e13bcf7acb287bd0bb0fce77529a711f0ed145ea2ecf2194658dff17c5681cf8c7ad8521d235a705292af4878b3f124be2df661026c091d6c07aae1a74c919f7478d1083f70b3a0fe00c2e220ab998b4595268b6f7cabbfc85e59dfb6ab7a794cd3fd70d5cc4d70ca933a4452df5a345cb31f3267de53519ba39c915d492cd4652843f1d30a5fb311e3b5d868347969f013c5e3b4841b22240abcb61a14ff567186766ce8f6ae64877f672835dbff4fcf19c8230d8a402397630effb698a8b0c9a28ae028d7938ffde488fd64113085bce504cd0551e0eb3730c3f781cbecf0c41d2338766d3f6096661c1f1bec3162b8a0c4099fccd9480e821df8782c2e070530befb62bccd8539fe9dc7d8d3f9bded1bb34db3f2d6050885c8f1d57f5e603f629de7491f5fd9fafcceb565abeaec838b10a763a00a4607d4330bdcedc066d8cf9790d806e03c219866bb8f053a6e602645436d1f469df1d5008f5dcd4bdb7ce5b76ec015a8f4693cb2a63ceb2be00bcf221f0ca32db4efaf8f7022622b335fa8dea4afdd86be10be6c4d66e5f57416add4480509cb98cf31cdda84644eeb782eea041d4bc0e005a20bccc3c4a08cefcdb91cc2c61d9231c4e36e96f6edd2133f9b34e7da90ce20d1c60ff223c6a204bb942766a359b923573bbbaf2a827d79e4f649e79a840216ac4ddb3409c94e71ff08d109bc3f0cf6583219de7d7131a956f835ecf5c131a0b1e056a86d800a0204243f3b695029578c064306a31db53f28a8f0c0302486cd05970904e9b5c53100ac1aabb3110a89820e4d8307c3d46084999d0456c53fec61a9242b486eb41a90f3300fdfd0d8a472e8da7a842588721d1df1f5e4cc425efebc75a904ef4cc881346a4bc23eef4d492e3efccebab86ae4213f42671370579ee7f8341396e9515619e100a8fae2c5cba0139a088579ece7a603c8b8bab9998223fe862dff8480aeaa5970c90b894e5f71c2784e4dfd50ed3e9ed91036e8356c09464de13b4a95227203133b2c2c71cd6323492f083bda58ad7721b6666b9cd93f93f0288482813fd8aade02cca81cd35257e023504ac4f86be1c7a810b67c6d7077f5cdbd305b618a05c03d196894bfb1a6ff511e59ac8ce45d16cee95e1de0797a543728caaa43e5ae42a12b6bb7910d18d4e1ea89d264491287eb23a76095a12a39c46a7c85349e2969edaed3c1fa6a2150494f63f4c98c65fcdd650ac7424ac1ae64421294356ac1e4dbf9d4c817f081f4f7751ebf56788d799bac29dc0bfe83ead7ab3e338b8b84df4cad2b549aaac4e6048a6fa8f8f6f1f7e0e51c8b3c872f18c466e590222b03230f46bc8e9a0171bbd2096c7a480d6a6f29bd74b60105bebda42e59cc830c4b31f6c52687b4ec2ba869149ae363d711d099f94ceade1ada193e931ed9aea0a280ed5f25ad5ab3b4083f140ca17b43e5f6aef2c24a28a0262c80a040187e052ea7d54a528b6fcc176ed3afc07fe6a661d050fb4a3a6abfa3dac5f3230540b45af060781cb5499c2894d6a4a2bf908ddd48d6b34207f56c31229e206c88db3552ceb6e82a0fa2bf7f97baf603d37d6a8b1f2b1f5f95b251129ed05351681908b7cf5cf6cc86dd854174cc19713b4d262b021952b6da5f20f57bbacca62f5b7124409aa625bbea59819baebc1bc2dd188feba48c998d0dbed60d44b8a4f0ac28f6c1c8c9998f7406f1a34e4ce902be2420f7ff51a5ab3b1faa86ab2ec1edbea2493cae090abde43ff27d685c993dedb24eb255772cc56fbd104f4f5275f10d54d7cacb8cbf188ae1a4d29ea880068fb2696b3ba6e8a7c15939e1f7c394ab4bd4c4bef2383121cbeb18646a8e013d570cee3eeecd7fbe84a619f8aa2e34f2e1e9b99d0c7d7d179d9df8d2e2f1cd7ba2c7e60166dc14e5e4ed9c41195935e2884b5bd0057ed0155a5d4c6482e8f554e4cd0d0aef7d6487801ab54d54eb41755d833ab83883b40f47595063ad2a0fee5c661f86b8ab04ad0047d988ad86b3c520eb78dc3d750a57e777f5d766349f1a687e090f744206cb5d048346061b414060f6826d8a884e93f73f1f1f4cb8bd6e8d1215d436d390dbda35b555f550e11e6d8008fce1c429bd9bbd04a1fbb9de28663c1be4d8d7e506bc681ada28a69014b972919b5f70cbb770349324c9af0b7ee7ff4cc8bfe807fb9faa0a69498448b22192d578a1e82582b943051beb543ddca8b643ee6c76ee32278aa8bc92b44a8439a24ed5040545349ab05e831d4511a8da03ca539659585b2267a73775f1cb7c2c5548d3508c896f99a8e5cb55160ab1267e320ac2d7c8f8b57079dd14d301636a1374e24541f8d453978998ed256b381bcf638bb372ce1ebefb341656c02f4092a7667ffec5505e4938dcb03d404654430e244f9f7f7d0fb4189a93f7c2bd7a4fcb3ccff79e41a98adcac3e4c19eebebaec15bd8cea1df0e509cdef62ae10c66734d162caf35a6e511baa717f769c2e449892224fa8ae78de9138cf6ea1d939998a8cb68b0e83cf604e03b99634796d3d495e4617f8fdd9764631e7ed6eafa797deb1159259777bf2915d48b63286f6d6528ad4ca5783609263d9a03aad41ec8ef1e2e1e77734d27229f801192be238468854945c20dab4e1baff9dd593361efda1de95e04561d33cd73a45dff5f85b2e85b0747a49345ac8d38add8ef9c14685eb3d3432f3f994e3ddd4e45b16005870485253afc4f08d8a6d8023b722284d11d56c6ff9209a5bacb7ce1708244bd21878b8cd5c13ab453bd589f6196322de9faede39ce6f94c75d008d2d7ced27a2375cc62c3d5c15c1c4301a01299d8f4c41e5a44e4130e9555a356d6b19728c7d3c86cb9a1ddf906ab63a9447f8233bcd09bd74cf9749f085f0c4689ef40dbc41a7a299f0f891d9d0d3e39409d4d774da53bfb6e8ce668ce50885558e909add2cb9bda2f7e9232541b1a7f742a99740f486ef4f7c98e4052f2da705c56a18d5a8289ae6cbb9dc7de13a8cf420b7a930abaae813b40517d84ae984dfc94cd1021e0e4a7a9e7de841018d474083ca28a829ee03fe625cafcbedadcdef6621ccd679fcd9c9a9ab2136211f8c9a679895aa39facf2d6668e5098b3dd8e0ad78d8caf250dc38f2c9518bccb353ef3418d3906827514c1959d58344ee11a0ef1c1424495cc1a9910187685a47d6dd91f07e5081c5ac3f1b6e363069694dd9072684c5ab0ba56157c10f5fa8409e5bc43b38b31f24a306ca5f7e3de9a392eac1984e877ecb3dfd044f1449b4ae9b586051b1780c0ce462919f4a4b54ad8011d013c3962fc6697d33c2dc6771fec664c82cb16144619b207deb4391866d6c1976b945c5959d19018f15376ce3b05666747743527f22b54171da4dabee2f4e469a5521067de4f92e2bad02e15e812b6cbd27ec88a9eccf600ce7f5643392da9ff6b6412f8e7c68d8c8b9e0006e41777e2a1363a9556befbbb110dff3a84b179da3838acde0b25f53798733a9fb463d76b630aef7c8a43f6219482b34b893fd99cf3a013ecefde7c5c6528e304c1868ff3fd8dd5aba348a05dc950b1c4c281cbb28b800d6d0da180fdee06ec3bad6f97180295ed1d77078156a885b5b0c501ea563e8871adb97dd6052de0ab369bf2d98f434bb2d172d9967bb73d3eba6b52bb8d55d8963bf58d310afedb51c0f94c7814b6da30fd8056ab7be74ac31b1b75c217e3ab93eadcb2d253e5d8bbe47c0f1a411a9e502cf4301d898d905cd5db828e56a722394fa11cca64a03a42e7fc1b3481b71ca0b6a3d9bd1fc8229f7f9d3e6aa0d48051942579fb759201d4715db9a2d399e0745a66dbbd571accf1f2e15573ce832e91bd1f042ab758d9ec13e354f38454cc42668c8d60358916f7e937015f6c38732bcf6131ecde001892cb20fe47153e7e23b1cd2fc4a22662e7bde09f7df10fcbf475783fe23a0fdcb2c3bd8b28453ce523ac19ff77e68c3e9fa0193b796ea68f44132b3a96adebc04181e503f52be4778ef422ce3e6ca38514fa18b500ca518590479e8c73a7942dc2e237d82cda953ae1b296b97ee8ed62e2e755d6ddea7c0334e1b8d76c278bdc454724003106cb6fdc85340d1e784ac8b6551eaabc33c502163ce0d401627bd22ba6be90089372bfa3f91ee745e45844ef8dc0fe3936bef07f9c1d3aadfa4c8e99be6b038bed6beb9597add881da2acc1a3a471f500d68f639cd2bf6f4afab919a2cf747bcbb42b95684e8741b485c3297cf07c7bd98d6653421b61f701a06b82be0fbeecd32eb00feca9c5732bb5e565bccf8c9feb27a50760a785bbb50402768cbd458811e284a604b3374faf3480e1736743665617de9c32fd10e37105ac6dd5303f1a6dc78950bce56215c2a2f9e0ccbc0bf9fe8ccf7647ed29e2aa4948689d681a7a9fe582631338f3eea3df846f28564038ab75aa2a8ee5416b66ceeda9d8f56ecefe07f6a21ace83a2e15ad408d0a480f56708e3d1c96020b124c58f6ff5247f73aff7f77d389167650b8a0b98c97f87a1e5d6c08fa99874ff144bfa905e9da3812f010eeee00f3c9b594450faab5342e1b6e98fed5714a802b67b3e5b1964a62606aacb8222efd4980823f076675ae859e64de7b08f7a0b3d8bc829e1a93eb3b4975b4761cd7fa743e393da537c91f658ea2b23c94244498cdc4bc32c8b9859b9d9792eeabdce635b2d61c311949204826054dba0880505e2b53cc3521fa8b68bbba2ec05050bd3244c02752af1555625ddf50a3656c0043005c43c26a2dc907d5dd67efa831ad974151067b436a75fe99b8c94c9ca9737279fa1aaa09b0108c48c79c7e4ec1eeccfd43aa8e7ab6cacf5a956fc47d4ce77fe719d6eec1730d3e3b3be71d313f644177b6d16df0180848c28b850fbf71168a1ee4e5639bc46f2555b3984dbb91520538dfa6a1905abfb7238ff344d0a7d760f040718a57cfb56634e7de7584097f69f87630693bcf410796266cc3f50302feacfb556bad2506b7191023817527dfe5973101712bda922472076633133a11a76e8bc7d763a2cdaa53fa8d47d442fcc572f791d66d10d8d6a9058ecbbcd6d3dbe45d67b75e1091dd0368bea33ef0f56ba68885630429c24800922062e1066f2d4c4b795332ab03239548df4e6e01c432fe5eb29e8e63f6c7ba4f2edefa208c69e781786e4717c2f71dc2032a98cf1e6d66c10831e17ee776edc6b060ae20d025dc570a88e17da771acd32b7b93d46e43a917b8e2ba8232ad2707324b9b04dd8ee50c3c5a4372c0b1461ab2b7424faf00c7162bd8e8ffc7fadcb055403b0fa7087226ba4330e746af97a3f915f0b9e105759e81fe94a0df0cd6c324fb0b871491b5516c2fbc82c77b07159e3f4c0b7952b74cb4e203a69f241485191e1afc76d12a56db065b0513a41582f655340603c73cb39b728c97d1e919ecf963b91ec2282d25dc426db873394055beb0f9ba20545e2465ce2d0d962f42e1e4c79bdea4cd2829269ff7ef650bbeb5083d39dc7aad668af0b01c521192c548857473b29991f7bb917b5814fe945f4c3ed9bbe0563f4004b391b76860e9fd6b7c0baae82e4ac033f62a2c6ce6a2311b8700b06b5215e604a9b99d37e00450fc7790e893176e9fecda220f838a078a8ef7da7d499b1fe0eb8780c4b9705a6a10674e61b5c228fae1c13488f98c10c1792fa40229dba44b1cb534f9fab6a14407687761d738c91f4b8d4371a1de1a47bde0563a6fc88c4886be5d48c4cb89078c255eb1639598379daf50a672cbf4d8add2d4af6c02aeb1d0f86b611abd363409c7c7fc0b66f307ad3df24241fe06d0f7617d6c3987bb9e5d8f1712aebf095fad19b3b4fcb9cc4fb39012f333c4b040666259ee7bc43cff299a527a8914d71324e91c774b84e9392e615453e9fc648c539059b66f780c888892fe8b30eba799ed18fab08ebc3b9da8bc12a249456351bc0ebafc9f54d5d24697fb53eeb5e734527d690620989f605f57dc65a15a754d304be592acc616cd528b6986064b4457b96cf1fb0ab383a0585acf9887b18e1d6d3aff1e7f2328ea0313a2b36f6f79d671d9ddc4d34fb8fb55a596b2a16c63757083fb4bd01be2e1d82e47c5a44e052279097c5a18feae9884e102cf087611a3b94467ad61635dae6275974f6e6ca7a42ded0ee4577574d56b142853a8c955d92d1eb780de11dc9289acd193214ed4c9f5f26d0481cb3c0c0b8d4c9ad929c61ffeed66bf2e4f7018049593b99358d93559847d55654cee93da30f6578d2e295909791d227a12c09cd4a0edec25d3155086b64a787997a53265cbffb7fe6a2bfd589e12b4d0e21a600276e920397888443584aa99a06d7cfef8e68eeab8fa739c3d8fb74581ceff295110742e763320bed3a4be982b3ebed15ecde37e849aaa91959327d25149f38854ea1137f870aff99979e5e74cc9e45be12e3f0f9912a0955e718a4917e835bca50f43ce92a6bc60ed006b8f623fbacebbfb3dcb4fabd9941a5487c6f637de9a2005a6bc4062e1210a08a51d6f8a5e3f6f97fe90dc7e2e21d4d2f038c0fbc1918aa00e230a4a0e5c41a4808fb9a731271fcc1e73713c9592aa4b2ddccd0d13c3cb68d51166623153445c9ec955c6870dc8543c0684883186082e34ea5714febf8b46921015c3623220d17529896e1a6edac6e32fea2ba30db203238300353602c17dddad7608cad8170b520f6d9d32cdf0156a1de4e9b9eea78f73255ddc6da6994a6018ff900d9886590602ca6a072d8aa5645e2adac0744e2d5b2e1038c746635d5814692c3498aa9043b68f8ce79c44678c5a7d5bc26c085475853b229b2af3dc822ec58047f313c778aae2b64995148174e42908f3ecacd3921855790c0c5a25814416930293010b4f917979d837f4ef9d2d6dce804f5c0926244097746252124a6e0055559ffab197c38778f717362152af8f6dbf7ee03df050ab9b8909556691c2c2775f0f9c26a545db7ba698a4ce37de877705ea97ac0a002db274ea8360a4aa732c2d5e7417138c60cbea69d3b4993ada6a9d8f51d851543a6500a31bac5a057dbef498001f08a44e3c4141900e18b6d73c28c8c67dca805edeb5376384cefe75be1f127225e4d9724b7047d68fa2ed4629e91711a37c80158a07dbce78918931402b472a98a5d5c6b66a2d116314577e94298c37bc441499a9ecea132d87c5d305a0f8f0b3ed16f3b820941082c73b28391d8482ca0cfa78e1e09aa588b0eb1849c6c7916a6bbe56134a6bd93ea306dec125982628dea1db6d022d210627959e1dc819c841f173ed25f356909222e481a1ebb31185fbaeacbd359d2779efe4554ccdac7f4bcc528f656a45049331e16e9c0c796423ec9c7cba15c69d4a8a7741699910f33cc9798a8bf1e48182f08029a14d0131654fd388225d7509e1d7a484e9c7df34d1680bfc6b8d1f6f3920cc4113509fe42dfbd6b261000da9651f7e18088f6c2564472046e5eb7e8c9f8b5286a7452741a7103ced710bfb8e699fb8b1a85c0ae887cc06ef2ff9e2a2b1a77bb4d44ddd4a4e1ba60afcb92baaef108b60486d409889cbb2b1cc77ddff7e4b6caf8cf3488764d84bf3605eb9df709ac6cb36d1a3de89cdd6657f0e6b4009e6dac5d9be14f4ed997cf61e5aaec932520c321359cf286adf6e2dc3094794ae61a4f16089d06e3dc62c958950e73213c1e865c894fe7b8a30de65f5534a1e9c5d19ed49397980126322cb9c72c46a86d7487571300d85b3b5661555f20ab63a78f846c1b8f51a19610a11ffee44f7ccf0f1d67f4148b2c828d74c7f3993965c9067114467a71d242113a68574e28601fce343a023ecc68a72d75259f9a5dce144a7f61ef327192f6474d2bbd06fde3049fe7fb306ba3f54337008d7dbdeaf28a37a224e38ade23adb076cefd3148efcb62539a96d4dfc53f369e34c3d493ac3a5e8c8881133be630a2a906703da62ce7cc02ace9f666d6c3d4b9763a83548825ee1efb54ee3475b09e2616c5bdde3d193181bf020e8ac9ac25f32604b6c11de8ad1a15b9f908c6d7e79181aad1d741b7434aa92597a835c53b9e4b61d6069fa4ee921824d17c98784a8c04590f8d2cf877662b410cae4ebd1ba3616074c020d8cb6099a095735635490d318821310ddd016150edb80370b8d4e2f05557fd619b17192c13353cdae76d495821c610c8641e5b3dff1e7f2ea77b17810ca7975b8e36b7f501a8710b326ef92672096ef66598510902fe663e2a9ef00c3a052f1cfb1739fccb4371f8f28bb92654de5bf87cc2863e92e6d7e4b45d773f90f434eafc8f8398a48527af829a6cae359e7af5941bef158f53798058351107ce58f79ed21036770f6e10e7da92bbca25f369ee83a0f894bbf366a1361f8125b4ffd8e8b4d47ec68cd6b37c840cc5beb8cf65b2269ea1a0e9c371a571f30458ff8ad9bbf8723c19ddae1de5ca7461a436ffcd103c01a20f3252ba0965ee928cfb0d002b9aa4d4f20c805b77e67c8d991c4d07e5419bec9626a32c115d28253dd5f16c17182c1779edf49bdfe3823d87fec88929801163a27bfaeddfd8cdccae8cc3bfd6a9f2e2fec5971fa560c434debd434ff4d0058dcb05d9f3ac5193c458472d6d1685f9f46c8864900c5edbaeeee08971ee1c087f2e11467ff4766743bccf9e3414feedd6dcb904b92a05eec5de8db95444b920c995c770edcedcf7bffc48836c8f30037dde47f0e66fd79550de0ebc3c0c3eba0b66e2a353542eeb20397800e5f41635c5ec2f9a271461bcee8e570ddf945b186f15ab5cabe2a3123189935c6b9010b31732c425a9b2582b097486a5a7b1880b2f16104484e1ca83fa9c278b87e30e4b0cf6ed66c87a979c05683ac94a295d1c53e6f0975a079dd9a2825fdd6ae0926ba1a69f3f69f408eea9d00fbd43235a52c53d11963a611b81dd9f5e05582e1822398873e883662a64c225be19e0b85e102e23fb73d5dcb11435a5437d7418b0409f2e60793038f55ed54c79882b3a17e74ae2148bd558d131dbf446edeb0d05353492534e216761cfcf6582d066a8235a2bd5eb383350a52d7fc2761514e27b6125cb3e387c103dd62e31f5b789c217811c80ccbe3f10fec7a19ad32dc9271368b6d6ba549c45dfd8018507c40962b6ac6468c3078edb71d8ec7f728be8cc23dea1139ac30c2e8d0fc077280e420fbbffc896863db5f1e76922d7dd8e4479c1be822e74212c6f74765e108f916a1b83f6efc8ea54080e9a28b1ba5813a1fefddbe2d0cda413ee1463985b51b59f818f440c9b6a10e4ebf71d37995ae9694ba5867ca2eb2f7bf4e58d26149f2b25943fba216beb3de1f954bcf1bd32ce358b5d23023ab456ebbc493ead41e25b62b5b4ace6c5c18c9a8d512a9cbb4dd59f33663f6138d6b06bc8eb1ec9caccc0077b2e68e7a09d412dfa352e7e5c3942b710ab1648e16d0adda424d9fc2d15c619f4e8093c2b9521e4cdb3f22e655f52ce0fcc1bfd94e56cba8decadb68214451be53f9286c82d2a4912bd2394d1133be908409d791d6d8c2194ca37a76a38d6d0a1fced6478848891d9264cfc08fa849d720339ce00977cad8d9738372184098a7333dd1564d1d7754b4aa4afd6217585804159d31f53017869cb78b718c837b7fd176ce19e3d6996b6f055ed3ba7cd55b0349676c0c113c33d070081ce4ef29af156c4ac8ce760013688d0295d90271e23ef3ca10ec2b3b889855a153c867ce79297a10a02d21e5e8995fbc10d2f4d4bf521565376053b80937bfafaac688108f9962b7c72cf0111874ac8ae27d024ee2f9d57f15b9910a7486ef7542c6629fb0520c93a445542d", 0x2000, &(0x7f00000002c0)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, &(0x7f0000000580)={0x20}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}) r2 = openat(0xffffffffffffff9c, &(0x7f0000000180)='./file0\x00', 0x24c01, 0x0) io_setup(0x202, &(0x7f0000000200)=0x0) io_submit(r3, 0x1, &(0x7f0000000780)=[&(0x7f0000000440)={0x0, 0x0, 0x4, 0x1, 0x0, r2, &(0x7f0000000380)="01", 0x5}]) syz_fuse_handle_req(r0, &(0x7f00000041c0)="0a44566bd8cd7422e078875d6a98d0a2dcc0a0c7881e44e46c6bf84253a3ba4cba8183c2236313cd49babfb721c547a5caed646bac2f2ea43e134e2a05d84cd813c9e2a96e68352f95c458f6ba48078f1d10fce44d869b4a00c68ca338ff3b877cb434f502cedfe83cbfb33d5233d081ec8ee2ac10e08194f6257183be922fc7203071a2aaf87478d1420237a1516e749623929f0d60f15e536376ba41fbbce034588b60680572f0d1d76ed122dc46252cc143f0e665e3f4e3f56bc454957265bd9a029cf8c7397ca01f95bc0e6601673bb31804c34307725385260df48c32527d74e51e5f26728aaedf9f379f5960f5e6e7146eff3254aaf54eb42834e1f57595a2b0333f5ca1474e07c2447c33dbe8f62f24cd788ac18475493edb813450e917837b125ad6f850e6af93e16828a6741c6ac00a4e25cfcd498f1b857e74a4eb8dce5ffcb3999031f1da13e9e6a973134ec04795a3fe91388fb6b349e668f49bd4c4ffa71a8662916219b4a2075bbfe4892cd1080f662005c1c2030d35999c9637f4836ae5745acae8ff0d745184e58241510d780f8a9aeeccb17b9213527a1b747dd23df6b4ac2ca4bd07fb7de6bb4bf8811e5c2f99f4bbcb3cba79fc483182bb981815a1b1ba5afad464631e6eb940a5da4e73787e9e0103bc7ea59cc8d63f740131a14c3cd034e91e885bd730521ba80c1071f25e0073a44bf8e36cc23a5f433378a13d2e2be7fbb8ca204976651924ae8637b339e883f4d388e239424031e20616341a5d51cd5d574382d518e4824dcdadba86143b4de3ff8126f0be226d1e6526a2af981d11092c428bc699ea208d4d38d63ef525b8da551207397fdb7d57a52c2062182072b017141de1b70bd15c758c88c65f6acffd5b5b0846c2a779660ceef46b22336abf817a24d27c3f66839b5f2f99131898dd372a124d9e5df84b24fa7be045b92fb225a735da1be1972c706120c391ffadf231603ffbb86d38ff2c76202a0f81317a7f790dadcdca1d109e4428f52246b17f6b5822f64d36da71167df86cedf76f4405f320f70a3d6d6307a13e023d9a23985fd9c95793118674346d7977654ed14a121c1bc0b3e8672087245e0721230edc667c1fb6bcdb22b3264b7fffedb589a2899096493ba97ce5fb0ad97821d0a4528465380e086b61f632eb0ce1f89eea2d8336217f51b4085433d426d404431360be55776cbb0f80c33e807732df3d73bf9d9a8e3b1468d2ac7c73a4aa239c96bbeef3965132a02254d887e65fbeaf517e913cc331ed36c3e326163d1a3aef7df9db06f8997668cc35e39813c82a440a73f12011bcc0b2abb993b99e79727d49e6656e8d9ecfb7b65c2c187ca6262361c6a7d3679aba9df764d13485874b1443f47d8caea64963011294082a9d50ed2fb08cdfaaa7dbcf782b7e8f8d8206dbc421bf9807727126b1ea364498f3ae693fe19f5b56af13df090892919c136c201a0d058c1863f136a3ff389cc510c17b1de341ca9a8d6ffd80fd019ac3fd9eeeb845202f2c5f207b1e7e169d57164855b9c3dbdf3c696124136d07a4de6be16b43352567a3e3bab0f73ccdd41255ffeb3ecb2bdf9eedd1d4332f4a7534b01b6331474880d4d07b464bd8c3b18d02fbf1faeeff70c8ae35b4eef002930dfa9a0c9350ffb72c82535a55280ac9c6d5384cf9aa3c66cc918497f51a6dbad608eee21f6085f85990983d0a51e5b41cb69ae52d60fa835045aaa0132be8b4dfdb10f521bc22b0192a4133040453c5a0a8bbb5d4c46ea25f2be5b0e79d71c4a13db6e9cb66db9f2c4804d41b9c26f96fd23c358ee9c8f57322540953224b56072af25b5c7041de560f1d4bde367eb3bbac949d9a9a86123ae62d0f4741446192e85772fb893b64c0e7c44a6e967af906b0f50e32be384027379c8dde251f549f94b16cee199da537d07ae89848da801b43bab3b65651402756cb22d17e602cdc33790ec8a5484a955bc8f487597ac9752166a405bbd7dfc9107af72b46e39d29afd2a0447e53377fd11997ab21db0f740699843a168720377e365caf88fd319dca184cadb8ffb4d288a0045b349be5ecb64561a2bdfa13336ef96aea86c48a5e405330a01c5390d482e6ccf4ebb2cf149d8b6274b2f9e6e1066004172a1a90e0db9838afafcb663bd693b2e5ca35858dcb82c05cbc87ec5cedfbb08daf55c472e250861bf357569342d90a667f3ac7fc2d4e54220444a97810ac14b0af6b043a07c1d791182635b983492f21db4a6ffee2d686238869e50b9bb73d75ec26087c0c8cb92ff25740b3995e4d771469b8474efef04d8d75f3544aaf84f02ad977948764d4c1bce36aa4198d6f22091b263d9eae96f1096fe3d8045949f189f33ec713101fea26ea043fe98b987542e33ab372058c64205e90a0e1f52d04b2c5ba7a5572ddb95f7d2b04f22e2e987c5d0f879db65718d8979da2a45cd333a5aacf96081977a9eb3dcee4afb44443ad37528c5a314d1ea08d1c3f0a36d4bdf77fc0caaeaa1eb2746a26683561b62d22f4e166192892e2ec1597f8bf6e89cd53840c8d7baea220e1b5e17df52a05017363727b0cc77ee61577a79b3de2ed364f3419a30d23701044b45ed3ba44b01804750bacf5bc959cffba86619f3331cc939fecadb5cba1edfe28952e0f70d2d99ce696dab9411aa2f7e7ca6207a3b16fc36a70e339aa5a618f6bcb0272968eba6edd95242825fe6e47cf1d50d229d4b1676aad0e9410aa1f2d6d2fcb9c4ec8e06c83faefbc2143de2367123bdb7669bd959782cf64def3a601c596611ac98d76df33e1fe340829340ba0a582d014ffacf9a9394300ab7efd60222cf96a99e42dae6e1ff1fcad1e3280ca07de5ea7e08b264a60015ffb76cc72d70ded58a1e2f59906f3c76433e4353a94a2a49f91103e2b5491ac7f66d54ae2a0e82099c4c9bd683971c2d3dd51601bf5e94f7660158bc6fdc1b2ce3d689a3aa64c29810ad7d9e91e49b72e6f97230a2a966434bf5cdb339556e6452e6b446766f55df45219fc02192cb73076285e74eb848229bffd812f6058782b3f5d0efa4d7b0d3c120931aa8b679e318ecc5ea539e3dcaf87473e2573189ce500b616957d88a09a014baffbd66990e41a3432891279cb82d9c4b50675ff067b76503535631aab9a29ee7e274eded1cd542c801bf519e1119fbab84f57c7686209c9e5177545bf0f403609c81fe6d8f2979d886c43fa3053b38b6e21ec3632011c97451d8409f169f71d226e61fdd206ec5f962b0277eee286a694ba5381493941ed44b3659994d3cd2a8c9c3bdb2f63d77eaee180428d7d6df86f6738cf7adb4b863c9ee9da9904bba4c2c3188a1ce31c5b082857e5566055c8cf58a9e9f7624d220b8d3093cbc6eaed7fcf15fc700ed711575aff5fb5cb7e206c810ea7a766d2960a1356687aad2ec171e4a1db6540a9257385a1e8b9f029485866c32e74c1a19e1113040c9d215f9f4bb4311f0d587b9cb6d11cdf28d4cbcdde4ee7831e5c8608335a1e41883b55b3609b9c4fb8489619481dffc6224e4c98b1e89831187b28b6bcebe7f78c779f5a2896e47bef8e607811b435c517e8e3f19d74752d7ae99cb7caf69c0f977f1b94f8f11bdbf35444fabaac2fc0e568d3b5b3b9f13162b1fa92615bc16492b870fc85c79c51b6516276f8e559e769a8d37a2335d67edbdbe2d4ded10e79ad26629ba6de862acb27fa7d0607a5c83840e446ca0d231ae9175ae9cddf35443ef8434a61d54b704d2b46835ca030d4325dd62918d361c27bd6e422f3f8431ff979953c88a5f3d07a84b733b2fffda5dedbc2ba876ea653aaa2a8446019d2cb69c4c7023177af7b5de358c4a93ba969415c7e3bd3e10a17653cc4c0031dc779d47bedc8d0f77b9fb39484e47d1edfa16a4839d7e3c1f4147bf7a5a41395980d0234577d433c4f3663a648865cf5cfc4a713bfde809cae8161f044770d8f3dd65f183392ed73dd0512951dce40dd6f68927144d09a6df1225769a47a2f1dc7da5a0e5651dc0198c2feb7de7aae5675a3753272294cdc8f05b4bf1b478d6e2a18f6a9dfdc42421bae7072786a4122cb3fcc61b2d0bc9314b92be8be3f9b8b109631305e06b52c0bf621d577f014d0572327c49fd705b45794aa8f198b37c139c4a8008763c654af912552549203733ad09c667104a3c1756dacc50af3d19bd996a99a7f857d9ff8c337c6feb16cb7fe282cbf8c975bdb60a7ddaa056352d9cf752f2b49fd0ae9dd7a263c4e1c1a027c7d45529b5a49de9f2306862b8ef8d386594f9909aabc849c5955241d192ab57d52fd2c7db0e4066bc3f70445599a60016de606b30a92b1bcbcd9dc8cfb492a6e66aa2be612e1d5f7fc61989d51285f1ef8a4e724a46c36bdaa6bed82ec972fe3e929a7a708397432b13e266d9a66954e011a158c9bc031587f9315382dfcc2334100d99b7d50b87096970d294261dd3263bee8f5aac2d86f070d70e278ecca4cf6ff05e511c0a65d6da81b68d94cd635e9dc98c1259fa2060de60d05117090a9a36d7b7aab999cd28a6c0727336312ede8f7fe0118e22aeb4094a64311fa766412d68ee04a93a1b9e2da91afcc91a1fc3c216f0aed6da74baed3242e620482ae01d3055562d16cab58500a5f41145d2275f6da8e24003cae19a7bdb9de8ef57965341253901962d846fcfd687e32fc81e716c42fae279382c8a750c9ef9543c942ca644287ec9cc921f99e9c901810a342e198f3b60a5c75aa91e67c1a6f08008841ddbe0766604b38a211929682303ce61e8024ea4589aa955886adc98f365af515daf30c376eb2b96fd78d46bc3999935a336c89f02ebe822bb5db6a1fd145c4d403b88f17b3fac670b2eb1296b3a5a7055556c21259695c248696162fc179aa1b4ec10e022ea7bacd0255937f9aa89f4d4c58bdedb54b43fde47268552f51b949a9cfbdabf6e3172853e6de9d0b0d9643349595769e98dab85282c49ce8c52301c04710a2c43cf63decaf65243d4756015b681bb680fdd1aba59d63b54e2ebedc68df32e575a95adfb2b18a79688b23ffb498d03012250f0dfaaed5353025aea7a35c8a89873b5f73adb41cc864b9f86e14624d70c917f05e47bab793958de9957cf23c94a9807b30bd7574edf66250224b887a8c02baa05cc02abd4c008339129b3109f1b04da29a9edf472991a440fcc8e586bef32b8c95fcd3d6702b9f43bf41454d5fe72a1f1ac80604c93dc9e9abf9a824c6d45e65b4f39f8341799dce4eac5e9036450ba7829221fdac7ec394c0a8e9813f5aad3ad0052f5156b3dca979e9c9a8755d4be2502727d346889210a13e5391951afef1880bcbd2a9ea020c9b2946563cd40c40f6202bce9bd1d2a1bbc3e5e6b2a9d2220343fd1ff5cde1b4d27c0601b8890b6ad8d3d80075a23725bddd81c15cd1b63e0123c4ac01de7b62b1e0fe2b72eaf400a1bcc63f76316d471eb191c931d5350e83a110b89e77668cfdc47734b91c2268fbbd89ce15b50b84c423a1f27943c32739e99b046a665c966275dba2dd6449b69ec53e5cb9cde89afe4149589c7378f5f3648d748bf3d46fa53f50d1228714252a328cebe7146d81dbb2f850aad492bc0697e2760dc9c60bc76a010e85110c0076478a21b47e5fbc4f7397a319e1db642e305bb1330674d96eb4b421f0f2131d125d4cec8aef4637dce572bad633e076972c9147a48b4c67135ace6a4490e16fa4731d62864e910762f1eb58afa63031c78c375a90147ceef07cd1e8155a649f2558d67dba9d6d2e012a3af4b603cd094e4a3b2e30c65c80cf8d9b2cb840e9df91e70162b80e74be96467574ca0ac5ad52238163283c556f0865c2338d6dcc73fa330634f6e5ce68e766df2db5b7edce0d98203e1d4374e7eda3558667229ea2daeb74156cf5895c4afb460cb4037456b14d9b748ddf7b8f3d5accd3e0d8d2eca2a78056d945eb4383078cc09a3a77736ce4e91f8174fe03fdceef8df92a50c2797b0cd06c6f1ae95650e48d103fb269c0a004d62237b77257807c8954678476030d788543d84770a1533a72141c7ea919e533bc182a3306782233d1a20153fa3e9e315a856e75f760bb7f943ea2f5956243f75fdb241ddfb4c081219ebb4eb3c3e989e3d953a93d96dafe1142c29434a554a92d319747e618cbd3af5202e51d30761e81b6c2d6febf221e3147b63171ea5dbaab4cba1b0fe7dc9cb249d74bbbcd7ef11c35fade1132ee4b74dc6090cfb6f852fb01d79aa0e5ee6897b7c021c6a1e69995e0546932c56e65b2581d619fc59f9775f3e8573b3c4926b8f6a9041512788d11a6fb279941ce24fea916e6568db25f1fcd3fd1e907fb3c45ddbca37230f5b3ffd48cf9c2269ec068d0bc528aac14807636c9067c5e32f2c2f259f6502ffffdbea40ad1b6b4a1d819fccc5c77da908204781747ecb0f2245dfa2941a9dba5d11ad186ab0eb87173dda634bd5a9221143e244c793d6262c904a64ba36cdced65abdd3be06d534b649b03791f7ce41e9abdea4d2c17f14bfbee0455dfa791f241341c78ce24cb8b86a9e332787d4ac1bdc20d022ae9588e8d63c22925d5e507bf41faddc17e01d3354c597908124705d88131b2e8ce8d04d660ce4100b5288d750d996e069bca1fe21f9b84c97011dd14c95c3cd538bf619b1df241fcf286c7014f8467a7ee81b2bef1c3bc56573894dbb54efb6a2fff0302b26c7589e08993e755059ba8b94fe728f1fdcb8ab10a5133d0434973e6667c25288b6e5e2d75202aec6bc0255177a53ea7c666afa79dca738a9d20990f118075b9f1cfb8ff1e5be75b49635bcbf43cb3bf97719dae8ec5c5528fcf89a9dda8fe6c08f7f737d69ef181ad3e35cf8e46efd94358b4640de1c387e295ae38edd0d5b80287f022895ca4dd9532bece6b2bbe100a83fef98dc5af595f4f7e4747ff5d28ab372db71b7c1c423183fa8ba4d823cc05b7be8819dd669b6517bd753e83f4d407a72dcbfcd0e9b2d5daef7fa88c1618236375a50ad2baa6a5e0551e679dce352181a1f9e72f5fca8c323b945bdd92e2d424b3e75041734d099f778fcb1e6407c80e7724d52ab110b02c0c9d1d4b78df12fc443fd8dc8fe82d9f3c8da7b87fdfb11e912c97a4e61425ac7b3954cb2e7e46ed0e24cc0c961dd5c2fc619a9e5e3550ca7bc21f2adc1a85c5b9dade357f1ecfd72646b27e7ab59b1b4d63c63082907b3be4cda341c49ade8992af489d11cf285b81a34c5614284ab4bb94018009e2333aa8e4630a9f6792b44b62d9c6e9d1855ffecab30c611cf5dc1e6ec09088b83a4c2cda9e5ee080df0b5e36b9badc035d6991bfd82fbb408faac15ced6ddcc917a9249b767f8844d6458411c1a31ff84e272311ea968ed3ff02f2e0caa47b1a6e030b07984c07d71e740420a9ed47b26799feecbba4f26dcdb61c9422e940550bfafa99ef0f826d2bcb1d7862016abe81d021be29adabe2c399fb9aa2f3ac472012b26ccd4eea2957343b06ac8ad71a637b8fa209ab6d4351fae53a9af0e920c043df94eccd5c1a847cb17d13589021f1a621b457fbe02a16f0f4b9dee0e7eb9358b8afd999d47f5143d49d4aef227f5b06ecef1ed71207e3526ff82b6ec69d3e8788f6c476437fe96f0533394027cf48e3e146aed7943d872bc35de34f7fdba13e5e1c259a68aa8050a813aa734f202ad7faba9f64b16f5068b43bdfb726e5fa54a1675dcab0697fc47a4fa3dd472022cc0d317d39076ad9847e72e1965b227f3e49ad6e8e742305bdd05d0c88b5859d6cfc98cc47a566269dbc4c200615f3e995511a69d8e724f0c842c06c46b5460dca83137656aae785e8415cfb57d57265af9c1d8f126081bcb218a427b80ccfaa95b8bd3f87f58f09ac52a2a47bbff99b057576d26876fa758c8e41172dd2bd45742a30d55f1b65bafc0c7c9c785f583069caf6de080c9057238e110456c0f9e8d898918b6981011f8dd17c55caced49eed32839305ec37b45e8cc4c35aec0c8a4cac54035a941842e5d19fd298757799c4a501718bf21a024106a292626d4eb3c784119b9f5003c6cdb36e442c04ca5b0ea59efb63fe90f9e218fdd9f0864f407cf8edbe71f3fb1d3a587ccfadbf7a5acbb0713b1ca1991e25e75738ca68e1817d08fdbacfab6900242b91ed9541efd2ca469bf7acc7857185d47506fd0a735d7b542949241976cfb1252f2e490fcdef3166f993ff9a812d0af902001a4f239989c087b41de65f83af93e349a2d37ad3b59c5009465e14030ecdfc8fec2d27939af2311bc5d544b19220b12a5782deb83f0e193f57cc4631d8746e7d0736e1295128f3a48aeacf2952be3005b09de00c9a4565e07692d8355a947d072de4324f2e8f3b2f01483d31999826b4ac7bad4f6ae099225f751995f463e5f762b9671ebb79fdfc51b5080af6fae4837a4e00a76b775eaa6f1fa1479b6afe5d66ac5fd148fdc4750d6ae1e268da446ba08dc4d7c872bd6401f1dd6b226e91bcf77c085e3c115f49d05a29c4e282caa7b8a60a1fe09a2e98227a2cbaa838d6053cb56bc7cc84e6ffa81c18ee26c1b32c2ce205c8fee3b2f4fa8d983b4901c80d766a3299fd62e3339a697305ab7cda995b3cce61e3372f152841ec1d540c9f6cfe2871e7cf4e6997afac85b1c05bed03a5e017bce4b45b0903e9c60cf3538df7df9d8fa93b53856fe93f522f723470c553799c90c56fb705040ba78141f7e5e9117f4876c45884edd5059c8588fc39f9c6268038c4a462a4a5fbbecac0daaf54876ac0217a9ab6f83ec52f15a170005e57baead0e8b1570508e10d2c9808ff3a437436d93ffd02c72c703e2e1917c0c82c3a4b4c03cb91c961451e3f6e2d9d9e58ac1810831d7618f81a34c23cc14029326f16cd043e82ea3bea5c6bcb84152d140659d1a4f135cee82640f96e177c030907117a6c6a8049fd3815fa06249ba4b37c2381c0eca124e7f5abd393c6d175ccf0c5fd4a6e9e00d5338899ed03b5a5023dbe4c6ae1f1ffc192411049e6fa34adeefa3b2e6b45165f341e0b853561ea0d183d93100efe80237ab878312281d607ac8dc10f34e6840a6b6d5c2975348a15761326504c24d5ec648f5714254087bd8c53fe131461ca4cea09ab52848b2526edb91a2bf6c0287aeaac51eb720507d66522ff2f94d90ec584f6088910ee079538e43cf8db55e2f0d70a60eac90eafd82480d11ea5dd795a05a698c2961eedad5f8a79dc3ffa92129f76b8d795e24a1905fc82f11c40d68d11af282621b9a2e39a8dd146013bd3a044f55366af078f7c15adc548029ba4ed896ddb646d74e3af69d8597831e08eb4df1b7ed54b8f3b327753ebf47d50a215c461cd422483c8f2d54f010fa9b76e5afef86b1bb8aa6d4b0c5c9ee798791379ed4dea481feb37ea18b5c7c0146aed32772245cc39628ecc13e03b76c302f80ebcb50279fa2ff74139468a23f36881ee7e7119d8040f90c7e3d8f75d80624d17d881e363b4913eb02e73224c7dac1077d19cc9063f8831053eaa9ecf87ffc31140f6a0a47869e5a5660e5d53b404c34e17b4693df9d5418131c8aaabb0e15aee98594c57cfb2202f209a4529a293b37ef68a2e95fb8fe5142e974f1d3fe3a08ed169379387e96ab5d927771ca7157e9bbd2650992680105dcd6a75829e0643b5ad708e5c65ea4b04b3eeedc24bcac8152cb887f32436a11efab6dc2509fa42d3d31e8aac73e9e8e84a88d7096b9549bc4a879d8f824eb63809a253409294f359b76ac3f031e6bf74a4de018f1c666239bae7bb01c523f53efc922232415d68264872296967dd150af095a12717e7eaeeb98f48c84a70fce8063790f9c2f43db477175e1c8da911ce853042d84e7f24df59e8caca5ee93e2daa6aa18e92930b4495dc22ff6729964942d1baaccd07233dcab828c2254f719132271e9239390e2ebb74ddde7284ebb8955719f7d086cdbe7eef6d7298576fac821eae5a8b6ddf9d88a1dcb32121b6d3ce49c245dd675e8a3b2254a9998ec0d0d7d9570bf6b6db0392c5b060872e154841096351d880f71bc00e5a576b14c26f85840c93a0c424cdbbc57b1d1212e300a874921c1f9c0de14a8cf61f8ebd03eee5cc79f34a41235b6c72aebf48243250c6dae8547b6634374e0bd073f7c162d4226a26032bc154eba7964b2975a8d35f17560a5312cf124741c74774f9a30f8d5ddc891e78bafdaf4f86d16d4c1363d23708463ab1314e3bade23316c7fbf51d2a2417da5162f9112c4331eab695d457e3712bb5f880c68367dba95b61f6f6a9297e477eaec615dff2cd3222f21d90abd8bd4b12fabb278c9fd44ce1ed024ccf908cb4995a1d9da53f62532203d7079e20a46b2b069be4b13a52a81c3b5227f57d6c184945a1799e80dbc7cd137e3427df352c0c0fba04f3b7fb02aa36c9af4611ebb51333326f8f750d662a0a8b43e30acaaeaf2653431b57e95a77adf8261298f791d200c02bdf4b821f7d09f972dd165ce92109c8dce081bd0bd53f598200bb3c5d875bbf1be2a7dc68355e42c515c20f2d72cef3d680a42e8a705f17c6ce15f47b144e55a3e566cb73ba5ee18c5a1535e5f4b4c1774736ed1654bc024b6c748b48d9cea48a06a571d264fc876f9afb2bb43441b39bb3f9e844f70dabd4d0ea06a46c1361a60ef5914411397600e63ecaa65f6598b4ce6f3a967c93ef0697e268b70d0637709ea3fef1da8afed0d2ffd36503197efcf68e0a2cb10b4104b209c133fdbe11e07a8d5c511045d19b69c63818e55168de4357a99eed1d8410664efdc866451de9bf6794d9742e2182449e2ae3869a01f1ed7ee37ffe817a38c502b8243a1c05f1ccbd349c7b9864cbf45b5a3c6f395e4a6602a02bb80ccac94ab66d67dfd8e5cc6fa6321e930354a2c40a1e8d360752dbdcf00134d34a21b24b9acfa2cd37f3c191461f4c9d8243176f42a8109bb05c37ee715ceb027861cf71268f283035d71ce4bae4ac5f79ee5211475ddfc33f02dcd91276e5ca265e5b9104222fdff5969f434a4412ba9fe00aec27f559b63c25a9e8d53c063db549035ec2c8e91e1a6247045541a7e28ff6c13e9f29a3683e55731d80d714b9d5801cfbf617aeb6651290293ac0f4e246df99e72434772b7d8494485537b7b2063c7bc5e80eb6c7ab6647d01189cc910aae2fe8249a0fc3226caa8994b476c6777bf113d153c43da337a6304fd10582d58919596a6de42ad500b62c1e6550d8cdc059496073a48110b2fccb42c96e3e3640f1a87fe379779adcd8836aa8dc545db39bb3afc032c16977e150e9572c3e5f8e04bc15497ec8217a0e187ba097fa95a855af66d47a105bdc3c837091daf5fbeb3ee5ce10b132f912b89ea1c6b9ecb8fbee0e4ea4e43b835ae583b67aab430dec741ea03195fed3cc164472d4b571d166ae20e0a309a80ce00b0fb349f7641f41a31993a8bd9ee092aa7ef16c9563e4db6236c9e702710dc95b198f533b1140441a1827aa4bef6a01c689127eb7028d1bb083edc8a08b8d239389d99948f1290623ba908e6e1c606035b70ba7065f8011451151dca715fb920b4d87858f01c5484df0e63656", 0x2000, &(0x7f0000000a40)={0x0, 0x0, 0x0, 0x0, &(0x7f0000000280)={0x18}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}) syz_fuse_handle_req(r0, &(0x7f00000083c0)="332e5e892ab940a77971df5ca96c9dbbf5c9f203ef7767af4cbd49213fc8bab8c333b124721430300610a55321eedc3143176d419f1622eda94bd2374949953e6c753e9a35cd56053ebf0d3376beedab34427897686989837a5575a1f80121763bea500d936315df01e9ca9756c7862569797df380ddc98422fc5f2566ef99b2eca613961fda41e11007bb7880ae1dfeefa0fb1b07a7709e4139bcdf9bfe64b4c685fb7dc0c63dba3a272ab865bc4bcdbf08ca74b846bafed8044b98989adb173d0b7eafe4abc528898a49f99ec9ec6b98822da15a44889b51ae14398abbe483bcba7371c4048ba8df9d1c123ef6f59228d654f593a90cb65fc7fde574f49dd40b9f423cbb355f35bfa9e0a3c07d38066d4647d33cb4d9d724d31df37cdcfcabcd4541764c64edeedc7007d368fb19937901b49cbd99e4e443ac81149b67adaeb1d974e818b8f9fcc0ca9196bebec160be6d72ed93e73fdc107740d3d0a7b9ba09db98e41bd973477243e680020df73ca171e5e0fea880ba938533c460f243291f1da353d68a952b6b0185a17a489e60f8816a7fc6eb855630dafdef4a887698349ac87329c725659497be4bf279b064decdd0710a41950d5998621964510927339b1b38a5bf43524a8d7f6ff38861909df2446e209a4b63d6f9159f49d9fdecc86cce1f1440b2ee26338acbed5cab5d83b647c2e348a976eb5f38d82f8f113dcca0328288b2710be33665a9ff285b5904ce30a370df23a06ad24016b0faaad2191c1eff28af691292079f24c88b16899334f35e6a9ae1e18ad6ce88d905c007cf09c395b6f17c592022f4a84400be73dd7969e8cc27ca59a0599871d7d82af58e1df79da7d48fb84defd4ea406e63af83fcde875c8289bf05bb652549bcc5ba6f529658f52ed986cb39d854b33c2386418c5f4269f8773e763d39ceeb0f860ad6371ba04d1cf1c3163e0e74ae3834aadbad3231dcb24aa0ba0939b64c14f0ec4f2edb64d4202096f72430b8e1ea7672a0b08f9b166f43664ea9b2e55f8c3a4e37b0886348617b5b6b9171954e67d7ed8dc388d5c784def428e31226c9511072e27e3307892003e39d16189d947a5cd0459714ebc842b14a0f2fcffe44da3f9965837d144f3508ac2bb4ccdee09d65425547be7844b04bbbc0a74029e0ac0fd24307a6b863f542c07ea6e80d7ece98e9dd24fe563fc3a7dc211d08689de1d4ca1320b6241e2c5c890381fd59ee0fde983bd6f1345280acb48c6ae350c63c1a31f4c4732bec497065300c8fcd2062503ebb24ef53f1d9131c324d4e74bc61ebd55fb57477fb63f5370908d4f78dad6f45784824af888cf9023b5711df1b68f23e8573924e0b4ff9bde3a18a3bc34450915e350fd90c54dab41b2ae890aa2414958f43046526ab9baf67d34b2d2dfded33cfa2304e4fcdb8ac366980bc1dc4000c885636b29cedea738be62e059f7ab6ee3fb3f03e491e2e5c7cff307cee9da18f6b60d0baab0c94fbd78e9ec286a56bdd8ba9f19dae9b99dea6405416b7de8a2eaf2367d2b9f69e71ee4a732d868b0a93898aca89010c6c2d20b67e189c900c658a10a68608b0ce8b1286c60791f83bd99843c4260341ccc75c4397ad5399e2f8b459d619e4bb933ebc2b8fabdcddc6ae66e823ddc5ce2bfb3bfe9468d2e1691f477ebaa5446e33333f27f592747ad4c94fc89e419ec5bc9591a279abcfb8a2fe636fe6cc84174546f10f41514d7f17763b64fbeed1940ffe7948c6d3f888fec0e4f48d0408e5daa6eef47f9bcdceaa5522ee866d5e9dea12eda0a2373db308c36aeb427d6b4191ceea44dd2ff4526fdbb9bb871265e78da57cc49c7b198f67051d1b17c45e69b42680acb8116765104240fbfce62aef72e3a58a74fe4fc1f4a38d140c3aff2af7047018d6a27d8fcb17f138f92e5798eac75501703c7f97feed12bc9253aa04f00a4438541292f86051fc9ffb6fc9b9fadebae1840ae2d192a05d1558135b0ceef87b2922784ab9db373f73d21aca2f7753e6fd556f58ecaf09b50ca086d3088ea9a1240b13376bcb474445d5f968ec4a5551488f92744944e8e905edbc6dfb4fc0168efb68baae50ded554a4384c30ccd1b1d560088e67b00c3bae8fe73742f93f0b0816e73648c7b9e5d3477fde1b020df33c683bfdb9a30a0b966681d154d5f31ac1972fe5acf9800c8f9bca0a6443cc26fc24f997e790f54e4b0992625fa47146070060bf6a20c63b2cf42318391dd051693d62357bfaa08644602292c59ed9b7f1b7a2fc3df4c445bd625b07b7d72d6df1d4f3677d9b546e27ea961c410b76ad840610b735863da002fbdc71d9616c0a74b542b03487ccb2cc59a67b5eb5d26c59a40bb04eae1e4a4fb307aef4eb9538cf3fda56d5e78b5ba6458c1169a1659e592adbfb627f38948096a2933f36af60203ca7a343d05557eaccdeaa37785cdb184f218bb022dc2cad2bf1fe3ac2ac04ae3c4f019ca60538ab6e89f4df6f88fc40803ce5541616f45f8b55b5623d353ea071e9c9a0680e38a0798ced114f4234e8cfddb6d182f3d2a9d805468eea6696936c67e787ab5cf0f35b20e24fab34dc674e7178ae5dcb594939db26725d1eb90ddaf8e8bd2b05bbc830fd09f3df0bc4d0050b31dfd11c8e0cb2bfc07cd78b7a5a28f45604015fb0873bce9c9886c1724a20c945d6595510f53a4f7da9e7883b4aff20a01f3ba359b7c6594526ffe219c2851ca7c076c7c7aeb38495ee415a5ce158f3cca4f13c325789b232a5f95bae0e72bc6922ecd9c354d59d25fb30f7670f96a972f94f91f527d341a683497ae7b432cf9f0495cdf4535a9697a415323e602332f31e517ff284c087fded323ed526268709ddd4e6780bc639b86b33558551afd829955ecb2295e55e5d440cdf5949b3a95494e7ac540d99e1793766a08ac47b4426faba6bf8c0664500964e00f592fb2616386680b0942ba850ae215c0a3c70ddd929ba9979e931711d20b16926d0f41141af7710d803480e190b01d2482d0c02c4d5e9dcb3f58d83139570f24d11890da14f840eef4b524532e065acbe9643b7b0d6cba8a119889dae221a2d8f3baabf8bc1e576cf4edadf9263f6504b5725ba97a260fc0c28d1454a34c7f94b13835431c06936fa95b2906a09d3664c8302d93a05765b00aeeaf1df3172de7b6d204edff837f093f003451a07f053ee9df7e30327d047994ef9d6f44d76828ce26cd380a13d9bcfa58c6f7be8836b0e14007d5cf1682f8dbe97d7a25ad1d2aeb02daa3ba8cef24bb937799e93f36cff96f156ec25ea3e9721eb4319f19442b9dae606f449d7e61824b16580c34353af31e1fdc3bc3d9e2c1f1d2088bf371d9c8a795531ef3faff8053fe7d45b55f00998b9bdb1aabeb0b051903520684e36bb180bc3d447c8bc858bfad411fdfb0785b97971954dab75014b6c3495de1541140c08bc660ea125f1dbf5ae0f0c40d43a6a34937db6c6a13f004be4d3726fbb215162569a69bfef08bfe791c222c041537408d959322019be35634f29f0cb46b16c4c48b0935b87503afd689bc6baad287b8ec06d1a9c90a75a4a486c19e90a1574b99ea379ef98f64dd38fc436a8d363e4d6387871de70f25858be157443317980d16a9f49ca2c83625bbdd3d35138e1455aa0a48b39c3191ffadefce70edb203265915a82f2df91f2b783e82e24d3a3dc0cd92545c9c96bd9abae52b2021879d6b8ebda97a3b5aaf258d68bbc15bc6f4c63a2ea90bb6245de649d2be03aaf39bd410d52985613bd4a33096c8709d8fa365c32bd8eb2c17cecd1fb6a60fef19981e08fa9fccd5c092df3bce2b63a1f7e84e9e2e521a71b0f234d12cfc17667a42f7b7642f4c79fa4870e64f0d444b7e82e53272b844573e49643fb2633140d53dd82a928de400f65107a962f8e9d89dcf524fc1e7c3bfca0d9d8ac8bb5f44ae9d23a198153916bde8239dcac626a35613a2f51410475fcc1c7921dc48c2ff3e7e63907f9e2a8d805a5e8c3c7e9db90b47c5a0c7016a4cada6e543aee45b1cca601933998db7bcdb41d6514e6ed3afc79171568b92bc98c2d8bc8abd05fb0b0b60fb08c7b62e0986ff7482797d51d102d7a5314dc43c7307341c9fb305d8ec46d9df79f4bb882071c7d5702311f4d39462b132e323cd7ee34a98e4dfb01c9c3b2e03d507b9575cbe52e5151bfadb3ad227a7ea44ce69af97b274d7c7c19d4d7a9f8d91bd125d1a0204e0a216d24b17fff5eec2c2001a577f034bd2fcd3e0a00d0f3f1276ef340cbfedf6a55f8223a99c6cd4f18f6d453425ad1440f7444d0b195e5b28b0ac0a12dd89587e7b9cc8a2fb41e66b7d048f5d16b29660c4e1b1e8b86c490c9ba01f37ebba859553f84ce8368efbf923a19fb660d69f512b4922f8dfd00c50aa0cb9df505d8d7ef00a9f3d94734c10154346b2327fe66d12ecff7507032b6b9e2a8c4bfd9001b8de1783314958c4729fe59d2d3f0c8b55e9cdb079790ffe5f35da66f4b93ceff9cce81956f09c73d9b2a847c9c26165b53e93ffb6d6cabbd6eb0251b68e0eb2d777b20d46d9fbfba6396455fe0a591dda304c1c62d84db66593bef9c44ecd4fed93991d644230d9bc4ab8d88167e84eb3602a7d4eb3c416b3ec5761463c2243e29b6d71705372c26aeb621b4bdb7cfdbd5b5f613d31ba75df914c4305c6f4e8e27c5af634e357fc798acb2dbb15025a857a82f332f5e3094a8ac97e799597a8e57e193d306b9daecbc4d0074d814fea4808853922161eb99e8707a29607788ff24a0511b0c8322fde386dbc83ecedd8562a5f4f3dcac824e4355e6a04aa661db12349905588a9f84f8bd58a585876c1ee019116c1aface94400ba732d878d98b7c47786bbb14ea0b550a027149b9e708eee27f4e3b719d01d676a65230b98c2b4140243c74858114769a79b149f4a897fed72cd08a7c4f4c35c577ddced8eeb8747922d1f4a8d7ef429c03200f86b5cf2e36c75643e11aace67d2e94a493d5871d5550e11a17506f9e7b9c64490c5171392b809ac9e6757da1442cec9aec09219a8369a4364e9a4ba9dfafbeab84bdcb0a409a860d470f9a99bd7d52fcff5b47167b5aaf338d4b5db4aa520fd8ce16a95c95ec94a3faab015baf8ecb72b87f539ca2c2ed58efb00390bcc3bc8331bb9874697003b1f136ad08a42809a0d456c53e2e3023a8fa123a1e8b4ab80c740d6e2a2e52248b1d1b693ef9b1d6602ee0c15d64e795d509ba60cf5a060d40416deb3f0f760568bcd9f5ab21a7f7762190d70997d5599670339e560ae1ca792f205d59113874ada73c3bf61f5e398a4a0f3679770a406617c4784a8f984ace968e4c544f81b962f48eca4de80b4eb3de86529db0cb375f0b1eb5d76bfacabbbaee29715c51be4ec6d4bf1fc4960545353ac8ed5900ed3a89a0d813e7a30d912bc9ad255b4a962811b4f387997cf4aa808296049c17dea91ae2d445264694d181eb9149bd5046ec74f98a232abfb5d1fd0c405f33acf2cbd02159b87c644b834293550993b69609ff4ca91854ec202cd2bfe25e23cdbf3830b9ce5abb7fd95ac67dad6e6e625f82d88ebbe6b573e3118602644fbd0159de6609d8b63e6d89eb5fd26049b1f609f6c0a3a2d04a836684c941928c912b82898ababd7b87e9e6c554a7f37dfe8ab10518be77f33cab2c70db0a3291f21690ff4d2b34f84ec4e4c1f668ef4f8ae3243b34ac0584f1c170c3a8220b93ccbb3cce4cffe3d44f5955079be774341dff07a8fd0df42b7ebd2b8447e5306a9598c643cfda4a5a9975e0f9eecc389f192a8a6989d5d69d8ac572e57fe43e27472d3f3f0001f6908aba8b7a5f4fb1cccbf25abfc3c7c85174bbea27a60808e7999f6a5d3de49805bf8f08c2226e466ce0ce76d8404dc39ee469ff378c642dd87238ece4a34bf689c71398a5e99dca23f8a9db0748ca528bd80d7bd9b50d9329c81d95eccd36426639c44bb228305ff93c52a55489676487440ae0426bb36e030c9e4ff8a7c4335f940707984061b5fcfd94dc74bf38c261a4918abb1b1ae521ad2232ac1852dc033ef4b7a07d493460e417a2ae1bb6692ea9252512a1b7c5543720b92ef5947b5f8aff02b23194621a0ad223f9a742ab057c46d0779873f00b09769577dc9c63ff0d48375aa5a53f41a20a466d800ad069b9d2ff2a092445afa95a90a22d02206635d5940973cc388da8018f33cdcb4edf9cd86d6a01b2ed6298025266dd799e334c3f77a516d079653857ed3131fd035c9cc5d43dfceb5ca06ccd08ff791861aa41f1fb2b013a8989230960fe9997d29005bbbd19277fa1673ad652f6e91c1079d26cdefcc5465751790e0a0ae557596d25ee9648be689093a52e1e7575e320e1ec908e22d5c0bc02baa2a74f4551dc884cb533d95823c0d9cabdcd0c2d8d927de07deb5038c88853830ca40b3ad439927622063da3e198f2623df608b7f36da89b331084e40201774b411779d19865c5e3f184cbf3c421f3458d5caeb464bd33ef630c251e8bf0ef96bb7cad355390a0aa39b81264d737325833099398b4031f2e9d93f693f974d093ce95c54f33861228a6983c2b7e600549e4cfdc33b19f9e39f1e0095175e60a619fab5073d2a41cf177c3bf8a463b0ffefe9bbd0b7b579cd17dbec20a358b76cbf73692d450b6ec6fb3d77b0f3f61d1b6624861ff8f275c4a91361d68d94c6d5a959616bdb26e8535bc948505ce2df1f0e46b47ef7d5d19fc2eb0b9b705d570611c075fc33882044aecc81b8602992e3aa7874a9a3bdba39be55a1c762246b882a5c415d77f196a8b5c57a15dcbf1507119f872427d3a7256c2d42e6e02dbd544079280701c7bb2b37b757c3753060d159b39be3e05f8faccea89c52da9c01e8721011be676c561c4791e283f04ac9e11c96894ff1256ce9561d9365b98381b49fbe1254902e2ac4453b035ad594dabf14dfc8b59ca9211112a58c9d18d996ad86cde761edeb61ce50a68787c4281f080f61687ecd7d1b26528d16964ca88dd19446c1bc8dce5106fd1a7c7e74fe535d05c996495f5b6ecc104bc4a4748cd09d24595152c4e6fc335b8fc37cf553be46facfb738f5ce6bac4ac61aa567e336649de159d44f3d9faded16bada413a6413d6a1b817724e3c3f64517c955108cbc389ba520e26dcbe15f59fe819c188a818fd59cad32e8f9ebd76a591ce8b41c6b5f7b24ddc99bea6060ed0a9397fe958103627d076491fd6842419e4a3df456c0afbdea7f101a8d44af00c3e2e8ed828bdb552e2ea979f4a6dfb0ca56f0c75830aab5d5a26839a4ccf09b9f7d18f48a9b5940049918b7ab7ee055d89438afd099ec08c7cd23bf90760296f64c8df281def7341b92dbdc12a57ff23087046d3118acfca44cdb7c777beb1e3b35409cfce11123d704d0cbfc14ad03c73ac15b2079036621e8981c07df935a40e8c9a74e16eea222c8c7cceca8b415c14dadb65f9d841bfd6f453478d731886cecf1918d3265e49c21199b8fab779c9475e22f8a713874fdf0d22e105377cdc02708b6e1421e80fca4b009ca15729676675be885e41625ec5960a16d2ea86bef5eea15a60d4fcbc2135b27b4e78e11a6c2986c6ef79d0bc14040e69648540a5c254dd6229067360885baebbe292a091c3a052fa60431a06a06aec2e4800236512821e218c94aa3271720a3abfb8ec4ca0d7ff3c9cfa3ebc075b694695ef955d110e83ebce53426c705d31bb95d608c5b23f54e100900f9500109a03ed71f9d1a6f8bb10b43e11490a45e314a0dddc55497ce79b846ddf3482107b37840685d3875940f0611c6fff17bb32a2d1909ec23127662122682cc1940a77de8d2b31d8e3e902fa7e0949aa3e94617e6dd0002f1d1b6796fa776d10064feffacff7c1f647bc5c8645bcdd1d993e5891bd25734180870d5c0b488b49628f31fccffce6ece46bd96cdf59111997cb6465b31db091545dd1e7cefeb65680706342193b9f9bf4ad63eaeab61b88d396423a98c8d6cd3b235d9925a2c0d56eaf286cc1e83288bb9528fb035dacd4e9deea7aebbea5b5339dd3e4e78456e81f1b20b030ce99957620c1474cd3220f32406b4fcab9f98a00e043fff6ca21fa5d71f6060695d246e441078d9ec5e2f28f97bfe461d87eaf40b37e3e1b6f9b6b7f9dd03fe3ba97d426c8b59151187e18d61d8b231589640f2702464a8f3198dcd153a44a02fb0ff38b104f7410a5b9d5ff41cb92368c4e3a492acc24754dc38e67e66be92d2fc3c38326db35b80ca4dd6d030fa135a02445a26d7e64167c1efba71afed68ae2c981ce1afbeebae56ab7c5df4dfc8811490bc7cfc1c3451108e80dfb02f1d8db947f606d66b50e1d3878681a296df992f4e6fa17a60b0e6205fa95f687476215a4e94db69171cb1db28b107f3bc9c3fb4f990e6a2d873c65bc627ae3e5cd65626daba3e4f834b9e440882dc1967f3911e8f5cf0cf7a0b11d9f460330b9dfc50b6fcbdeee527cf66a2aaa460c2de8a8a727a5f7373b67c0a8dc935d6bc5f7e4854d91216ee50ad2c5921ced89d89ff8dff748bc1605428b8fd475744f542102aae6851dbafe149dc1ae192a031f4a101bc0c232e0015004103ab9f69945a904206de533043b80529686ddc45b0b1cb709750d306ab25fa3874126fdd83a83b7bb83bb9ee35def70767b36a6e9cdc06729a4faa9244c2e56d7b6feb24dbddb27b9fa3ce4daba4fdc8ecb477c7f6970d1e90aa18ad804612c6b3d4ec85804e965cb894c9356adebb7eb8f9f28fe88347cd55725604b029cba5657251a526c0bc6aae82404d7d6fcd04d8f542ddf49a8db1603c1f975ccb723703ac0f89113bfaac8bddd9322e7d266dca662ec457b4298abd8aaff3c87882fb74f99497e78efc0db3fe33b10323ec57d8db66247e6b1a69a4a712ef543cc9f29adb1381e3a096e82657d697d6d4225bd8f06c5ef8f1eeb0c34f77551aae4decfbc0b8b201915efe252a5033a6d9025e702ba41a67db78182cfae98a13256effe02067ba49aeec75eddabd5e60c13681190173488fb501d1bcaaacde52ddd1119535c8a4b23c0cb772d301af8985cc400bda6308defe45765f44357b0ff2f8d900d333de858969095ac9dc8560dbc6dc1489a41c7f94a998a012baa11bab467d6d726ba17c51317365715406c39cd72250e2cf4585ef41d0fa6afe3c6ab1c1de9258d5f30c122847f85743f602acad46bf8a2eb21ff1d42afafb7f5393df6347cc73c69639ced583d85165180ae42a5d242600885483ceb10743e4d68a76ea471dff89a58054c141435ee56273a0da0dfa1db72ce9d632b4778247a511e1e5fb4f382477fbf442a4ad803d5c7cea15f097a0217b908c1cd079849ec4ea23e48f27a6026079e523cdf13f10d7dbc051c820aef80444493cece9799b1db3897934c97145688aa0dfb0390d865bbf9cbaecf227d5f999533ec8c3950101c58ac6d0ebab43f8636e404b55b2747933151b6147dd19e38f51fa01592dd088aa5b133aef846628c5bb1061d35900ef7f13b3ae30d7e0077e83c3cbc3100398c8a90a52923c06aa22376be074c9b8aae16779ae920a1fcb8a1930b9f11004c43c1573601aab0faf00b54d8dbfc430e9324e5d1b40be03af19809c2af62e561641d68a8fcf75cb274810ee7c3447906246577bc23c60dc7d3f0d05227e63f6422ee5d7ddba09a6c967e383bd9251b57622384fb0627dfd7b2c257fff2e5c7305d4fee689ea2c38080a8d9acfcead36a1e8d67abd6b8eca80cc944ec874042f6514a4b3eca3332fdba5da316244bf1072f1d5e4512435cf3e5a7850a3ffb163a10a0d89b6acaadad78bf75264f313c9a8dbc8e837fb90c6abd3dc876d453e3d889ea114fc81ae9862927bc6e8db168b3049e1dc2d3c63ccf6ddc78dcd0c803853cd512448e3f97c92448b3a369fc4c08d1d95e9152df544e4a868adca24a944c79dd9407a81c5e8a555f4228a82ce96659f03f288e9bfc88f44a94eed9f7a654c9478ccca8eac607f004af3029c4a3519b319f8da729fbb501789e1e9e73384fb1307350e1b1254e9906854fe79c15af8efdb2c9668e8bbc5ba3c0e7db811a54856867f1b242813364a02a9575194757eeafe5c0bafebb48c8cd83ea113b383c018d21d98bcf4334ad58dd692275a66a205eeb2ad095b6018b2d78fa9e58c642254d7d1348a48adca339c1cfd233d0ddf8c20fd2056cd256b63a7c8cbe892d7b3ccc05710defef13f91f7a978ad56161848f06935aa7ab2ddabce68af6176343eb9c215a59e82cc5696bd78c6da92dcf7ef873d1670b9f215e68254fdcba1c68517e465d5c171eea853e9b3027c992278ddb93b87579aa978f650f57cb7525641c0b33ee10c50e78e4a540b2247a069e45f4727fca16fb3de03c416b612a0e2fdc2bd6c8a17794add87826a55b39fdd65628db5c8193bdede02c021460f7e85970e633c46427798bc7b08c9cd42e9fad797b3a1c0da27d82db7e62d9f86a7abb654748e2c807a12fd9c7b5472e9a415c91894955af999727358dbb054f51d9d9488ddcc6cb7af24c8fc359422fa9b02875aa38834b187c4daf0b29c4b5a9743e2de73aae74c8ed630f8fe7697791f34c089477dc39fa87fbdd4e0bf1e7cdcbc2abdfcdc0d69da5657b7dd31ac6e72e926149e143adb6ec026cee76078783d34e604783de9c14a917e0d38e647119449a14d001b6166871cc184db57f941b921c119f1b5bc36f0fd3cf3bc38d0924383a0239ce17a45d946c555d72117a280f4373583900af61d02f8693dfab57bd22dff92acd399805c5ef345354c8ffff7667a3fa307378e01e033d3254aa314a5e3259a00eb26050a07dc66c9f66947a7358f50637d306c3aa6d978abe8c9eabbc15ed04d4f01cb3bcb29867e643ba56d9f29d14da2b06c4d8202dcacd92a164f168c70b47334547275de040bb34d33a0e4590ddabeac5cc5be0fdc9909ede0cf152de13a7e59d2011b6208369f894afce04c92a7e039b7d2f2544baa72e778e37fc11970a9e568c9f3082f47861738d3943dfde6d29e838839f3c3ebe584b5851dc007029994b7e7b5f525d504cfdae9471662a510f95f57c7adb82d53045058d26ab183275f36e9cda80b5c6b9a47c7823d63394280fd112fdd83ce9efca97e78e3be729a00c3e833e87bbd3bc656425844e4f882940a6e04b2ddf938c828216f44337a2b5fd1387ad684c8a102f66be6a3d9d9e1f877ed99523071ec3d0ab18c94d777601f9f2018aa9d8e62fb69ccb9841b3cd8677a161952acf1d317da83d301b68716bbeb4a2c85c2fdf3e8a89be624efadfab6aced2ff0e7ced9f5362e787b0caf9b98d335f275f50a3890958c866aa26f66ffd4e5feb8de5ca9892d60c6f8e12801d9d32a464b2ffbff67041577079ee5dc60958c91ef3ec36981b33b5aefe0851a8325486329a65f373f1bf868fb33b1e9e6238d17adf39b6d7def0ea9d05ddf68b0a2de159c8d784bd0e10c8290668d91903a8d4085863d08da0c30ed96db77731deebd37fec4e4461639de657c5cfc5c5b4a5467412161054c5aa0e3a545ff59e81b2630898d34f27a8249e389", 0x2000, &(0x7f0000000d40)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, &(0x7f0000000400)={0x18, 0xfffffffffffffffe}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}) syz_fuse_handle_req(r0, &(0x7f000000a3c0)="71f8280b9efc16ce55d709c1ab1cc56b618d25fa7116917f12b970846586dec5e50b399ce6d2ae00a093d974c7f7f551130f3c105ed63cfa3de8ac76b09dfb6c93bfe140b819205a1088e6db6f3d92cb0e344f590fa0bf5783be563a33aee64b9db2b30cd7a211a2d7b1e41862b7fc3c7eaba17722f0695af11a7114ba35bfa149651cf98a5aa1b6d1854168d4fcbabf9cb2aff6a0a42c8fbda790b92a6b80fea0bff87fc2b0caf6da7ee263c0048bf0dfcb7299f32acc81d8df43f60f5bb71416efa45abe01948fa2194dc464574a27ec999ec4d6972feb92d5ce4bbb552da24d332c5753ea76d8dd92ca246bf61d5c4ddcb4a463262b627670c78924843e67680f16bd790e1801898c08b5764a6582fc13caee22b0b69363ea9b1f48db402ad811e888e8d0f41573ccc8e5798d2ceb4ca45284a4290a7b7a46a6db464728df164a72ff60d579752f7a66ec202413d49b71250604e0c23b5eac5a9bd145ab0e4923502246bb61d519f263bf99792689472969c36aa5cc4587cf2e3cefade9384db83ec97e80c1c189a428e7a0e5baa57fb928748f6c2c5e40f816e9720072776c210bd3fe25e9cd5379b1029c892ef992fb69c39b25bf9ac75bfe111e1437af384905905f28748d71a305af0f946aa11ec4106c889bdd8fa016a5da9898c793bd9fcac647cc1a5a95b1d9819502968f27532001ae699fbdb30b0f2c147c8fdc83b0242da2915f0ef521a938ffa20f6516af9fb2b3330d293223a62972108bdf5886368438b77f3585b6fc3fb7f0499e293fc255e4ed728656160eb0c4767901d9173e5669af53f5c4ac2646a58b50e93362381308408a0a673a9c8664413085ccc37dc3031aae1713686d06b897b00d9b6f1ec138d83a748e8977c945783e0b9480c54f9519a66dd86144f533e4fffc4789c89c9fba7afea9351ad8859b514d6460f9e18eafc63de626d4852705cc81acbc7a1b74bd7d6d8ba9b3e4b182d5ccab45074166adc8974cab7460c91a50b55ad9c12881c98366a7e2b7c0e5ce36b4063abe9bc72952ae14e17f79d7535764466d966a6a735bd702256a04ed1500364f20d2e3b1785f793c956ed030a06d6fa7f54917586f1237ed3917b993b6b62655bb095eb448c2af427fe70b80bd387879f64b0c1c68a2120a5401b795e59397d1559715405bc65019203b79a6e1d3c6de8ebca27c9512c9658b364bcae4f2b8f94a1fb2222141139770f012d0cac32c9997b19f73b9ad1101ae87b5e2f8c2881e84f806922dedae40576ff05672648aafe7056a799f9520b37f3d8a3d5cc41547b98929711830a97810213bfd996fedbe8967fdc250eb25e941c1a6cad21316a5fcdec1d6d592965fef694d5ed70c1cf5150971e732f250667ae8630eb2529e6d98a23fa8428b0c0ad0ca57a59f74b56d2faf4e07f48892a72acbf17a4acbc485514194905441ae51b328068e1b0f9331b9e46e08711326d43aa78ce5674fa5b8ad85a940cdfd84daf3e9274dfe58d4eb652792f991d762c6e75a80a44851f51743bc92d936c237c3e4d597b92b75baeaf257457edf18795b294d4ff636be567602bc5f33dca308ea0fc335edda49086798fcd3e52f4a74373e9962235caa1bb2cf1be956f3ee33c8fdee3fa62b96ebc8e0dadcf405b443c54f073367cf743ea2ee3e6e1acc9559cdd9c5e2168d46f7787fcc9169fb2397e31596867d2d1e3cb03b4c6a177068fe8d5747793d7be0af85c3be1799104a2120d6b8aec59ce3a09cbb649f8b8d9fcbb1aa701c470eaf9927363442fa2341344225a950f3f7ecd81666113dfece316eb87bb0f2f647cb7780006db5510dc1cc580498d98963e8bbd838fb4a1bd0085fd2489b70a7351daa7f79d60773c333a46792b3cef684b25f0faa00efbc4c40ec44456132d3fcad9762adae2706340ec45d2ee8c3acba62c4dbbdd508bedd59550ec9f97df064a6664bc01a14cf4614904102c856eca3009ec371f6b01ca7df8cf41e49191f5bd42312fddc3751f905f888cab5832439c2684160f51a37bb55cd6400c8ae153a9652cc5e90bb032d95fbe4032490c708463f419731efb3ab0fba07d32867504059b8d361dbc023c58269ad150d29720004fe337eca514487be8b788fc70e202a279387a125de3e20ae534aee35ad780c23f653b05fa65a2accba446461a6e963e5ab617d63d38de9f31bb07a217ac5095e70745fc2438be4a421bbc251f6b0957fddd0e2aae27d0e206fdabbacaa23fad48b4322b97f49fed03d7532ea596d6a391f8fbef808e344dfe7161037dc7c9fc032e9a3423f7b47e35f78853576debc4d947ebf2bde7ad1032e8fb556dfe540095e14d1695ae1cccaef832a2916544578ec04eb04f042f30aa6744e9fed627150eb67cf8fb56e1430c9dd5e616fae9af4ad5a98a573fa5034b1f7b150bfe5d3900c5589bec397a635800aa839126a1011aed83e6b161efd2046f9a0364bc3fb5c0b87ef4b31b312f94a679b55b45509ebcddf0d5abf57f9ca84da80c22ede9568c981c51040aad47a7b2d10d14c3bbe049b762042c9a17ec1b0cfdbeaded308a095e7aee77b43f6e88173f7f45ff6a5b8e43432765c54d506c4f87370179394361c993581366f1ddad21a4ad7f4b8d394fbc17864b3a28a3313631e82de515a424f85a0fbf6d615b29862c6022d24471641335658944c3d133c64115ebfdac77726cc790947ae8231d6762b26fe1502eb89d8ead8dd1e1471318137f81f9a07a5889605dac03d82df4febd68173e90f08b39915f695ea7cd98ef7c5210e29105fcf6b2fa1645153a5427af12f40238b3adbcd6f9d8d0aab377682d3ff26b66baed420cfef87befe8a146542ba56a7971f6e0964279d2bb80b81141d1e7aed18722c2dd427917aadc72f84a32fd76974e835281280146d3fcf5f7f52a0985482fe4633a70ff675b038c983f8423b1e2cc074f7c26e0b41c56095968021675ffaa3ec62fe83bbe313607f54c0829141ba27bebebf13c0571e7025c050f85000dccae7ac211ebedd6f447877c4c46c413605a4cde97489e0ca3162128341c73782b88ba1f599e379f15fcffeb5080f5459a44709775b8756cff20b9123d54af8e98e2eab926a21dcef52e6646c90668ad426b4468e0dbe041c69f65f22b3fd12aa42f157dc5572ddcedc51132c3cffca77a5dd8e970e1b36558135f8d1d014812dea4ead37c97f59d49bbba1abe9546c2f57b3c024c0317bc9a4ff6304301dc7f883863e991a95b15c82e8df768ccc14e2c6ccc4d34822e2ae5ebee0d46214abf9813dbee6d618bba2c0da07b9640ba86530d6849ebe2ef395f6326aba4405367b38486343f4211e3a10c830eb3477714bc783f9bcbedbb4ad973bff16ef6126aa83a984cfffbd94d19a9d35929c340f04784007efeac03c9f1f145362a29774e1cbed52b565b87fc84ba45a07e3376df066edbd1751edb97fb657436fcd9ba38b763e7c8aaecba430a20c5669178e1d8ce54fa60f450dac0f02b504e64ae1c0cc24acd54285e4d3b7b4ccbd6250d74529ec7547af70a2b0f00b406371eb17c7419e715698debd9e672bf8601fcfe5176cb6c3398514e893ca061cf299cb845b11b7edb89be4fdb45b1890d5e478192cd0ab1d9c342f05128bea79ae0085b6dd73b131fc66379a7587f1d9af0f15869fe5d54ead5b74e0c4f31842ad07e01a76573a51a573267d2c7ea95c742410eb9d56e941ad8ae01fda29bc25e54e652290e377f557214e38887bdd1bde2eee58d60fdfacbb05e36cfd633019efd62af0b60d4aabe817e55f707568a30c969dc1c33555c3afc0c0a67edf5de1257c6e423210dcc9ec41d334001afe0a17c6010e55ca4934fd904a05e91455625c4eba176ae7739170c4ce237cf1887a79c8528b17c670f19549cc65ae041ac750fe29875afeb48d6be193e9930fc00af66b8040716c89a7e9b11f348c9072bd1b3669c8cea59a6155a3a7f0d7e6b06a8882ff55598245fd7cc659e91a1e5178b388e18bc46fc102f9f1a70cd3eeddfda6eb004f2e825040c80a816deff7bdeaaa7f2497b48934828677dbceb45faeb9ee975c4c4ace0bfa7565a5a147d07d0c60a441d8e320dc27dac720927b5c129c9c711b7a0456af3cc8a04330e7e63abdf041429a52574c9d93911d9f0ebd3d38d354e1d356e7e4ce4aa745d9f467a8d25d509bd43cfc7eb906a3e1dfe18ea78dcd5af4df8efa93d585aa1c88e29855fe20062728b8d974cd03fc4eded783b28af4f883ca1be2287b815b840bc29c05dcdc1c5fc76de3b3c3a7fa014c2df9a975ce33369677c0eb72a5bdcf4c6849660479c30723cbe7aa0631977cc4652f9cc92632c48654b3f441719bb15300d99cb551d264bf227d2e1b4002aa2ca1cfea0eda036026b4b0e509b2699357fddf2f406e9202c791ccf4a6d8a7c71fd51aef1d097a643b036a4d6d089a5f6f98bb7ca053b91bb75d01bcc3965a635afc606053f0d9be6ea88f3e785c09cc321d66d6c09d2127f9edb687aca2ff3ab9b8d9c0e9cd06c7e27f27a6f9f90771e1922700eb3fb36f582a90388942702471579ec41cf76e3c392a263d2b44e6c3bc099db48ddb337d84c206efebf6d4e2a504bfb4332c0f5ffd3797852fd2e7694b42089da2611fe93ad7668e109267bbf5812b3f127279dd23fcc3a6628367a1802c8adbcff23c7668a7538ad7b478f2d06667537eca7ad15cee151ca7967c9d66d9ba91f818e14a2f6ec845650540be2d448953157da45e7b85936fc4640c675931bb963b0d048aba24693e50ea46532666bde925acefd373341b74de58f8dc54af48d70b54724233e09ecca211af8b365549260423530f753aa3fe388aef447d784ed813dbd26483dd6a92376a0415a021fb637cab9d71557c3ef650b7246d2ab175c36a69f19d7b6cb3aa2c70d4d5264040e1ee829c00b927358baeeee8126c42d4aa24c138462059064d17f365793f181b3a50fef7ad81db7242b78c3a05ca8c3e7da4746fa9b155833518c1ef877709804070f642f23f22bb35d9b8d840b05d29fd9d630e4e191f7b7cac066547820ed418a929e61c04633b291081d000d568bc657485f2a38a3662e220a4e45a74e98c4586f19bab66129644c7c08a4b81c94a653032dd6bcb5f395616bf66589553db31656f439b027b10dce30eb992bc70cdc162e8b3139f5ade21a676d4bd41834c11fe3e19f997e7d5e03e3ec2028c10f1fe77d7871331f368be3f3a341ce54c635db3173cf91934c27345a1fd5c127f513bd20eae65022271e4cff77f434245a093cce5ce2da1e6b921b2c7d0436ee2bde134a89e535ebae3f9210951420ecca2279bfd7fa7efaf987faa21c09797a5eedcd77126f09a38631ee5b7c7f4bda34c284baa3c5229d9fc7d2e2033d1199f096b8024659b1dd05a45784add49984e2146f50b9f4778405da7c193ca215020c261f4dca66bde0b522720e4647604941cef9283e4efda22bc92b4080d309d7c862ea6a6dad583cca0a7d72e7b80ccad095dd8a90f01678f059bd97e60e685202eaa23a2e5ac435605e7905c008af923c44c8cddba1001b47786b722133a96fb154429df884867602c3ae67efcef471664077c1b360399c4622c234ba28e4da1e39e6ab7a2f61e8372135e8bf424c2d06876e8c1e121991d964f3dc7d3d3f38b1cace73f28010d40b35c3261530799b708c10588b7138d01b91b83104dcfbb5da4b6036e6103855942cfeaaf3760b992086b8875e27c6cd82eb3d50924f1a53266b7913c48b8bedc8429ee03f559125a80f7ee1c251fc2525b0934605c498b6df946072e52bfa17f8e759a260c093a6b5a1260eb892846514d0ab45ae92f024312c164012d95455e58d553a48f85391dbdf724e9981af73f017960af6f2cdef6aaa6c0e6f72921e30cb2a23ec5e3f55938d7d309beea107f7f1569615dd5f2b58938d17e8145466496972a9c7d882422419c36c58bee5afea4f3fb70c97eb9927c94395a860262d21b79ec8aa437e128d2480dae53a4712e5f5621181db0959092cb5f9bd4817c783f3cc5118415573f9c1bea0138c0e9e320f19af464e0178bb67f998d9be906f6c0f856b82d331c1eba57cd40677b3747cc8770e80b49df0acddb7936dbe59fddbdfdab544d673646c5339c5f6aea9e78fe36f1be47633bcf3bb59f8c7083d9a54c7d1386a36b152e95944487d5416f39ff38965abea3af2947328486db2460a97033c17b4ea6d24e6b5d6ba154566e41db86f58775a82443893d1c8a85b5ea528479c43df8077a003ca0b15f2d70697f8acd456c601603b7ba2cb37a749df563a69ffacdd7616a0ea51bbcb56e5b6802f74b9f38cd1a05ab50e742109b0ebafba67c2277f1962bc2ef543e495bee91686df4f84c70295710d2f5eaf35b96fa7716f0b222a217d459dc1ea919abd635f3fef75fd94c1b106d84c6fb72499f20151e067097e4abf67c92339bcf9034ae6923e444f9467ad5ffbd250f6f3686feaa5b2a12650cce194881b59c5b577503352dfac57e2840f353f2ad72c561782a52d4309844c5e01b4491413d57a0fe8593c1cf8e61555fc8bae49803a68a5a9ab108e9e7cebb7835b894cfa8660348fc8f5c453de66df4d93905fc9ab4591333f36bca8aeae08702a43a775a42aa4708465cb8da20868474734643ce031fcff0f8f424f351769a815eca1b183da3bbee436d5bfae3fcdaa57dcf0a1de94ab4b9c0d84bef2ebd0638c3a375d1db2a934dbc75062b91a3cf8dd668af3a36737dd29d1a1033bd30668390e7a6ffa8de6b15798c7f520ff794cd5d91ad9d2a5ff23acc8a2993dc62713e520aba8b8761a49dc509197739169d3d7211cc8d22d2f306c9e20f6ee83028a3a747cbd36214a8b45d007d423015a25eac14e05171ddd3ed4272f30c4a9380808f6fdcaeaa854a5b4a436f25fd24dd6cd2c32aced940a7f4468b1888bb94717e8312b2d96a21c1a2673979d1f2179b8203930e06834ca226ba8d079a8a4ea43a9f6ca25c049ef88b31295c89d14e1c563e59da04cbc583ed54c3703e7e8b9cb209088acaa3458e08ef308b7fb2f525c3c9914ea2f46104645e762fd7488acf2810da3bac7140b9f59546cdd264d6e14ac101c000569015e5d236394324981dcfc9761a0f68a7ddfc5c6a5f7c93d4331e3ebd9b217445d4cebc19864d2a7162a372784e620c85c7f53117296260f6681c8f3a4dcb26951ca044422b9168d041602dc65016e911635c74bddb5cdf128838769d31be2ff80f1fcb4eb39fe447eafb3bcabdfafd4712c6ec39d2cc5965a4ee04566b4ff84aa6607951b40609a81a5afe055ffa5f0dee10182acf11cf366a703ba821220ff11f6bfe914cdedec031e304b92f6a5df84fd853b55286c3cb41f82c4cdf67be7cc94a6062c2a04fb26a60e8809732a4c94a16af2451d194dd545697a20b3155fedf4010d918593a2a2add579939b5a53d5e93c1a4b415453d63082d0c75f0058473ac615fd1b8b3ecd98684395b02aa9e995b428a1059caa90c91160d441e2e3797d5f1805eb1f22d5592e859d6d8c42f34173c17136a4a0416df737d9638adc03f87cd7d06581f672e2bc0040b28f6b9e3d8154a6dbc34385e18c9dc01878966e3007684f0988c4595191f1c9dda9d9b0e89ac4aa0c3967915478de968e75aef82de5116cdae2fcaa4f6f8bfe2f2b09ce76c6992c8ee1ca7e68d6ccb9282cd5214b7f32798b842f7d911b8067c8437b8a57d6c7bd47cf4801fddf7e50aa14731e6924b46c19d1a444bd06809fb89ed09d8138ecf87bfc52c1e3c24134e70724cbe90a2c7ad0d66055bd7684a7b765217a1467989ab0b71d5ad2e70659fbd0147631821c93f3e63e9770275cf697a8efe0fa4d6bde8a207cf4318e05f3d26c72e8ced1eb2c98fe5665c1699a1d8e863bc4087067cff11a617f01f2437fbca3ac994938e6bee5cf4192c27baaf29077867b5d4ce9a4f6b2f01b1f02c800562b90b9fb50e4e8e92555208278ee3eb6a2e67623f6bd601846dc063d3d7bb3e11207169caa23397ca35f91c87c0db4c746d21e5b4f67b782ea597e73331458a0887cc3c2cae952330be5e071353bce17b9330ae8975ce8378cacb2f4fafeac5ab7d46d770cb1f1ab9c4de7c5aa8b4df08e859f8d3cb1d131b03bf325027d358f3d39369516542d69068e0871d41840dad7e615cd6bb72d97c43d076967f8a6d8b6771839fd8c56889cca2b8b1e8a0cffdb65120b7cd7450030aa4e2a44f543727f757497006995e375571302b987891e2f012453b1270845d6c39bdf4b9a5d22de743fc50601fd63a3bd1f548b85deda007985c55374280339958225a33309f2f8beb1417349f530258088836298783b0005266e2401fa8593b62e41e35d30219a2c53d53c0ca87f3b1c2534c2cad9402415488a6e2b59ee2ce4bd890055613f934ada9b231fdd39796d4c2a8383c6d80c26aa552761c5158691c76d0f055446be17731250e66670fbd5fe44f6c4dc462468bcf84bb6ce2b133d9260944109c39f76a3849e999cb42e6a7b62a0f09c5098fbb00d3e42d30f3374f6df4e8d306db00931950fe532a1b741de22f9dfc0ea4430deeef1bad425c0aec80b096f341162e9ce36bfd8f116a4756754aad4ade2430cf6bd83f8d59236473ad553ee7e8042eaea3e803c07eea63c810253e341b2444888976da0b2a470fe90066ae581aefe86bb07e1f7781e41d105b97299daa2e2d9b90ead41d425ad29c21689666ae4bdf8d40859509ae8ec097787dbf0dbc65d6e24c43d0c0db2e0ba2e277842877cecbd5e81711d11193fbfb72923f2e5e8c61ea82774d8069029948c4ee293d9e268b6220b4a105aea6ab714405b4dcbf72d344b69dfc0fead4d02133bb0baa5fe5d3b05671b8533617aa4f61e6e590850a5bdc1f2ec561c770dacddae76f99124dd6cce7ae68085eef513f63c0b1c94f9a0baf1c8e1f82cbf4e7a46c911963a78bea1b7eba0e3566073a8647296576fb2a702670af8811aa142a7aa69c1d063db2b79a21d01b161ec103ec90eed94c9467658b855e5adc3cc1bada5f90afabbf8296c828623b4295f7eac89ae8067d55d04008227ef26f7a8c89ffb4abec60c5a286770c9784325597cb03c7bae028499e5d24c852f619671bc77d8b3123923ba3a9d333ad62a6fa170001eb9ad572c87f66282b1f5a9205abec1e55a6c3de5dea777501b617a082c10b217eed76acee9f78f24560d3495eea098f8f79d8b6f562381098776783039b97236e5f689fada03a5c5738275635056382e0663df989b9b8048f502c98f95d449c761223dd1ad4b87b1e5ecaba60c70cc70f5316f53531113dd42af487928954cbf3d8dedec5ee16b99f3926f1e699e060908b3902b0f294a9705948535490bbe0a4b6a6e30fcd6eb86d05fe4c09561170e078c2e02794fa7edc84b284f8b1de9c09fc8cbe50038f85b7430f7e9f9fe36a7931db4894846d24731f0d03dac2e2fe4962f5cb84f571f24f4c25dd56b90a795806a1c92c774d010ccb127403cbe3d8a3ca663eb6802c33490eb88dee0a00006799f3f061b1ea16a64a96dc7622bb47b67f446d0d8b860860d5d459fb555e2d8a155424f7cd2cb977da6a82d81e81810d4f87951ccc448554693743b20f3e799af287e06d79762274680a39e93101d6151f949b85eba33a7bddd0959b93a5098b9f50c204a537d82fbf6379610c3851cdc42fd6670875c8dad03ade5b62aa8787fe833dc3999f6d2b588c5d0991e94247751bbe0c0bcfb4d735bb0fc42e5e96c71450b830e69a5666d60d5c3c5a9574319142117a3344170dfb067e79e0554b2e236034493a1e0d3fc6797685d9262a93dea8d67205aaddd3fc31b717043c899b6768337d3c9092c36a62439e59a69b68325336319203d36067a84f36bea64269537626c14d48549585504e84d8d39be86d1648c1a2ba0c9499b91168002270f3a3df09109302929fe40829f0c65826e76a3d9dc355f1f50b6df3d19ea09c0db330e2c238c69f7732b70f325bb21029146f65505fd4a2a141cefb0fe4d64f567dd8fef286fd60a4f0927e5357a6b424f6014b3e627d987c390309c2636a9cc8caa67b25389f190e3f42543d7af38519e7ef9e30defdf6f7a652aec2636c14caa9856fa578c40f5f0404ceb46d09cbd4a8ebf26a8de961b8b431906e244822a4c8478678428b70194201829808ceab48240d01252360f4be4766b85f10663ab7b5cde058c907ae1b371b4f8547d3e4e040414a7801ecf5fd98c1b76b99b0ca86142a137bcb2b11df5713eca100155bb03ff511c62951d2ff97a503efee68434ccdc4b6abcc2ec62e2ca29c93d34afe6cd2e96e64ff818552dec5c15ee2fb40b12c89346a151156fec11ee2f79d82783fd7196f994264f9e885eb44fe3c5cb277c2075fc6024aea48ebd8ab72329f1d05d5c1460b7d0c05c07ac4eb79a8b5d33e3a4b26420b8f360f56a386e1e0e5ebaa18513b98f17c246d777686074cb86d200c6fd00ca954206a60b08b98f3644329e93d21f4901bff8b3cd599694713125674f8aef610c4c1917818aaf17a5d99ef69f71dee81b8544aea7ce0defbb2563247a74bc5bfc2cd2016d4c3c1f1faa9812cd08ced6399bb8651f22b14b3a669acf590f97a5e9b425bd3a51ef3c52e24fb18573c8dae0f431edb5e926682556089d39f2a5a01485f11c6101c89c91492d72a759b28b0770c992a5e59b4970fd49ad33b1ceca18f1449bc400860b88996a8e380bf65fc18e4b7666a6e18b543c4e1924e4031e68ab98f6dd639c9d60ff79be5d9502168bc577fe2a5e91372551011a8b5ca569f809ea5a582eedc4001dbbba977e8e998fc85417d4a7524817df29fdbfa14735e91f4572487a8e1b95de1818f71c02fe04bf662395bc06f6f43bac002e830a7f2f0c0f01eba29f010fc380958bf361073a841fb9482da0e5b17256495e41d558d9ac7938c3eba5ad281cc3e22e6d829c2b5ba7373c596262e05c452069c7505b273f9bf8a20a7991e7f7a1297e7fb8763bf54f68d6414433be8d3ec429ecf7f191e2885205ef79a342d9e8597d4c54dbaf606a6777e702cef03cb48a50bcd65305e9344b47ae3a1887cf014db1db31ed8968dad0a73aba210820faad3f6fb8a910df83bcb520c6e2d11f303d7a3146a82b88a503471c627321a5cc45f9b841d4f2eea83217e38bd5e71c1e3fa1719c9d825d27c6a66e1d1d780b20844dee2fefaeefb46605f4112a6fabccab94a9356d8577a7a426985e53d6cd4a489ef38c27acb94e23ae4cdf30f8d49908249f4aeb3f8b13bb50a34d2a6e43b73547e0241a0a9b8989e1b63bbf347c13db6d07c0fd2b2083e0a124607133fa1d8aef2f2827ee3201a24fe5e8a8b712fae8f28900521b1fe35952489eeac30d5ef0b46dd0b4b2550cc0f38558fa0d5d73ce4608c50386d691202003df24d8b60e62ce299841087161c7b3b3f62279885f81832f931feebe5e536e08e9747f128e5a4d59811b91af26052296671d1357d28010f84a99ad42cd39a5db88ec48e9ac7a301fe16b2e2ca506150fa903cc4", 0x2000, &(0x7f0000000f40)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, &(0x7f00000000c0)={0x78, 0x0, 0x0, {0x0, 0x0, 0x0, {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6000}}}, 0x0, 0x0, 0x0, 0x0, 0x0}) [ 2035.462573][T16828] usb 3-1: new low-speed USB device number 118 using dummy_hcd [ 2035.644071][T13731] usb 5-1: New USB device found, idVendor=046d, idProduct=0850, bcdDevice=d3.42 [ 2035.653612][T13731] usb 5-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0 [ 2035.691564][T13731] usb 5-1: config 0 descriptor?? [ 2035.746887][T13731] gspca_main: STV06xx-2.14.0 probing 046d:0850 [ 2035.755780][ T6803] fuse: Bad value for 'fd' [ 2035.767559][ T24] audit: type=1804 audit(1645220181.479:834): pid=6803 uid=0 auid=4294967295 ses=4294967295 subj==unconfined op=invalid_pcr cause=ToMToU comm="syz-executor.1" name="/root/syzkaller-testdir373768072/syzkaller.bk5Otr/2691/file0" dev="sda1" ino=1180 res=1 errno=0 [ 2035.854329][T16828] usb 3-1: config 0 interface 0 altsetting 0 endpoint 0x3 has invalid maxpacket 32768, setting to 8 [ 2035.865355][T16828] usb 3-1: config 0 interface 0 altsetting 0 endpoint 0x1 is Bulk; changing to Interrupt [ 2035.875419][T16828] usb 3-1: config 0 interface 0 altsetting 0 endpoint 0x1 has invalid wMaxPacketSize 0 [ 2036.015180][T13731] usb 5-1: unknown interface protocol 0x8f, assuming v1 [ 2036.022333][T13731] usb 5-1: cannot find UAC_HEADER [ 2036.027921][T13731] snd-usb-audio: probe of 5-1:0.0 failed with error -22 [ 2036.067142][T13731] usb 5-1: USB disconnect, device number 94 [ 2036.142930][T16828] usb 3-1: string descriptor 0 read error: -22 [ 2036.149420][T16828] usb 3-1: New USB device found, idVendor=0a07, idProduct=0064, bcdDevice=ee.6e [ 2036.158873][T16828] usb 3-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ 2036.178467][T16828] usb 3-1: config 0 descriptor?? [ 2036.227378][T16828] adutux 3-1:0.0: interrupt endpoints not found [ 2036.456065][T16828] usb 3-1: USB disconnect, device number 118 21:36:22 executing program 2: syz_usb_connect(0x1, 0x36, &(0x7f0000000180)=ANY=[@ANYBLOB="120100005cab4408070a64006eee010203010902240001000000000904000002ca74340009050303008068000009050102"], &(0x7f00000007c0)={0x0, 0x0, 0x0, 0x0, 0x1, [{0x0, 0x0}]}) 21:36:22 executing program 3: syz_mount_image$cramfs(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x2000, 0x1, &(0x7f0000000200)=[{&(0x7f0000010000)="453dcd28002000000300000000000000436f6d7072657373656420524f4d46537d359c1c000000000600000008000000436f6d70726573736564000000000000c0415cf968000053c0040000ed815cf964000053c30d000066696c652e636f6c64000000ed415cf928000053420b000066696c6530000000ed815cf90a0000534214000066696c6531000000ed815cf928230053c215000066696c6532000000ed815cf928230053c215000066696c6533000000ed815cf91a040053420f000066696c6530000000ffa15cf9260000534211000066696c6531000000f4000000789c2baeacca4eccc9492d2aa61d030085492b1f13010000789c2baeacca4eccc9492d2a1e658c324619a30c1803005565c4a20041010000789cd32fc92dd02faeacd2cdcc4d4c4f4d4fcd3330373235b330b434d54fcbcc4935809000fab10c590000005a010000789c2baeacca4eccc9492d2a0600181e045500008301000093010000789cedc1010d000000c2a0f74f6d0e37a00000000000000080770320000001789c63601805a360141002000328000100"/416, 0x1a0}], 0x0, &(0x7f0000010200)) 21:36:22 executing program 5: syz_emit_ethernet(0x2a, &(0x7f0000000000)={@local, @remote, @void, {@arp={0x806, @ether_ipv4={0x1, 0x800, 0x6, 0x4, 0x1, @dev, @private, @multicast, @dev={0xac, 0x14, 0x14, 0x3e}}}}}, 0x0) 21:36:22 executing program 0: unshare(0x2040400) r0 = socket$inet_icmp_raw(0x2, 0x3, 0x1) setsockopt$inet_mreqn(r0, 0x0, 0x0, 0x0, 0x0) 21:36:22 executing program 1: r0 = syz_open_dev$video4linux(&(0x7f0000000040), 0x0, 0x0) ioctl$VIDIOC_SUBDEV_S_FMT(r0, 0x40085618, &(0x7f0000000080)) 21:36:22 executing program 4: syz_usb_connect(0x0, 0x24, &(0x7f0000000000)={{0x12, 0x1, 0x0, 0x9c, 0x50, 0x3e, 0x40, 0x46d, 0x850, 0xd342, 0x0, 0x0, 0x0, 0x1, [{{0x9, 0x2, 0x12, 0x1, 0x0, 0x0, 0x0, 0x0, [{{0x9, 0x4, 0x0, 0x0, 0x0, 0x1, 0x1, 0x8f}}]}}]}}, 0x0) 21:36:22 executing program 1: r0 = bpf$PROG_LOAD(0x5, &(0x7f00002a0fb8)={0x8, 0x4, &(0x7f0000000000)=@framed={{0xffffff85, 0x0, 0x0, 0x0, 0x8, 0x76}, [@call={0x27}]}, &(0x7f0000000040)='syzkaller\x00', 0x4, 0x99, &(0x7f0000000180)=""/153, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0, 0xfffffffffffffed8}, 0x3f) bpf$BPF_PROG_TEST_RUN(0xa, &(0x7f0000000080)={r0, 0x0, 0xe, 0x0, &(0x7f0000000240)="a2c634644303a0af43c928000000", 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, 0x48) 21:36:22 executing program 3: syz_mount_image$btrfs(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x8000000, 0x8e, &(0x7f0000000200)=[{&(0x7f0000010000)="5a913847c6ce92a999e49036f23ca5226717fb7a167100025bf9e4acdacc0b251ec9bb8ff52840a088c7e37435d3f692000001000000000001000000000000005f42485266535f4d07000000000000000040d30100000000004050010000000000000000000000000000000000000000000000080000000000300200000000000600000000000000010000000000000000100000004000000040000000100000810000000500000000000000000000000000000000000000000000006109000000000000030000000001000000000000000000000800000000000080050000000000100000001000000010000000000000000000000000000000000000000000000000000000000000000029cabda4d9df4fcd856cd38a6a9379b81ec9bb8ff52840a088c7e37435d3f69200"/320, 0x140, 0x10000}, {&(0x7f0000010200)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\a\x00\x00\x00\x00\x00\x00\x00\a\x00'/32, 0x20, 0x10220}, {&(0x7f0000010300)="00000000000000000000000001000000000000e400005001000000000000800000000000020000000000000000000100000000002200000000000000000001000000010000100000020001000100000000000000000050010000000029cabda4d9df4fcd856cd38a6a9379b801000000000000000000d0010000000029cabda4d9df4fcd856cd38a6a9379b80000000100000000002200000000000000000001000000010000100000020001000100000000000000000050010000000029cabda4d9df4fcd856cd38a6a9379b801000000000000000000d0010000000029cabda4d9df4fcd856cd38a6a9379b800"/256, 0x100, 0x10320}, {&(0x7f0000010400)="00000000000000000000000040d2010000000005000000000000000040500100000000050000000000000000c0d1010000000005000000000000000000d0010000000004000000000000000000d2010000000005000000000000000000d10100000000040000000000000000000008000000000000020000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0d2010000000006000000000000000040500100000000050000000000000000c0d0010000000006000000000000000080d2010000000006000000000000000000d3010000000006000000000000000080d0010000000006000000000000000000000800000000003002000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d301000000000700000000000000004050010000000005000000000000000080d3010000000007000000000000000080d2010000000006000000000000000000d3010000000006000000000000000080d0010000000006000000000000000000000800000000003002000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d001000000000400000000000000000050010000000004000000000000000080d0010000000004000000000000000000d00100000000040000000000000000c0d0010000000004000000000000000000d101000000000400000000000000000000080000000000000200000000000100"/640, 0x280, 0x10b20}, {&(0x7f0000010700)="9fb0a8863f38fbdcda76fe1518b946a1042c7016767b1e9ce6ff0c2451b0d4fb1ec9bb8ff52840a088c7e37435d3f692000010000000000001000000000000018898924d11794bfdbd3ca9e92bce508d0300000000000000030000000000000004000000000100000000000000d80100000000000000393f0000620000000001000000000000e40000100000000000e93e0000500000000001000000000000e40000500000000000993e0000500000000001000000000000e40000d00000000000493e00005000"/224, 0xe0, 0x100000}, {&(0x7f0000010800)="000000000000000000000000000000008000000000000200000000000000000001000000000001000000000000000000010000000100001000000100010001000000000000000000d0000000000029cabda4d9df4fcd856cd38a6a9379b80000800000000000020000000000000000000100000000000400000000000000000001000000010000100000010001000100000000000000000050000000000029cabda4d9df4fcd856cd38a6a9379b80000400000000000020000000000000000000100000000000200000000000000001000000010000000100000010000000100000000000000000010000000000029cabda4d9df4fcd856cd38a6a9379b801000000000000000000000800000000000040010000000000100000001000000010000000000000000000000000000000000000000000000000000000000000000029cabda4d9df4fcd856cd38a6a9379b81ec9bb8ff52840a088c7e37435d3f69220b144aceadc80b89f168da54e42dd5d389006e197254c25e637ec8aa30d11581ec9bb8ff52840a088c7e37435d3f692004010000000000000000000000000018898924d11794bfdbd3ca9e92bce508d010000000000000002000000000000000c000000000000100000000000a90000000000000000833f0000180000000000100000000000b00100000000000000833f0000000000000040100000000000a900000000000000006b3f0000180000000040100000000000b002000000000000006b3f0000000000000080100000000000a90000000000000000533f0000180000000080100000000000b00300000000000000533f00000000000000c0100000000000a900000000000000003b3f00001800000000c0100000000000b004000000000000003b3f0000000000000000110000000000a90000000000000000233f0000180000000000110000000000b00500000000000000233f0000000000000040110000000000a900000000000000000b3f0000180000000040110000000000b007000000000000000b3f00"/768, 0x300, 0x103ea0}, {&(0x7f0000010b00)="00000000000000000000000000000000010000000000000001000000000000000200000000000000010000000000000001000000000000000200000000000000010000000000000001000000000000000200000000000000010000000000000001000000000000000200000000000000010000000000000001000000000000000200000000000000010000000000000001000000000000000200000000000000a68c6b52cb19e9dd877d4fba485dc97f4198b9cb9c6773780354d7bea2e009141ec9bb8ff52840a088c7e37435d3f692008010000000000000000000000000018898924d11794bfdbd3ca9e92bce508d0100000000000000030000000000000002000000000100000000000000d80100000000000000393f0000620000000001000000000000e40000100000000000e93e00005000"/320, 0x140, 0x107f60}, {&(0x7f0000010d00)="00000000000000000000000000000000400000000000020000000000000000000100000000000200000000000000001000000010000000100000010000000100000000000000000010000000000029cabda4d9df4fcd856cd38a6a9379b801000000000000000000000800000000000040000000000000100000001000000010000000000000000000000000000000000000000000000000000000000000000029cabda4d9df4fcd856cd38a6a9379b81ec9bb8ff52840a088c7e37435d3f692dbbc510a4657c548f9f5e69c866fbbdec4057c9185a44259ba35443566af71901ec9bb8ff52840a088c7e37435d3f69200c010000000000000000000000000018898924d11794bfdbd3ca9e92bce508d0100000000000000040000000000000001000000000100000000000000cc00001000000000006b3f0000300000000000", 0x140, 0x10bf40}, {&(0x7f0000010f00)="0000000000000000000000000000000003000000000000000001000000000000000010000000000000004000000000008898924d11794bfdbd3ca9e92bce508d4147b6a88530b1f1366774c47d4ccf187c477ce44ec84da57574bebf9e197cfb1ec9bb8ff52840a088c7e37435d3f692000011000000000000000000000000018898924d11794bfdbd3ca9e92bce508d01000000000000000500000000000000", 0xa0, 0x10ffc0}, {&(0x7f0000011000)="36a0bc286f7724c1375fe020542956005c790014d9bed130ea2e239924e1c7641ec9bb8ff52840a088c7e37435d3f692004011000000000000000000000000018898924d11794bfdbd3ca9e92bce508d01000000000000000700000000000000", 0x60, 0x114000}, {&(0x7f0000011100)="a971d070275c2611b9548fedd33bd70e24678c8ac85cfe64299ab33fa0cb12f51ec9bb8ff52840a088c7e37435d3f692008011000000000001000000000000018898924d11794bfdbd3ca9e92bce508d020000000000000002000000000000000a000000000000100000000000c00000400000000000833f0000180000000000110000000000a900000000000000006b3f0000180000000000110000000000b005000000000000006b3f0000000000000040110000000000a90000000000000000533f0000180000000040110000000000b00700000000000000533f0000000000000080110000000000a90000000000000000323f00002100000000c0110000000000a90000000000000000113f0000210000000000120000000000a90000000000000000f03e0000210000000000500000000000a90000000000000000cf3e0000210000000000500000000000c00000800000000000b73e0000180000000000500000000000c00000800000000000d83e0000180000000000500000000000c000008000000000000b3f0000180000000040110000000000b007000000000000000b3f0000000000000000500000000000c00000800000000000f33e000018", 0x1c0, 0x118000}, {&(0x7f0000011300)="00000000000000000000000000000000000000000000000000000000004000000000000000010000000000000400000000000000010000000000000002000000000000000200000000000000b00100000000000000010000000000000002000000000000000200000000000000b00300000000000000010000000000000002000000000000000200000000000000b00400000000000000010000000000000002000000000000000200000000000000b00200000000000000010000000000000001000000000000000200000000000000010000000000000001000000000000000200000000000000004001000000000000010000000000000200000000000000908ce6935519135714f5c17b7290e7eca6a233d7c259fe7bbf0a6130a61f9a421ec9bb8ff52840a088c7e37435d3f69200c011000000000001000000000000018898924d11794bfdbd3ca9e92bce508d0200000000000000040000000000000002000000000100000000000000cc00001000000000006b3f0000300000000100000000000000cc00005000000000003b3f00003000"/416, 0x1a0, 0x11bf00}, {&(0x7f0000011500)="03000000000000000001000000000000000050000000000000008000000000008898924d11794bfdbd3ca9e92bce508d03000000000000000001000000000000000010000000000000004000000000008898924d11794bfdbd3ca9e92bce508d64e785c2b048f5565b5441ac2e3b35cbaab3795378cca931888e52e491b49b1b1ec9bb8ff52840a088c7e37435d3f692000012000000000001000000000000018898924d11794bfdbd3ca9e92bce508d0200000000000000030000000000000003000000000100000000000000d80100000000000000393f0000620000000001000000000000e40000100000000000e93e0000500000000001000000000000e40000500000000000993e00005000"/288, 0x120, 0x11ffa0}, {&(0x7f0000011700)="800000000000020000000000000000000100000000000400000000000000000001000000010000100000010001000100000000000000000050000000000029cabda4d9df4fcd856cd38a6a9379b80000400000000000020000000000000000000100000000000200000000000000001000000010000000100000010000000100000000000000000010000000000029cabda4d9df4fcd856cd38a6a9379b8010000000000000000000008000000000000c0000000000000100000001000000010000000000000000000000000000000000000000000000000000000000000000029cabda4d9df4fcd856cd38a6a9379b81ec9bb8ff52840a088c7e37435d3f692", 0x100, 0x123f00}, {&(0x7f0000011800)="1d13ec18836b77d771389b2a8dddc6ccb4c49ed5871aa1def21cab03096166441ec9bb8ff52840a088c7e37435d3f692000050000000000001000000000000018898924d11794bfdbd3ca9e92bce508d0200000000000000010000000000000004000000000200000000000000840000000000000000e43d0000b701000004000000000000008400000000000000002d3c0000b70100000500000000000000840000000000000000763a0000b70100000700000000000000840000000000000000bf380000b70100"/224, 0xe0, 0x500000}, {&(0x7f0000011900)="0000000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed41000000000000", 0x40, 0x503920}, {&(0x7f0000011a00)="00000000010000000000000000000000000000000040110000000000000000000000000000400000000000000000000000000000000000000000000001000000", 0x40, 0x5039c0}, {&(0x7f0000011b00)="00000000000000000000000000000000000000000000000000000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed4100"/96, 0x60, 0x503ac0}, {&(0x7f0000011c00)="00000000000000000000000000000000000000000000000000000001000000000000000000000000000000000011000000000000000000000000000040000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000083f1e55d0e584394b47e4e5b62fb6d3e00"/160, 0xa0, 0x503b60}, {&(0x7f0000011d00)="000058bc645f000000000000000058bc645f00"/32, 0x20, 0x503c20}, {&(0x7f0000011e00)="00000000000000000000000000000000000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed4100"/96, 0x60, 0x503c80}, {&(0x7f0000011f00)="0000000000000000000000000000000000000200000000000000000000000000000000c0110000000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000200"/128, 0x80, 0x503d20}, {&(0x7f0000012000)="00000000000000000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed4100", 0x40, 0x503e40}, {&(0x7f0000012100)="000000000000000000020000000000000000000000000000000080110000000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000200000000000000", 0x60, 0x503ee0}, {&(0x7f0000012200)="d0434de74de25b3ea20febc09aefa66f1f49e7d1115e00a2cf7d80a7e8f135b51ec9bb8ff52840a088c7e37435d3f692004050000000000001000000000000018898924d11794bfdbd3ca9e92bce508d0300000000000000040000000000000003000000000100000000000000cc00001000000000006b3f0000300000000100000000000000cc00005000000000003b3f0000300000000100000000000000cc0000d000000000000b3f00003000"/192, 0xc0, 0x504000}, {&(0x7f0000012300)="00000000000000000000000000000000030000000000000000010000000000000000d0000000000000008000000000008898924d11794bfdbd3ca9e92bce508d03000000000000000001000000000000000050000000000000008000000000008898924d11794bfdbd3ca9e92bce508d03000000000000000001000000000000000010000000000000004000000000008898924d11794bfdbd3ca9e92bce508d7541090f55c188f44db2f818aa3dc5f36cc8f7043492e7458844f90455f905371ec9bb8ff52840a088c7e37435d3f692008050000000000001000000000000018898924d11794bfdbd3ca9e92bce508d030000000000000002000000000000000a000000000000100000000000a900000000000000007a3f0000210000000000100000000000c00000400000000000623f0000180000000040110000000000a900000000000000004a3f0000180000000040110000000000b007000000000000004a3f0000000000000000500000000000c00000800000000000323f0000180000000040500000000000a90000000000000000113f0000210000000080500000000000a90000000000000000f03e00002100000000c0500000000000a90000000000000000cf3e0000210000000000510000000000a90000000000000000ae3e0000210000000000d00000000000c00000800000000000963e0000180000000000500000000000c00000800000000000ae3e0000180000000000d00000000000c00000800000000000963e0000180000000040110000000000b007000000000000000b3f0000000000000000500000000000c00000800000000000f33e000018", 0x260, 0x507f60}, {&(0x7f0000012600)="000000000000000000000000010000000000000100000000000000000000000000000000010000000000000100000000000000010000000000000003000000000000000200000000000000b00500000000000000010000000000000003000000000000000200000000000000b00100000000000000010000000000000003000000000000000200000000000000b00200000000000000010000000000000003000000000000000200000000000000b00400000000000000000001000000000000010000000000000400000000000000010000000000000001000000000000000200000000000000008000000000000000010000000000000200000000000000010000000000000003000000000000000200000000000000b0030000000000000095c1aa67387127828ff95ba08f9fab2c8b27825c3a7fd9b5b8e6e79dbfbac3031ec9bb8ff52840a088c7e37435d3f69200c050000000000001000000000000018898924d11794bfdbd3ca9e92bce508d0300000000000000010000000000000008000000000200000000000000840000000000000000e43d0000b701000004000000000000008400000000000000002d3c0000b701000005000000000000000c06000000000000001c3c0000110000000500000000000000840000000000000000653a0000b70100000600000000000000010000000000000000c5390000a000000006000000000000000c0600000000000000b93900000c000000060000000000000054d2c2bf8d0000000094390000250000000700000000000000840000000000000000dd370000b70100"/608, 0x260, 0x50bee0}, {&(0x7f0000012900)="000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed410000000000000000", 0x40, 0x50f840}, {&(0x7f0000012a00)="00000100000000000000000000000000000000401100000000000000000000000000004000000000000000000000000000000000000000000000010000000000", 0x40, 0x50f8e0}, {&(0x7f0000012b00)="00000000000000000000000000000000000000000000000000050000000000000084ffffffffffffffff0000000000000000000007000264656661756c74000000000000000002002e2e03000000000000000000000000000000000000000000000000400000000000000000000000000000010000000000000000000000ed410000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000058bc645f000000000000000058bc645f000000000000000058bc645f000000000000000058bc645f000000000000000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed41", 0x120, 0x50f9e0}, {&(0x7f0000012d00)="0000000000000000000003000000000000000001000000000000000051000000000000000000000000000040000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000030000000000000083f1e55d0e584394b47e4e5b62fb6d3e00"/128, 0x80, 0x50fb60}, {&(0x7f0000012e00)="000000000000000000000000000000000058bc645f000000000000000058bc645f00"/64, 0x40, 0x50fc00}, {&(0x7f0000012f00)="000000000000000000070064656661756c7401000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed4100"/96, 0x60, 0x50fc80}, {&(0x7f0000013000)="000000000000000000000000000000000000030000000000000000000000000000000040500000000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000300"/128, 0x80, 0x50fd20}, {&(0x7f0000013100)="00000000000000000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed4100", 0x40, 0x50fe40}, {&(0x7f0000013200)="000000000000000000030000000000000000000000000000000080500000000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000300000000000000", 0x60, 0x50fee0}, {&(0x7f0000013300)="e7ea6253872573bbe00e8c9b4075489b82bcc28fb314876c2b09558fa6a8c2561ec9bb8ff52840a088c7e37435d3f692000051000000000001000000000000018898924d11794bfdbd3ca9e92bce508d0300000000000000050000000000000002000000000001000000000000010000000000000000fb3e0000a000000000010000000000000c0001000000000000ef3e00000c00"/160, 0xa0, 0x510000}, {&(0x7f0000013400)="0000000000000000000000000000000000000000000000000000000002002e2e03000000000000000000000000000000000000000000000000400000000000000000000000000000010000000000000000000000ed410000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000058bc645f000000000000000058bc645f000000000000000058bc645f000000000000000058bc645f0000000000000000", 0xc0, 0x513f40}, {&(0x7f0000013500)="73196bb89959a382a4076b4fb045a6bdebf9aef58b9c30bc4f88e6c4c769a4191ec9bb8ff52840a088c7e37435d3f692000050010000000001000000000000018898924d11794bfdbd3ca9e92bce508d0400000000000000030000000000000006000000000100000000000000d80100000000000000393f0000620000000001000000000000e40000100000000000e93e0000500000000001000000000000e40000500000000000993e0000500000000001000000000000e40000d00000000000493e0000500000000001000000000000e40000500100000000d93d0000700000000001000000000000e40000d00100000000693d0000700000000000000000", 0x100, 0x1500000}, {&(0x7f0000013600)="00000000000000000000000000000000000200000000020000000000000000000100000000002400000000000000000001000000010000100000020001000100000000000000000050020000000029cabda4d9df4fcd856cd38a6a9379b80100000000000000000050040000000029cabda4d9df4fcd856cd38a6a9379b80000800000000000020000000000000000000100000000002200000000000000000001000000010000100000020001000100000000000000000050010000000029cabda4d9df4fcd856cd38a6a9379b801000000000000000000d0010000000029cabda4d9df4fcd856cd38a6a9379b800008000000000000200000000000000000001000000000001000000000000000000010000000100001000000100010001000000000000000000d0000000000029cabda4d9df4fcd856cd38a6a9379b80000800000000000020000000000000000000100000000000400000000000000000001000000010000100000010001000100000000000000000050000000000029cabda4d9df4fcd856cd38a6a9379b80000400000000000020000000000000000000100000000000200000000000000001000000010000000100000010000000100000000000000000010000000000029cabda4d9df4fcd856cd38a6a9379b801000000000000000000000800000000000040060000000000100000001000000010000000000000000000000000000000000000000000000000000000000000000029cabda4d9df4fcd856cd38a6a9379b81ec9bb8ff52840a088c7e37435d3f69248dd458cd374a9beeb0cfe76f83a76c4186b180f43ca91fb45ad5498d46ae70d1ec9bb8ff52840a088c7e37435d3f692004050010000000001000000000000018898924d11794bfdbd3ca9e92bce508d0500000000000000030000000000000004000000000100000000000000d80100000000000000393f0000620000000001000000000000e40000d00000000000e93e0000500000000001000000000000e40000500100000000793e0000700000000001000000000000e40000d00100000000093e0000700000000001000000000000e40000d00100000000093e0000700000000001000000000000e40000d00100000000b93d0000700000000000000000", 0x340, 0x1503dc0}, {&(0x7f0000013a00)="00000000000000000000000000000000000200000000020000000000000000000100000000002400000000000000000001000000010000100000020001000100000000000000000050020000000029cabda4d9df4fcd856cd38a6a9379b80000000200000000020000000000000000000100000000002400000000000000000001000000010000100000020001000100000000000000000050020000000029cabda4d9df4fcd856cd38a6a9379b80000000200000000020000000000000000000100000000002400000000000000000001000000010000100000020001000100000000000000000050020000000029cabda4d9df4fcd856cd38a6a9379b80100000000000000000050040000000029cabda4d9df4fcd856cd38a6a9379b80000800000000000020000000000000000000100000000002200000000000000000001000000010000100000020001000100000000000000000050010000000029cabda4d9df4fcd856cd38a6a9379b801000000000000000000d0010000000029cabda4d9df4fcd856cd38a6a9379b800008000000000000200000000000000000001000000000001000000000000000000010000000100001000000100010001000000000000000000d0000000000029cabda4d9df4fcd856cd38a6a9379b801000000000000000000000800000000000080050000000000100000001000000010000000000000000000000000000000000000000000000000000000000000000029cabda4d9df4fcd856cd38a6a9379b81ec9bb8ff52840a088c7e37435d3f692", 0x240, 0x1507dc0}, {&(0x7f0000013d00)="73196bb89959a382a4076b4fb045a6bdebf9aef58b9c30bc4f88e6c4c769a4191ec9bb8ff52840a088c7e37435d3f692000050010000000001000000000000018898924d11794bfdbd3ca9e92bce508d0400000000000000030000000000000006000000000100000000000000d80100000000000000393f0000620000000001000000000000e40000100000000000e93e0000500000000001000000000000e40000500000000000993e0000500000000001000000000000e40000d00000000000493e0000500000000001000000000000e40000500100000000d93d0000700000000001000000000000e40000d00100000000693d0000700000000000000000", 0x100, 0x1d00000}, {&(0x7f0000013e00)="00000000000000000000000000000000000200000000020000000000000000000100000000002400000000000000000001000000010000100000020001000100000000000000000050020000000029cabda4d9df4fcd856cd38a6a9379b80100000000000000000050040000000029cabda4d9df4fcd856cd38a6a9379b80000800000000000020000000000000000000100000000002200000000000000000001000000010000100000020001000100000000000000000050010000000029cabda4d9df4fcd856cd38a6a9379b801000000000000000000d0010000000029cabda4d9df4fcd856cd38a6a9379b800008000000000000200000000000000000001000000000001000000000000000000010000000100001000000100010001000000000000000000d0000000000029cabda4d9df4fcd856cd38a6a9379b80000800000000000020000000000000000000100000000000400000000000000000001000000010000100000010001000100000000000000000050000000000029cabda4d9df4fcd856cd38a6a9379b80000400000000000020000000000000000000100000000000200000000000000001000000010000000100000010000000100000000000000000010000000000029cabda4d9df4fcd856cd38a6a9379b801000000000000000000000800000000000040060000000000100000001000000010000000000000000000000000000000000000000000000000000000000000000029cabda4d9df4fcd856cd38a6a9379b81ec9bb8ff52840a088c7e37435d3f69248dd458cd374a9beeb0cfe76f83a76c4186b180f43ca91fb45ad5498d46ae70d1ec9bb8ff52840a088c7e37435d3f692004050010000000001000000000000018898924d11794bfdbd3ca9e92bce508d0500000000000000030000000000000004000000000100000000000000d80100000000000000393f0000620000000001000000000000e40000d00000000000e93e0000500000000001000000000000e40000500100000000793e0000700000000001000000000000e40000d00100000000093e0000700000000001000000000000e40000d00100000000093e0000700000000001000000000000e40000d00100000000b93d0000700000000000000000", 0x340, 0x1d03dc0}, {&(0x7f0000014200)="00000000000000000000000000000000000200000000020000000000000000000100000000002400000000000000000001000000010000100000020001000100000000000000000050020000000029cabda4d9df4fcd856cd38a6a9379b80000000200000000020000000000000000000100000000002400000000000000000001000000010000100000020001000100000000000000000050020000000029cabda4d9df4fcd856cd38a6a9379b80000000200000000020000000000000000000100000000002400000000000000000001000000010000100000020001000100000000000000000050020000000029cabda4d9df4fcd856cd38a6a9379b80100000000000000000050040000000029cabda4d9df4fcd856cd38a6a9379b80000800000000000020000000000000000000100000000002200000000000000000001000000010000100000020001000100000000000000000050010000000029cabda4d9df4fcd856cd38a6a9379b801000000000000000000d0010000000029cabda4d9df4fcd856cd38a6a9379b800008000000000000200000000000000000001000000000001000000000000000000010000000100001000000100010001000000000000000000d0000000000029cabda4d9df4fcd856cd38a6a9379b801000000000000000000000800000000000080050000000000100000001000000010000000000000000000000000000000000000000000000000000000000000000029cabda4d9df4fcd856cd38a6a9379b81ec9bb8ff52840a088c7e37435d3f692", 0x240, 0x1d07dc0}, {&(0x7f0000014500)="a03f9655ee545e3554898bb18241de32cc182b0a75b71079646bf8cdd0335b661ec9bb8ff52840a088c7e37435d3f6920000d0010000000001000000000000018898924d11794bfdbd3ca9e92bce508d0400000000000000050000000000000002000000000001000000000000010000000000000000fb3e0000a000000000010000000000000c0001000000000000ef3e00000c00"/160, 0xa0, 0x2500000}, {&(0x7f0000014600)="0000000000000000000000000000000000000000000000000000000002002e2e03000000000000000000000000000000000000000000000000400000000000000000000000000000010000000000000000000000ed410000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000058bc645f000000000000000058bc645f000000000000000058bc645f000000000000000058bc645f0000000000000000904a4373ba1848b9b10ae870d5c45695866e09d7ff2a8b6d6ea421f29e0197b51ec9bb8ff52840a088c7e37435d3f6920040d0010000000001000000000000018898924d11794bfdbd3ca9e92bce508d060000000000000005000000000000001c000000000001000000000000010000000000000000fb3e0000a000000000010000000000000c0001000000000000ef3e00000c0000000001000000000000544bae790400000000cc3e0000230000000001000000000000546b826b1100000000a53e000027000000000100000000000054bf5d291700000000823e000023000000000100000000000054bcde42e5000000005f3e000023000000000100000000000054482d12f6000000003c3e00002300000001010000000000000100000000000000009c3d0000a000000001010000000000000c00010000000000008d3d00000f0000000101000000000000544bae7904000000006a3d000023000000010100000000000054482d12f600000000473d0000230000000201000000000000010000000000000000a73c0000a000000002010000000000000c0101000000000000983c00000f00000002010000000000006c0000000000000000693800002f0400000301000000000000010000000000000000c9370000a000000003010000000000000c0101000000000000ba3700000f00000003010000000000006c00000000000000007f3700003b0000000401000000000000010000000000000000df360000a000000004010000000000000c0001000000000000d03600000f00000004010000000000001822a8f12600000000a13600002f000000040100000000000018d65ba13500000000723600002f00000004010000000000006c0000000000000000533600001f0000000501000000000000010000000000000000b3350000a000000005010000000000000c0001000000000000953500001e00000005010000000000006c000000000000000060350000350000000601000000000000010000000000000000c0340000a000000006010000000000000c0001000000000000ad3400001300000006010000000000006c000000000000000034340000790000", 0x3e0, 0x2503f40}, {&(0x7f0000014a00)="0000000000000000000000000000000000000000000000000006000000000000006400000000000000000000000073797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c6572730600000000000000090066696c652e636f6c6406000000000000000600000000000000000000000000000000000000000000000000000000000000010000000000000000000000ff810000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000000000000000000058bc645f00000000b75ba43658bc645f00000000b75ba43658bc645f00000000b75ba43658bc645f00000000b75ba4360600000000000000003000000000000000000000010000d000000000000030000000000000000000000000000000300000000000000400000000000000050066696c65320500000000000000050066696c653306000000000000000600000000000000000000000000000000000000000000000000000000000000010000000000000000000000ff810000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000000000000000000058bc645f00000000b75ba43658bc645f00000000b75ba43658bc645f00000000b75ba43658bc645f00000000b75ba43606000000000000000a00000000000000000000000073797a6b616c6c6572730000000000000000000000000000000000060000000000000006000b0008757365722e7861747472317861747472310000000000000000000000000000000000060000000000000006000b0008757365722e7861747472327861747472320300000000000000050066696c653106000000000000000600000000000000000000000000000000000000000000000000000000000000010000000000000000000000ff810000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000058bc645f00000000b75ba43658bc645f00000000b75ba43658bc645f00000000b75ba43658bc645f00000000b75ba4360600000000000000260000000000000000000000002f746d702f73797a2d696d61676567656e3637313332303639312f66696c65302f66696c65300300000000000000050066696c653106000000000000000600000000000000000000000000000000000000000000000000000000000000010000000000000000000000ffa10000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000000000000000000058bc645f00000000b75ba43658bc645f00000000b75ba43658bc645f00000000b75ba43658bc645f00000000b75ba43606000000000000001a04000000000000000000000073797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c0200000000000000050066696c653006000000000000000600000000000000000000000000000000000000000000000000000000000000010000000000000000000000ff810000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000000000000000000058bc645f00000000b75ba43658bc645f00000000b75ba43658bc645f00000000b75ba43658bc645f00000000b75ba43603010000000000000100000000000000000600000000000000000005000766696c653102010000000000000100000000000000000600000000000000000005000166696c65300200000000000000050066696c653006000000000000000600000000000000000000000000000000000000000000000000000000000000010000000000000000000000ff410000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000058bc645f00000000b75ba43658bc645f00000000b75ba43658bc645f00000000b75ba43658bc645f00000000b75ba43604010000000000000100000000000000000600000000000000000005000166696c653105010000000000000100000000000000000600000000000000000005000166696c653205010000000000000100000000000000000600000000000000000005000166696c653306010000000000000100000000000000000600000000000000000009000166696c652e636f6c6401010000000000000100000000000000000600000000000000000005000266696c6530000000000000000002002e2e03000000000000000000000000000000000000000000000000400000000000000000000000000000010000000000000000000000ed410000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000058bc645f000000000000000058bc645f000000000000000058bc645f000000000000000058bc645f0000000000000000ae2e58d4febbb1eb67e151543e6e657cdb09e5c49a33f5322385e7daa7fa5a591ec9bb8ff52840a088c7e37435d3f6920080d0010000000001000000000000018898924d11794bfdbd3ca9e92bce508d060000000000000007000000000000000100000000f6ffffffffffffff800000d000000000003b3f0000600000000000", 0xc00, 0x2507480}, {&(0x7f0000015600)="686ede9288c391e7e05026e56f2f91bfd879987a040ea98445dabc76f55b8e5f686ede9288c391e7e05026e56f2f91bfd879987a040ea98445dabc76f55b8e5f686ede9288c391e7e05026e56f2f91bfd879987a040ea98445dabc76f55b8e5f84deafbdb945b303fccda7f50ab2ec2dc801f55ffdc391d799c6ea59b8be566e1ec9bb8ff52840a088c7e37435d3f69200c0d0010000000001000000000000018898924d11794bfdbd3ca9e92bce508d060000000000000002000000000000000c000000000000d00000000000a80030000000000000663f0000350000000000d00000000000c000008000000000004e3f0000180000000000500100000000c00000800000000000363f0000180000000040500100000000a90000000000000000153f0000210000000000d00100000000c00000000200000000fd3e0000180000000080d00100000000a90000000000000000dc3e00002100000000c0d00100000000a90000000000000000bb3e0000210000000040d10100000000a900000000000000009a3e0000210000000080d10100000000a90000000000000000793e0000210000000080d20100000000a90000000000000000583e00002100000000c0d20100000000a90000000000000000373e0000210000000000d30100000000a90000000000000000163e00002100"/512, 0x200, 0x250bfa0}, {&(0x7f0000015800)="000000000000000000000000000000000000000000000000000000010000000000000006000000000000000200000000000000b00400000000000000010000000000000006000000000000000200000000000000b00100000000000000010000000000000006000000000000000200000000000000b00500000000000000010000000000000004000000000000000200000000000000b00900000000000000010000000000000004000000000000000200000000000000b0f7ffffffffffffff010000000000000006000000000000000200000000000000b00200000000000000010000000000000006000000000000000200000000000000b0070000000000000000c001000000000000010000000000002400000000000000010000000000000005000000000000000200000000000000b00300000000000000004000000000000000010000000000002200000000000000003000000000000000010000000000000100000000000000010000000000000006000000000000000100000000000000b205000000000000000501000000000000000000000000000001000000ce51be5e3ef47d98994e574ad998e48ab39c787c806b13d6e074fc8d9678102d1ec9bb8ff52840a088c7e37435d3f6920000d1010000000001000000000000018898924d11794bfdbd3ca9e92bce508d04000000000000000700000000000000", 0x200, 0x250fe60}, {&(0x7f0000015a00)="3a62b8cd0ca3919d8004f991a66e68efd0754d16161c87114cd0742f1f7818901ec9bb8ff52840a088c7e37435d3f6920040d1010000000001000000000000018898924d11794bfdbd3ca9e92bce508d0400000000000000f7ffffffffffffff02000000000001000000000000010000000000000000fb3e0000a000000000010000000000000c0001000000000000ef3e00000c00"/160, 0xa0, 0x2514000}, {&(0x7f0000015b00)="0000000000000000000000000000000000000000000000000000000002002e2e04000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000ed410000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000058bc645f000000000000000058bc645f000000000000000058bc645f000000000000000000000000000000000000000033644de9be8c453caf3bc0a4b8f7b41f8cc2a0729b80cd0f0efb0b76020839ef1ec9bb8ff52840a088c7e37435d3f6920080d1010000000001000000000000018898924d11794bfdbd3ca9e92bce508d04000000000000000900000000000000010000000083f1e55d0e584394fbb47e4e5b62fb6d3e933f0000080000000000", 0x140, 0x2517f40}, {&(0x7f0000015d00)="00000000000000000000000000000000000000000000000005000000000000006a87160652812ebd42368b50c8bdecbf6cbbc35bc29bb49cba18733d6ae306291ec9bb8ff52840a088c7e37435d3f69200c0d1010000000001000000000000018898924d11794bfdbd3ca9e92bce508d050000000000000002000000000000000b000000000000d00000000000c00000800000000000833f0000180000000000500100000000c000008000000000006b3f0000180000000040500100000000a900000000000000004a3f0000210000000000d00100000000a90000000000000000293f0000210000000000d00100000000c00000000200000000113f0000180000000000d10100000000a90000000000000000f03e0000210000000040d10100000000a90000000000000000cf3e0000210000000080d10100000000a90000000000000000ae3e00002100000000c0d10100000000a900000000000000008d3e0000210000000000d20100000000a900000000000000006c3e0000210000000040d20100000000a900000000000000004b3e0000210000000080d10100000000a900000000000000004b3e0000210000000080d10100000000a90000000000000000333e0000210000000000500000000000c00000800000000000f33e000018", 0x1e0, 0x251bfe0}, {&(0x7f0000015f00)="010000000000000004000000000000000200000000000000010000000000000004000000000000000200000000000000010000000000000005000000000000000200000000000000b00100000000000000010000000000000005000000000000000200000000000000b00400000000000000010000000000000005000000000000000200000000000000b00200000000000000010000000000000004000000000000000200000000000000b00900000000000000010000000000000004000000000000000200000000000000b0f7ffffffffffffff010000000000000004000000000000000200000000000000b0070000000000000000c001000000000000010000000000002400000000000000010000000000000004000000000000000200000000000000b00500000000000000010000000000000005000000000000000200000000000000b00300000000000000004000000000000000010000000000002200000000000000000000000000000000010000000000000100000000000000e9f3f6199e648e7223fb48ed69bc2af5a213c13d48e4971e4c2fc8d25b90428b1ec9bb8ff52840a088c7e37435d3f6920000d2010000000001000000000000018898924d11794bfdbd3ca9e92bce508d0500000000000000040000000000000005000000000100000000000000cc0000d000000000006b3f0000300000000100000000000000cc00005001000000003b3f0000300000000100000000000000cc0000d001000000000b3f0000300000000100000000000000cc0000500200000000db3e0000300000000100000000000000cc0000500400000000ab3e0000300000000100000000000000cc0000500400000000ab3e0000300000000100000000000000cc00005004000000007b3e00003000"/672, 0x2a0, 0x251fe80}, {&(0x7f0000016200)="00000000000000000000000000000000030000000000000000010000000000000000d0010000000000000002000000008898924d11794bfdbd3ca9e92bce508d030000000000000000010000000000000000d0010000000000000002000000008898924d11794bfdbd3ca9e92bce508d030000000000000000010000000000000000d0010000000000000002000000008898924d11794bfdbd3ca9e92bce508d030000000000000000010000000000000000d0010000000000000002000000008898924d11794bfdbd3ca9e92bce508d03000000000000000001000000000000000050010000000000008000000000008898924d11794bfdbd3ca9e92bce508d03000000000000000001000000000000000050010000000000008000000000008898924d11794bfdbd3ca9e92bce508d030000000000000000010000000000000000d0000000000000008000000000008898924d11794bfdbd3ca9e92bce508dfa3ba7456b8c946604de3d497115bec037a42e4035a04d22bb6e1d1caea16ca31ec9bb8ff52840a088c7e37435d3f6920040d2010000000001000000000000018898924d11794bfdbd3ca9e92bce508d050000000000000001000000000000000a000000000200000000000000840000000000000000e43d0000b701000004000000000000008400000000000000002d3c0000b701000005000000000000000c06000000000000001c3c0000110000000500000000000000840000000000000000653a0000b70100000600000000000000010000000000000000c5390000a000000006000000000000000c0600000000000000b93900000c000000060000000000000054d2c2bf8d0000000094390000250000000700000000000000840000000000000000dd370000b7010000090000000000000084000000000000000026360000b7010000f7ffffffffffffff8400000000000000006f340000b701000000", 0x2c0, 0x2523ea0}, {&(0x7f0000016500)="0000000000000000000000000000000000000000040000000000000000010000000000000040d10100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000400"/128, 0x80, 0x2527560}, {&(0x7f0000016600)="0000000000000000000000040000000000000000000000000000000080d1010000000000000000000000000040000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000040000000000", 0x60, 0x2527720}, {&(0x7f0000016700)="000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed410000000000000000", 0x40, 0x2527840}, {&(0x7f0000016800)="0000040000000000000000000000000000000000d10100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000400"/96, 0x60, 0x25278e0}, {&(0x7f0000016900)="00000000000000000000000000000000000000000000000000050000000000000084ffffffffffffffff0000000000000000000007000264656661756c74000000000000000002002e2e03000000000000000000000000000000000000000000000000400000000000000000000000000000010000000000000000000000ed410000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000058bc645f000000000000000058bc645f000000000000000058bc645f000000000000000058bc645f000000000000000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed41", 0x120, 0x25279e0}, {&(0x7f0000016b00)="00000000000000000000040000000000000000010000000000000000d0010000000000000000000000000040000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000040000000000000083f1e55d0e584394b47e4e5b62fb6d3e00"/128, 0x80, 0x2527b60}, {&(0x7f0000016c00)="000000000000000000000000000000000058bc645f000000000000000058bc645f00"/64, 0x40, 0x2527c00}, {&(0x7f0000016d00)="000000000000000000070064656661756c7401000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed4100"/96, 0x60, 0x2527c80}, {&(0x7f0000016e00)="000000000000000000000000000000000000050000000000000000000000000000000000d20100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000500"/128, 0x80, 0x2527d20}, {&(0x7f0000016f00)="00000000000000000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed4100", 0x40, 0x2527e40}, {&(0x7f0000017000)="0000000000000000000500000000000000000000000000000000c0d10100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000500000000000000", 0x60, 0x2527ee0}, {&(0x7f0000017100)="ba90da728109591cce10063600a53960e5665e4ed0bddaf02c353cbb935c909a1ec9bb8ff52840a088c7e37435d3f6920080d2010000000001000000000000018898924d11794bfdbd3ca9e92bce508d0600000000000000050000000000000023000000000001000000000000010000000000000000fb3e0000a000000000010000000000000c0001000000000000ef3e00000c0000000001000000000000544bae790400000000cc3e0000230000000001000000000000546b826b1100000000a53e000027000000000100000000000054bf5d291700000000823e000023000000000100000000000054bcde42e5000000005f3e000023000000000100000000000054482d12f6000000003c3e0000230000000001000000000000600200000000000000193e0000230000000001000000000000600300000000000000f63d0000230000000001000000000000600400000000000000d33d0000230000000001000000000000600500000000000000b03d0000230000000001000000000000600600000000000000893d0000270000000101000000000000010000000000000000e93c0000a000000001010000000000000c0001000000000000da3c00000f0000000101000000000000544bae790400000000b73c000023000000010100000000000054482d12f600000000943c0000230000000101000000000000600200000000000000713c00002300000001010000000000006003000000000000004e3c0000230000000201000000000000010000000000000000ae3b0000a000000002010000000000000c01010000000000009f3b00000f00000002010000000000006c0000000000000000703700002f0400000301000000000000010000000000000000d0360000a000000003010000000000000c0101000000000000c13600000f00000003010000000000006c0000000000000000863600003b0000000401000000000000010000000000000000e6350000a000000004010000000000000c0001000000000000d73500000f00000004010000000000001822a8f12600000000a83500002f000000040100000000000018d65ba13500000000793500002f00000004010000000000006c00000000000000005a3500001f0000000501000000000000010000000000000000ba340000a000000005010000000000000c00010000000000009c3400001e00000005010000000000006c000000000000000067340000350000000601000000000000010000000000000000c7330000a000000006010000000000000c0001000000000000b43300001300000006010000000000006c00000000000000003b3300007900"/992, 0x3e0, 0x2528000}, {&(0x7f0000017500)="06000000000000006400000000000000000000000073797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c6572730600000000000000090066696c652e636f6c6406000000000000000600000000000000640000000000000064000000000000000000000000000000010000000000000000000000ed810000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000058bc645f00000000b75ba43658bc645f00000000b75ba43658bc645f00000000b75ba43658bc645f00000000b75ba4360600000000000000003000000000000000000000010000d000000000000030000000000000000000000000000000300000000000000400000000000000050066696c65320500000000000000050066696c653306000000000000000600000000000000282300000000000000300000000000000000000000000000020000000000000000000000ed810000000000000000000000000000000000000700000000000000000000000000000000000000000000000000000000000000000000000000000058bc645f00000000b75ba43658bc645f00000000b75ba43658bc645f00000000b75ba43658bc645f00000000b75ba43606000000000000000a00000000000000000000000073797a6b616c6c6572730000000000000000000000000000000000060000000000000006000b0008757365722e7861747472317861747472310000000000000000000000000000000000060000000000000006000b0008757365722e7861747472327861747472320300000000000000050066696c6531060000000000000006000000000000000a000000000000000a000000000000000000000000000000010000000000000000000000ed810000000000000000000000000000000000000700000000000000000000000000000000000000000000000000000000000000000000000000000058bc645f00000000b75ba43658bc645f00000000b75ba43658bc645f00000000b75ba43658bc645f00000000b75ba4360600000000000000260000000000000000000000002f746d702f73797a2d696d61676567656e3637313332303639312f66696c65302f66696c65300300000000000000050066696c653106000000000000000600000000000000260000000000000026000000000000000000000000000000010000000000000000000000ffa10000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000000000000000000058bc645f00000000b75ba43658bc645f00000000b75ba43658bc645f00000000b75ba43658bc645f00000000b75ba43606000000000000001a04000000000000000000000073797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c0200000000000000050066696c6530060000000000000006000000000000001a040000000000001a040000000000000000000000000000010000000000000000000000ed810000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000058bc645f00000000b75ba43658bc645f00000000b75ba43658bc645f00000000b75ba43658bc645f00000000b75ba43603010000000000000100000000000000000600000000000000000005000766696c653102010000000000000100000000000000000600000000000000000005000166696c653003010000000000000100000000000000000600000000000000000005000766696c653102010000000000000100000000000000000600000000000000000005000166696c65300200000000000000050066696c653006000000000000000600000000000000140000000000000000000000000000000000000000000000010000000000000000000000ed410000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000000000000000000058bc645f00000000b75ba43658bc645f00000000b75ba43658bc645f00000000b75ba43658bc645f00000000b75ba43606010000000000000100000000000000000600000000000000000009000166696c652e636f6c6405010000000000000100000000000000000600000000000000000005000166696c653305010000000000000100000000000000000600000000000000000005000166696c653204010000000000000100000000000000000600000000000000000005000166696c653101010000000000000100000000000000000600000000000000000005000266696c653004010000000000000100000000000000000600000000000000000005000166696c653105010000000000000100000000000000000600000000000000000005000166696c653205010000000000000100000000000000000600000000000000000005000166696c653306010000000000000100000000000000000600000000000000000009000166696c652e636f6c6401010000000000000100000000000000000600000000000000000005000266696c6530000000000000000002002e2e030000000000000006000000000000003a0000000000000000400000000000000000000000000000010000000000000000000000ed410000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000000000000000000058bc645f000000000000000058bc645f00000000b75ba43658bc645f00000000b75ba43658bc645f0000000000000000dca7a0a834bf151f23f314cf9809cb90ae7f88c97683ad8522472a755631f5431ec9bb8ff52840a088c7e37435d3f69200c0d2010000000001000000000000018898924d11794bfdbd3ca9e92bce508d060000000000000001000000000000000a000000000200000000000000840000000000000000e43d0000b701000004000000000000008400000000000000002d3c0000b701000005000000000000000c06000000000000001c3c0000110000000500000000000000840000000000000000653a0000b70100000600000000000000010000000000000000c5390000a000000006000000000000000c0600000000000000b93900000c000000060000000000000054d2c2bf8d0000000094390000250000000700000000000000840000000000000000dd370000b7010000090000000000000084000000000000000026360000b7010000f7ffffffffffffff8400000000000000006f340000b701000000", 0xdc0, 0x252b3a0}, {&(0x7f0000018300)="0000000000000000000000000000000000000000040000000000000000010000000000000040d10100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000400"/128, 0x80, 0x252f560}, {&(0x7f0000018400)="0000000000000000000000040000000000000000000000000000000080d1010000000000000000000000000040000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000040000000000", 0x60, 0x252f720}, {&(0x7f0000018500)="000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed410000000000000000", 0x40, 0x252f840}, {&(0x7f0000018600)="0000060000000000000000000000000000000080d00100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000600"/96, 0x60, 0x252f8e0}, {&(0x7f0000018700)="00000000000000000000000000000000000000000000000000050000000000000084ffffffffffffffff0000000000000000000007000264656661756c74000000000000000002002e2e03000000000000000000000000000000000000000000000000400000000000000000000000000000010000000000000000000000ed410000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000058bc645f000000000000000058bc645f000000000000000058bc645f000000000000000058bc645f000000000000000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed410000000000000000000000000080ffffffff00"/320, 0x140, 0x252f9e0}, {&(0x7f0000018900)="00000000000000000000060000000000000000010000000000000080d2010000000000000000000000000040000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000060000000000000083f1e55d0e584394b47e4e5b62fb6d3e0000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000058bc645f000000007d70713758bc645f00"/224, 0xe0, 0x252fb60}, {&(0x7f0000018a00)="000000000000000000070064656661756c7401000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed4100"/96, 0x60, 0x252fc80}, {&(0x7f0000018b00)="000000000000000000000000000000000000060000000000000000000000000000000000d30100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000600"/128, 0x80, 0x252fd20}, {&(0x7f0000018c00)="00000000000000000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed4100", 0x40, 0x252fe40}, {&(0x7f0000018d00)="0000000000000000000600000000000000000000000000000000c0d00100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000600000000000000", 0x60, 0x252fee0}, {&(0x7f0000018e00)="ae4b1dd987ba0e58abaab958a1cc1c8a23e22f75be4abfacd7e1d5e8375b15cf1ec9bb8ff52840a088c7e37435d3f6920000d3010000000001000000000000018898924d11794bfdbd3ca9e92bce508d0600000000000000040000000000000006000000000000000000000000f90100000000000000733f0000280000000100000000000000cc0000d00000000000433f0000300000000100000000000000cc0000500100000000133f0000300000000100000000000000cc0000d00100000000e33e0000300000000100000000000000cc0000500200000000b33e0000300000000100000000000000cc0000500400000000833e0000300000000000000000", 0x100, 0x2530000}, {&(0x7f0000018f00)="0000000000000000030000000000000000010000000000000000d0010000000000000002000000008898924d11794bfdbd3ca9e92bce508d030000000000000000010000000000000000d0010000000000000002000000008898924d11794bfdbd3ca9e92bce508d03000000000000000001000000000000000050010000000000008000000000008898924d11794bfdbd3ca9e92bce508d03000000000000000001000000000000000050010000000000008000000000008898924d11794bfdbd3ca9e92bce508d030000000000000000010000000000000000d0000000000000008000000000008898924d11794bfdbd3ca9e92bce508d0000000000000000000000000000000000000000000000000000000000000000000000000000000067162b8ee515300e7689bda7d245a4c1737ae636f00f415ffd09345be9d4b8a01ec9bb8ff52840a088c7e37435d3f6920040d3010000000001000000000000018898924d11794bfdbd3ca9e92bce508d070000000000000001000000000000000a000000000200000000000000840000000000000000e43d0000b701000004000000000000008400000000000000002d3c0000b701000005000000000000000c06000000000000001c3c0000110000000500000000000000840000000000000000653a0000b70100000600000000000000010000000000000000c5390000a000000006000000000000000c0600000000000000b93900000c000000060000000000000054d2c2bf8d0000000094390000250000000700000000000000840000000000000000dd370000b7010000090000000000000084000000000000000026360000b7010000f7ffffffffffffff8400000000000000006f340000b701000000", 0x280, 0x2533ee0}, {&(0x7f0000019200)="0000000000000000000000000000000000000000040000000000000000010000000000000040d10100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000400"/128, 0x80, 0x2537560}, {&(0x7f0000019300)="0000000000000000000000040000000000000000000000000000000080d1010000000000000000000000000040000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000040000000000", 0x60, 0x2537720}, {&(0x7f0000019400)="000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed410000000000000000", 0x40, 0x2537840}, {&(0x7f0000019500)="0000060000000000000000000000000000000080d00100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000600"/96, 0x60, 0x25378e0}, {&(0x7f0000019600)="00000000000000000000000000000000000000000000000000050000000000000084ffffffffffffffff0000000000000000000007000264656661756c74000000000000000002002e2e03000000000000000000000000000000000000000000000000400000000000000000000000000000010000000000000000000000ed410000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000058bc645f000000000000000058bc645f000000000000000058bc645f000000000000000058bc645f000000000000000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed410000000000000000000000000080ffffffff00"/320, 0x140, 0x25379e0}, {&(0x7f0000019800)="00000000000000000000060000000000000000010000000000000080d2010000000000000000000000000040000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000060000000000000083f1e55d0e584394b47e4e5b62fb6d3e0000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000058bc645f000000007d70713758bc645f00"/224, 0xe0, 0x2537b60}, {&(0x7f0000019900)="000000000000000000070064656661756c7401000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed4100"/96, 0x60, 0x2537c80}, {&(0x7f0000019a00)="000000000000000000000000000000000000060000000000000000000000000000000000d30100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000600"/128, 0x80, 0x2537d20}, {&(0x7f0000019b00)="00000000000000000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed4100", 0x40, 0x2537e40}, {&(0x7f0000019c00)="000000000000000000070000000000000000000000000000000080d30100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000700000000000000", 0x60, 0x2537ee0}, {&(0x7f0000019d00)="47fb039e03afb7bb0915f0cc7138b810f4196b08d4dc1084158d00266f020cde1ec9bb8ff52840a088c7e37435d3f6920080d3010000000001000000000000018898924d11794bfdbd3ca9e92bce508d070000000000000002000000000000000c000000000000d00000000000a80030000000000000663f0000350000000000d00000000000c000008000000000004e3f0000180000000000500100000000c00000800000000000363f0000180000000040500100000000a90000000000000000153f0000210000000000d00100000000c00000000200000000fd3e0000180000000080d00100000000a90000000000000000dc3e0000210000000040d10100000000a90000000000000000bb3e0000210000000080d10100000000a900000000000000009a3e0000210000000080d20100000000a90000000000000000793e0000210000000000d30100000000a90000000000000000583e0000210000000040d30100000000a90000000000000000373e0000210000000080d30100000000a90000000000000000163e00002100"/416, 0x1a0, 0x2538000}, {&(0x7f0000019f00)="000000000000000000000000000000000000000000000000000000010000000000000007000000000000000200000000000000b00200000000000000010000000000000007000000000000000200000000000000b00100000000000000010000000000000006000000000000000200000000000000b00400000000000000010000000000000006000000000000000200000000000000b00500000000000000010000000000000004000000000000000200000000000000b00900000000000000010000000000000004000000000000000200000000000000b0f7ffffffffffffff010000000000000006000000000000000200000000000000b0070000000000000000c001000000000000010000000000002400000000000000010000000000000005000000000000000200000000000000b00300000000000000004000000000000000010000000000002200000000000000003000000000000000010000000000000100000000000000010000000000000006000000000000000100000000000000b205000000000000000501000000000000000000000000000001000000", 0x1a0, 0x253be60}, {&(0x7f000001a100)="fe80647ac005b45b9045fa6a0986e34b5e34360f2b33406916eda88378e12d291ec9bb8ff52840a088c7e37435d3f692000000040000000001000000000000005f42485266535f4d07000000000000000040d30100000000004050010000000000000000000000000000000000000000000000080000000000300200000000000600000000000000010000000000000000100000004000000040000000100000810000000500000000000000000000000000000000000000000000006109000000000000030000000001000000000000000000000800000000000080050000000000100000001000000010000000000000000000000000000000000000000000000000000000000000000029cabda4d9df4fcd856cd38a6a9379b81ec9bb8ff52840a088c7e37435d3f69200"/320, 0x140, 0x4000000}, {&(0x7f000001a300)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\a\x00\x00\x00\x00\x00\x00\x00\a\x00'/32, 0x20, 0x4000220}, {&(0x7f000001a400)="00000000000000000000000001000000000000e400005001000000000000800000000000020000000000000000000100000000002200000000000000000001000000010000100000020001000100000000000000000050010000000029cabda4d9df4fcd856cd38a6a9379b801000000000000000000d0010000000029cabda4d9df4fcd856cd38a6a9379b80000000100000000002200000000000000000001000000010000100000020001000100000000000000000050010000000029cabda4d9df4fcd856cd38a6a9379b801000000000000000000d0010000000029cabda4d9df4fcd856cd38a6a9379b800"/256, 0x100, 0x4000320}, {&(0x7f000001a500)="00000000000000000000000040d2010000000005000000000000000040500100000000050000000000000000c0d1010000000005000000000000000000d0010000000004000000000000000000d2010000000005000000000000000000d10100000000040000000000000000000008000000000000020000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0d2010000000006000000000000000040500100000000050000000000000000c0d0010000000006000000000000000080d2010000000006000000000000000000d3010000000006000000000000000080d0010000000006000000000000000000000800000000003002000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d301000000000700000000000000004050010000000005000000000000000080d3010000000007000000000000000080d2010000000006000000000000000000d3010000000006000000000000000080d0010000000006000000000000000000000800000000003002000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d001000000000400000000000000000050010000000004000000000000000080d0010000000004000000000000000000d00100000000040000000000000000c0d0010000000004000000000000000000d101000000000400000000000000000000080000000000000200000000000100"/640, 0x280, 0x4000b20}, {&(0x7f000001a800)="a03f9655ee545e3554898bb18241de32cc182b0a75b71079646bf8cdd0335b661ec9bb8ff52840a088c7e37435d3f6920000d0010000000001000000000000018898924d11794bfdbd3ca9e92bce508d0400000000000000050000000000000002000000000001000000000000010000000000000000fb3e0000a000000000010000000000000c0001000000000000ef3e00000c00"/160, 0xa0, 0x4500000}, {&(0x7f000001a900)="0000000000000000000000000000000000000000000000000000000002002e2e03000000000000000000000000000000000000000000000000400000000000000000000000000000010000000000000000000000ed410000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000058bc645f000000000000000058bc645f000000000000000058bc645f000000000000000058bc645f0000000000000000904a4373ba1848b9b10ae870d5c45695866e09d7ff2a8b6d6ea421f29e0197b51ec9bb8ff52840a088c7e37435d3f6920040d0010000000001000000000000018898924d11794bfdbd3ca9e92bce508d060000000000000005000000000000001c000000000001000000000000010000000000000000fb3e0000a000000000010000000000000c0001000000000000ef3e00000c0000000001000000000000544bae790400000000cc3e0000230000000001000000000000546b826b1100000000a53e000027000000000100000000000054bf5d291700000000823e000023000000000100000000000054bcde42e5000000005f3e000023000000000100000000000054482d12f6000000003c3e00002300000001010000000000000100000000000000009c3d0000a000000001010000000000000c00010000000000008d3d00000f0000000101000000000000544bae7904000000006a3d000023000000010100000000000054482d12f600000000473d0000230000000201000000000000010000000000000000a73c0000a000000002010000000000000c0101000000000000983c00000f00000002010000000000006c0000000000000000693800002f0400000301000000000000010000000000000000c9370000a000000003010000000000000c0101000000000000ba3700000f00000003010000000000006c00000000000000007f3700003b0000000401000000000000010000000000000000df360000a000000004010000000000000c0001000000000000d03600000f00000004010000000000001822a8f12600000000a13600002f000000040100000000000018d65ba13500000000723600002f00000004010000000000006c0000000000000000533600001f0000000501000000000000010000000000000000b3350000a000000005010000000000000c0001000000000000953500001e00000005010000000000006c000000000000000060350000350000000601000000000000010000000000000000c0340000a000000006010000000000000c0001000000000000ad3400001300000006010000000000006c000000000000000034340000790000", 0x3e0, 0x4503f40}, {&(0x7f000001ad00)="0000000000000000000000000000000000000000000000000006000000000000006400000000000000000000000073797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c6572730600000000000000090066696c652e636f6c6406000000000000000600000000000000000000000000000000000000000000000000000000000000010000000000000000000000ff810000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000000000000000000058bc645f00000000b75ba43658bc645f00000000b75ba43658bc645f00000000b75ba43658bc645f00000000b75ba4360600000000000000003000000000000000000000010000d000000000000030000000000000000000000000000000300000000000000400000000000000050066696c65320500000000000000050066696c653306000000000000000600000000000000000000000000000000000000000000000000000000000000010000000000000000000000ff810000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000000000000000000058bc645f00000000b75ba43658bc645f00000000b75ba43658bc645f00000000b75ba43658bc645f00000000b75ba43606000000000000000a00000000000000000000000073797a6b616c6c6572730000000000000000000000000000000000060000000000000006000b0008757365722e7861747472317861747472310000000000000000000000000000000000060000000000000006000b0008757365722e7861747472327861747472320300000000000000050066696c653106000000000000000600000000000000000000000000000000000000000000000000000000000000010000000000000000000000ff810000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000058bc645f00000000b75ba43658bc645f00000000b75ba43658bc645f00000000b75ba43658bc645f00000000b75ba4360600000000000000260000000000000000000000002f746d702f73797a2d696d61676567656e3637313332303639312f66696c65302f66696c65300300000000000000050066696c653106000000000000000600000000000000000000000000000000000000000000000000000000000000010000000000000000000000ffa10000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000000000000000000058bc645f00000000b75ba43658bc645f00000000b75ba43658bc645f00000000b75ba43658bc645f00000000b75ba43606000000000000001a04000000000000000000000073797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c0200000000000000050066696c653006000000000000000600000000000000000000000000000000000000000000000000000000000000010000000000000000000000ff810000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000000000000000000058bc645f00000000b75ba43658bc645f00000000b75ba43658bc645f00000000b75ba43658bc645f00000000b75ba43603010000000000000100000000000000000600000000000000000005000766696c653102010000000000000100000000000000000600000000000000000005000166696c65300200000000000000050066696c653006000000000000000600000000000000000000000000000000000000000000000000000000000000010000000000000000000000ff410000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000058bc645f00000000b75ba43658bc645f00000000b75ba43658bc645f00000000b75ba43658bc645f00000000b75ba43604010000000000000100000000000000000600000000000000000005000166696c653105010000000000000100000000000000000600000000000000000005000166696c653205010000000000000100000000000000000600000000000000000005000166696c653306010000000000000100000000000000000600000000000000000009000166696c652e636f6c6401010000000000000100000000000000000600000000000000000005000266696c6530000000000000000002002e2e03000000000000000000000000000000000000000000000000400000000000000000000000000000010000000000000000000000ed410000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000058bc645f000000000000000058bc645f000000000000000058bc645f000000000000000058bc645f0000000000000000ae2e58d4febbb1eb67e151543e6e657cdb09e5c49a33f5322385e7daa7fa5a591ec9bb8ff52840a088c7e37435d3f6920080d0010000000001000000000000018898924d11794bfdbd3ca9e92bce508d060000000000000007000000000000000100000000f6ffffffffffffff800000d000000000003b3f0000600000000000", 0xc00, 0x4507480}, {&(0x7f000001b900)="686ede9288c391e7e05026e56f2f91bfd879987a040ea98445dabc76f55b8e5f686ede9288c391e7e05026e56f2f91bfd879987a040ea98445dabc76f55b8e5f686ede9288c391e7e05026e56f2f91bfd879987a040ea98445dabc76f55b8e5f84deafbdb945b303fccda7f50ab2ec2dc801f55ffdc391d799c6ea59b8be566e1ec9bb8ff52840a088c7e37435d3f69200c0d0010000000001000000000000018898924d11794bfdbd3ca9e92bce508d060000000000000002000000000000000c000000000000d00000000000a80030000000000000663f0000350000000000d00000000000c000008000000000004e3f0000180000000000500100000000c00000800000000000363f0000180000000040500100000000a90000000000000000153f0000210000000000d00100000000c00000000200000000fd3e0000180000000080d00100000000a90000000000000000dc3e00002100000000c0d00100000000a90000000000000000bb3e0000210000000040d10100000000a900000000000000009a3e0000210000000080d10100000000a90000000000000000793e0000210000000080d20100000000a90000000000000000583e00002100000000c0d20100000000a90000000000000000373e0000210000000000d30100000000a90000000000000000163e00002100"/512, 0x200, 0x450bfa0}, {&(0x7f000001bb00)="000000000000000000000000000000000000000000000000000000010000000000000006000000000000000200000000000000b00400000000000000010000000000000006000000000000000200000000000000b00100000000000000010000000000000006000000000000000200000000000000b00500000000000000010000000000000004000000000000000200000000000000b00900000000000000010000000000000004000000000000000200000000000000b0f7ffffffffffffff010000000000000006000000000000000200000000000000b00200000000000000010000000000000006000000000000000200000000000000b0070000000000000000c001000000000000010000000000002400000000000000010000000000000005000000000000000200000000000000b00300000000000000004000000000000000010000000000002200000000000000003000000000000000010000000000000100000000000000010000000000000006000000000000000100000000000000b205000000000000000501000000000000000000000000000001000000ce51be5e3ef47d98994e574ad998e48ab39c787c806b13d6e074fc8d9678102d1ec9bb8ff52840a088c7e37435d3f6920000d1010000000001000000000000018898924d11794bfdbd3ca9e92bce508d04000000000000000700000000000000", 0x200, 0x450fe60}, {&(0x7f000001bd00)="3a62b8cd0ca3919d8004f991a66e68efd0754d16161c87114cd0742f1f7818901ec9bb8ff52840a088c7e37435d3f6920040d1010000000001000000000000018898924d11794bfdbd3ca9e92bce508d0400000000000000f7ffffffffffffff02000000000001000000000000010000000000000000fb3e0000a000000000010000000000000c0001000000000000ef3e00000c00"/160, 0xa0, 0x4514000}, {&(0x7f000001be00)="0000000000000000000000000000000000000000000000000000000002002e2e04000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000ed410000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000058bc645f000000000000000058bc645f000000000000000058bc645f000000000000000000000000000000000000000033644de9be8c453caf3bc0a4b8f7b41f8cc2a0729b80cd0f0efb0b76020839ef1ec9bb8ff52840a088c7e37435d3f6920080d1010000000001000000000000018898924d11794bfdbd3ca9e92bce508d04000000000000000900000000000000010000000083f1e55d0e584394fbb47e4e5b62fb6d3e933f0000080000000000", 0x140, 0x4517f40}, {&(0x7f000001c000)="00000000000000000000000000000000000000000000000005000000000000006a87160652812ebd42368b50c8bdecbf6cbbc35bc29bb49cba18733d6ae306291ec9bb8ff52840a088c7e37435d3f69200c0d1010000000001000000000000018898924d11794bfdbd3ca9e92bce508d050000000000000002000000000000000b000000000000d00000000000c00000800000000000833f0000180000000000500100000000c000008000000000006b3f0000180000000040500100000000a900000000000000004a3f0000210000000000d00100000000a90000000000000000293f0000210000000000d00100000000c00000000200000000113f0000180000000000d10100000000a90000000000000000f03e0000210000000040d10100000000a90000000000000000cf3e0000210000000080d10100000000a90000000000000000ae3e00002100000000c0d10100000000a900000000000000008d3e0000210000000000d20100000000a900000000000000006c3e0000210000000040d20100000000a900000000000000004b3e0000210000000080d10100000000a900000000000000004b3e0000210000000080d10100000000a90000000000000000333e0000210000000000500000000000c00000800000000000f33e000018", 0x1e0, 0x451bfe0}, {&(0x7f000001c200)="010000000000000004000000000000000200000000000000010000000000000004000000000000000200000000000000010000000000000005000000000000000200000000000000b00100000000000000010000000000000005000000000000000200000000000000b00400000000000000010000000000000005000000000000000200000000000000b00200000000000000010000000000000004000000000000000200000000000000b00900000000000000010000000000000004000000000000000200000000000000b0f7ffffffffffffff010000000000000004000000000000000200000000000000b0070000000000000000c001000000000000010000000000002400000000000000010000000000000004000000000000000200000000000000b00500000000000000010000000000000005000000000000000200000000000000b00300000000000000004000000000000000010000000000002200000000000000000000000000000000010000000000000100000000000000e9f3f6199e648e7223fb48ed69bc2af5a213c13d48e4971e4c2fc8d25b90428b1ec9bb8ff52840a088c7e37435d3f6920000d2010000000001000000000000018898924d11794bfdbd3ca9e92bce508d0500000000000000040000000000000005000000000100000000000000cc0000d000000000006b3f0000300000000100000000000000cc00005001000000003b3f0000300000000100000000000000cc0000d001000000000b3f0000300000000100000000000000cc0000500200000000db3e0000300000000100000000000000cc0000500400000000ab3e0000300000000100000000000000cc0000500400000000ab3e0000300000000100000000000000cc00005004000000007b3e00003000"/672, 0x2a0, 0x451fe80}, {&(0x7f000001c500)="00000000000000000000000000000000030000000000000000010000000000000000d0010000000000000002000000008898924d11794bfdbd3ca9e92bce508d030000000000000000010000000000000000d0010000000000000002000000008898924d11794bfdbd3ca9e92bce508d030000000000000000010000000000000000d0010000000000000002000000008898924d11794bfdbd3ca9e92bce508d030000000000000000010000000000000000d0010000000000000002000000008898924d11794bfdbd3ca9e92bce508d03000000000000000001000000000000000050010000000000008000000000008898924d11794bfdbd3ca9e92bce508d03000000000000000001000000000000000050010000000000008000000000008898924d11794bfdbd3ca9e92bce508d030000000000000000010000000000000000d0000000000000008000000000008898924d11794bfdbd3ca9e92bce508dfa3ba7456b8c946604de3d497115bec037a42e4035a04d22bb6e1d1caea16ca31ec9bb8ff52840a088c7e37435d3f6920040d2010000000001000000000000018898924d11794bfdbd3ca9e92bce508d050000000000000001000000000000000a000000000200000000000000840000000000000000e43d0000b701000004000000000000008400000000000000002d3c0000b701000005000000000000000c06000000000000001c3c0000110000000500000000000000840000000000000000653a0000b70100000600000000000000010000000000000000c5390000a000000006000000000000000c0600000000000000b93900000c000000060000000000000054d2c2bf8d0000000094390000250000000700000000000000840000000000000000dd370000b7010000090000000000000084000000000000000026360000b7010000f7ffffffffffffff8400000000000000006f340000b701000000", 0x2c0, 0x4523ea0}, {&(0x7f000001c800)="0000000000000000000000000000000000000000040000000000000000010000000000000040d10100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000400"/128, 0x80, 0x4527560}, {&(0x7f000001c900)="0000000000000000000000040000000000000000000000000000000080d1010000000000000000000000000040000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000040000000000", 0x60, 0x4527720}, {&(0x7f000001ca00)="000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed410000000000000000", 0x40, 0x4527840}, {&(0x7f000001cb00)="0000040000000000000000000000000000000000d10100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000400"/96, 0x60, 0x45278e0}, {&(0x7f000001cc00)="00000000000000000000000000000000000000000000000000050000000000000084ffffffffffffffff0000000000000000000007000264656661756c74000000000000000002002e2e03000000000000000000000000000000000000000000000000400000000000000000000000000000010000000000000000000000ed410000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000058bc645f000000000000000058bc645f000000000000000058bc645f000000000000000058bc645f000000000000000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed41", 0x120, 0x45279e0}, {&(0x7f000001ce00)="00000000000000000000040000000000000000010000000000000000d0010000000000000000000000000040000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000040000000000000083f1e55d0e584394b47e4e5b62fb6d3e00"/128, 0x80, 0x4527b60}, {&(0x7f000001cf00)="000000000000000000000000000000000058bc645f000000000000000058bc645f00"/64, 0x40, 0x4527c00}, {&(0x7f000001d000)="000000000000000000070064656661756c7401000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed4100"/96, 0x60, 0x4527c80}, {&(0x7f000001d100)="000000000000000000000000000000000000050000000000000000000000000000000000d20100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000500"/128, 0x80, 0x4527d20}, {&(0x7f000001d200)="00000000000000000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed4100", 0x40, 0x4527e40}, {&(0x7f000001d300)="0000000000000000000500000000000000000000000000000000c0d10100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000500000000000000", 0x60, 0x4527ee0}, {&(0x7f000001d400)="ba90da728109591cce10063600a53960e5665e4ed0bddaf02c353cbb935c909a1ec9bb8ff52840a088c7e37435d3f6920080d2010000000001000000000000018898924d11794bfdbd3ca9e92bce508d0600000000000000050000000000000023000000000001000000000000010000000000000000fb3e0000a000000000010000000000000c0001000000000000ef3e00000c0000000001000000000000544bae790400000000cc3e0000230000000001000000000000546b826b1100000000a53e000027000000000100000000000054bf5d291700000000823e000023000000000100000000000054bcde42e5000000005f3e000023000000000100000000000054482d12f6000000003c3e0000230000000001000000000000600200000000000000193e0000230000000001000000000000600300000000000000f63d0000230000000001000000000000600400000000000000d33d0000230000000001000000000000600500000000000000b03d0000230000000001000000000000600600000000000000893d0000270000000101000000000000010000000000000000e93c0000a000000001010000000000000c0001000000000000da3c00000f0000000101000000000000544bae790400000000b73c000023000000010100000000000054482d12f600000000943c0000230000000101000000000000600200000000000000713c00002300000001010000000000006003000000000000004e3c0000230000000201000000000000010000000000000000ae3b0000a000000002010000000000000c01010000000000009f3b00000f00000002010000000000006c0000000000000000703700002f0400000301000000000000010000000000000000d0360000a000000003010000000000000c0101000000000000c13600000f00000003010000000000006c0000000000000000863600003b0000000401000000000000010000000000000000e6350000a000000004010000000000000c0001000000000000d73500000f00000004010000000000001822a8f12600000000a83500002f000000040100000000000018d65ba13500000000793500002f00000004010000000000006c00000000000000005a3500001f0000000501000000000000010000000000000000ba340000a000000005010000000000000c00010000000000009c3400001e00000005010000000000006c000000000000000067340000350000000601000000000000010000000000000000c7330000a000000006010000000000000c0001000000000000b43300001300000006010000000000006c00000000000000003b3300007900"/992, 0x3e0, 0x4528000}, {&(0x7f000001d800)="06000000000000006400000000000000000000000073797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c6572730600000000000000090066696c652e636f6c6406000000000000000600000000000000640000000000000064000000000000000000000000000000010000000000000000000000ed810000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000058bc645f00000000b75ba43658bc645f00000000b75ba43658bc645f00000000b75ba43658bc645f00000000b75ba4360600000000000000003000000000000000000000010000d000000000000030000000000000000000000000000000300000000000000400000000000000050066696c65320500000000000000050066696c653306000000000000000600000000000000282300000000000000300000000000000000000000000000020000000000000000000000ed810000000000000000000000000000000000000700000000000000000000000000000000000000000000000000000000000000000000000000000058bc645f00000000b75ba43658bc645f00000000b75ba43658bc645f00000000b75ba43658bc645f00000000b75ba43606000000000000000a00000000000000000000000073797a6b616c6c6572730000000000000000000000000000000000060000000000000006000b0008757365722e7861747472317861747472310000000000000000000000000000000000060000000000000006000b0008757365722e7861747472327861747472320300000000000000050066696c6531060000000000000006000000000000000a000000000000000a000000000000000000000000000000010000000000000000000000ed810000000000000000000000000000000000000700000000000000000000000000000000000000000000000000000000000000000000000000000058bc645f00000000b75ba43658bc645f00000000b75ba43658bc645f00000000b75ba43658bc645f00000000b75ba4360600000000000000260000000000000000000000002f746d702f73797a2d696d61676567656e3637313332303639312f66696c65302f66696c65300300000000000000050066696c653106000000000000000600000000000000260000000000000026000000000000000000000000000000010000000000000000000000ffa10000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000000000000000000058bc645f00000000b75ba43658bc645f00000000b75ba43658bc645f00000000b75ba43658bc645f00000000b75ba43606000000000000001a04000000000000000000000073797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c0200000000000000050066696c6530060000000000000006000000000000001a040000000000001a040000000000000000000000000000010000000000000000000000ed810000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000058bc645f00000000b75ba43658bc645f00000000b75ba43658bc645f00000000b75ba43658bc645f00000000b75ba43603010000000000000100000000000000000600000000000000000005000766696c653102010000000000000100000000000000000600000000000000000005000166696c653003010000000000000100000000000000000600000000000000000005000766696c653102010000000000000100000000000000000600000000000000000005000166696c65300200000000000000050066696c653006000000000000000600000000000000140000000000000000000000000000000000000000000000010000000000000000000000ed410000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000000000000000000058bc645f00000000b75ba43658bc645f00000000b75ba43658bc645f00000000b75ba43658bc645f00000000b75ba43606010000000000000100000000000000000600000000000000000009000166696c652e636f6c6405010000000000000100000000000000000600000000000000000005000166696c653305010000000000000100000000000000000600000000000000000005000166696c653204010000000000000100000000000000000600000000000000000005000166696c653101010000000000000100000000000000000600000000000000000005000266696c653004010000000000000100000000000000000600000000000000000005000166696c653105010000000000000100000000000000000600000000000000000005000166696c653205010000000000000100000000000000000600000000000000000005000166696c653306010000000000000100000000000000000600000000000000000009000166696c652e636f6c6401010000000000000100000000000000000600000000000000000005000266696c6530000000000000000002002e2e030000000000000006000000000000003a0000000000000000400000000000000000000000000000010000000000000000000000ed410000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000000000000000000058bc645f000000000000000058bc645f00000000b75ba43658bc645f00000000b75ba43658bc645f0000000000000000dca7a0a834bf151f23f314cf9809cb90ae7f88c97683ad8522472a755631f5431ec9bb8ff52840a088c7e37435d3f69200c0d2010000000001000000000000018898924d11794bfdbd3ca9e92bce508d060000000000000001000000000000000a000000000200000000000000840000000000000000e43d0000b701000004000000000000008400000000000000002d3c0000b701000005000000000000000c06000000000000001c3c0000110000000500000000000000840000000000000000653a0000b70100000600000000000000010000000000000000c5390000a000000006000000000000000c0600000000000000b93900000c000000060000000000000054d2c2bf8d0000000094390000250000000700000000000000840000000000000000dd370000b7010000090000000000000084000000000000000026360000b7010000f7ffffffffffffff8400000000000000006f340000b701000000", 0xdc0, 0x452b3a0}, {&(0x7f000001e600)="0000000000000000000000000000000000000000040000000000000000010000000000000040d10100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000400"/128, 0x80, 0x452f560}, {&(0x7f000001e700)="0000000000000000000000040000000000000000000000000000000080d1010000000000000000000000000040000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000040000000000", 0x60, 0x452f720}, {&(0x7f000001e800)="000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed410000000000000000", 0x40, 0x452f840}, {&(0x7f000001e900)="0000060000000000000000000000000000000080d00100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000600"/96, 0x60, 0x452f8e0}, {&(0x7f000001ea00)="00000000000000000000000000000000000000000000000000050000000000000084ffffffffffffffff0000000000000000000007000264656661756c74000000000000000002002e2e03000000000000000000000000000000000000000000000000400000000000000000000000000000010000000000000000000000ed410000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000058bc645f000000000000000058bc645f000000000000000058bc645f000000000000000058bc645f000000000000000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed410000000000000000000000000080ffffffff00"/320, 0x140, 0x452f9e0}, {&(0x7f000001ec00)="00000000000000000000060000000000000000010000000000000080d2010000000000000000000000000040000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000060000000000000083f1e55d0e584394b47e4e5b62fb6d3e0000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000058bc645f000000007d70713758bc645f00"/224, 0xe0, 0x452fb60}, {&(0x7f000001ed00)="000000000000000000070064656661756c7401000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed4100"/96, 0x60, 0x452fc80}, {&(0x7f000001ee00)="000000000000000000000000000000000000060000000000000000000000000000000000d30100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000600"/128, 0x80, 0x452fd20}, {&(0x7f000001ef00)="00000000000000000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed4100", 0x40, 0x452fe40}, {&(0x7f000001f000)="0000000000000000000600000000000000000000000000000000c0d00100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000600000000000000", 0x60, 0x452fee0}, {&(0x7f000001f100)="ae4b1dd987ba0e58abaab958a1cc1c8a23e22f75be4abfacd7e1d5e8375b15cf1ec9bb8ff52840a088c7e37435d3f6920000d3010000000001000000000000018898924d11794bfdbd3ca9e92bce508d0600000000000000040000000000000006000000000000000000000000f90100000000000000733f0000280000000100000000000000cc0000d00000000000433f0000300000000100000000000000cc0000500100000000133f0000300000000100000000000000cc0000d00100000000e33e0000300000000100000000000000cc0000500200000000b33e0000300000000100000000000000cc0000500400000000833e0000300000000000000000", 0x100, 0x4530000}, {&(0x7f000001f200)="0000000000000000030000000000000000010000000000000000d0010000000000000002000000008898924d11794bfdbd3ca9e92bce508d030000000000000000010000000000000000d0010000000000000002000000008898924d11794bfdbd3ca9e92bce508d03000000000000000001000000000000000050010000000000008000000000008898924d11794bfdbd3ca9e92bce508d03000000000000000001000000000000000050010000000000008000000000008898924d11794bfdbd3ca9e92bce508d030000000000000000010000000000000000d0000000000000008000000000008898924d11794bfdbd3ca9e92bce508d0000000000000000000000000000000000000000000000000000000000000000000000000000000067162b8ee515300e7689bda7d245a4c1737ae636f00f415ffd09345be9d4b8a01ec9bb8ff52840a088c7e37435d3f6920040d3010000000001000000000000018898924d11794bfdbd3ca9e92bce508d070000000000000001000000000000000a000000000200000000000000840000000000000000e43d0000b701000004000000000000008400000000000000002d3c0000b701000005000000000000000c06000000000000001c3c0000110000000500000000000000840000000000000000653a0000b70100000600000000000000010000000000000000c5390000a000000006000000000000000c0600000000000000b93900000c000000060000000000000054d2c2bf8d0000000094390000250000000700000000000000840000000000000000dd370000b7010000090000000000000084000000000000000026360000b7010000f7ffffffffffffff8400000000000000006f340000b701000000", 0x280, 0x4533ee0}, {&(0x7f000001f500)="0000000000000000000000000000000000000000040000000000000000010000000000000040d10100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000400"/128, 0x80, 0x4537560}, {&(0x7f000001f600)="0000000000000000000000040000000000000000000000000000000080d1010000000000000000000000000040000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000040000000000", 0x60, 0x4537720}, {&(0x7f000001f700)="000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed410000000000000000", 0x40, 0x4537840}, {&(0x7f000001f800)="0000060000000000000000000000000000000080d00100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000600"/96, 0x60, 0x45378e0}, {&(0x7f000001f900)="00000000000000000000000000000000000000000000000000050000000000000084ffffffffffffffff0000000000000000000007000264656661756c74000000000000000002002e2e03000000000000000000000000000000000000000000000000400000000000000000000000000000010000000000000000000000ed410000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000058bc645f000000000000000058bc645f000000000000000058bc645f000000000000000058bc645f000000000000000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed410000000000000000000000000080ffffffff00"/320, 0x140, 0x45379e0}, {&(0x7f000001fb00)="00000000000000000000060000000000000000010000000000000080d2010000000000000000000000000040000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000060000000000000083f1e55d0e584394b47e4e5b62fb6d3e0000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000058bc645f000000007d70713758bc645f00"/224, 0xe0, 0x4537b60}, {&(0x7f000001fc00)="000000000000000000070064656661756c7401000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed4100"/96, 0x60, 0x4537c80}, {&(0x7f000001fd00)="000000000000000000000000000000000000060000000000000000000000000000000000d30100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000600"/128, 0x80, 0x4537d20}, {&(0x7f000001fe00)="00000000000000000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed4100", 0x40, 0x4537e40}, {&(0x7f000001ff00)="000000000000000000070000000000000000000000000000000080d30100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000700000000000000", 0x60, 0x4537ee0}, {&(0x7f0000020000)="47fb039e03afb7bb0915f0cc7138b810f4196b08d4dc1084158d00266f020cde1ec9bb8ff52840a088c7e37435d3f6920080d3010000000001000000000000018898924d11794bfdbd3ca9e92bce508d070000000000000002000000000000000c000000000000d00000000000a80030000000000000663f0000350000000000d00000000000c000008000000000004e3f0000180000000000500100000000c00000800000000000363f0000180000000040500100000000a90000000000000000153f0000210000000000d00100000000c00000000200000000fd3e0000180000000080d00100000000a90000000000000000dc3e0000210000000040d10100000000a90000000000000000bb3e0000210000000080d10100000000a900000000000000009a3e0000210000000080d20100000000a90000000000000000793e0000210000000000d30100000000a90000000000000000583e0000210000000040d30100000000a90000000000000000373e0000210000000080d30100000000a90000000000000000163e00002100"/416, 0x1a0, 0x4538000}, {&(0x7f0000020200)="000000000000000000000000000000000000000000000000000000010000000000000007000000000000000200000000000000b00200000000000000010000000000000007000000000000000200000000000000b00100000000000000010000000000000006000000000000000200000000000000b00400000000000000010000000000000006000000000000000200000000000000b00500000000000000010000000000000004000000000000000200000000000000b00900000000000000010000000000000004000000000000000200000000000000b0f7ffffffffffffff010000000000000006000000000000000200000000000000b0070000000000000000c001000000000000010000000000002400000000000000010000000000000005000000000000000200000000000000b00300000000000000004000000000000000010000000000002200000000000000003000000000000000010000000000000100000000000000010000000000000006000000000000000100000000000000b205000000000000000501000000000000000000000000000001000000", 0x1a0, 0x453be60}], 0x0, &(0x7f0000020400)) 21:36:22 executing program 0: unshare(0x2040400) r0 = socket$inet_icmp_raw(0x2, 0x3, 0x1) setsockopt$inet_mreqn(r0, 0x0, 0x0, 0x0, 0x0) 21:36:22 executing program 5: syz_emit_ethernet(0x2a, &(0x7f0000000000)={@local, @remote, @void, {@arp={0x806, @ether_ipv4={0x1, 0x800, 0x6, 0x4, 0x1, @dev, @private, @multicast, @dev={0xac, 0x14, 0x14, 0x3e}}}}}, 0x0) [ 2037.362643][ T7] usb 5-1: new high-speed USB device number 95 using dummy_hcd 21:36:23 executing program 0: unshare(0x2040400) r0 = socket$inet_icmp_raw(0x2, 0x3, 0x1) setsockopt$inet_mreqn(r0, 0x0, 0x0, 0x0, 0x0) 21:36:23 executing program 1: r0 = bpf$PROG_LOAD(0x5, &(0x7f00002a0fb8)={0x8, 0x4, &(0x7f0000000000)=@framed={{0xffffff85, 0x0, 0x0, 0x0, 0x8, 0x76}, [@call={0x27}]}, &(0x7f0000000040)='syzkaller\x00', 0x4, 0x99, &(0x7f0000000180)=""/153, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0, 0xfffffffffffffed8}, 0x3f) bpf$BPF_PROG_TEST_RUN(0xa, &(0x7f0000000080)={r0, 0x0, 0xe, 0x0, &(0x7f0000000240)="a2c634644303a0af43c928000000", 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, 0x48) [ 2037.524107][T16828] usb 3-1: new low-speed USB device number 119 using dummy_hcd [ 2037.723473][ T7] usb 5-1: New USB device found, idVendor=046d, idProduct=0850, bcdDevice=d3.42 [ 2037.733162][ T7] usb 5-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0 [ 2037.774268][ T7] usb 5-1: config 0 descriptor?? [ 2037.819410][ T7] gspca_main: STV06xx-2.14.0 probing 046d:0850 [ 2037.933721][T16828] usb 3-1: config 0 interface 0 altsetting 0 endpoint 0x3 has invalid maxpacket 32768, setting to 8 [ 2037.944769][T16828] usb 3-1: config 0 interface 0 altsetting 0 endpoint 0x1 is Bulk; changing to Interrupt [ 2037.954844][T16828] usb 3-1: config 0 interface 0 altsetting 0 endpoint 0x1 has invalid wMaxPacketSize 0 [ 2038.094349][ T7] usb 5-1: unknown interface protocol 0x8f, assuming v1 [ 2038.101547][ T7] usb 5-1: cannot find UAC_HEADER [ 2038.107588][ T7] snd-usb-audio: probe of 5-1:0.0 failed with error -22 [ 2038.150041][ T7] usb 5-1: USB disconnect, device number 95 [ 2038.242581][T16828] usb 3-1: string descriptor 0 read error: -22 [ 2038.249085][T16828] usb 3-1: New USB device found, idVendor=0a07, idProduct=0064, bcdDevice=ee.6e [ 2038.258590][T16828] usb 3-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ 2038.277646][T16828] usb 3-1: config 0 descriptor?? [ 2038.337997][T16828] adutux 3-1:0.0: interrupt endpoints not found [ 2038.582866][ T7] usb 3-1: USB disconnect, device number 119 21:36:24 executing program 3: r0 = socket$inet6_icmp_raw(0xa, 0x3, 0x3a) setsockopt$IP6T_SO_SET_REPLACE(r0, 0x29, 0x40, &(0x7f0000000500)=@raw={'raw\x00', 0x3c1, 0x3, 0x2bc, 0x0, 0x1d, 0x0, 0x0, 0x0, 0x1f4, 0x1fc, 0x1fc, 0x1f4, 0x1fc, 0x3, 0x0, {[{{@uncond, 0x0, 0xa4, 0xd4}, @common=@unspec=@CONNMARK={0x30}}, {{@ipv6={@private0, @local, [], [], 'team0\x00', 'tunl0\x00'}, 0x0, 0xec, 0x120, 0x0, {}, [@common=@hbh={{0x48}, {0x0, 0x5}}]}, @common=@inet=@SET3={0x34}}], {{'\x00', 0x0, 0xa4, 0xc8}, {0x24}}}}, 0x2ff) 21:36:24 executing program 5: syz_emit_ethernet(0x2a, &(0x7f0000000000)={@local, @remote, @void, {@arp={0x806, @ether_ipv4={0x1, 0x800, 0x6, 0x4, 0x1, @dev, @private, @multicast, @dev={0xac, 0x14, 0x14, 0x3e}}}}}, 0x0) 21:36:24 executing program 0: unshare(0x2040400) r0 = socket$inet_icmp_raw(0x2, 0x3, 0x1) setsockopt$inet_mreqn(r0, 0x0, 0x0, 0x0, 0x0) 21:36:24 executing program 1: r0 = bpf$PROG_LOAD(0x5, &(0x7f00002a0fb8)={0x8, 0x4, &(0x7f0000000000)=@framed={{0xffffff85, 0x0, 0x0, 0x0, 0x8, 0x76}, [@call={0x27}]}, &(0x7f0000000040)='syzkaller\x00', 0x4, 0x99, &(0x7f0000000180)=""/153, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0, 0xfffffffffffffed8}, 0x3f) bpf$BPF_PROG_TEST_RUN(0xa, &(0x7f0000000080)={r0, 0x0, 0xe, 0x0, &(0x7f0000000240)="a2c634644303a0af43c928000000", 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, 0x48) 21:36:24 executing program 4: syz_usb_connect(0x0, 0x24, &(0x7f0000000000)={{0x12, 0x1, 0x0, 0x9c, 0x50, 0x3e, 0x40, 0x46d, 0x850, 0xd342, 0x0, 0x0, 0x0, 0x1, [{{0x9, 0x2, 0x12, 0x1, 0x0, 0x0, 0x0, 0x0, [{{0x9, 0x4, 0x0, 0x0, 0x0, 0x1, 0x1, 0x8f}}]}}]}}, 0x0) 21:36:25 executing program 2: r0 = socket$inet_udplite(0x2, 0x2, 0x88) ioctl$sock_SIOCGIFINDEX(r0, 0x8933, &(0x7f0000000340)={'bridge_slave_0\x00', 0x0}) r2 = socket(0x10, 0x80002, 0x0) sendmsg$nl_route(r2, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000080)={&(0x7f00000026c0)=@bridge_setlink={0x34, 0x11, 0xa29, 0x0, 0x0, {0x7, 0x0, 0x0, r1}, [@IFLA_AF_SPEC={0x14, 0x1a, 0x0, 0x1, [@AF_INET={0x10, 0x5, 0x0, 0x1, {0xc, 0x6, 0x0, 0x1, [{0x8, 0x2, 0x0, 0x0, 0x7fffffff}]}}]}]}, 0x34}}, 0x0) 21:36:25 executing program 3: r0 = socket$inet6_icmp_raw(0xa, 0x3, 0x3a) setsockopt$IP6T_SO_SET_REPLACE(r0, 0x29, 0x40, &(0x7f0000000500)=@raw={'raw\x00', 0x3c1, 0x3, 0x2bc, 0x0, 0x1d, 0x0, 0x0, 0x0, 0x1f4, 0x1fc, 0x1fc, 0x1f4, 0x1fc, 0x3, 0x0, {[{{@uncond, 0x0, 0xa4, 0xd4}, @common=@unspec=@CONNMARK={0x30}}, {{@ipv6={@private0, @local, [], [], 'team0\x00', 'tunl0\x00'}, 0x0, 0xec, 0x120, 0x0, {}, [@common=@hbh={{0x48}, {0x0, 0x5}}]}, @common=@inet=@SET3={0x34}}], {{'\x00', 0x0, 0xa4, 0xc8}, {0x24}}}}, 0x2ff) 21:36:25 executing program 5: syz_emit_ethernet(0x2a, &(0x7f0000000000)={@local, @remote, @void, {@arp={0x806, @ether_ipv4={0x1, 0x800, 0x6, 0x4, 0x1, @dev, @private, @multicast, @dev={0xac, 0x14, 0x14, 0x3e}}}}}, 0x0) 21:36:25 executing program 0: socket$inet(0x2, 0x2000000000003, 0x2) r0 = socket$inet(0x2, 0x2000000000003, 0x2) setsockopt$inet_int(r0, 0x1f00000000000000, 0xcd, &(0x7f0000000000), 0x3c) 21:36:25 executing program 1: r0 = bpf$PROG_LOAD(0x5, &(0x7f00002a0fb8)={0x8, 0x4, &(0x7f0000000000)=@framed={{0xffffff85, 0x0, 0x0, 0x0, 0x8, 0x76}, [@call={0x27}]}, &(0x7f0000000040)='syzkaller\x00', 0x4, 0x99, &(0x7f0000000180)=""/153, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0, 0xfffffffffffffed8}, 0x3f) bpf$BPF_PROG_TEST_RUN(0xa, &(0x7f0000000080)={r0, 0x0, 0xe, 0x0, &(0x7f0000000240)="a2c634644303a0af43c928000000", 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, 0x48) [ 2039.492505][T13731] usb 5-1: new high-speed USB device number 96 using dummy_hcd 21:36:25 executing program 2: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$NFT_BATCH(r0, &(0x7f0000000200)={0x0, 0x0, &(0x7f0000000000)={&(0x7f0000000240)={{0x14}, [@NFT_MSG_NEWTABLE={0x20, 0x0, 0xa, 0x3, 0x0, 0x0, {0x1}, [@NFTA_TABLE_NAME={0x9, 0x1, 'syz0\x00'}]}, @NFT_MSG_NEWFLOWTABLE={0x40, 0x16, 0xa, 0x1, 0x0, 0x0, {0x1}, [@NFTA_FLOWTABLE_TABLE={0x9, 0x1, 'syz0\x00'}, @NFTA_FLOWTABLE_NAME={0x9, 0x2, 'syz0\x00'}, @NFTA_FLOWTABLE_HOOK={0x14, 0x3, 0x0, 0x1, [@NFTA_FLOWTABLE_HOOK_PRIORITY={0x8}, @NFTA_FLOWTABLE_HOOK_NUM={0x8}]}]}, @NFT_MSG_DELFLOWTABLE={0x20, 0x2, 0xa, 0x101, 0x0, 0x0, {0x1}, [@NFTA_FLOWTABLE_TABLE={0x9, 0x1, 'syz0\x00'}]}], {0x14, 0x10}}, 0xa8}}, 0x0) 21:36:25 executing program 3: r0 = socket$inet6_icmp_raw(0xa, 0x3, 0x3a) setsockopt$IP6T_SO_SET_REPLACE(r0, 0x29, 0x40, &(0x7f0000000500)=@raw={'raw\x00', 0x3c1, 0x3, 0x2bc, 0x0, 0x1d, 0x0, 0x0, 0x0, 0x1f4, 0x1fc, 0x1fc, 0x1f4, 0x1fc, 0x3, 0x0, {[{{@uncond, 0x0, 0xa4, 0xd4}, @common=@unspec=@CONNMARK={0x30}}, {{@ipv6={@private0, @local, [], [], 'team0\x00', 'tunl0\x00'}, 0x0, 0xec, 0x120, 0x0, {}, [@common=@hbh={{0x48}, {0x0, 0x5}}]}, @common=@inet=@SET3={0x34}}], {{'\x00', 0x0, 0xa4, 0xc8}, {0x24}}}}, 0x2ff) 21:36:25 executing program 5: r0 = socket$netlink(0x10, 0x3, 0x8000000004) writev(r0, &(0x7f0000000180)=[{&(0x7f0000000080)="580000001400192340834b80040d8c560a067f0200ff000000027700000058000b4824ca945f64009400ff0325010ebc000000000000008000f0fffeffe809005300fff5dd000000100001000604080000000000ffffffff", 0x58}], 0x1) 21:36:25 executing program 0: socket$inet(0x2, 0x2000000000003, 0x2) r0 = socket$inet(0x2, 0x2000000000003, 0x2) setsockopt$inet_int(r0, 0x1f00000000000000, 0xcd, &(0x7f0000000000), 0x3c) 21:36:25 executing program 1: mkdir(&(0x7f0000000000)='./file0\x00', 0x0) mount$bpf(0x20000000, &(0x7f0000000100)='./file0\x00', 0x0, 0x2001001, 0x0) mount$tmpfs(0x0, &(0x7f0000000040)='./file0\x00', 0x0, 0x80830, &(0x7f0000000200)={[{@nr_inodes={'nr_inodes', 0x3d, [0x0, 0x0, 0x37]}}, {@nr_inodes={'nr_inodes', 0x3d, [0x70, 0x78]}}, {@mode={'mode', 0x3d, 0x9}}, {@gid}]}) [ 2039.853036][T13731] usb 5-1: New USB device found, idVendor=046d, idProduct=0850, bcdDevice=d3.42 [ 2039.862545][T13731] usb 5-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0 21:36:25 executing program 2: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$NFT_BATCH(r0, &(0x7f0000000200)={0x0, 0x0, &(0x7f0000000000)={&(0x7f0000000240)={{0x14}, [@NFT_MSG_NEWTABLE={0x20, 0x0, 0xa, 0x3, 0x0, 0x0, {0x1}, [@NFTA_TABLE_NAME={0x9, 0x1, 'syz0\x00'}]}, @NFT_MSG_NEWFLOWTABLE={0x40, 0x16, 0xa, 0x1, 0x0, 0x0, {0x1}, [@NFTA_FLOWTABLE_TABLE={0x9, 0x1, 'syz0\x00'}, @NFTA_FLOWTABLE_NAME={0x9, 0x2, 'syz0\x00'}, @NFTA_FLOWTABLE_HOOK={0x14, 0x3, 0x0, 0x1, [@NFTA_FLOWTABLE_HOOK_PRIORITY={0x8}, @NFTA_FLOWTABLE_HOOK_NUM={0x8}]}]}, @NFT_MSG_DELFLOWTABLE={0x20, 0x2, 0xa, 0x101, 0x0, 0x0, {0x1}, [@NFTA_FLOWTABLE_TABLE={0x9, 0x1, 'syz0\x00'}]}], {0x14, 0x10}}, 0xa8}}, 0x0) [ 2039.936055][T13731] usb 5-1: config 0 descriptor?? [ 2039.979517][T13731] gspca_main: STV06xx-2.14.0 probing 046d:0850 [ 2040.023054][ T6858] ext4: Unknown parameter 'nr_inodes' [ 2040.264079][T13731] usb 5-1: unknown interface protocol 0x8f, assuming v1 [ 2040.271172][T13731] usb 5-1: cannot find UAC_HEADER [ 2040.277224][T13731] snd-usb-audio: probe of 5-1:0.0 failed with error -22 [ 2040.289467][T13731] usb 5-1: USB disconnect, device number 96 21:36:26 executing program 4: syz_usb_connect(0x0, 0x24, &(0x7f0000000000)={{0x12, 0x1, 0x0, 0x9c, 0x50, 0x3e, 0x40, 0x46d, 0x850, 0xd342, 0x0, 0x0, 0x0, 0x1, [{{0x9, 0x2, 0x12, 0x1, 0x0, 0x0, 0x0, 0x0, [{{0x9, 0x4, 0x0, 0x0, 0x0, 0x1, 0x1, 0x8f}}]}}]}}, 0x0) 21:36:26 executing program 3: r0 = socket$inet6_icmp_raw(0xa, 0x3, 0x3a) setsockopt$IP6T_SO_SET_REPLACE(r0, 0x29, 0x40, &(0x7f0000000500)=@raw={'raw\x00', 0x3c1, 0x3, 0x2bc, 0x0, 0x1d, 0x0, 0x0, 0x0, 0x1f4, 0x1fc, 0x1fc, 0x1f4, 0x1fc, 0x3, 0x0, {[{{@uncond, 0x0, 0xa4, 0xd4}, @common=@unspec=@CONNMARK={0x30}}, {{@ipv6={@private0, @local, [], [], 'team0\x00', 'tunl0\x00'}, 0x0, 0xec, 0x120, 0x0, {}, [@common=@hbh={{0x48}, {0x0, 0x5}}]}, @common=@inet=@SET3={0x34}}], {{'\x00', 0x0, 0xa4, 0xc8}, {0x24}}}}, 0x2ff) 21:36:26 executing program 0: socket$inet(0x2, 0x2000000000003, 0x2) r0 = socket$inet(0x2, 0x2000000000003, 0x2) setsockopt$inet_int(r0, 0x1f00000000000000, 0xcd, &(0x7f0000000000), 0x3c) 21:36:26 executing program 1: r0 = socket$inet(0x2, 0x4000000000000001, 0x0) bind$inet(r0, &(0x7f0000000440)={0x2, 0x4e23, @broadcast}, 0x10) sendto$inet(r0, 0x0, 0x0, 0x200007fd, &(0x7f0000000040)={0x2, 0x4e23, @local}, 0x10) r1 = socket(0x10, 0x3, 0x0) r2 = socket(0x11, 0x800000003, 0x0) bind(r2, &(0x7f0000000080)=@generic={0x11, "0000010000000000080044944eeba71a4976e252922cb18f6e2e2aba000000012e0b3836005404b0e0301a4ce875f2e3ff5f163ee340b7679500800000000000000101013c5811039e15775027ecce66fd792bbf0e5bf5ff1b0816f3f6db1c00010000000000000049740000000000000006ad8e5ecc326d3a09ffc2c654"}, 0x80) getsockname$packet(r2, &(0x7f00000003c0)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @dev}, &(0x7f0000000000)=0x14) sendmsg$nl_route_sched(r1, &(0x7f0000000200)={0x0, 0x0, &(0x7f0000000040)={&(0x7f0000000100)=@newqdisc={0x44, 0x24, 0xf0b, 0x0, 0x0, {0x0, 0x0, 0x0, r3, {}, {0xffff, 0xffff}}, [@qdisc_kind_options=@q_cake={{0x9}, {0x14, 0x2, [@TCA_CAKE_AUTORATE={0x8, 0x9, 0xbfb}, @TCA_CAKE_FWMARK={0x8, 0x12, 0x4}]}}]}, 0x44}}, 0x0) r4 = socket$inet6(0xa, 0x0, 0x6b) ioctl$sock_SIOCGIFINDEX(r4, 0x8933, &(0x7f0000000300)={'team0\x00', 0x0}) bind$packet(0xffffffffffffffff, &(0x7f0000000240)={0x11, 0x0, r5}, 0x14) socket$inet6_sctp(0xa, 0x10000000005, 0x84) sendto$inet(r0, &(0x7f00000012c0)="03268a927f1f6588b967481241ba7860005cf65ac618ded8974895abeaf4b4834ff922b3f1e0b02bd67aa03059bcecc7a95425a3a07e758044ab4ea6f7ae55d88fecf90b1a7511bf746bec66ba", 0xfe6a, 0x11, 0x0, 0x27) 21:36:26 executing program 5: r0 = socket$netlink(0x10, 0x3, 0x8000000004) writev(r0, &(0x7f0000000180)=[{&(0x7f0000000080)="580000001400192340834b80040d8c560a067f0200ff000000027700000058000b4824ca945f64009400ff0325010ebc000000000000008000f0fffeffe809005300fff5dd000000100001000604080000000000ffffffff", 0x58}], 0x1) 21:36:26 executing program 2: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$NFT_BATCH(r0, &(0x7f0000000200)={0x0, 0x0, &(0x7f0000000000)={&(0x7f0000000240)={{0x14}, [@NFT_MSG_NEWTABLE={0x20, 0x0, 0xa, 0x3, 0x0, 0x0, {0x1}, [@NFTA_TABLE_NAME={0x9, 0x1, 'syz0\x00'}]}, @NFT_MSG_NEWFLOWTABLE={0x40, 0x16, 0xa, 0x1, 0x0, 0x0, {0x1}, [@NFTA_FLOWTABLE_TABLE={0x9, 0x1, 'syz0\x00'}, @NFTA_FLOWTABLE_NAME={0x9, 0x2, 'syz0\x00'}, @NFTA_FLOWTABLE_HOOK={0x14, 0x3, 0x0, 0x1, [@NFTA_FLOWTABLE_HOOK_PRIORITY={0x8}, @NFTA_FLOWTABLE_HOOK_NUM={0x8}]}]}, @NFT_MSG_DELFLOWTABLE={0x20, 0x2, 0xa, 0x101, 0x0, 0x0, {0x1}, [@NFTA_FLOWTABLE_TABLE={0x9, 0x1, 'syz0\x00'}]}], {0x14, 0x10}}, 0xa8}}, 0x0) 21:36:26 executing program 0: socket$inet(0x2, 0x2000000000003, 0x2) r0 = socket$inet(0x2, 0x2000000000003, 0x2) setsockopt$inet_int(r0, 0x1f00000000000000, 0xcd, &(0x7f0000000000), 0x3c) 21:36:26 executing program 2: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$NFT_BATCH(r0, &(0x7f0000000200)={0x0, 0x0, &(0x7f0000000000)={&(0x7f0000000240)={{0x14}, [@NFT_MSG_NEWTABLE={0x20, 0x0, 0xa, 0x3, 0x0, 0x0, {0x1}, [@NFTA_TABLE_NAME={0x9, 0x1, 'syz0\x00'}]}, @NFT_MSG_NEWFLOWTABLE={0x40, 0x16, 0xa, 0x1, 0x0, 0x0, {0x1}, [@NFTA_FLOWTABLE_TABLE={0x9, 0x1, 'syz0\x00'}, @NFTA_FLOWTABLE_NAME={0x9, 0x2, 'syz0\x00'}, @NFTA_FLOWTABLE_HOOK={0x14, 0x3, 0x0, 0x1, [@NFTA_FLOWTABLE_HOOK_PRIORITY={0x8}, @NFTA_FLOWTABLE_HOOK_NUM={0x8}]}]}, @NFT_MSG_DELFLOWTABLE={0x20, 0x2, 0xa, 0x101, 0x0, 0x0, {0x1}, [@NFTA_FLOWTABLE_TABLE={0x9, 0x1, 'syz0\x00'}]}], {0x14, 0x10}}, 0xa8}}, 0x0) 21:36:26 executing program 5: r0 = socket$netlink(0x10, 0x3, 0x8000000004) writev(r0, &(0x7f0000000180)=[{&(0x7f0000000080)="580000001400192340834b80040d8c560a067f0200ff000000027700000058000b4824ca945f64009400ff0325010ebc000000000000008000f0fffeffe809005300fff5dd000000100001000604080000000000ffffffff", 0x58}], 0x1) 21:36:26 executing program 3: r0 = socket(0x40000000002, 0x3, 0x2) setsockopt$SO_BINDTODEVICE(r0, 0x1, 0x19, &(0x7f00000000c0)='batadv0\x00', 0x10) bind(r0, &(0x7f0000000080)=@sco={0x1f, @none}, 0x80) [ 2041.202653][ T7] usb 5-1: new high-speed USB device number 97 using dummy_hcd 21:36:27 executing program 0: r0 = openat$sndseq(0xffffff9c, &(0x7f0000000440), 0x0) ioctl$SNDRV_SEQ_IOCTL_QUERY_NEXT_PORT(r0, 0xc0a45352, &(0x7f00000002c0)={{0x80}, 'port0\x00'}) 21:36:27 executing program 3: r0 = socket(0x40000000002, 0x3, 0x2) setsockopt$SO_BINDTODEVICE(r0, 0x1, 0x19, &(0x7f00000000c0)='batadv0\x00', 0x10) bind(r0, &(0x7f0000000080)=@sco={0x1f, @none}, 0x80) [ 2041.582367][ T7] usb 5-1: New USB device found, idVendor=046d, idProduct=0850, bcdDevice=d3.42 [ 2041.591667][ T7] usb 5-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0 [ 2041.627915][ T7] usb 5-1: config 0 descriptor?? [ 2041.679306][ T7] gspca_main: STV06xx-2.14.0 probing 046d:0850 [ 2041.954014][ T7] usb 5-1: unknown interface protocol 0x8f, assuming v1 [ 2041.961197][ T7] usb 5-1: cannot find UAC_HEADER [ 2041.967307][ T7] snd-usb-audio: probe of 5-1:0.0 failed with error -22 [ 2042.002730][ T7] usb 5-1: USB disconnect, device number 97 21:36:28 executing program 1: r0 = socket$inet(0x2, 0x4000000000000001, 0x0) bind$inet(r0, &(0x7f0000000440)={0x2, 0x4e23, @broadcast}, 0x10) sendto$inet(r0, 0x0, 0x0, 0x200007fd, &(0x7f0000000040)={0x2, 0x4e23, @local}, 0x10) r1 = socket(0x10, 0x3, 0x0) r2 = socket(0x11, 0x800000003, 0x0) bind(r2, &(0x7f0000000080)=@generic={0x11, "0000010000000000080044944eeba71a4976e252922cb18f6e2e2aba000000012e0b3836005404b0e0301a4ce875f2e3ff5f163ee340b7679500800000000000000101013c5811039e15775027ecce66fd792bbf0e5bf5ff1b0816f3f6db1c00010000000000000049740000000000000006ad8e5ecc326d3a09ffc2c654"}, 0x80) getsockname$packet(r2, &(0x7f00000003c0)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @dev}, &(0x7f0000000000)=0x14) sendmsg$nl_route_sched(r1, &(0x7f0000000200)={0x0, 0x0, &(0x7f0000000040)={&(0x7f0000000100)=@newqdisc={0x44, 0x24, 0xf0b, 0x0, 0x0, {0x0, 0x0, 0x0, r3, {}, {0xffff, 0xffff}}, [@qdisc_kind_options=@q_cake={{0x9}, {0x14, 0x2, [@TCA_CAKE_AUTORATE={0x8, 0x9, 0xbfb}, @TCA_CAKE_FWMARK={0x8, 0x12, 0x4}]}}]}, 0x44}}, 0x0) r4 = socket$inet6(0xa, 0x0, 0x6b) ioctl$sock_SIOCGIFINDEX(r4, 0x8933, &(0x7f0000000300)={'team0\x00', 0x0}) bind$packet(0xffffffffffffffff, &(0x7f0000000240)={0x11, 0x0, r5}, 0x14) socket$inet6_sctp(0xa, 0x10000000005, 0x84) sendto$inet(r0, &(0x7f00000012c0)="03268a927f1f6588b967481241ba7860005cf65ac618ded8974895abeaf4b4834ff922b3f1e0b02bd67aa03059bcecc7a95425a3a07e758044ab4ea6f7ae55d88fecf90b1a7511bf746bec66ba", 0xfe6a, 0x11, 0x0, 0x27) 21:36:28 executing program 5: r0 = socket$netlink(0x10, 0x3, 0x8000000004) writev(r0, &(0x7f0000000180)=[{&(0x7f0000000080)="580000001400192340834b80040d8c560a067f0200ff000000027700000058000b4824ca945f64009400ff0325010ebc000000000000008000f0fffeffe809005300fff5dd000000100001000604080000000000ffffffff", 0x58}], 0x1) 21:36:28 executing program 2: r0 = syz_open_dev$sg(&(0x7f0000000000), 0x0, 0x0) ioctl$SCSI_IOCTL_SEND_COMMAND(r0, 0x1, &(0x7f00000012c0)={0xe0, 0x80, 0x4, "6b340f0312215d39635dbb626ce62cfebbaaa090c22e2295f54dee276a108cd781c5319e31df6804c17c46474c276a9789b03796a207a1ee36072ea7b7cd8a03d8bfa3b44b7ce71de9cfb18077f4b2a7f6d1ddccd8199bade1ebe2486613b64d3c410197e1812a92aefbca943e5fb93a9e6129e584a5058294c5b8e0953de242bf6549d5471251ef8ce53f81caa914301c0380b89f6fd9ad56c6b502e9ce4518463ad35a7e7f6bacd52de6597407cfb50075095d2815ecc32c9e5a62d32008660baa8005e9083fc967d013bcfde6228fecd565885aaacf22d51c5ac02b546d72"}) ioctl$SG_GET_SCSI_ID(r0, 0x5382, &(0x7f0000000180)) ioctl$SG_IO(r0, 0x2285, &(0x7f00000011c0)={0x0, 0xfffffffffffffffb, 0xb4, 0x5, @buffer={0x0, 0x1000, &(0x7f00000001c0)=""/4096}, &(0x7f0000000040)="5e39d9124fab52010a98c06a2136a40155929cb0d6db90a5ebe94dcc53b3a911c2a2f591b3e068a57207592db7a5781fe30788eb4744793ee76f0059c76d8246b255ee5b9476da5afffb68a084ece2f126fd9dd84d84aee483389f41dcc018e3068005c572b9ef88bd9ade066699a96d787149f27161d8f323ad5715c802f385eab69015a7e93f05c90d38fc289531f13f34546834377b9c4d03bdbb9a8be214650c30807605d05d4685f6f7e265f09bfba2ef3b", &(0x7f0000000100)=""/36, 0x3ca, 0x24, 0xffffffffffffffff, &(0x7f0000000140)}) r1 = openat$sysfs(0xffffff9c, &(0x7f00000013c0)='/sys/module/vfio_virqfd', 0x141000, 0x93) ioctl$SG_GET_KEEP_ORPHAN(r1, 0x2288, &(0x7f0000001400)) r2 = syz_open_procfs(0xffffffffffffffff, &(0x7f0000000000)='attr/keycreate\x00') write$RDMA_USER_CM_CMD_CREATE_ID(r2, 0x0, 0x10) ioctl$SCSI_IOCTL_GET_BUS_NUMBER(r2, 0x5386, &(0x7f0000001440)) pread64(r0, &(0x7f0000001200)=""/135, 0x87, 0x0) 21:36:28 executing program 0: r0 = openat$sndseq(0xffffff9c, &(0x7f0000000440), 0x0) ioctl$SNDRV_SEQ_IOCTL_QUERY_NEXT_PORT(r0, 0xc0a45352, &(0x7f00000002c0)={{0x80}, 'port0\x00'}) 21:36:28 executing program 3: r0 = socket(0x40000000002, 0x3, 0x2) setsockopt$SO_BINDTODEVICE(r0, 0x1, 0x19, &(0x7f00000000c0)='batadv0\x00', 0x10) bind(r0, &(0x7f0000000080)=@sco={0x1f, @none}, 0x80) [ 2042.505079][ T6891] program syz-executor.2 is using a deprecated SCSI ioctl, please convert it to SG_IO 21:36:28 executing program 0: r0 = openat$sndseq(0xffffff9c, &(0x7f0000000440), 0x0) ioctl$SNDRV_SEQ_IOCTL_QUERY_NEXT_PORT(r0, 0xc0a45352, &(0x7f00000002c0)={{0x80}, 'port0\x00'}) 21:36:28 executing program 3: r0 = socket(0x40000000002, 0x3, 0x2) setsockopt$SO_BINDTODEVICE(r0, 0x1, 0x19, &(0x7f00000000c0)='batadv0\x00', 0x10) bind(r0, &(0x7f0000000080)=@sco={0x1f, @none}, 0x80) 21:36:28 executing program 5: r0 = openat$sndseq(0xffffffffffffff9c, &(0x7f0000000000), 0x2) ioctl$FS_IOC_GETFSMAP(0xffffffffffffffff, 0xc0c0583b, &(0x7f0000000140)={0x0, 0x0, 0x0, 0x0, '\x00', [{0x0, 0x0, 0x1000000008000}, {0x7}]}) ioctl$SNDRV_SEQ_IOCTL_CREATE_QUEUE(r0, 0xc08c5332, &(0x7f00000002c0)={0x0, 0x0, 0x0, 'queue1\x00'}) write$sndseq(r0, &(0x7f00000000c0)=[{0x0, 0x0, 0x0, 0x0, @time, {}, {}, @raw8={"a357b6b140cbb6215dd33459"}}], 0xfffffee4) ioctl$SNDRV_SEQ_IOCTL_REMOVE_EVENTS(r0, 0x408c5333, &(0x7f0000000100)={0x0, @time}) 21:36:28 executing program 4: r0 = getpgrp(0x0) r1 = inotify_init1(0x0) fcntl$setown(r1, 0x8, 0xffffffffffffffff) fcntl$getownex(r1, 0x10, &(0x7f0000000080)={0x0, 0x0}) kcmp(r0, r2, 0x0, 0xffffffffffffffff, 0xffffffffffffffff) 21:36:28 executing program 2: r0 = syz_open_dev$sg(&(0x7f0000000000), 0x0, 0x0) ioctl$SCSI_IOCTL_SEND_COMMAND(r0, 0x1, &(0x7f00000012c0)={0xe0, 0x80, 0x4, "6b340f0312215d39635dbb626ce62cfebbaaa090c22e2295f54dee276a108cd781c5319e31df6804c17c46474c276a9789b03796a207a1ee36072ea7b7cd8a03d8bfa3b44b7ce71de9cfb18077f4b2a7f6d1ddccd8199bade1ebe2486613b64d3c410197e1812a92aefbca943e5fb93a9e6129e584a5058294c5b8e0953de242bf6549d5471251ef8ce53f81caa914301c0380b89f6fd9ad56c6b502e9ce4518463ad35a7e7f6bacd52de6597407cfb50075095d2815ecc32c9e5a62d32008660baa8005e9083fc967d013bcfde6228fecd565885aaacf22d51c5ac02b546d72"}) ioctl$SG_GET_SCSI_ID(r0, 0x5382, &(0x7f0000000180)) ioctl$SG_IO(r0, 0x2285, &(0x7f00000011c0)={0x0, 0xfffffffffffffffb, 0xb4, 0x5, @buffer={0x0, 0x1000, &(0x7f00000001c0)=""/4096}, &(0x7f0000000040)="5e39d9124fab52010a98c06a2136a40155929cb0d6db90a5ebe94dcc53b3a911c2a2f591b3e068a57207592db7a5781fe30788eb4744793ee76f0059c76d8246b255ee5b9476da5afffb68a084ece2f126fd9dd84d84aee483389f41dcc018e3068005c572b9ef88bd9ade066699a96d787149f27161d8f323ad5715c802f385eab69015a7e93f05c90d38fc289531f13f34546834377b9c4d03bdbb9a8be214650c30807605d05d4685f6f7e265f09bfba2ef3b", &(0x7f0000000100)=""/36, 0x3ca, 0x24, 0xffffffffffffffff, &(0x7f0000000140)}) r1 = openat$sysfs(0xffffff9c, &(0x7f00000013c0)='/sys/module/vfio_virqfd', 0x141000, 0x93) ioctl$SG_GET_KEEP_ORPHAN(r1, 0x2288, &(0x7f0000001400)) r2 = syz_open_procfs(0xffffffffffffffff, &(0x7f0000000000)='attr/keycreate\x00') write$RDMA_USER_CM_CMD_CREATE_ID(r2, 0x0, 0x10) ioctl$SCSI_IOCTL_GET_BUS_NUMBER(r2, 0x5386, &(0x7f0000001440)) pread64(r0, &(0x7f0000001200)=""/135, 0x87, 0x0) 21:36:28 executing program 4: r0 = getpgrp(0x0) r1 = inotify_init1(0x0) fcntl$setown(r1, 0x8, 0xffffffffffffffff) fcntl$getownex(r1, 0x10, &(0x7f0000000080)={0x0, 0x0}) kcmp(r0, r2, 0x0, 0xffffffffffffffff, 0xffffffffffffffff) 21:36:28 executing program 0: r0 = openat$sndseq(0xffffff9c, &(0x7f0000000440), 0x0) ioctl$SNDRV_SEQ_IOCTL_QUERY_NEXT_PORT(r0, 0xc0a45352, &(0x7f00000002c0)={{0x80}, 'port0\x00'}) 21:36:29 executing program 1: r0 = socket$inet(0x2, 0x4000000000000001, 0x0) bind$inet(r0, &(0x7f0000000440)={0x2, 0x4e23, @broadcast}, 0x10) sendto$inet(r0, 0x0, 0x0, 0x200007fd, &(0x7f0000000040)={0x2, 0x4e23, @local}, 0x10) r1 = socket(0x10, 0x3, 0x0) r2 = socket(0x11, 0x800000003, 0x0) bind(r2, &(0x7f0000000080)=@generic={0x11, "0000010000000000080044944eeba71a4976e252922cb18f6e2e2aba000000012e0b3836005404b0e0301a4ce875f2e3ff5f163ee340b7679500800000000000000101013c5811039e15775027ecce66fd792bbf0e5bf5ff1b0816f3f6db1c00010000000000000049740000000000000006ad8e5ecc326d3a09ffc2c654"}, 0x80) getsockname$packet(r2, &(0x7f00000003c0)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @dev}, &(0x7f0000000000)=0x14) sendmsg$nl_route_sched(r1, &(0x7f0000000200)={0x0, 0x0, &(0x7f0000000040)={&(0x7f0000000100)=@newqdisc={0x44, 0x24, 0xf0b, 0x0, 0x0, {0x0, 0x0, 0x0, r3, {}, {0xffff, 0xffff}}, [@qdisc_kind_options=@q_cake={{0x9}, {0x14, 0x2, [@TCA_CAKE_AUTORATE={0x8, 0x9, 0xbfb}, @TCA_CAKE_FWMARK={0x8, 0x12, 0x4}]}}]}, 0x44}}, 0x0) r4 = socket$inet6(0xa, 0x0, 0x6b) ioctl$sock_SIOCGIFINDEX(r4, 0x8933, &(0x7f0000000300)={'team0\x00', 0x0}) bind$packet(0xffffffffffffffff, &(0x7f0000000240)={0x11, 0x0, r5}, 0x14) socket$inet6_sctp(0xa, 0x10000000005, 0x84) sendto$inet(r0, &(0x7f00000012c0)="03268a927f1f6588b967481241ba7860005cf65ac618ded8974895abeaf4b4834ff922b3f1e0b02bd67aa03059bcecc7a95425a3a07e758044ab4ea6f7ae55d88fecf90b1a7511bf746bec66ba", 0xfe6a, 0x11, 0x0, 0x27) 21:36:29 executing program 3: r0 = syz_open_dev$sg(&(0x7f0000000000), 0x0, 0x0) ioctl$SCSI_IOCTL_SEND_COMMAND(r0, 0x1, &(0x7f00000012c0)={0xe0, 0x80, 0x4, "6b340f0312215d39635dbb626ce62cfebbaaa090c22e2295f54dee276a108cd781c5319e31df6804c17c46474c276a9789b03796a207a1ee36072ea7b7cd8a03d8bfa3b44b7ce71de9cfb18077f4b2a7f6d1ddccd8199bade1ebe2486613b64d3c410197e1812a92aefbca943e5fb93a9e6129e584a5058294c5b8e0953de242bf6549d5471251ef8ce53f81caa914301c0380b89f6fd9ad56c6b502e9ce4518463ad35a7e7f6bacd52de6597407cfb50075095d2815ecc32c9e5a62d32008660baa8005e9083fc967d013bcfde6228fecd565885aaacf22d51c5ac02b546d72"}) ioctl$SG_GET_SCSI_ID(r0, 0x5382, &(0x7f0000000180)) ioctl$SG_IO(r0, 0x2285, &(0x7f00000011c0)={0x0, 0xfffffffffffffffb, 0xb4, 0x5, @buffer={0x0, 0x1000, &(0x7f00000001c0)=""/4096}, &(0x7f0000000040)="5e39d9124fab52010a98c06a2136a40155929cb0d6db90a5ebe94dcc53b3a911c2a2f591b3e068a57207592db7a5781fe30788eb4744793ee76f0059c76d8246b255ee5b9476da5afffb68a084ece2f126fd9dd84d84aee483389f41dcc018e3068005c572b9ef88bd9ade066699a96d787149f27161d8f323ad5715c802f385eab69015a7e93f05c90d38fc289531f13f34546834377b9c4d03bdbb9a8be214650c30807605d05d4685f6f7e265f09bfba2ef3b", &(0x7f0000000100)=""/36, 0x3ca, 0x24, 0xffffffffffffffff, &(0x7f0000000140)}) r1 = openat$sysfs(0xffffff9c, &(0x7f00000013c0)='/sys/module/vfio_virqfd', 0x141000, 0x93) ioctl$SG_GET_KEEP_ORPHAN(r1, 0x2288, &(0x7f0000001400)) r2 = syz_open_procfs(0xffffffffffffffff, &(0x7f0000000000)='attr/keycreate\x00') write$RDMA_USER_CM_CMD_CREATE_ID(r2, 0x0, 0x10) ioctl$SCSI_IOCTL_GET_BUS_NUMBER(r2, 0x5386, &(0x7f0000001440)) pread64(r0, &(0x7f0000001200)=""/135, 0x87, 0x0) [ 2043.539611][ T6916] program syz-executor.2 is using a deprecated SCSI ioctl, please convert it to SG_IO 21:36:29 executing program 0: r0 = socket$inet_udplite(0x2, 0x2, 0x88) getsockopt$sock_cred(r0, 0x1, 0x11, &(0x7f0000000240), &(0x7f0000000280)=0x5) keyctl$set_reqkey_keyring(0xe, 0x4) request_key(&(0x7f0000000080)='user\x00', &(0x7f00000000c0)={'syz', 0x0}, &(0x7f0000000100)='\x7f\x00\x9d\x98\x06\x00\xe1\xc1LV.i7M\xba\xbeVh\xf02)\xae\x8a\xe3\x7f\xa9\xe5\xc56\xb5\x82B\xbes\x00\x00\xa0\xf4', 0x0) 21:36:29 executing program 4: r0 = getpgrp(0x0) r1 = inotify_init1(0x0) fcntl$setown(r1, 0x8, 0xffffffffffffffff) fcntl$getownex(r1, 0x10, &(0x7f0000000080)={0x0, 0x0}) kcmp(r0, r2, 0x0, 0xffffffffffffffff, 0xffffffffffffffff) 21:36:29 executing program 2: r0 = syz_open_dev$sg(&(0x7f0000000000), 0x0, 0x0) ioctl$SCSI_IOCTL_SEND_COMMAND(r0, 0x1, &(0x7f00000012c0)={0xe0, 0x80, 0x4, "6b340f0312215d39635dbb626ce62cfebbaaa090c22e2295f54dee276a108cd781c5319e31df6804c17c46474c276a9789b03796a207a1ee36072ea7b7cd8a03d8bfa3b44b7ce71de9cfb18077f4b2a7f6d1ddccd8199bade1ebe2486613b64d3c410197e1812a92aefbca943e5fb93a9e6129e584a5058294c5b8e0953de242bf6549d5471251ef8ce53f81caa914301c0380b89f6fd9ad56c6b502e9ce4518463ad35a7e7f6bacd52de6597407cfb50075095d2815ecc32c9e5a62d32008660baa8005e9083fc967d013bcfde6228fecd565885aaacf22d51c5ac02b546d72"}) ioctl$SG_GET_SCSI_ID(r0, 0x5382, &(0x7f0000000180)) ioctl$SG_IO(r0, 0x2285, &(0x7f00000011c0)={0x0, 0xfffffffffffffffb, 0xb4, 0x5, @buffer={0x0, 0x1000, &(0x7f00000001c0)=""/4096}, &(0x7f0000000040)="5e39d9124fab52010a98c06a2136a40155929cb0d6db90a5ebe94dcc53b3a911c2a2f591b3e068a57207592db7a5781fe30788eb4744793ee76f0059c76d8246b255ee5b9476da5afffb68a084ece2f126fd9dd84d84aee483389f41dcc018e3068005c572b9ef88bd9ade066699a96d787149f27161d8f323ad5715c802f385eab69015a7e93f05c90d38fc289531f13f34546834377b9c4d03bdbb9a8be214650c30807605d05d4685f6f7e265f09bfba2ef3b", &(0x7f0000000100)=""/36, 0x3ca, 0x24, 0xffffffffffffffff, &(0x7f0000000140)}) r1 = openat$sysfs(0xffffff9c, &(0x7f00000013c0)='/sys/module/vfio_virqfd', 0x141000, 0x93) ioctl$SG_GET_KEEP_ORPHAN(r1, 0x2288, &(0x7f0000001400)) r2 = syz_open_procfs(0xffffffffffffffff, &(0x7f0000000000)='attr/keycreate\x00') write$RDMA_USER_CM_CMD_CREATE_ID(r2, 0x0, 0x10) ioctl$SCSI_IOCTL_GET_BUS_NUMBER(r2, 0x5386, &(0x7f0000001440)) pread64(r0, &(0x7f0000001200)=""/135, 0x87, 0x0) [ 2043.618979][ T6919] program syz-executor.3 is using a deprecated SCSI ioctl, please convert it to SG_IO 21:36:29 executing program 3: r0 = syz_open_dev$sg(&(0x7f0000000000), 0x0, 0x0) ioctl$SCSI_IOCTL_SEND_COMMAND(r0, 0x1, &(0x7f00000012c0)={0xe0, 0x80, 0x4, "6b340f0312215d39635dbb626ce62cfebbaaa090c22e2295f54dee276a108cd781c5319e31df6804c17c46474c276a9789b03796a207a1ee36072ea7b7cd8a03d8bfa3b44b7ce71de9cfb18077f4b2a7f6d1ddccd8199bade1ebe2486613b64d3c410197e1812a92aefbca943e5fb93a9e6129e584a5058294c5b8e0953de242bf6549d5471251ef8ce53f81caa914301c0380b89f6fd9ad56c6b502e9ce4518463ad35a7e7f6bacd52de6597407cfb50075095d2815ecc32c9e5a62d32008660baa8005e9083fc967d013bcfde6228fecd565885aaacf22d51c5ac02b546d72"}) ioctl$SG_GET_SCSI_ID(r0, 0x5382, &(0x7f0000000180)) ioctl$SG_IO(r0, 0x2285, &(0x7f00000011c0)={0x0, 0xfffffffffffffffb, 0xb4, 0x5, @buffer={0x0, 0x1000, &(0x7f00000001c0)=""/4096}, &(0x7f0000000040)="5e39d9124fab52010a98c06a2136a40155929cb0d6db90a5ebe94dcc53b3a911c2a2f591b3e068a57207592db7a5781fe30788eb4744793ee76f0059c76d8246b255ee5b9476da5afffb68a084ece2f126fd9dd84d84aee483389f41dcc018e3068005c572b9ef88bd9ade066699a96d787149f27161d8f323ad5715c802f385eab69015a7e93f05c90d38fc289531f13f34546834377b9c4d03bdbb9a8be214650c30807605d05d4685f6f7e265f09bfba2ef3b", &(0x7f0000000100)=""/36, 0x3ca, 0x24, 0xffffffffffffffff, &(0x7f0000000140)}) r1 = openat$sysfs(0xffffff9c, &(0x7f00000013c0)='/sys/module/vfio_virqfd', 0x141000, 0x93) ioctl$SG_GET_KEEP_ORPHAN(r1, 0x2288, &(0x7f0000001400)) r2 = syz_open_procfs(0xffffffffffffffff, &(0x7f0000000000)='attr/keycreate\x00') write$RDMA_USER_CM_CMD_CREATE_ID(r2, 0x0, 0x10) ioctl$SCSI_IOCTL_GET_BUS_NUMBER(r2, 0x5386, &(0x7f0000001440)) pread64(r0, &(0x7f0000001200)=""/135, 0x87, 0x0) 21:36:29 executing program 0: r0 = socket$inet_udplite(0x2, 0x2, 0x88) getsockopt$sock_cred(r0, 0x1, 0x11, &(0x7f0000000240), &(0x7f0000000280)=0x5) keyctl$set_reqkey_keyring(0xe, 0x4) request_key(&(0x7f0000000080)='user\x00', &(0x7f00000000c0)={'syz', 0x0}, &(0x7f0000000100)='\x7f\x00\x9d\x98\x06\x00\xe1\xc1LV.i7M\xba\xbeVh\xf02)\xae\x8a\xe3\x7f\xa9\xe5\xc56\xb5\x82B\xbes\x00\x00\xa0\xf4', 0x0) [ 2043.908693][ T6929] program syz-executor.2 is using a deprecated SCSI ioctl, please convert it to SG_IO [ 2043.942449][ T6931] program syz-executor.3 is using a deprecated SCSI ioctl, please convert it to SG_IO 21:36:29 executing program 5: r0 = openat$sndseq(0xffffffffffffff9c, &(0x7f0000000000), 0x2) ioctl$FS_IOC_GETFSMAP(0xffffffffffffffff, 0xc0c0583b, &(0x7f0000000140)={0x0, 0x0, 0x0, 0x0, '\x00', [{0x0, 0x0, 0x1000000008000}, {0x7}]}) ioctl$SNDRV_SEQ_IOCTL_CREATE_QUEUE(r0, 0xc08c5332, &(0x7f00000002c0)={0x0, 0x0, 0x0, 'queue1\x00'}) write$sndseq(r0, &(0x7f00000000c0)=[{0x0, 0x0, 0x0, 0x0, @time, {}, {}, @raw8={"a357b6b140cbb6215dd33459"}}], 0xfffffee4) ioctl$SNDRV_SEQ_IOCTL_REMOVE_EVENTS(r0, 0x408c5333, &(0x7f0000000100)={0x0, @time}) 21:36:29 executing program 4: r0 = getpgrp(0x0) r1 = inotify_init1(0x0) fcntl$setown(r1, 0x8, 0xffffffffffffffff) fcntl$getownex(r1, 0x10, &(0x7f0000000080)={0x0, 0x0}) kcmp(r0, r2, 0x0, 0xffffffffffffffff, 0xffffffffffffffff) 21:36:29 executing program 2: r0 = syz_open_dev$sg(&(0x7f0000000000), 0x0, 0x0) ioctl$SCSI_IOCTL_SEND_COMMAND(r0, 0x1, &(0x7f00000012c0)={0xe0, 0x80, 0x4, "6b340f0312215d39635dbb626ce62cfebbaaa090c22e2295f54dee276a108cd781c5319e31df6804c17c46474c276a9789b03796a207a1ee36072ea7b7cd8a03d8bfa3b44b7ce71de9cfb18077f4b2a7f6d1ddccd8199bade1ebe2486613b64d3c410197e1812a92aefbca943e5fb93a9e6129e584a5058294c5b8e0953de242bf6549d5471251ef8ce53f81caa914301c0380b89f6fd9ad56c6b502e9ce4518463ad35a7e7f6bacd52de6597407cfb50075095d2815ecc32c9e5a62d32008660baa8005e9083fc967d013bcfde6228fecd565885aaacf22d51c5ac02b546d72"}) ioctl$SG_GET_SCSI_ID(r0, 0x5382, &(0x7f0000000180)) ioctl$SG_IO(r0, 0x2285, &(0x7f00000011c0)={0x0, 0xfffffffffffffffb, 0xb4, 0x5, @buffer={0x0, 0x1000, &(0x7f00000001c0)=""/4096}, &(0x7f0000000040)="5e39d9124fab52010a98c06a2136a40155929cb0d6db90a5ebe94dcc53b3a911c2a2f591b3e068a57207592db7a5781fe30788eb4744793ee76f0059c76d8246b255ee5b9476da5afffb68a084ece2f126fd9dd84d84aee483389f41dcc018e3068005c572b9ef88bd9ade066699a96d787149f27161d8f323ad5715c802f385eab69015a7e93f05c90d38fc289531f13f34546834377b9c4d03bdbb9a8be214650c30807605d05d4685f6f7e265f09bfba2ef3b", &(0x7f0000000100)=""/36, 0x3ca, 0x24, 0xffffffffffffffff, &(0x7f0000000140)}) r1 = openat$sysfs(0xffffff9c, &(0x7f00000013c0)='/sys/module/vfio_virqfd', 0x141000, 0x93) ioctl$SG_GET_KEEP_ORPHAN(r1, 0x2288, &(0x7f0000001400)) r2 = syz_open_procfs(0xffffffffffffffff, &(0x7f0000000000)='attr/keycreate\x00') write$RDMA_USER_CM_CMD_CREATE_ID(r2, 0x0, 0x10) ioctl$SCSI_IOCTL_GET_BUS_NUMBER(r2, 0x5386, &(0x7f0000001440)) pread64(r0, &(0x7f0000001200)=""/135, 0x87, 0x0) 21:36:29 executing program 3: r0 = syz_open_dev$sg(&(0x7f0000000000), 0x0, 0x0) ioctl$SCSI_IOCTL_SEND_COMMAND(r0, 0x1, &(0x7f00000012c0)={0xe0, 0x80, 0x4, "6b340f0312215d39635dbb626ce62cfebbaaa090c22e2295f54dee276a108cd781c5319e31df6804c17c46474c276a9789b03796a207a1ee36072ea7b7cd8a03d8bfa3b44b7ce71de9cfb18077f4b2a7f6d1ddccd8199bade1ebe2486613b64d3c410197e1812a92aefbca943e5fb93a9e6129e584a5058294c5b8e0953de242bf6549d5471251ef8ce53f81caa914301c0380b89f6fd9ad56c6b502e9ce4518463ad35a7e7f6bacd52de6597407cfb50075095d2815ecc32c9e5a62d32008660baa8005e9083fc967d013bcfde6228fecd565885aaacf22d51c5ac02b546d72"}) ioctl$SG_GET_SCSI_ID(r0, 0x5382, &(0x7f0000000180)) ioctl$SG_IO(r0, 0x2285, &(0x7f00000011c0)={0x0, 0xfffffffffffffffb, 0xb4, 0x5, @buffer={0x0, 0x1000, &(0x7f00000001c0)=""/4096}, &(0x7f0000000040)="5e39d9124fab52010a98c06a2136a40155929cb0d6db90a5ebe94dcc53b3a911c2a2f591b3e068a57207592db7a5781fe30788eb4744793ee76f0059c76d8246b255ee5b9476da5afffb68a084ece2f126fd9dd84d84aee483389f41dcc018e3068005c572b9ef88bd9ade066699a96d787149f27161d8f323ad5715c802f385eab69015a7e93f05c90d38fc289531f13f34546834377b9c4d03bdbb9a8be214650c30807605d05d4685f6f7e265f09bfba2ef3b", &(0x7f0000000100)=""/36, 0x3ca, 0x24, 0xffffffffffffffff, &(0x7f0000000140)}) r1 = openat$sysfs(0xffffff9c, &(0x7f00000013c0)='/sys/module/vfio_virqfd', 0x141000, 0x93) ioctl$SG_GET_KEEP_ORPHAN(r1, 0x2288, &(0x7f0000001400)) r2 = syz_open_procfs(0xffffffffffffffff, &(0x7f0000000000)='attr/keycreate\x00') write$RDMA_USER_CM_CMD_CREATE_ID(r2, 0x0, 0x10) ioctl$SCSI_IOCTL_GET_BUS_NUMBER(r2, 0x5386, &(0x7f0000001440)) pread64(r0, &(0x7f0000001200)=""/135, 0x87, 0x0) 21:36:29 executing program 0: r0 = socket$inet_udplite(0x2, 0x2, 0x88) getsockopt$sock_cred(r0, 0x1, 0x11, &(0x7f0000000240), &(0x7f0000000280)=0x5) keyctl$set_reqkey_keyring(0xe, 0x4) request_key(&(0x7f0000000080)='user\x00', &(0x7f00000000c0)={'syz', 0x0}, &(0x7f0000000100)='\x7f\x00\x9d\x98\x06\x00\xe1\xc1LV.i7M\xba\xbeVh\xf02)\xae\x8a\xe3\x7f\xa9\xe5\xc56\xb5\x82B\xbes\x00\x00\xa0\xf4', 0x0) [ 2044.306986][ T6938] program syz-executor.2 is using a deprecated SCSI ioctl, please convert it to SG_IO [ 2044.349932][ T6943] program syz-executor.3 is using a deprecated SCSI ioctl, please convert it to SG_IO 21:36:30 executing program 1: r0 = socket$inet(0x2, 0x4000000000000001, 0x0) bind$inet(r0, &(0x7f0000000440)={0x2, 0x4e23, @broadcast}, 0x10) sendto$inet(r0, 0x0, 0x0, 0x200007fd, &(0x7f0000000040)={0x2, 0x4e23, @local}, 0x10) r1 = socket(0x10, 0x3, 0x0) r2 = socket(0x11, 0x800000003, 0x0) bind(r2, &(0x7f0000000080)=@generic={0x11, "0000010000000000080044944eeba71a4976e252922cb18f6e2e2aba000000012e0b3836005404b0e0301a4ce875f2e3ff5f163ee340b7679500800000000000000101013c5811039e15775027ecce66fd792bbf0e5bf5ff1b0816f3f6db1c00010000000000000049740000000000000006ad8e5ecc326d3a09ffc2c654"}, 0x80) getsockname$packet(r2, &(0x7f00000003c0)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @dev}, &(0x7f0000000000)=0x14) sendmsg$nl_route_sched(r1, &(0x7f0000000200)={0x0, 0x0, &(0x7f0000000040)={&(0x7f0000000100)=@newqdisc={0x44, 0x24, 0xf0b, 0x0, 0x0, {0x0, 0x0, 0x0, r3, {}, {0xffff, 0xffff}}, [@qdisc_kind_options=@q_cake={{0x9}, {0x14, 0x2, [@TCA_CAKE_AUTORATE={0x8, 0x9, 0xbfb}, @TCA_CAKE_FWMARK={0x8, 0x12, 0x4}]}}]}, 0x44}}, 0x0) r4 = socket$inet6(0xa, 0x0, 0x6b) ioctl$sock_SIOCGIFINDEX(r4, 0x8933, &(0x7f0000000300)={'team0\x00', 0x0}) bind$packet(0xffffffffffffffff, &(0x7f0000000240)={0x11, 0x0, r5}, 0x14) socket$inet6_sctp(0xa, 0x10000000005, 0x84) sendto$inet(r0, &(0x7f00000012c0)="03268a927f1f6588b967481241ba7860005cf65ac618ded8974895abeaf4b4834ff922b3f1e0b02bd67aa03059bcecc7a95425a3a07e758044ab4ea6f7ae55d88fecf90b1a7511bf746bec66ba", 0xfe6a, 0x11, 0x0, 0x27) 21:36:30 executing program 0: r0 = socket$inet_udplite(0x2, 0x2, 0x88) getsockopt$sock_cred(r0, 0x1, 0x11, &(0x7f0000000240), &(0x7f0000000280)=0x5) keyctl$set_reqkey_keyring(0xe, 0x4) request_key(&(0x7f0000000080)='user\x00', &(0x7f00000000c0)={'syz', 0x0}, &(0x7f0000000100)='\x7f\x00\x9d\x98\x06\x00\xe1\xc1LV.i7M\xba\xbeVh\xf02)\xae\x8a\xe3\x7f\xa9\xe5\xc56\xb5\x82B\xbes\x00\x00\xa0\xf4', 0x0) 21:36:30 executing program 4: r0 = socket$inet6_sctp(0xa, 0x5, 0x84) r1 = socket$inet6_sctp(0xa, 0x5, 0x84) getsockopt$inet_sctp6_SCTP_SOCKOPT_CONNECTX3(r1, 0x84, 0x6f, &(0x7f0000000000)={0x0, 0x10, &(0x7f00000002c0)=[@in={0x2, 0x0, @initdev={0xac, 0x1e, 0x0, 0x0}}]}, &(0x7f0000000140)=0x10) r2 = socket$inet(0x2, 0x80001, 0x84) getsockopt$inet_sctp6_SCTP_PR_ASSOC_STATUS(r1, 0x84, 0x6d, &(0x7f0000000080), &(0x7f00000000c0)=0xfe42) getsockopt$inet_sctp_SCTP_MAX_BURST(r2, 0x84, 0x14, &(0x7f0000000400)=@assoc_value={0x0}, &(0x7f0000000040)=0x8) setsockopt$inet_sctp6_SCTP_STREAM_SCHEDULER_VALUE(r0, 0x84, 0x7c, &(0x7f0000000100)={r3}, 0x8) 21:36:30 executing program 2: r0 = openat$sndseq(0xffffffffffffff9c, &(0x7f0000000000), 0x2) ioctl$FS_IOC_GETFSMAP(0xffffffffffffffff, 0xc0c0583b, &(0x7f0000000140)={0x0, 0x0, 0x0, 0x0, '\x00', [{0x0, 0x0, 0x1000000008000}, {0x7}]}) ioctl$SNDRV_SEQ_IOCTL_CREATE_QUEUE(r0, 0xc08c5332, &(0x7f00000002c0)={0x0, 0x0, 0x0, 'queue1\x00'}) write$sndseq(r0, &(0x7f00000000c0)=[{0x0, 0x0, 0x0, 0x0, @time, {}, {}, @raw8={"a357b6b140cbb6215dd33459"}}], 0xfffffee4) ioctl$SNDRV_SEQ_IOCTL_REMOVE_EVENTS(r0, 0x408c5333, &(0x7f0000000100)={0x0, @time}) 21:36:30 executing program 3: syz_mount_image$ntfs(&(0x7f0000000100), &(0x7f0000000200)='./file0\x00', 0x0, 0x0, &(0x7f0000000440), 0x0, &(0x7f0000000280)={[{@umask}, {@errors_continue}, {@case_sensitive_yes}, {@nls={'nls', 0x3d, 'maccroatian'}}, {@fmask}, {@gid={'gid', 0x3d, 0xee00}}, {@mft_zone_multiplier}, {@show_sys_files_yes}, {}, {@nls={'nls', 0x3d, 'cp863'}}]}) 21:36:30 executing program 0: syz_mount_image$f2fs(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x0, 0xc, &(0x7f0000000200)=[{&(0x7f0000010000)="1020f5f201000b0009000000030000000c0000000900000002000000010000000000000000400000000000000b0000001e0000000200000002000000020000000200000016000000000400000004000000080000000c00000010000000140000030000000100000002", 0x69, 0x400}, {&(0x7f0000010700)="1020f5f201000b0009000000030000000c00000009", 0x15, 0x1400}, {&(0x7f0000011f00)="d82f381f0000000000020000000000000b0000000000000015000000150000001000000006000000080000000a000000ffffffffffffffffffffffffffffffffffffffff03000600000000000000000000000000000000000200000004000000ffffffffffffffffffffffffffffffffffffffff05000000000000000000000000000000c5000000060000000100000007000000070000000a0000004000000040000000fc0f", 0xa6, 0x600000}, {&(0x7f0000012000)="0000000000000000000000000000000000000000000000000000000040dfb02a", 0x20, 0x600fe0}, {&(0x7f0000012100)="00000000000000000000000000000000000000000000000000000006", 0x1c, 0x6011e0}, {&(0x7f0000012400)="0000000000000006000000020c60", 0xe, 0x6012e0}, {&(0x7f0000012500)="000000000000000000000000000000000000000000080000000510ec", 0x1c, 0x601320}, {&(0x7f0000012c00)="0000000000000000000000000000000000000000000000000000000100000000d82f381f0000000000020000000000000b0000000000000015000000150000001000000006000000080000000a000000ffffffffffffffffffffffffffffffffffffffff03000600000000000000000000000000000000000200000004000000ffffffffffffffffffffffffffffffffffffffff05000000000000000000000000000000c5000000060000000100000007000000070000000a0000004000000040000000fc0f", 0xc6, 0x604fe0}, {&(0x7f0000012d00)="0000000000000000000000000000000000000000000000000000000040dfb02a", 0x20, 0x605fe0}, {&(0x7f0000013000)="00000000000000000000010000000100000000020000000100000000030000000120", 0x22, 0xc00000}, {&(0x7f0000013400)="ed4100005cf90100535f010003000000001000000000000002", 0x19, 0x2001000}, {&(0x7f0000013600)="00000000000000000300000003", 0xd, 0x2001fe0}], 0x0, &(0x7f0000014b00)) 21:36:31 executing program 5: r0 = openat$sndseq(0xffffffffffffff9c, &(0x7f0000000000), 0x2) ioctl$FS_IOC_GETFSMAP(0xffffffffffffffff, 0xc0c0583b, &(0x7f0000000140)={0x0, 0x0, 0x0, 0x0, '\x00', [{0x0, 0x0, 0x1000000008000}, {0x7}]}) ioctl$SNDRV_SEQ_IOCTL_CREATE_QUEUE(r0, 0xc08c5332, &(0x7f00000002c0)={0x0, 0x0, 0x0, 'queue1\x00'}) write$sndseq(r0, &(0x7f00000000c0)=[{0x0, 0x0, 0x0, 0x0, @time, {}, {}, @raw8={"a357b6b140cbb6215dd33459"}}], 0xfffffee4) ioctl$SNDRV_SEQ_IOCTL_REMOVE_EVENTS(r0, 0x408c5333, &(0x7f0000000100)={0x0, @time}) 21:36:32 executing program 0: syz_mount_image$f2fs(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x0, 0xc, &(0x7f0000000200)=[{&(0x7f0000010000)="1020f5f201000b0009000000030000000c0000000900000002000000010000000000000000400000000000000b0000001e0000000200000002000000020000000200000016000000000400000004000000080000000c00000010000000140000030000000100000002", 0x69, 0x400}, {&(0x7f0000010700)="1020f5f201000b0009000000030000000c00000009", 0x15, 0x1400}, {&(0x7f0000011f00)="d82f381f0000000000020000000000000b0000000000000015000000150000001000000006000000080000000a000000ffffffffffffffffffffffffffffffffffffffff03000600000000000000000000000000000000000200000004000000ffffffffffffffffffffffffffffffffffffffff05000000000000000000000000000000c5000000060000000100000007000000070000000a0000004000000040000000fc0f", 0xa6, 0x600000}, {&(0x7f0000012000)="0000000000000000000000000000000000000000000000000000000040dfb02a", 0x20, 0x600fe0}, {&(0x7f0000012100)="00000000000000000000000000000000000000000000000000000006", 0x1c, 0x6011e0}, {&(0x7f0000012400)="0000000000000006000000020c60", 0xe, 0x6012e0}, {&(0x7f0000012500)="000000000000000000000000000000000000000000080000000510ec", 0x1c, 0x601320}, {&(0x7f0000012c00)="0000000000000000000000000000000000000000000000000000000100000000d82f381f0000000000020000000000000b0000000000000015000000150000001000000006000000080000000a000000ffffffffffffffffffffffffffffffffffffffff03000600000000000000000000000000000000000200000004000000ffffffffffffffffffffffffffffffffffffffff05000000000000000000000000000000c5000000060000000100000007000000070000000a0000004000000040000000fc0f", 0xc6, 0x604fe0}, {&(0x7f0000012d00)="0000000000000000000000000000000000000000000000000000000040dfb02a", 0x20, 0x605fe0}, {&(0x7f0000013000)="00000000000000000000010000000100000000020000000100000000030000000120", 0x22, 0xc00000}, {&(0x7f0000013400)="ed4100005cf90100535f010003000000001000000000000002", 0x19, 0x2001000}, {&(0x7f0000013600)="00000000000000000300000003", 0xd, 0x2001fe0}], 0x0, &(0x7f0000014b00)) 21:36:32 executing program 0: syz_mount_image$f2fs(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x0, 0xc, &(0x7f0000000200)=[{&(0x7f0000010000)="1020f5f201000b0009000000030000000c0000000900000002000000010000000000000000400000000000000b0000001e0000000200000002000000020000000200000016000000000400000004000000080000000c00000010000000140000030000000100000002", 0x69, 0x400}, {&(0x7f0000010700)="1020f5f201000b0009000000030000000c00000009", 0x15, 0x1400}, {&(0x7f0000011f00)="d82f381f0000000000020000000000000b0000000000000015000000150000001000000006000000080000000a000000ffffffffffffffffffffffffffffffffffffffff03000600000000000000000000000000000000000200000004000000ffffffffffffffffffffffffffffffffffffffff05000000000000000000000000000000c5000000060000000100000007000000070000000a0000004000000040000000fc0f", 0xa6, 0x600000}, {&(0x7f0000012000)="0000000000000000000000000000000000000000000000000000000040dfb02a", 0x20, 0x600fe0}, {&(0x7f0000012100)="00000000000000000000000000000000000000000000000000000006", 0x1c, 0x6011e0}, {&(0x7f0000012400)="0000000000000006000000020c60", 0xe, 0x6012e0}, {&(0x7f0000012500)="000000000000000000000000000000000000000000080000000510ec", 0x1c, 0x601320}, {&(0x7f0000012c00)="0000000000000000000000000000000000000000000000000000000100000000d82f381f0000000000020000000000000b0000000000000015000000150000001000000006000000080000000a000000ffffffffffffffffffffffffffffffffffffffff03000600000000000000000000000000000000000200000004000000ffffffffffffffffffffffffffffffffffffffff05000000000000000000000000000000c5000000060000000100000007000000070000000a0000004000000040000000fc0f", 0xc6, 0x604fe0}, {&(0x7f0000012d00)="0000000000000000000000000000000000000000000000000000000040dfb02a", 0x20, 0x605fe0}, {&(0x7f0000013000)="00000000000000000000010000000100000000020000000100000000030000000120", 0x22, 0xc00000}, {&(0x7f0000013400)="ed4100005cf90100535f010003000000001000000000000002", 0x19, 0x2001000}, {&(0x7f0000013600)="00000000000000000300000003", 0xd, 0x2001fe0}], 0x0, &(0x7f0000014b00)) 21:36:32 executing program 5: r0 = openat$sndseq(0xffffffffffffff9c, &(0x7f0000000000), 0x2) ioctl$FS_IOC_GETFSMAP(0xffffffffffffffff, 0xc0c0583b, &(0x7f0000000140)={0x0, 0x0, 0x0, 0x0, '\x00', [{0x0, 0x0, 0x1000000008000}, {0x7}]}) ioctl$SNDRV_SEQ_IOCTL_CREATE_QUEUE(r0, 0xc08c5332, &(0x7f00000002c0)={0x0, 0x0, 0x0, 'queue1\x00'}) write$sndseq(r0, &(0x7f00000000c0)=[{0x0, 0x0, 0x0, 0x0, @time, {}, {}, @raw8={"a357b6b140cbb6215dd33459"}}], 0xfffffee4) ioctl$SNDRV_SEQ_IOCTL_REMOVE_EVENTS(r0, 0x408c5333, &(0x7f0000000100)={0x0, @time}) 21:36:32 executing program 3: syz_mount_image$ntfs(&(0x7f0000000100), &(0x7f0000000200)='./file0\x00', 0x0, 0x0, &(0x7f0000000440), 0x0, &(0x7f0000000280)={[{@umask}, {@errors_continue}, {@case_sensitive_yes}, {@nls={'nls', 0x3d, 'maccroatian'}}, {@fmask}, {@gid={'gid', 0x3d, 0xee00}}, {@mft_zone_multiplier}, {@show_sys_files_yes}, {}, {@nls={'nls', 0x3d, 'cp863'}}]}) [ 2050.979230][ T1197] ieee802154 phy0 wpan0: encryption failed: -22 [ 2050.986115][ T1197] ieee802154 phy1 wpan1: encryption failed: -22 21:36:33 executing program 3: syz_mount_image$ntfs(&(0x7f0000000100), &(0x7f0000000200)='./file0\x00', 0x0, 0x0, &(0x7f0000000440), 0x0, &(0x7f0000000280)={[{@umask}, {@errors_continue}, {@case_sensitive_yes}, {@nls={'nls', 0x3d, 'maccroatian'}}, {@fmask}, {@gid={'gid', 0x3d, 0xee00}}, {@mft_zone_multiplier}, {@show_sys_files_yes}, {}, {@nls={'nls', 0x3d, 'cp863'}}]}) 21:36:33 executing program 4: r0 = socket$inet6(0xa, 0x3, 0x8000000003c) connect$inet6(r0, &(0x7f00000000c0)={0xa, 0x0, 0x0, @dev, 0x9}, 0x1c) r1 = socket$unix(0x1, 0x1, 0x0) getsockopt$sock_cred(r1, 0x1, 0x11, &(0x7f0000caaffb)={0x0, 0x0}, &(0x7f0000cab000)=0xc) setresuid(0x0, r2, 0x0) sendmmsg$inet6(r0, &(0x7f0000006240)=[{{0x0, 0x0, 0x0}}, {{0x0, 0x0, 0x0, 0x0, &(0x7f0000000000)=[@rthdrdstopts={{0x18}}], 0x18}}], 0x2, 0x0) 21:36:33 executing program 4: r0 = socket$inet6(0xa, 0x3, 0x8000000003c) connect$inet6(r0, &(0x7f00000000c0)={0xa, 0x0, 0x0, @dev, 0x9}, 0x1c) r1 = socket$unix(0x1, 0x1, 0x0) getsockopt$sock_cred(r1, 0x1, 0x11, &(0x7f0000caaffb)={0x0, 0x0}, &(0x7f0000cab000)=0xc) setresuid(0x0, r2, 0x0) sendmmsg$inet6(r0, &(0x7f0000006240)=[{{0x0, 0x0, 0x0}}, {{0x0, 0x0, 0x0, 0x0, &(0x7f0000000000)=[@rthdrdstopts={{0x18}}], 0x18}}], 0x2, 0x0) 21:36:33 executing program 3: syz_mount_image$ntfs(&(0x7f0000000100), &(0x7f0000000200)='./file0\x00', 0x0, 0x0, &(0x7f0000000440), 0x0, &(0x7f0000000280)={[{@umask}, {@errors_continue}, {@case_sensitive_yes}, {@nls={'nls', 0x3d, 'maccroatian'}}, {@fmask}, {@gid={'gid', 0x3d, 0xee00}}, {@mft_zone_multiplier}, {@show_sys_files_yes}, {}, {@nls={'nls', 0x3d, 'cp863'}}]}) 21:36:49 executing program 2: r0 = openat$sndseq(0xffffffffffffff9c, &(0x7f0000000000), 0x2) ioctl$FS_IOC_GETFSMAP(0xffffffffffffffff, 0xc0c0583b, &(0x7f0000000140)={0x0, 0x0, 0x0, 0x0, '\x00', [{0x0, 0x0, 0x1000000008000}, {0x7}]}) ioctl$SNDRV_SEQ_IOCTL_CREATE_QUEUE(r0, 0xc08c5332, &(0x7f00000002c0)={0x0, 0x0, 0x0, 'queue1\x00'}) write$sndseq(r0, &(0x7f00000000c0)=[{0x0, 0x0, 0x0, 0x0, @time, {}, {}, @raw8={"a357b6b140cbb6215dd33459"}}], 0xfffffee4) ioctl$SNDRV_SEQ_IOCTL_REMOVE_EVENTS(r0, 0x408c5333, &(0x7f0000000100)={0x0, @time}) 21:36:49 executing program 4: r0 = socket$inet6(0xa, 0x3, 0x8000000003c) connect$inet6(r0, &(0x7f00000000c0)={0xa, 0x0, 0x0, @dev, 0x9}, 0x1c) r1 = socket$unix(0x1, 0x1, 0x0) getsockopt$sock_cred(r1, 0x1, 0x11, &(0x7f0000caaffb)={0x0, 0x0}, &(0x7f0000cab000)=0xc) setresuid(0x0, r2, 0x0) sendmmsg$inet6(r0, &(0x7f0000006240)=[{{0x0, 0x0, 0x0}}, {{0x0, 0x0, 0x0, 0x0, &(0x7f0000000000)=[@rthdrdstopts={{0x18}}], 0x18}}], 0x2, 0x0) 21:36:49 executing program 0: syz_mount_image$f2fs(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x0, 0xc, &(0x7f0000000200)=[{&(0x7f0000010000)="1020f5f201000b0009000000030000000c0000000900000002000000010000000000000000400000000000000b0000001e0000000200000002000000020000000200000016000000000400000004000000080000000c00000010000000140000030000000100000002", 0x69, 0x400}, {&(0x7f0000010700)="1020f5f201000b0009000000030000000c00000009", 0x15, 0x1400}, {&(0x7f0000011f00)="d82f381f0000000000020000000000000b0000000000000015000000150000001000000006000000080000000a000000ffffffffffffffffffffffffffffffffffffffff03000600000000000000000000000000000000000200000004000000ffffffffffffffffffffffffffffffffffffffff05000000000000000000000000000000c5000000060000000100000007000000070000000a0000004000000040000000fc0f", 0xa6, 0x600000}, {&(0x7f0000012000)="0000000000000000000000000000000000000000000000000000000040dfb02a", 0x20, 0x600fe0}, {&(0x7f0000012100)="00000000000000000000000000000000000000000000000000000006", 0x1c, 0x6011e0}, {&(0x7f0000012400)="0000000000000006000000020c60", 0xe, 0x6012e0}, {&(0x7f0000012500)="000000000000000000000000000000000000000000080000000510ec", 0x1c, 0x601320}, {&(0x7f0000012c00)="0000000000000000000000000000000000000000000000000000000100000000d82f381f0000000000020000000000000b0000000000000015000000150000001000000006000000080000000a000000ffffffffffffffffffffffffffffffffffffffff03000600000000000000000000000000000000000200000004000000ffffffffffffffffffffffffffffffffffffffff05000000000000000000000000000000c5000000060000000100000007000000070000000a0000004000000040000000fc0f", 0xc6, 0x604fe0}, {&(0x7f0000012d00)="0000000000000000000000000000000000000000000000000000000040dfb02a", 0x20, 0x605fe0}, {&(0x7f0000013000)="00000000000000000000010000000100000000020000000100000000030000000120", 0x22, 0xc00000}, {&(0x7f0000013400)="ed4100005cf90100535f010003000000001000000000000002", 0x19, 0x2001000}, {&(0x7f0000013600)="00000000000000000300000003", 0xd, 0x2001fe0}], 0x0, &(0x7f0000014b00)) 21:36:49 executing program 1: r0 = socket$l2tp(0x2, 0x2, 0x73) setsockopt$inet_mreqn(r0, 0x0, 0x23, 0x0, 0x0) 21:36:49 executing program 5: r0 = socket$nl_generic(0x10, 0x3, 0x10) r1 = syz_genetlink_get_family_id$tipc2(&(0x7f0000000000), 0xffffffffffffffff) sendmsg$TIPC_NL_BEARER_ENABLE(r0, &(0x7f00000000c0)={0x0, 0x0, &(0x7f0000000080)={&(0x7f0000000100)={0x6c, r1, 0x1, 0x0, 0x0, {}, [@TIPC_NLA_BEARER={0x58, 0x1, 0x0, 0x1, [@TIPC_NLA_BEARER_UDP_OPTS={0x44, 0x4, {{0x20, 0x1, @in6={0x10, 0x0, 0x0, @rand_addr=' \x01\x00'}}, {0x20, 0x2, @in6={0xa, 0x0, 0x0, @remote}}}}, @TIPC_NLA_BEARER_NAME={0xd, 0x1, @udp='udp:syz0\x00'}]}]}, 0x6c}}, 0x0) 21:36:49 executing program 3: r0 = syz_open_procfs(0xffffffffffffffff, &(0x7f0000000080)='net/nf_conntrack\x00') lseek(r0, 0x9, 0x0) preadv(r0, &(0x7f0000000480)=[{&(0x7f0000000300)=""/227, 0xe3}], 0x1, 0x9, 0x0) [ 2064.320095][ T6998] tipc: Bearer : already 2 bearers with priority 10 [ 2064.328285][ T6998] tipc: Bearer : trying with adjusted priority [ 2064.335672][ T6998] tipc: Enabling of bearer rejected, failed to enable media 21:36:50 executing program 1: r0 = socket$l2tp(0x2, 0x2, 0x73) setsockopt$inet_mreqn(r0, 0x0, 0x23, 0x0, 0x0) 21:36:50 executing program 5: r0 = socket$nl_generic(0x10, 0x3, 0x10) r1 = syz_genetlink_get_family_id$tipc2(&(0x7f0000000000), 0xffffffffffffffff) sendmsg$TIPC_NL_BEARER_ENABLE(r0, &(0x7f00000000c0)={0x0, 0x0, &(0x7f0000000080)={&(0x7f0000000100)={0x6c, r1, 0x1, 0x0, 0x0, {}, [@TIPC_NLA_BEARER={0x58, 0x1, 0x0, 0x1, [@TIPC_NLA_BEARER_UDP_OPTS={0x44, 0x4, {{0x20, 0x1, @in6={0x10, 0x0, 0x0, @rand_addr=' \x01\x00'}}, {0x20, 0x2, @in6={0xa, 0x0, 0x0, @remote}}}}, @TIPC_NLA_BEARER_NAME={0xd, 0x1, @udp='udp:syz0\x00'}]}]}, 0x6c}}, 0x0) 21:36:50 executing program 0: r0 = epoll_create1(0x0) r1 = fcntl$dupfd(r0, 0x2, 0xffffffffffffffff) fanotify_mark(0xffffffffffffffff, 0x1c0, 0x0, r1, 0x0) 21:36:50 executing program 3: r0 = syz_open_procfs(0xffffffffffffffff, &(0x7f0000000080)='net/nf_conntrack\x00') lseek(r0, 0x9, 0x0) preadv(r0, &(0x7f0000000480)=[{&(0x7f0000000300)=""/227, 0xe3}], 0x1, 0x9, 0x0) 21:36:50 executing program 4: r0 = socket$inet6(0xa, 0x3, 0x8000000003c) connect$inet6(r0, &(0x7f00000000c0)={0xa, 0x0, 0x0, @dev, 0x9}, 0x1c) r1 = socket$unix(0x1, 0x1, 0x0) getsockopt$sock_cred(r1, 0x1, 0x11, &(0x7f0000caaffb)={0x0, 0x0}, &(0x7f0000cab000)=0xc) setresuid(0x0, r2, 0x0) sendmmsg$inet6(r0, &(0x7f0000006240)=[{{0x0, 0x0, 0x0}}, {{0x0, 0x0, 0x0, 0x0, &(0x7f0000000000)=[@rthdrdstopts={{0x18}}], 0x18}}], 0x2, 0x0) 21:36:50 executing program 1: r0 = socket$l2tp(0x2, 0x2, 0x73) setsockopt$inet_mreqn(r0, 0x0, 0x23, 0x0, 0x0) [ 2064.895076][ T7010] tipc: Bearer : already 2 bearers with priority 10 [ 2064.903530][ T7010] tipc: Bearer : trying with adjusted priority [ 2064.910742][ T7010] tipc: Enabling of bearer rejected, failed to enable media 21:36:51 executing program 2: r0 = openat$sndseq(0xffffffffffffff9c, &(0x7f0000000000), 0x2) ioctl$FS_IOC_GETFSMAP(0xffffffffffffffff, 0xc0c0583b, &(0x7f0000000140)={0x0, 0x0, 0x0, 0x0, '\x00', [{0x0, 0x0, 0x1000000008000}, {0x7}]}) ioctl$SNDRV_SEQ_IOCTL_CREATE_QUEUE(r0, 0xc08c5332, &(0x7f00000002c0)={0x0, 0x0, 0x0, 'queue1\x00'}) write$sndseq(r0, &(0x7f00000000c0)=[{0x0, 0x0, 0x0, 0x0, @time, {}, {}, @raw8={"a357b6b140cbb6215dd33459"}}], 0xfffffee4) ioctl$SNDRV_SEQ_IOCTL_REMOVE_EVENTS(r0, 0x408c5333, &(0x7f0000000100)={0x0, @time}) 21:36:51 executing program 0: r0 = epoll_create1(0x0) r1 = fcntl$dupfd(r0, 0x2, 0xffffffffffffffff) fanotify_mark(0xffffffffffffffff, 0x1c0, 0x0, r1, 0x0) 21:36:51 executing program 4: r0 = seccomp$SECCOMP_SET_MODE_FILTER_LISTENER(0x1, 0x8, &(0x7f0000000180)={0x1, &(0x7f0000000000)=[{0x6, 0x0, 0x0, 0x7fc00000}]}) ioctl$SECCOMP_IOCTL_NOTIF_RECV(0xffffffffffffffff, 0xc0502100, 0x0) socket$nl_generic(0x10, 0x3, 0x10) ioctl$SECCOMP_IOCTL_NOTIF_ADDFD(0xffffffffffffffff, 0x40182103, 0x0) r1 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f00000000c0)='cgroup.controllers\x00', 0x275a, 0x0) write$binfmt_script(r1, &(0x7f0000000040)=ANY=[], 0x6db6e559) mmap(&(0x7f0000000000/0x3000)=nil, 0x3000, 0x1, 0x10012, r1, 0x0) ioctl$SECCOMP_IOCTL_NOTIF_RECV(r0, 0xc0502100, &(0x7f0000000200)) 21:36:51 executing program 1: r0 = socket$l2tp(0x2, 0x2, 0x73) setsockopt$inet_mreqn(r0, 0x0, 0x23, 0x0, 0x0) 21:36:51 executing program 5: r0 = socket$nl_generic(0x10, 0x3, 0x10) r1 = syz_genetlink_get_family_id$tipc2(&(0x7f0000000000), 0xffffffffffffffff) sendmsg$TIPC_NL_BEARER_ENABLE(r0, &(0x7f00000000c0)={0x0, 0x0, &(0x7f0000000080)={&(0x7f0000000100)={0x6c, r1, 0x1, 0x0, 0x0, {}, [@TIPC_NLA_BEARER={0x58, 0x1, 0x0, 0x1, [@TIPC_NLA_BEARER_UDP_OPTS={0x44, 0x4, {{0x20, 0x1, @in6={0x10, 0x0, 0x0, @rand_addr=' \x01\x00'}}, {0x20, 0x2, @in6={0xa, 0x0, 0x0, @remote}}}}, @TIPC_NLA_BEARER_NAME={0xd, 0x1, @udp='udp:syz0\x00'}]}]}, 0x6c}}, 0x0) 21:36:51 executing program 3: r0 = syz_open_procfs(0xffffffffffffffff, &(0x7f0000000080)='net/nf_conntrack\x00') lseek(r0, 0x9, 0x0) preadv(r0, &(0x7f0000000480)=[{&(0x7f0000000300)=""/227, 0xe3}], 0x1, 0x9, 0x0) [ 2065.391922][ T7023] tipc: Bearer : already 2 bearers with priority 10 [ 2065.401157][ T7023] tipc: Bearer : trying with adjusted priority [ 2065.408623][ T7023] tipc: Enabling of bearer rejected, failed to enable media 21:36:51 executing program 1: r0 = socket$inet6_udplite(0xa, 0x2, 0x88) sendmsg$inet6(r0, &(0x7f0000000340)={&(0x7f0000000040)={0xa, 0x4e23, 0x0, @local}, 0x1c, 0x0, 0x0, &(0x7f0000000000)=[@pktinfo={{0x20, 0x29, 0x32, {@loopback}}}], 0x20}, 0x0) 21:36:51 executing program 0: r0 = epoll_create1(0x0) r1 = fcntl$dupfd(r0, 0x2, 0xffffffffffffffff) fanotify_mark(0xffffffffffffffff, 0x1c0, 0x0, r1, 0x0) 21:36:51 executing program 5: r0 = socket$nl_generic(0x10, 0x3, 0x10) r1 = syz_genetlink_get_family_id$tipc2(&(0x7f0000000000), 0xffffffffffffffff) sendmsg$TIPC_NL_BEARER_ENABLE(r0, &(0x7f00000000c0)={0x0, 0x0, &(0x7f0000000080)={&(0x7f0000000100)={0x6c, r1, 0x1, 0x0, 0x0, {}, [@TIPC_NLA_BEARER={0x58, 0x1, 0x0, 0x1, [@TIPC_NLA_BEARER_UDP_OPTS={0x44, 0x4, {{0x20, 0x1, @in6={0x10, 0x0, 0x0, @rand_addr=' \x01\x00'}}, {0x20, 0x2, @in6={0xa, 0x0, 0x0, @remote}}}}, @TIPC_NLA_BEARER_NAME={0xd, 0x1, @udp='udp:syz0\x00'}]}]}, 0x6c}}, 0x0) 21:36:51 executing program 3: r0 = syz_open_procfs(0xffffffffffffffff, &(0x7f0000000080)='net/nf_conntrack\x00') lseek(r0, 0x9, 0x0) preadv(r0, &(0x7f0000000480)=[{&(0x7f0000000300)=""/227, 0xe3}], 0x1, 0x9, 0x0) 21:36:51 executing program 1: r0 = socket$inet6_udplite(0xa, 0x2, 0x88) sendmsg$inet6(r0, &(0x7f0000000340)={&(0x7f0000000040)={0xa, 0x4e23, 0x0, @local}, 0x1c, 0x0, 0x0, &(0x7f0000000000)=[@pktinfo={{0x20, 0x29, 0x32, {@loopback}}}], 0x20}, 0x0) [ 2066.026096][ T7038] tipc: Bearer : already 2 bearers with priority 10 [ 2066.033944][ T7038] tipc: Bearer : trying with adjusted priority [ 2066.041126][ T7038] tipc: Enabling of bearer rejected, failed to enable media 21:36:51 executing program 0: r0 = epoll_create1(0x0) r1 = fcntl$dupfd(r0, 0x2, 0xffffffffffffffff) fanotify_mark(0xffffffffffffffff, 0x1c0, 0x0, r1, 0x0) 21:36:52 executing program 4: r0 = seccomp$SECCOMP_SET_MODE_FILTER_LISTENER(0x1, 0x8, &(0x7f0000000180)={0x1, &(0x7f0000000000)=[{0x6, 0x0, 0x0, 0x7fc00000}]}) ioctl$SECCOMP_IOCTL_NOTIF_RECV(0xffffffffffffffff, 0xc0502100, 0x0) socket$nl_generic(0x10, 0x3, 0x10) ioctl$SECCOMP_IOCTL_NOTIF_ADDFD(0xffffffffffffffff, 0x40182103, 0x0) r1 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f00000000c0)='cgroup.controllers\x00', 0x275a, 0x0) write$binfmt_script(r1, &(0x7f0000000040)=ANY=[], 0x6db6e559) mmap(&(0x7f0000000000/0x3000)=nil, 0x3000, 0x1, 0x10012, r1, 0x0) ioctl$SECCOMP_IOCTL_NOTIF_RECV(r0, 0xc0502100, &(0x7f0000000200)) 21:36:52 executing program 5: r0 = syz_init_net_socket$nl_generic(0x10, 0x3, 0x10) r1 = syz_init_net_socket$nl_generic(0x10, 0x3, 0x10) r2 = syz_genetlink_get_family_id$netlbl_calipso(&(0x7f0000000280), r0) sendmsg$NLBL_CALIPSO_C_ADD(r1, &(0x7f0000000340)={0x0, 0x0, &(0x7f0000000380)={&(0x7f0000000300)={0x1c, r2, 0x1, 0x0, 0x0, {0x2}, [@NLBL_CALIPSO_A_DOI={0x8}]}, 0x1c}}, 0x0) 21:36:52 executing program 1: r0 = socket$inet6_udplite(0xa, 0x2, 0x88) sendmsg$inet6(r0, &(0x7f0000000340)={&(0x7f0000000040)={0xa, 0x4e23, 0x0, @local}, 0x1c, 0x0, 0x0, &(0x7f0000000000)=[@pktinfo={{0x20, 0x29, 0x32, {@loopback}}}], 0x20}, 0x0) 21:36:52 executing program 3: r0 = syz_open_dev$video4linux(&(0x7f0000000040), 0x0, 0x0) ioctl$VIDIOC_SUBDEV_S_FMT(r0, 0xc0585604, &(0x7f0000000080)) 21:36:52 executing program 0: r0 = socket(0xa, 0x6, 0x0) mmap$snddsp_status(&(0x7f0000fff000/0x1000)=nil, 0x1000, 0x0, 0x4052, r0, 0x82000000) 21:36:52 executing program 2: r0 = syz_open_dev$tty20(0xc, 0x4, 0x0) prctl$PR_SCHED_CORE(0x3e, 0x1, 0x0, 0x2, 0x0) r1 = syz_open_dev$sndmidi(0x0, 0x2, 0x141101) ioctl$KVM_CREATE_VCPU(0xffffffffffffffff, 0xae41, 0x2) r2 = dup(r1) write$6lowpan_enable(r2, 0x0, 0x0) syz_mount_image$vfat(&(0x7f00000002c0), 0x0, 0x0, 0x1, &(0x7f00000004c0)=[{0x0}], 0x0, 0x0) mkdirat(0xffffffffffffffff, 0x0, 0x0) write$UHID_INPUT(r0, &(0x7f00000000c0)={0x8, {"571eb1200051f2c2192e49c72e5729e528beb972ec2419123b539a6c69a21b5fa6abf266df89fd2888a1d4517f44efd1d0c1561b3008154c7d1ee62aa01c21a08a9e057cc1e94ca5aa525c6473fa3a5954c9ab6107e4b315124106ce107f20ca73403c0964a4f588f1b966979ad5f0ad1a9b489e37ad01a3179585c3e07e4333c27667b5016e00d907540f36dcaca50303ff1311adb6eab819f0417fe3de3dc782fc43d2dd10171c340e428ce2c56c4ed1d5a6b76d5b6e4def639ad5a9395be37db8bed701cec1233558cdba6e57f6b3825752ab63ab796b7b3e0df9b0399e9f24c1d5b6c5146d1a43a931db2a35f5b08e045529269ee655bae6beed86a75bd7324c9688501b425a1ddc6e7e6c3eb684fc09ff2fa918fb5175535f0704affc90f27b65eab1bdab2cea1acddca6f98387afa12f40a7037b23cb4d270941fdbfd7d4cb20e0f50af89a7ac44f292697bb3c3ac77cb8c57755644a41d70a463de5b2242b3ce0a9698a1578d050a700c3ddc82fb4a7709e8a274e5e74e279d82675e6faab5f7202c7d12805435fb3bccfcc6d07b12e89f5abf2c64ee9646b14abece06f2c746fde17c597733a1b257976a5a1905574468d9e7d9d80b0178fcb1e684c41887f89c8398a0d4d5b22129b7bac7e81e6bc239a30724c5479239998501849ae9b23383f3f01568e354c5248a02493d7d9a99705448741b58a9da10da528586e0b4d4768851ad90379e1d2cc81255888e343971656706d30bb2c0821c9d2ec051c3edbaa9058c8cf2f1d4fb044e0ecbc7727d921207492fab36d6378bd7c318e9aafaa69fe6987f4335ad63e3f5aeb673390d9804eeb37cd3c332cc8de70125bebe87c09b83a6f939308056270220d71de9d2904c27bc568133db9491c228473211a87fa9cb2b0f033c562bec8f846a851c6907a17134e46ec6dffd0dd6f560b0d2ef07242519c18ab4ed8654e0540aa1b8d7b53912dd7d879082ca5994118e2cc5fd9eb82276f57e748b164bccb82e78a26b637c9dda2a2d31e0290deae6ef4e99bbd929a0a79a064b000463d541c49c2acd1ee2af81a47d0b430318567a68f1bac87a71d60bc50f7167f6679f3f92d14c2baa2d6d3093d9d4e8a0b2764a31046bb4566d779a5c5fe759a60187d544458c8a18623fcd307dc29ce884ee404ae912deded8e3ab73c2b8e98986d6e0b35e4c4d6494f54236eb320e17d9a178c37fdbbe0f4c2a809143cbba06a7e626c1c5b1b91940409b0c2f29a0cb55f001488d7c84ee7b0ee66e036efe3b3cda3d226a361c28a75c07efe173d07607d9fcc12c831bc9a73b18e13961594978b1aaa1e88c6f468c8a69bdef0b694154a01296be7fb37e5dea6a5a8292008ef826170cc893cfd6313d186e3396021d8daa3c62d46fc287e09f1e3e60287dad25c4cb620237291698461596205cfc4ab321ec349be318ae8b4c16b5462f62da6d727f8fc0461392625bae16c6787e29ecfc63582ac9e8bf42de420655fafe905b7a5e58acc6a5576d823ce1fe8970deb79622cef679007e1887a8a09532f726eace2bcde5728323175d0f042dacc9c3ec1c5dd16832b2c5b6429589c5085ed62a3f39f707b94d1376430d9c44144dd6a3c6b68895a37c522edccd9e0df424b51954bbd8bb0b0ea6e5b43e9194d9967a130fe326dd54dcbc1f3fdb4b158ee7c46ba680600a2a1b20a85ab7fca47c2dd72079d75960704cfaca237392ee6f61804375873070810fff960a30fb9e5e26a241207d591e710379a16c3c1baa99c1fead0214b17f4d67740925737cf540257b741b358c44e13e5d3ba207a04b0dd3513b173c9dfd63a851b158c99e45d8f9bc7e7ef0ac45bdd4cbc4d9411c8b519eb9f6a51adbfa863d654d2cf87f4836240c8b4259acf268afcf08151c432cfe8de4b3f95acee9c397f31daa2c15bbd8361f8d65372d78adfcf50923121e8595a331631bbf2f2d93ece032e6d66f6eada9114c64703e52bc0fba9b00af5d73adba4f5e791afc051fcbee91ec1d3b509adca9a3699f94eb99d9e79a9137f14a8e632d4103b341731ac961a16166c68d2396b165e47a003bc829574b38fbfbb86e72d5cd574b9d1b19999d3b653fa2cc9f3ab78054ce14ad057f7b0e8c78345a8c99637c8e42d78f3aa9bac5a94c1d9f7b0fc9c899d331349b070ebf1206bcde5e89ae2d2ecd2e08a427bae7a55fe6abb45f28015dbdeb0da0d1f63c2bb34c205657e1e2958bc93015941608ed4774b29d7f1c642307ef3bcd1e1df46b5b68a7b5d349c146b45bd42b7f38051dab4c9029494106a03de6a20262233f345f72452eb2a381fce4f7638c405f40a739e896f3cf802dc673d9f916433fbe74fd3c6a6d3e048baacd1d04f8136d3cd7e29de6f48c71d581481175159de4664a9ca27e57b1c777df2775177ecce1449995559e14424f499ed52b7425d08fa446eb2bceebf9b0f09fdb81b988dbafaa48c5300ff635269c73dfe140877bb87a08f33d96e154541c3c2d891fbbac653f4d1e0d1df0f6ac636fa5103c6be6b8eaa0f451ac773f7b705909dd5b5fbbbf69670ebb290c25ba27f4782d9e55aef1ee6b484e561d44a2ad888e3e7c1da078007d1741aa56f8a9125ffe9a3a438f35723508e21e748c1c1e78d4872ca331174377d850a8cd21576506c3094d1278bada0ccdf65a637a7458333e2b5a4a54237bf8d2954b3eeb312272993aa54858153891c3c54a25bdb63538926e60367b905cb6e445628e69c956e557bf75b4b72b82591b1f9c74d9407b304021d50d18ab8e9250487aa4774f2caefc90230473c61466a82afb4155a56af8cdf2cf611613768aa659c967fd462570de2e4dc93376a049a638edca45939fb76fe4f11c660da4874453d8738b07cdbbc11922e9a336f6773e689b712e47a026b1282af5cd982a516771754338a55ffa59459584a706e85562c719abd1e3117391934727f2ea572e0e14ed90c4c4f76b9d2b33fb98af0478a171de33ca753755377dd4d40e54debe52986d2e4e54a5e1aa092223a1e0394a24b6af227b5e762224cbad74dd606039f369aaa98b7bc2162e4bcc3c40905f3f4502fba320cdc6ae4bd940495e60f270068652b93221d94d27de3b7e546ffbb81f8bfb45d83b000b313bdaf4ecbc492d95ab38d5b5dfe0a916f224372047dfde14a5773d47f93c11a6602c7363c47d4e5f4f1ebac1737bded2b7091290c48873b710b7077c88e0e28de3265136704e92e78d3d6a4c1b14d7c8e4fa9ef0dc483129b2bb9a3af2d6e530e887ffdae7d09bccdc7cddb067d68552354e0b7571df157d266d6f0439453b7c12ce7124515fbd9572bd5ec27e66f154e21ab2e06ce35a5b94f631f4e0f124f4bce6e050d7ec1275bf62c4e03dd4ec7563e9cb9ce8f5c3100f1fac99ceadbfcf0558edd30b5747f54dc2d4ec9342fe5fc3114c66bbcba8785976ef4c29045044aa597ca4410d7680ef69e45c332db548762cdf7ed0a5fb62250adec5509abdd444717c9597d7d418c8592c9d3d31d3048e4e53afc6c90713e00eb35a1e132ed4614c886aac40b2735fe4527e6a7bd54c5ba884889c5631139964dc70f6bc0e4d32ed74a2ed8b7cb9299f20d0c36e48a1f397ed8cb8c969b2740206aab75b65099de2033a8f7ea889a46722d957a1d38553fcfbb5ef5e88b6c81dd2831b60a4881196642eebfc856f468e6aa529aa1369b9dc01f7d49b05e6734d02f26225d6d655fe80c084e437ae34088149b29cc23e17968a17474f2a8b0130911c90549604a059a753b74a6d4485425851f9b906f5648a0ff4cb60ba0f1ee994c7fe16e48196fb0426cdd9d9bd65ea4ba44394a18b7895f22ba8b9bee85f132459839855331d5a2b344d8ef893df4349337b3244c6f678235cded1fc9ab7fac47b136f669eb1f31bb40ff0bc70ce999a2f2c24316aa0ad8d18c9db85b57f0315103508b7be8c9506f57b0c6cb76642a6fe4a43d3ec78b131e4aea5ab08b46f676bd0deaf748cf87499c5d66f04eb59b7e69b6062573dd5125b1a6d835df0e1bf1c05694833b1d750b0333dadc7c572ef55feea335b91342738b75fb396265dfae3961c37f6801b02723667829323ed891e0749febbd0e4ef6d08c61dfa59ce43841097ddaac6176171f7d31c0707eee0f8f315b6cb52bbcf1932ccc783b1f4469197353529c3d5be514478f62ccc7dac132eef6bc6ac59db711a18356eb397df2ca578995e6268f6ca17cb3f7e5b23f3523e600db91cd8f7142a109f07a37bed17d12b015a1fd45b2eb426d74a6d9cd767ce11cf39b00e59d78fb87915e7ade5c3237c78ebb41d41ce26305c651f536f484dfa413deb5c03d79b666e81b24517f798f818285de546d9bc82be6361d10ca4adb3e32dc2d0984b62ccfa5f139ea3d5f9ba44d393c64fbe9bccd0d33243501997eaa5a3dc465fed067441372c91e3e6020d37664905d714b43408dd35572ece41eebe3b8e6d97bb3ba029f6952a9840797c438c9dd42f7edbb15fb2517c979b35f42d3197b1cd50c07089d424da720c59979dc851b6daab15b83c0e121ca9603baa9eeef5d5cd82fc4a6f6969cf601e48f5c5c1b53d1a606541b6697744e181c967a6b0f4fc803e09324640aeec3083b6c474ae02c43cbe5e9765244a0bdde6d0e82065d42fc9169f6e25f6340254d57ea2a36624c42517b15965df0033522957c4f7f181a638fa77d528ab8833bce2e0a33d6e980680515693fa3dc50b788339ddbf0e90714225abb92d766e365c201404429510ee94a84c2f3db8e8bdcdd00a3b14e57110ef099a21825fe6476395225fa93238e33bcae9633bb789c3803e29e5e9a0178afa85ba6f3ccd3cacb30f9ce1534b2403075d919ab505505d0123a0dbc38161b03f49dc5f0f40940098ad048e27df08f872009e6e385f57042070f69cf32efc88ef820ac95e526c1cf03f7c73a12efa084803fa7edd8356f2ed775837a196a6a49a2336734c1027bac9022997127cc8666e781115494e3f9fe523a96d9fc759d1dd6f8b161b1718809d651c0601f44b92811d8f858af263e01573c4ea794fb000354f3ff6c81976df6ff7a1f1236a5a786040b5b74373cf7b95fb52ee5c4a478f2aba61f59badb9a22359be3b37dee2ebaff64c83038b0345ae2a31d33e02936ac62450b5352566ce70f14c7316d8f2c2ef0539e68691a3459fb18f739d849e3cbac72157e4fdfca1bb2936321e37956e54b71878d2ae9e494150b3700f262bbc4e6a2a9be9d8a3f422faede5bf6747a16edb16bd324193f42a3087ba21f42558d58874dfa564f14afa327e2e034c34d39da3b6139683b99adb421e3aaf2f8c81c383b4147572adef3356e39bb44f7ad61375d48635ad8ccf560ef646c8ba2e95b72ee8aaf96e18a19c4ebb3735e17e348cf327b7242d23b1e0d91faae507ca09157d67eefef4c1c3fe5e798aac2e8cda609a80e6604f6e6861295f58a21856dab679830bf7f260000f5ccfd79c6f0e744d8941d719d5b99788f441ee910c0ebc023f646289478d681b1cccd54962c6c882777dc6943568c8f7d8b64464988f3bbd66ea52921ec560387054bcd2259b2e8e115b2b95b9f97524f4f6f540beb8e784007035ef30d4fa69556506152014c0648a996854d28661c42d3602db308826aaf8fc990d189907895c8030fc5ad75113cefba0872f388189142867de1ac72f695802f2d0d3206c9a78237185c32293ef552e6929c5cfbf02e432b72d15ffaa1fefd4e3d6d9be256c6a8d1e25c1a2a096459d20fa4072491292dbbe66326", 0x1000}}, 0x1006) 21:36:52 executing program 3: r0 = syz_open_dev$video4linux(&(0x7f0000000040), 0x0, 0x0) ioctl$VIDIOC_SUBDEV_S_FMT(r0, 0xc0585604, &(0x7f0000000080)) 21:36:52 executing program 5: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$IPSET_CMD_CREATE(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000040)={&(0x7f0000002280)={0x58, 0x2, 0x6, 0x3, 0x6, 0x9effffff, {}, [@IPSET_ATTR_REVISION={0x5}, @IPSET_ATTR_SETNAME={0x9, 0x2, 'syz0\x00'}, @IPSET_ATTR_PROTOCOL={0x5, 0x1, 0x6}, @IPSET_ATTR_FAMILY={0x5, 0x5, 0xa}, @IPSET_ATTR_DATA={0xc, 0x7, 0x0, 0x1, [@IPSET_ATTR_TIMEOUT={0x8, 0x6, 0x0}]}, @IPSET_ATTR_TYPENAME={0x13, 0x3, 'hash:net,iface\x00'}]}, 0x58}}, 0x0) 21:36:52 executing program 1: r0 = socket$inet6_udplite(0xa, 0x2, 0x88) sendmsg$inet6(r0, &(0x7f0000000340)={&(0x7f0000000040)={0xa, 0x4e23, 0x0, @local}, 0x1c, 0x0, 0x0, &(0x7f0000000000)=[@pktinfo={{0x20, 0x29, 0x32, {@loopback}}}], 0x20}, 0x0) 21:36:52 executing program 0: syz_usb_connect(0x0, 0x24, &(0x7f0000000040)=ANY=[@ANYBLOB="120100000010d308fd0802003a7a5c0000010902120001040400000904"], 0x0) 21:36:52 executing program 3: r0 = syz_open_dev$video4linux(&(0x7f0000000040), 0x0, 0x0) ioctl$VIDIOC_SUBDEV_S_FMT(r0, 0xc0585604, &(0x7f0000000080)) 21:36:52 executing program 5: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$IPSET_CMD_CREATE(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000040)={&(0x7f0000002280)={0x58, 0x2, 0x6, 0x3, 0x6, 0x9effffff, {}, [@IPSET_ATTR_REVISION={0x5}, @IPSET_ATTR_SETNAME={0x9, 0x2, 'syz0\x00'}, @IPSET_ATTR_PROTOCOL={0x5, 0x1, 0x6}, @IPSET_ATTR_FAMILY={0x5, 0x5, 0xa}, @IPSET_ATTR_DATA={0xc, 0x7, 0x0, 0x1, [@IPSET_ATTR_TIMEOUT={0x8, 0x6, 0x0}]}, @IPSET_ATTR_TYPENAME={0x13, 0x3, 'hash:net,iface\x00'}]}, 0x58}}, 0x0) [ 2067.303534][T14724] usb 1-1: new high-speed USB device number 73 using dummy_hcd [ 2067.542523][T14724] usb 1-1: Using ep0 maxpacket: 8 21:36:53 executing program 4: r0 = seccomp$SECCOMP_SET_MODE_FILTER_LISTENER(0x1, 0x8, &(0x7f0000000180)={0x1, &(0x7f0000000000)=[{0x6, 0x0, 0x0, 0x7fc00000}]}) ioctl$SECCOMP_IOCTL_NOTIF_RECV(0xffffffffffffffff, 0xc0502100, 0x0) socket$nl_generic(0x10, 0x3, 0x10) ioctl$SECCOMP_IOCTL_NOTIF_ADDFD(0xffffffffffffffff, 0x40182103, 0x0) r1 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f00000000c0)='cgroup.controllers\x00', 0x275a, 0x0) write$binfmt_script(r1, &(0x7f0000000040)=ANY=[], 0x6db6e559) mmap(&(0x7f0000000000/0x3000)=nil, 0x3000, 0x1, 0x10012, r1, 0x0) ioctl$SECCOMP_IOCTL_NOTIF_RECV(r0, 0xc0502100, &(0x7f0000000200)) 21:36:53 executing program 1: r0 = openat(0xffffffffffffff9c, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x2800004, 0x12, r0, 0x0) preadv(r0, &(0x7f00000001c0)=[{0x0}], 0x1, 0x9, 0x0) r1 = socket(0x18, 0x0, 0x0) getsockopt$SO_BINDTODEVICE(r1, 0x1, 0x3d, &(0x7f0000000000), 0x20a154cc) 21:36:53 executing program 3: r0 = syz_open_dev$video4linux(&(0x7f0000000040), 0x0, 0x0) ioctl$VIDIOC_SUBDEV_S_FMT(r0, 0xc0585604, &(0x7f0000000080)) 21:36:53 executing program 2: r0 = syz_open_dev$tty20(0xc, 0x4, 0x0) prctl$PR_SCHED_CORE(0x3e, 0x1, 0x0, 0x2, 0x0) r1 = syz_open_dev$sndmidi(0x0, 0x2, 0x141101) ioctl$KVM_CREATE_VCPU(0xffffffffffffffff, 0xae41, 0x2) r2 = dup(r1) write$6lowpan_enable(r2, 0x0, 0x0) syz_mount_image$vfat(&(0x7f00000002c0), 0x0, 0x0, 0x1, &(0x7f00000004c0)=[{0x0}], 0x0, 0x0) mkdirat(0xffffffffffffffff, 0x0, 0x0) write$UHID_INPUT(r0, &(0x7f00000000c0)={0x8, {"571eb1200051f2c2192e49c72e5729e528beb972ec2419123b539a6c69a21b5fa6abf266df89fd2888a1d4517f44efd1d0c1561b3008154c7d1ee62aa01c21a08a9e057cc1e94ca5aa525c6473fa3a5954c9ab6107e4b315124106ce107f20ca73403c0964a4f588f1b966979ad5f0ad1a9b489e37ad01a3179585c3e07e4333c27667b5016e00d907540f36dcaca50303ff1311adb6eab819f0417fe3de3dc782fc43d2dd10171c340e428ce2c56c4ed1d5a6b76d5b6e4def639ad5a9395be37db8bed701cec1233558cdba6e57f6b3825752ab63ab796b7b3e0df9b0399e9f24c1d5b6c5146d1a43a931db2a35f5b08e045529269ee655bae6beed86a75bd7324c9688501b425a1ddc6e7e6c3eb684fc09ff2fa918fb5175535f0704affc90f27b65eab1bdab2cea1acddca6f98387afa12f40a7037b23cb4d270941fdbfd7d4cb20e0f50af89a7ac44f292697bb3c3ac77cb8c57755644a41d70a463de5b2242b3ce0a9698a1578d050a700c3ddc82fb4a7709e8a274e5e74e279d82675e6faab5f7202c7d12805435fb3bccfcc6d07b12e89f5abf2c64ee9646b14abece06f2c746fde17c597733a1b257976a5a1905574468d9e7d9d80b0178fcb1e684c41887f89c8398a0d4d5b22129b7bac7e81e6bc239a30724c5479239998501849ae9b23383f3f01568e354c5248a02493d7d9a99705448741b58a9da10da528586e0b4d4768851ad90379e1d2cc81255888e343971656706d30bb2c0821c9d2ec051c3edbaa9058c8cf2f1d4fb044e0ecbc7727d921207492fab36d6378bd7c318e9aafaa69fe6987f4335ad63e3f5aeb673390d9804eeb37cd3c332cc8de70125bebe87c09b83a6f939308056270220d71de9d2904c27bc568133db9491c228473211a87fa9cb2b0f033c562bec8f846a851c6907a17134e46ec6dffd0dd6f560b0d2ef07242519c18ab4ed8654e0540aa1b8d7b53912dd7d879082ca5994118e2cc5fd9eb82276f57e748b164bccb82e78a26b637c9dda2a2d31e0290deae6ef4e99bbd929a0a79a064b000463d541c49c2acd1ee2af81a47d0b430318567a68f1bac87a71d60bc50f7167f6679f3f92d14c2baa2d6d3093d9d4e8a0b2764a31046bb4566d779a5c5fe759a60187d544458c8a18623fcd307dc29ce884ee404ae912deded8e3ab73c2b8e98986d6e0b35e4c4d6494f54236eb320e17d9a178c37fdbbe0f4c2a809143cbba06a7e626c1c5b1b91940409b0c2f29a0cb55f001488d7c84ee7b0ee66e036efe3b3cda3d226a361c28a75c07efe173d07607d9fcc12c831bc9a73b18e13961594978b1aaa1e88c6f468c8a69bdef0b694154a01296be7fb37e5dea6a5a8292008ef826170cc893cfd6313d186e3396021d8daa3c62d46fc287e09f1e3e60287dad25c4cb620237291698461596205cfc4ab321ec349be318ae8b4c16b5462f62da6d727f8fc0461392625bae16c6787e29ecfc63582ac9e8bf42de420655fafe905b7a5e58acc6a5576d823ce1fe8970deb79622cef679007e1887a8a09532f726eace2bcde5728323175d0f042dacc9c3ec1c5dd16832b2c5b6429589c5085ed62a3f39f707b94d1376430d9c44144dd6a3c6b68895a37c522edccd9e0df424b51954bbd8bb0b0ea6e5b43e9194d9967a130fe326dd54dcbc1f3fdb4b158ee7c46ba680600a2a1b20a85ab7fca47c2dd72079d75960704cfaca237392ee6f61804375873070810fff960a30fb9e5e26a241207d591e710379a16c3c1baa99c1fead0214b17f4d67740925737cf540257b741b358c44e13e5d3ba207a04b0dd3513b173c9dfd63a851b158c99e45d8f9bc7e7ef0ac45bdd4cbc4d9411c8b519eb9f6a51adbfa863d654d2cf87f4836240c8b4259acf268afcf08151c432cfe8de4b3f95acee9c397f31daa2c15bbd8361f8d65372d78adfcf50923121e8595a331631bbf2f2d93ece032e6d66f6eada9114c64703e52bc0fba9b00af5d73adba4f5e791afc051fcbee91ec1d3b509adca9a3699f94eb99d9e79a9137f14a8e632d4103b341731ac961a16166c68d2396b165e47a003bc829574b38fbfbb86e72d5cd574b9d1b19999d3b653fa2cc9f3ab78054ce14ad057f7b0e8c78345a8c99637c8e42d78f3aa9bac5a94c1d9f7b0fc9c899d331349b070ebf1206bcde5e89ae2d2ecd2e08a427bae7a55fe6abb45f28015dbdeb0da0d1f63c2bb34c205657e1e2958bc93015941608ed4774b29d7f1c642307ef3bcd1e1df46b5b68a7b5d349c146b45bd42b7f38051dab4c9029494106a03de6a20262233f345f72452eb2a381fce4f7638c405f40a739e896f3cf802dc673d9f916433fbe74fd3c6a6d3e048baacd1d04f8136d3cd7e29de6f48c71d581481175159de4664a9ca27e57b1c777df2775177ecce1449995559e14424f499ed52b7425d08fa446eb2bceebf9b0f09fdb81b988dbafaa48c5300ff635269c73dfe140877bb87a08f33d96e154541c3c2d891fbbac653f4d1e0d1df0f6ac636fa5103c6be6b8eaa0f451ac773f7b705909dd5b5fbbbf69670ebb290c25ba27f4782d9e55aef1ee6b484e561d44a2ad888e3e7c1da078007d1741aa56f8a9125ffe9a3a438f35723508e21e748c1c1e78d4872ca331174377d850a8cd21576506c3094d1278bada0ccdf65a637a7458333e2b5a4a54237bf8d2954b3eeb312272993aa54858153891c3c54a25bdb63538926e60367b905cb6e445628e69c956e557bf75b4b72b82591b1f9c74d9407b304021d50d18ab8e9250487aa4774f2caefc90230473c61466a82afb4155a56af8cdf2cf611613768aa659c967fd462570de2e4dc93376a049a638edca45939fb76fe4f11c660da4874453d8738b07cdbbc11922e9a336f6773e689b712e47a026b1282af5cd982a516771754338a55ffa59459584a706e85562c719abd1e3117391934727f2ea572e0e14ed90c4c4f76b9d2b33fb98af0478a171de33ca753755377dd4d40e54debe52986d2e4e54a5e1aa092223a1e0394a24b6af227b5e762224cbad74dd606039f369aaa98b7bc2162e4bcc3c40905f3f4502fba320cdc6ae4bd940495e60f270068652b93221d94d27de3b7e546ffbb81f8bfb45d83b000b313bdaf4ecbc492d95ab38d5b5dfe0a916f224372047dfde14a5773d47f93c11a6602c7363c47d4e5f4f1ebac1737bded2b7091290c48873b710b7077c88e0e28de3265136704e92e78d3d6a4c1b14d7c8e4fa9ef0dc483129b2bb9a3af2d6e530e887ffdae7d09bccdc7cddb067d68552354e0b7571df157d266d6f0439453b7c12ce7124515fbd9572bd5ec27e66f154e21ab2e06ce35a5b94f631f4e0f124f4bce6e050d7ec1275bf62c4e03dd4ec7563e9cb9ce8f5c3100f1fac99ceadbfcf0558edd30b5747f54dc2d4ec9342fe5fc3114c66bbcba8785976ef4c29045044aa597ca4410d7680ef69e45c332db548762cdf7ed0a5fb62250adec5509abdd444717c9597d7d418c8592c9d3d31d3048e4e53afc6c90713e00eb35a1e132ed4614c886aac40b2735fe4527e6a7bd54c5ba884889c5631139964dc70f6bc0e4d32ed74a2ed8b7cb9299f20d0c36e48a1f397ed8cb8c969b2740206aab75b65099de2033a8f7ea889a46722d957a1d38553fcfbb5ef5e88b6c81dd2831b60a4881196642eebfc856f468e6aa529aa1369b9dc01f7d49b05e6734d02f26225d6d655fe80c084e437ae34088149b29cc23e17968a17474f2a8b0130911c90549604a059a753b74a6d4485425851f9b906f5648a0ff4cb60ba0f1ee994c7fe16e48196fb0426cdd9d9bd65ea4ba44394a18b7895f22ba8b9bee85f132459839855331d5a2b344d8ef893df4349337b3244c6f678235cded1fc9ab7fac47b136f669eb1f31bb40ff0bc70ce999a2f2c24316aa0ad8d18c9db85b57f0315103508b7be8c9506f57b0c6cb76642a6fe4a43d3ec78b131e4aea5ab08b46f676bd0deaf748cf87499c5d66f04eb59b7e69b6062573dd5125b1a6d835df0e1bf1c05694833b1d750b0333dadc7c572ef55feea335b91342738b75fb396265dfae3961c37f6801b02723667829323ed891e0749febbd0e4ef6d08c61dfa59ce43841097ddaac6176171f7d31c0707eee0f8f315b6cb52bbcf1932ccc783b1f4469197353529c3d5be514478f62ccc7dac132eef6bc6ac59db711a18356eb397df2ca578995e6268f6ca17cb3f7e5b23f3523e600db91cd8f7142a109f07a37bed17d12b015a1fd45b2eb426d74a6d9cd767ce11cf39b00e59d78fb87915e7ade5c3237c78ebb41d41ce26305c651f536f484dfa413deb5c03d79b666e81b24517f798f818285de546d9bc82be6361d10ca4adb3e32dc2d0984b62ccfa5f139ea3d5f9ba44d393c64fbe9bccd0d33243501997eaa5a3dc465fed067441372c91e3e6020d37664905d714b43408dd35572ece41eebe3b8e6d97bb3ba029f6952a9840797c438c9dd42f7edbb15fb2517c979b35f42d3197b1cd50c07089d424da720c59979dc851b6daab15b83c0e121ca9603baa9eeef5d5cd82fc4a6f6969cf601e48f5c5c1b53d1a606541b6697744e181c967a6b0f4fc803e09324640aeec3083b6c474ae02c43cbe5e9765244a0bdde6d0e82065d42fc9169f6e25f6340254d57ea2a36624c42517b15965df0033522957c4f7f181a638fa77d528ab8833bce2e0a33d6e980680515693fa3dc50b788339ddbf0e90714225abb92d766e365c201404429510ee94a84c2f3db8e8bdcdd00a3b14e57110ef099a21825fe6476395225fa93238e33bcae9633bb789c3803e29e5e9a0178afa85ba6f3ccd3cacb30f9ce1534b2403075d919ab505505d0123a0dbc38161b03f49dc5f0f40940098ad048e27df08f872009e6e385f57042070f69cf32efc88ef820ac95e526c1cf03f7c73a12efa084803fa7edd8356f2ed775837a196a6a49a2336734c1027bac9022997127cc8666e781115494e3f9fe523a96d9fc759d1dd6f8b161b1718809d651c0601f44b92811d8f858af263e01573c4ea794fb000354f3ff6c81976df6ff7a1f1236a5a786040b5b74373cf7b95fb52ee5c4a478f2aba61f59badb9a22359be3b37dee2ebaff64c83038b0345ae2a31d33e02936ac62450b5352566ce70f14c7316d8f2c2ef0539e68691a3459fb18f739d849e3cbac72157e4fdfca1bb2936321e37956e54b71878d2ae9e494150b3700f262bbc4e6a2a9be9d8a3f422faede5bf6747a16edb16bd324193f42a3087ba21f42558d58874dfa564f14afa327e2e034c34d39da3b6139683b99adb421e3aaf2f8c81c383b4147572adef3356e39bb44f7ad61375d48635ad8ccf560ef646c8ba2e95b72ee8aaf96e18a19c4ebb3735e17e348cf327b7242d23b1e0d91faae507ca09157d67eefef4c1c3fe5e798aac2e8cda609a80e6604f6e6861295f58a21856dab679830bf7f260000f5ccfd79c6f0e744d8941d719d5b99788f441ee910c0ebc023f646289478d681b1cccd54962c6c882777dc6943568c8f7d8b64464988f3bbd66ea52921ec560387054bcd2259b2e8e115b2b95b9f97524f4f6f540beb8e784007035ef30d4fa69556506152014c0648a996854d28661c42d3602db308826aaf8fc990d189907895c8030fc5ad75113cefba0872f388189142867de1ac72f695802f2d0d3206c9a78237185c32293ef552e6929c5cfbf02e432b72d15ffaa1fefd4e3d6d9be256c6a8d1e25c1a2a096459d20fa4072491292dbbe66326", 0x1000}}, 0x1006) 21:36:53 executing program 5: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$IPSET_CMD_CREATE(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000040)={&(0x7f0000002280)={0x58, 0x2, 0x6, 0x3, 0x6, 0x9effffff, {}, [@IPSET_ATTR_REVISION={0x5}, @IPSET_ATTR_SETNAME={0x9, 0x2, 'syz0\x00'}, @IPSET_ATTR_PROTOCOL={0x5, 0x1, 0x6}, @IPSET_ATTR_FAMILY={0x5, 0x5, 0xa}, @IPSET_ATTR_DATA={0xc, 0x7, 0x0, 0x1, [@IPSET_ATTR_TIMEOUT={0x8, 0x6, 0x0}]}, @IPSET_ATTR_TYPENAME={0x13, 0x3, 'hash:net,iface\x00'}]}, 0x58}}, 0x0) [ 2067.742961][T14724] usb 1-1: New USB device found, idVendor=08fd, idProduct=0002, bcdDevice=7a.3a [ 2067.752710][T14724] usb 1-1: New USB device strings: Mfr=92, Product=0, SerialNumber=0 [ 2067.760906][T14724] usb 1-1: Manufacturer: syz 21:36:53 executing program 1: r0 = openat(0xffffffffffffff9c, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x2800004, 0x12, r0, 0x0) preadv(r0, &(0x7f00000001c0)=[{0x0}], 0x1, 0x9, 0x0) r1 = socket(0x18, 0x0, 0x0) getsockopt$SO_BINDTODEVICE(r1, 0x1, 0x3d, &(0x7f0000000000), 0x20a154cc) 21:36:53 executing program 3: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f00000000c0), 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) r2 = ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) ioctl$KVM_SET_USER_MEMORY_REGION(r1, 0x4020ae46, &(0x7f0000000100)={0x0, 0x0, 0x0, 0x2000, &(0x7f0000000000/0x2000)=nil}) ioctl$KVM_SET_REGS(r2, 0x4090ae82, &(0x7f0000000200)={[0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xfb]}) syz_kvm_setup_cpu$x86(0xffffffffffffffff, 0xffffffffffffffff, &(0x7f0000001000/0x18000)=nil, &(0x7f0000000140)=[@text32={0x20, &(0x7f0000000040)="1eb99b0200000f320f201a0f01cb0f01ca65660f388021c4c1a1f22b66baf80cb8a8874187ef66bafc0c66ed8fc810cebc7000900000e3c4c2792174d900", 0x3e}], 0x1, 0x0, 0x0, 0x0) ioctl$KVM_RUN(r2, 0xae80, 0x0) ioctl$KVM_RUN(r2, 0xae80, 0x0) 21:36:53 executing program 5: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$IPSET_CMD_CREATE(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000040)={&(0x7f0000002280)={0x58, 0x2, 0x6, 0x3, 0x6, 0x9effffff, {}, [@IPSET_ATTR_REVISION={0x5}, @IPSET_ATTR_SETNAME={0x9, 0x2, 'syz0\x00'}, @IPSET_ATTR_PROTOCOL={0x5, 0x1, 0x6}, @IPSET_ATTR_FAMILY={0x5, 0x5, 0xa}, @IPSET_ATTR_DATA={0xc, 0x7, 0x0, 0x1, [@IPSET_ATTR_TIMEOUT={0x8, 0x6, 0x0}]}, @IPSET_ATTR_TYPENAME={0x13, 0x3, 'hash:net,iface\x00'}]}, 0x58}}, 0x0) 21:36:53 executing program 1: r0 = openat(0xffffffffffffff9c, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x2800004, 0x12, r0, 0x0) preadv(r0, &(0x7f00000001c0)=[{0x0}], 0x1, 0x9, 0x0) r1 = socket(0x18, 0x0, 0x0) getsockopt$SO_BINDTODEVICE(r1, 0x1, 0x3d, &(0x7f0000000000), 0x20a154cc) [ 2068.118726][ T3513] Bluetooth: hci6: urb ffff888075ec1e40 submission failed (2) [ 2068.148675][T14724] usb 1-1: USB disconnect, device number 73 21:36:54 executing program 3: setresuid(0x0, 0xee00, 0x0) r0 = socket$inet6_udplite(0xa, 0x2, 0x88) ioctl$sock_ipv6_tunnel_SIOCDELTUNNEL(r0, 0x89f2, &(0x7f0000001480)={'ip6gre0\x00', 0x0}) 21:36:54 executing program 2: r0 = syz_open_dev$tty20(0xc, 0x4, 0x0) prctl$PR_SCHED_CORE(0x3e, 0x1, 0x0, 0x2, 0x0) r1 = syz_open_dev$sndmidi(0x0, 0x2, 0x141101) ioctl$KVM_CREATE_VCPU(0xffffffffffffffff, 0xae41, 0x2) r2 = dup(r1) write$6lowpan_enable(r2, 0x0, 0x0) syz_mount_image$vfat(&(0x7f00000002c0), 0x0, 0x0, 0x1, &(0x7f00000004c0)=[{0x0}], 0x0, 0x0) mkdirat(0xffffffffffffffff, 0x0, 0x0) write$UHID_INPUT(r0, &(0x7f00000000c0)={0x8, {"571eb1200051f2c2192e49c72e5729e528beb972ec2419123b539a6c69a21b5fa6abf266df89fd2888a1d4517f44efd1d0c1561b3008154c7d1ee62aa01c21a08a9e057cc1e94ca5aa525c6473fa3a5954c9ab6107e4b315124106ce107f20ca73403c0964a4f588f1b966979ad5f0ad1a9b489e37ad01a3179585c3e07e4333c27667b5016e00d907540f36dcaca50303ff1311adb6eab819f0417fe3de3dc782fc43d2dd10171c340e428ce2c56c4ed1d5a6b76d5b6e4def639ad5a9395be37db8bed701cec1233558cdba6e57f6b3825752ab63ab796b7b3e0df9b0399e9f24c1d5b6c5146d1a43a931db2a35f5b08e045529269ee655bae6beed86a75bd7324c9688501b425a1ddc6e7e6c3eb684fc09ff2fa918fb5175535f0704affc90f27b65eab1bdab2cea1acddca6f98387afa12f40a7037b23cb4d270941fdbfd7d4cb20e0f50af89a7ac44f292697bb3c3ac77cb8c57755644a41d70a463de5b2242b3ce0a9698a1578d050a700c3ddc82fb4a7709e8a274e5e74e279d82675e6faab5f7202c7d12805435fb3bccfcc6d07b12e89f5abf2c64ee9646b14abece06f2c746fde17c597733a1b257976a5a1905574468d9e7d9d80b0178fcb1e684c41887f89c8398a0d4d5b22129b7bac7e81e6bc239a30724c5479239998501849ae9b23383f3f01568e354c5248a02493d7d9a99705448741b58a9da10da528586e0b4d4768851ad90379e1d2cc81255888e343971656706d30bb2c0821c9d2ec051c3edbaa9058c8cf2f1d4fb044e0ecbc7727d921207492fab36d6378bd7c318e9aafaa69fe6987f4335ad63e3f5aeb673390d9804eeb37cd3c332cc8de70125bebe87c09b83a6f939308056270220d71de9d2904c27bc568133db9491c228473211a87fa9cb2b0f033c562bec8f846a851c6907a17134e46ec6dffd0dd6f560b0d2ef07242519c18ab4ed8654e0540aa1b8d7b53912dd7d879082ca5994118e2cc5fd9eb82276f57e748b164bccb82e78a26b637c9dda2a2d31e0290deae6ef4e99bbd929a0a79a064b000463d541c49c2acd1ee2af81a47d0b430318567a68f1bac87a71d60bc50f7167f6679f3f92d14c2baa2d6d3093d9d4e8a0b2764a31046bb4566d779a5c5fe759a60187d544458c8a18623fcd307dc29ce884ee404ae912deded8e3ab73c2b8e98986d6e0b35e4c4d6494f54236eb320e17d9a178c37fdbbe0f4c2a809143cbba06a7e626c1c5b1b91940409b0c2f29a0cb55f001488d7c84ee7b0ee66e036efe3b3cda3d226a361c28a75c07efe173d07607d9fcc12c831bc9a73b18e13961594978b1aaa1e88c6f468c8a69bdef0b694154a01296be7fb37e5dea6a5a8292008ef826170cc893cfd6313d186e3396021d8daa3c62d46fc287e09f1e3e60287dad25c4cb620237291698461596205cfc4ab321ec349be318ae8b4c16b5462f62da6d727f8fc0461392625bae16c6787e29ecfc63582ac9e8bf42de420655fafe905b7a5e58acc6a5576d823ce1fe8970deb79622cef679007e1887a8a09532f726eace2bcde5728323175d0f042dacc9c3ec1c5dd16832b2c5b6429589c5085ed62a3f39f707b94d1376430d9c44144dd6a3c6b68895a37c522edccd9e0df424b51954bbd8bb0b0ea6e5b43e9194d9967a130fe326dd54dcbc1f3fdb4b158ee7c46ba680600a2a1b20a85ab7fca47c2dd72079d75960704cfaca237392ee6f61804375873070810fff960a30fb9e5e26a241207d591e710379a16c3c1baa99c1fead0214b17f4d67740925737cf540257b741b358c44e13e5d3ba207a04b0dd3513b173c9dfd63a851b158c99e45d8f9bc7e7ef0ac45bdd4cbc4d9411c8b519eb9f6a51adbfa863d654d2cf87f4836240c8b4259acf268afcf08151c432cfe8de4b3f95acee9c397f31daa2c15bbd8361f8d65372d78adfcf50923121e8595a331631bbf2f2d93ece032e6d66f6eada9114c64703e52bc0fba9b00af5d73adba4f5e791afc051fcbee91ec1d3b509adca9a3699f94eb99d9e79a9137f14a8e632d4103b341731ac961a16166c68d2396b165e47a003bc829574b38fbfbb86e72d5cd574b9d1b19999d3b653fa2cc9f3ab78054ce14ad057f7b0e8c78345a8c99637c8e42d78f3aa9bac5a94c1d9f7b0fc9c899d331349b070ebf1206bcde5e89ae2d2ecd2e08a427bae7a55fe6abb45f28015dbdeb0da0d1f63c2bb34c205657e1e2958bc93015941608ed4774b29d7f1c642307ef3bcd1e1df46b5b68a7b5d349c146b45bd42b7f38051dab4c9029494106a03de6a20262233f345f72452eb2a381fce4f7638c405f40a739e896f3cf802dc673d9f916433fbe74fd3c6a6d3e048baacd1d04f8136d3cd7e29de6f48c71d581481175159de4664a9ca27e57b1c777df2775177ecce1449995559e14424f499ed52b7425d08fa446eb2bceebf9b0f09fdb81b988dbafaa48c5300ff635269c73dfe140877bb87a08f33d96e154541c3c2d891fbbac653f4d1e0d1df0f6ac636fa5103c6be6b8eaa0f451ac773f7b705909dd5b5fbbbf69670ebb290c25ba27f4782d9e55aef1ee6b484e561d44a2ad888e3e7c1da078007d1741aa56f8a9125ffe9a3a438f35723508e21e748c1c1e78d4872ca331174377d850a8cd21576506c3094d1278bada0ccdf65a637a7458333e2b5a4a54237bf8d2954b3eeb312272993aa54858153891c3c54a25bdb63538926e60367b905cb6e445628e69c956e557bf75b4b72b82591b1f9c74d9407b304021d50d18ab8e9250487aa4774f2caefc90230473c61466a82afb4155a56af8cdf2cf611613768aa659c967fd462570de2e4dc93376a049a638edca45939fb76fe4f11c660da4874453d8738b07cdbbc11922e9a336f6773e689b712e47a026b1282af5cd982a516771754338a55ffa59459584a706e85562c719abd1e3117391934727f2ea572e0e14ed90c4c4f76b9d2b33fb98af0478a171de33ca753755377dd4d40e54debe52986d2e4e54a5e1aa092223a1e0394a24b6af227b5e762224cbad74dd606039f369aaa98b7bc2162e4bcc3c40905f3f4502fba320cdc6ae4bd940495e60f270068652b93221d94d27de3b7e546ffbb81f8bfb45d83b000b313bdaf4ecbc492d95ab38d5b5dfe0a916f224372047dfde14a5773d47f93c11a6602c7363c47d4e5f4f1ebac1737bded2b7091290c48873b710b7077c88e0e28de3265136704e92e78d3d6a4c1b14d7c8e4fa9ef0dc483129b2bb9a3af2d6e530e887ffdae7d09bccdc7cddb067d68552354e0b7571df157d266d6f0439453b7c12ce7124515fbd9572bd5ec27e66f154e21ab2e06ce35a5b94f631f4e0f124f4bce6e050d7ec1275bf62c4e03dd4ec7563e9cb9ce8f5c3100f1fac99ceadbfcf0558edd30b5747f54dc2d4ec9342fe5fc3114c66bbcba8785976ef4c29045044aa597ca4410d7680ef69e45c332db548762cdf7ed0a5fb62250adec5509abdd444717c9597d7d418c8592c9d3d31d3048e4e53afc6c90713e00eb35a1e132ed4614c886aac40b2735fe4527e6a7bd54c5ba884889c5631139964dc70f6bc0e4d32ed74a2ed8b7cb9299f20d0c36e48a1f397ed8cb8c969b2740206aab75b65099de2033a8f7ea889a46722d957a1d38553fcfbb5ef5e88b6c81dd2831b60a4881196642eebfc856f468e6aa529aa1369b9dc01f7d49b05e6734d02f26225d6d655fe80c084e437ae34088149b29cc23e17968a17474f2a8b0130911c90549604a059a753b74a6d4485425851f9b906f5648a0ff4cb60ba0f1ee994c7fe16e48196fb0426cdd9d9bd65ea4ba44394a18b7895f22ba8b9bee85f132459839855331d5a2b344d8ef893df4349337b3244c6f678235cded1fc9ab7fac47b136f669eb1f31bb40ff0bc70ce999a2f2c24316aa0ad8d18c9db85b57f0315103508b7be8c9506f57b0c6cb76642a6fe4a43d3ec78b131e4aea5ab08b46f676bd0deaf748cf87499c5d66f04eb59b7e69b6062573dd5125b1a6d835df0e1bf1c05694833b1d750b0333dadc7c572ef55feea335b91342738b75fb396265dfae3961c37f6801b02723667829323ed891e0749febbd0e4ef6d08c61dfa59ce43841097ddaac6176171f7d31c0707eee0f8f315b6cb52bbcf1932ccc783b1f4469197353529c3d5be514478f62ccc7dac132eef6bc6ac59db711a18356eb397df2ca578995e6268f6ca17cb3f7e5b23f3523e600db91cd8f7142a109f07a37bed17d12b015a1fd45b2eb426d74a6d9cd767ce11cf39b00e59d78fb87915e7ade5c3237c78ebb41d41ce26305c651f536f484dfa413deb5c03d79b666e81b24517f798f818285de546d9bc82be6361d10ca4adb3e32dc2d0984b62ccfa5f139ea3d5f9ba44d393c64fbe9bccd0d33243501997eaa5a3dc465fed067441372c91e3e6020d37664905d714b43408dd35572ece41eebe3b8e6d97bb3ba029f6952a9840797c438c9dd42f7edbb15fb2517c979b35f42d3197b1cd50c07089d424da720c59979dc851b6daab15b83c0e121ca9603baa9eeef5d5cd82fc4a6f6969cf601e48f5c5c1b53d1a606541b6697744e181c967a6b0f4fc803e09324640aeec3083b6c474ae02c43cbe5e9765244a0bdde6d0e82065d42fc9169f6e25f6340254d57ea2a36624c42517b15965df0033522957c4f7f181a638fa77d528ab8833bce2e0a33d6e980680515693fa3dc50b788339ddbf0e90714225abb92d766e365c201404429510ee94a84c2f3db8e8bdcdd00a3b14e57110ef099a21825fe6476395225fa93238e33bcae9633bb789c3803e29e5e9a0178afa85ba6f3ccd3cacb30f9ce1534b2403075d919ab505505d0123a0dbc38161b03f49dc5f0f40940098ad048e27df08f872009e6e385f57042070f69cf32efc88ef820ac95e526c1cf03f7c73a12efa084803fa7edd8356f2ed775837a196a6a49a2336734c1027bac9022997127cc8666e781115494e3f9fe523a96d9fc759d1dd6f8b161b1718809d651c0601f44b92811d8f858af263e01573c4ea794fb000354f3ff6c81976df6ff7a1f1236a5a786040b5b74373cf7b95fb52ee5c4a478f2aba61f59badb9a22359be3b37dee2ebaff64c83038b0345ae2a31d33e02936ac62450b5352566ce70f14c7316d8f2c2ef0539e68691a3459fb18f739d849e3cbac72157e4fdfca1bb2936321e37956e54b71878d2ae9e494150b3700f262bbc4e6a2a9be9d8a3f422faede5bf6747a16edb16bd324193f42a3087ba21f42558d58874dfa564f14afa327e2e034c34d39da3b6139683b99adb421e3aaf2f8c81c383b4147572adef3356e39bb44f7ad61375d48635ad8ccf560ef646c8ba2e95b72ee8aaf96e18a19c4ebb3735e17e348cf327b7242d23b1e0d91faae507ca09157d67eefef4c1c3fe5e798aac2e8cda609a80e6604f6e6861295f58a21856dab679830bf7f260000f5ccfd79c6f0e744d8941d719d5b99788f441ee910c0ebc023f646289478d681b1cccd54962c6c882777dc6943568c8f7d8b64464988f3bbd66ea52921ec560387054bcd2259b2e8e115b2b95b9f97524f4f6f540beb8e784007035ef30d4fa69556506152014c0648a996854d28661c42d3602db308826aaf8fc990d189907895c8030fc5ad75113cefba0872f388189142867de1ac72f695802f2d0d3206c9a78237185c32293ef552e6929c5cfbf02e432b72d15ffaa1fefd4e3d6d9be256c6a8d1e25c1a2a096459d20fa4072491292dbbe66326", 0x1000}}, 0x1006) 21:36:54 executing program 1: r0 = openat(0xffffffffffffff9c, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x2800004, 0x12, r0, 0x0) preadv(r0, &(0x7f00000001c0)=[{0x0}], 0x1, 0x9, 0x0) r1 = socket(0x18, 0x0, 0x0) getsockopt$SO_BINDTODEVICE(r1, 0x1, 0x3d, &(0x7f0000000000), 0x20a154cc) 21:36:54 executing program 4: r0 = seccomp$SECCOMP_SET_MODE_FILTER_LISTENER(0x1, 0x8, &(0x7f0000000180)={0x1, &(0x7f0000000000)=[{0x6, 0x0, 0x0, 0x7fc00000}]}) ioctl$SECCOMP_IOCTL_NOTIF_RECV(0xffffffffffffffff, 0xc0502100, 0x0) socket$nl_generic(0x10, 0x3, 0x10) ioctl$SECCOMP_IOCTL_NOTIF_ADDFD(0xffffffffffffffff, 0x40182103, 0x0) r1 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f00000000c0)='cgroup.controllers\x00', 0x275a, 0x0) write$binfmt_script(r1, &(0x7f0000000040)=ANY=[], 0x6db6e559) mmap(&(0x7f0000000000/0x3000)=nil, 0x3000, 0x1, 0x10012, r1, 0x0) ioctl$SECCOMP_IOCTL_NOTIF_RECV(r0, 0xc0502100, &(0x7f0000000200)) 21:36:54 executing program 0: syz_usb_connect(0x0, 0x24, &(0x7f0000000040)=ANY=[@ANYBLOB="120100000010d308fd0802003a7a5c0000010902120001040400000904"], 0x0) 21:36:54 executing program 5: close_range(0xffffffffffffffff, 0xffffffffffffffff, 0x2) r0 = socket$inet_smc(0x2b, 0x1, 0x0) ioctl$sock_TIOCOUTQ(r0, 0x8902, &(0x7f0000000040)) 21:36:54 executing program 3: setresuid(0x0, 0xee00, 0x0) r0 = socket$inet6_udplite(0xa, 0x2, 0x88) ioctl$sock_ipv6_tunnel_SIOCDELTUNNEL(r0, 0x89f2, &(0x7f0000001480)={'ip6gre0\x00', 0x0}) 21:36:54 executing program 1: mkdir(&(0x7f0000000140)='./file0\x00', 0x0) mount(0x0, &(0x7f0000000180)='./file0\x00', &(0x7f0000000100)='ramfs\x00', 0x0, 0x0) chdir(&(0x7f0000000280)='./file0\x00') mkdir(&(0x7f0000000000)='./file0\x00', 0x0) mount(0x0, &(0x7f0000000080)='./file0\x00', &(0x7f0000000300)='sysfs\x00', 0x0, 0x0) mount$overlay(0x0, &(0x7f0000000200)='./file0\x00', &(0x7f00000000c0), 0x0, &(0x7f0000000240)=ANY=[@ANYBLOB='lowerdir=.:file0']) r0 = socket$inet_udplite(0x2, 0x2, 0x88) getsockopt$sock_cred(r0, 0x1, 0x11, &(0x7f0000000240)={0x0, 0x0}, &(0x7f0000000280)=0x5) setuid(r1) r2 = open(&(0x7f00000002c0)='./file0\x00', 0x0, 0x0) statx(r2, &(0x7f0000000440)='./file0\x00', 0x0, 0x0, &(0x7f0000000480)) 21:36:54 executing program 2: r0 = syz_open_dev$tty20(0xc, 0x4, 0x0) prctl$PR_SCHED_CORE(0x3e, 0x1, 0x0, 0x2, 0x0) r1 = syz_open_dev$sndmidi(0x0, 0x2, 0x141101) ioctl$KVM_CREATE_VCPU(0xffffffffffffffff, 0xae41, 0x2) r2 = dup(r1) write$6lowpan_enable(r2, 0x0, 0x0) syz_mount_image$vfat(&(0x7f00000002c0), 0x0, 0x0, 0x1, &(0x7f00000004c0)=[{0x0}], 0x0, 0x0) mkdirat(0xffffffffffffffff, 0x0, 0x0) write$UHID_INPUT(r0, &(0x7f00000000c0)={0x8, {"571eb1200051f2c2192e49c72e5729e528beb972ec2419123b539a6c69a21b5fa6abf266df89fd2888a1d4517f44efd1d0c1561b3008154c7d1ee62aa01c21a08a9e057cc1e94ca5aa525c6473fa3a5954c9ab6107e4b315124106ce107f20ca73403c0964a4f588f1b966979ad5f0ad1a9b489e37ad01a3179585c3e07e4333c27667b5016e00d907540f36dcaca50303ff1311adb6eab819f0417fe3de3dc782fc43d2dd10171c340e428ce2c56c4ed1d5a6b76d5b6e4def639ad5a9395be37db8bed701cec1233558cdba6e57f6b3825752ab63ab796b7b3e0df9b0399e9f24c1d5b6c5146d1a43a931db2a35f5b08e045529269ee655bae6beed86a75bd7324c9688501b425a1ddc6e7e6c3eb684fc09ff2fa918fb5175535f0704affc90f27b65eab1bdab2cea1acddca6f98387afa12f40a7037b23cb4d270941fdbfd7d4cb20e0f50af89a7ac44f292697bb3c3ac77cb8c57755644a41d70a463de5b2242b3ce0a9698a1578d050a700c3ddc82fb4a7709e8a274e5e74e279d82675e6faab5f7202c7d12805435fb3bccfcc6d07b12e89f5abf2c64ee9646b14abece06f2c746fde17c597733a1b257976a5a1905574468d9e7d9d80b0178fcb1e684c41887f89c8398a0d4d5b22129b7bac7e81e6bc239a30724c5479239998501849ae9b23383f3f01568e354c5248a02493d7d9a99705448741b58a9da10da528586e0b4d4768851ad90379e1d2cc81255888e343971656706d30bb2c0821c9d2ec051c3edbaa9058c8cf2f1d4fb044e0ecbc7727d921207492fab36d6378bd7c318e9aafaa69fe6987f4335ad63e3f5aeb673390d9804eeb37cd3c332cc8de70125bebe87c09b83a6f939308056270220d71de9d2904c27bc568133db9491c228473211a87fa9cb2b0f033c562bec8f846a851c6907a17134e46ec6dffd0dd6f560b0d2ef07242519c18ab4ed8654e0540aa1b8d7b53912dd7d879082ca5994118e2cc5fd9eb82276f57e748b164bccb82e78a26b637c9dda2a2d31e0290deae6ef4e99bbd929a0a79a064b000463d541c49c2acd1ee2af81a47d0b430318567a68f1bac87a71d60bc50f7167f6679f3f92d14c2baa2d6d3093d9d4e8a0b2764a31046bb4566d779a5c5fe759a60187d544458c8a18623fcd307dc29ce884ee404ae912deded8e3ab73c2b8e98986d6e0b35e4c4d6494f54236eb320e17d9a178c37fdbbe0f4c2a809143cbba06a7e626c1c5b1b91940409b0c2f29a0cb55f001488d7c84ee7b0ee66e036efe3b3cda3d226a361c28a75c07efe173d07607d9fcc12c831bc9a73b18e13961594978b1aaa1e88c6f468c8a69bdef0b694154a01296be7fb37e5dea6a5a8292008ef826170cc893cfd6313d186e3396021d8daa3c62d46fc287e09f1e3e60287dad25c4cb620237291698461596205cfc4ab321ec349be318ae8b4c16b5462f62da6d727f8fc0461392625bae16c6787e29ecfc63582ac9e8bf42de420655fafe905b7a5e58acc6a5576d823ce1fe8970deb79622cef679007e1887a8a09532f726eace2bcde5728323175d0f042dacc9c3ec1c5dd16832b2c5b6429589c5085ed62a3f39f707b94d1376430d9c44144dd6a3c6b68895a37c522edccd9e0df424b51954bbd8bb0b0ea6e5b43e9194d9967a130fe326dd54dcbc1f3fdb4b158ee7c46ba680600a2a1b20a85ab7fca47c2dd72079d75960704cfaca237392ee6f61804375873070810fff960a30fb9e5e26a241207d591e710379a16c3c1baa99c1fead0214b17f4d67740925737cf540257b741b358c44e13e5d3ba207a04b0dd3513b173c9dfd63a851b158c99e45d8f9bc7e7ef0ac45bdd4cbc4d9411c8b519eb9f6a51adbfa863d654d2cf87f4836240c8b4259acf268afcf08151c432cfe8de4b3f95acee9c397f31daa2c15bbd8361f8d65372d78adfcf50923121e8595a331631bbf2f2d93ece032e6d66f6eada9114c64703e52bc0fba9b00af5d73adba4f5e791afc051fcbee91ec1d3b509adca9a3699f94eb99d9e79a9137f14a8e632d4103b341731ac961a16166c68d2396b165e47a003bc829574b38fbfbb86e72d5cd574b9d1b19999d3b653fa2cc9f3ab78054ce14ad057f7b0e8c78345a8c99637c8e42d78f3aa9bac5a94c1d9f7b0fc9c899d331349b070ebf1206bcde5e89ae2d2ecd2e08a427bae7a55fe6abb45f28015dbdeb0da0d1f63c2bb34c205657e1e2958bc93015941608ed4774b29d7f1c642307ef3bcd1e1df46b5b68a7b5d349c146b45bd42b7f38051dab4c9029494106a03de6a20262233f345f72452eb2a381fce4f7638c405f40a739e896f3cf802dc673d9f916433fbe74fd3c6a6d3e048baacd1d04f8136d3cd7e29de6f48c71d581481175159de4664a9ca27e57b1c777df2775177ecce1449995559e14424f499ed52b7425d08fa446eb2bceebf9b0f09fdb81b988dbafaa48c5300ff635269c73dfe140877bb87a08f33d96e154541c3c2d891fbbac653f4d1e0d1df0f6ac636fa5103c6be6b8eaa0f451ac773f7b705909dd5b5fbbbf69670ebb290c25ba27f4782d9e55aef1ee6b484e561d44a2ad888e3e7c1da078007d1741aa56f8a9125ffe9a3a438f35723508e21e748c1c1e78d4872ca331174377d850a8cd21576506c3094d1278bada0ccdf65a637a7458333e2b5a4a54237bf8d2954b3eeb312272993aa54858153891c3c54a25bdb63538926e60367b905cb6e445628e69c956e557bf75b4b72b82591b1f9c74d9407b304021d50d18ab8e9250487aa4774f2caefc90230473c61466a82afb4155a56af8cdf2cf611613768aa659c967fd462570de2e4dc93376a049a638edca45939fb76fe4f11c660da4874453d8738b07cdbbc11922e9a336f6773e689b712e47a026b1282af5cd982a516771754338a55ffa59459584a706e85562c719abd1e3117391934727f2ea572e0e14ed90c4c4f76b9d2b33fb98af0478a171de33ca753755377dd4d40e54debe52986d2e4e54a5e1aa092223a1e0394a24b6af227b5e762224cbad74dd606039f369aaa98b7bc2162e4bcc3c40905f3f4502fba320cdc6ae4bd940495e60f270068652b93221d94d27de3b7e546ffbb81f8bfb45d83b000b313bdaf4ecbc492d95ab38d5b5dfe0a916f224372047dfde14a5773d47f93c11a6602c7363c47d4e5f4f1ebac1737bded2b7091290c48873b710b7077c88e0e28de3265136704e92e78d3d6a4c1b14d7c8e4fa9ef0dc483129b2bb9a3af2d6e530e887ffdae7d09bccdc7cddb067d68552354e0b7571df157d266d6f0439453b7c12ce7124515fbd9572bd5ec27e66f154e21ab2e06ce35a5b94f631f4e0f124f4bce6e050d7ec1275bf62c4e03dd4ec7563e9cb9ce8f5c3100f1fac99ceadbfcf0558edd30b5747f54dc2d4ec9342fe5fc3114c66bbcba8785976ef4c29045044aa597ca4410d7680ef69e45c332db548762cdf7ed0a5fb62250adec5509abdd444717c9597d7d418c8592c9d3d31d3048e4e53afc6c90713e00eb35a1e132ed4614c886aac40b2735fe4527e6a7bd54c5ba884889c5631139964dc70f6bc0e4d32ed74a2ed8b7cb9299f20d0c36e48a1f397ed8cb8c969b2740206aab75b65099de2033a8f7ea889a46722d957a1d38553fcfbb5ef5e88b6c81dd2831b60a4881196642eebfc856f468e6aa529aa1369b9dc01f7d49b05e6734d02f26225d6d655fe80c084e437ae34088149b29cc23e17968a17474f2a8b0130911c90549604a059a753b74a6d4485425851f9b906f5648a0ff4cb60ba0f1ee994c7fe16e48196fb0426cdd9d9bd65ea4ba44394a18b7895f22ba8b9bee85f132459839855331d5a2b344d8ef893df4349337b3244c6f678235cded1fc9ab7fac47b136f669eb1f31bb40ff0bc70ce999a2f2c24316aa0ad8d18c9db85b57f0315103508b7be8c9506f57b0c6cb76642a6fe4a43d3ec78b131e4aea5ab08b46f676bd0deaf748cf87499c5d66f04eb59b7e69b6062573dd5125b1a6d835df0e1bf1c05694833b1d750b0333dadc7c572ef55feea335b91342738b75fb396265dfae3961c37f6801b02723667829323ed891e0749febbd0e4ef6d08c61dfa59ce43841097ddaac6176171f7d31c0707eee0f8f315b6cb52bbcf1932ccc783b1f4469197353529c3d5be514478f62ccc7dac132eef6bc6ac59db711a18356eb397df2ca578995e6268f6ca17cb3f7e5b23f3523e600db91cd8f7142a109f07a37bed17d12b015a1fd45b2eb426d74a6d9cd767ce11cf39b00e59d78fb87915e7ade5c3237c78ebb41d41ce26305c651f536f484dfa413deb5c03d79b666e81b24517f798f818285de546d9bc82be6361d10ca4adb3e32dc2d0984b62ccfa5f139ea3d5f9ba44d393c64fbe9bccd0d33243501997eaa5a3dc465fed067441372c91e3e6020d37664905d714b43408dd35572ece41eebe3b8e6d97bb3ba029f6952a9840797c438c9dd42f7edbb15fb2517c979b35f42d3197b1cd50c07089d424da720c59979dc851b6daab15b83c0e121ca9603baa9eeef5d5cd82fc4a6f6969cf601e48f5c5c1b53d1a606541b6697744e181c967a6b0f4fc803e09324640aeec3083b6c474ae02c43cbe5e9765244a0bdde6d0e82065d42fc9169f6e25f6340254d57ea2a36624c42517b15965df0033522957c4f7f181a638fa77d528ab8833bce2e0a33d6e980680515693fa3dc50b788339ddbf0e90714225abb92d766e365c201404429510ee94a84c2f3db8e8bdcdd00a3b14e57110ef099a21825fe6476395225fa93238e33bcae9633bb789c3803e29e5e9a0178afa85ba6f3ccd3cacb30f9ce1534b2403075d919ab505505d0123a0dbc38161b03f49dc5f0f40940098ad048e27df08f872009e6e385f57042070f69cf32efc88ef820ac95e526c1cf03f7c73a12efa084803fa7edd8356f2ed775837a196a6a49a2336734c1027bac9022997127cc8666e781115494e3f9fe523a96d9fc759d1dd6f8b161b1718809d651c0601f44b92811d8f858af263e01573c4ea794fb000354f3ff6c81976df6ff7a1f1236a5a786040b5b74373cf7b95fb52ee5c4a478f2aba61f59badb9a22359be3b37dee2ebaff64c83038b0345ae2a31d33e02936ac62450b5352566ce70f14c7316d8f2c2ef0539e68691a3459fb18f739d849e3cbac72157e4fdfca1bb2936321e37956e54b71878d2ae9e494150b3700f262bbc4e6a2a9be9d8a3f422faede5bf6747a16edb16bd324193f42a3087ba21f42558d58874dfa564f14afa327e2e034c34d39da3b6139683b99adb421e3aaf2f8c81c383b4147572adef3356e39bb44f7ad61375d48635ad8ccf560ef646c8ba2e95b72ee8aaf96e18a19c4ebb3735e17e348cf327b7242d23b1e0d91faae507ca09157d67eefef4c1c3fe5e798aac2e8cda609a80e6604f6e6861295f58a21856dab679830bf7f260000f5ccfd79c6f0e744d8941d719d5b99788f441ee910c0ebc023f646289478d681b1cccd54962c6c882777dc6943568c8f7d8b64464988f3bbd66ea52921ec560387054bcd2259b2e8e115b2b95b9f97524f4f6f540beb8e784007035ef30d4fa69556506152014c0648a996854d28661c42d3602db308826aaf8fc990d189907895c8030fc5ad75113cefba0872f388189142867de1ac72f695802f2d0d3206c9a78237185c32293ef552e6929c5cfbf02e432b72d15ffaa1fefd4e3d6d9be256c6a8d1e25c1a2a096459d20fa4072491292dbbe66326", 0x1000}}, 0x1006) 21:36:54 executing program 5: close_range(0xffffffffffffffff, 0xffffffffffffffff, 0x2) r0 = socket$inet_smc(0x2b, 0x1, 0x0) ioctl$sock_TIOCOUTQ(r0, 0x8902, &(0x7f0000000040)) 21:36:54 executing program 3: setresuid(0x0, 0xee00, 0x0) r0 = socket$inet6_udplite(0xa, 0x2, 0x88) ioctl$sock_ipv6_tunnel_SIOCDELTUNNEL(r0, 0x89f2, &(0x7f0000001480)={'ip6gre0\x00', 0x0}) 21:36:55 executing program 1: mkdir(&(0x7f0000000140)='./file0\x00', 0x0) mount(0x0, &(0x7f0000000180)='./file0\x00', &(0x7f0000000100)='ramfs\x00', 0x0, 0x0) chdir(&(0x7f0000000280)='./file0\x00') mkdir(&(0x7f0000000000)='./file0\x00', 0x0) mount(0x0, &(0x7f0000000080)='./file0\x00', &(0x7f0000000300)='sysfs\x00', 0x0, 0x0) mount$overlay(0x0, &(0x7f0000000200)='./file0\x00', &(0x7f00000000c0), 0x0, &(0x7f0000000240)=ANY=[@ANYBLOB='lowerdir=.:file0']) r0 = socket$inet_udplite(0x2, 0x2, 0x88) getsockopt$sock_cred(r0, 0x1, 0x11, &(0x7f0000000240)={0x0, 0x0}, &(0x7f0000000280)=0x5) setuid(r1) r2 = open(&(0x7f00000002c0)='./file0\x00', 0x0, 0x0) statx(r2, &(0x7f0000000440)='./file0\x00', 0x0, 0x0, &(0x7f0000000480)) [ 2069.293918][T14724] usb 1-1: new high-speed USB device number 74 using dummy_hcd 21:36:55 executing program 5: close_range(0xffffffffffffffff, 0xffffffffffffffff, 0x2) r0 = socket$inet_smc(0x2b, 0x1, 0x0) ioctl$sock_TIOCOUTQ(r0, 0x8902, &(0x7f0000000040)) 21:36:55 executing program 3: setresuid(0x0, 0xee00, 0x0) r0 = socket$inet6_udplite(0xa, 0x2, 0x88) ioctl$sock_ipv6_tunnel_SIOCDELTUNNEL(r0, 0x89f2, &(0x7f0000001480)={'ip6gre0\x00', 0x0}) [ 2069.533261][T14724] usb 1-1: Using ep0 maxpacket: 8 21:36:55 executing program 3: mkdir(&(0x7f0000000140)='./file0\x00', 0x0) mount(0x0, &(0x7f0000000180)='./file0\x00', &(0x7f0000000100)='ramfs\x00', 0x0, 0x0) chdir(&(0x7f0000000280)='./file0\x00') mkdir(&(0x7f0000000000)='./file0\x00', 0x0) mount(0x0, &(0x7f0000000080)='./file0\x00', &(0x7f0000000300)='sysfs\x00', 0x0, 0x0) mount$overlay(0x0, &(0x7f0000000200)='./file0\x00', &(0x7f00000000c0), 0x0, &(0x7f0000000240)=ANY=[@ANYBLOB='lowerdir=.:file0']) r0 = socket$inet_udplite(0x2, 0x2, 0x88) getsockopt$sock_cred(r0, 0x1, 0x11, &(0x7f0000000240)={0x0, 0x0}, &(0x7f0000000280)=0x5) setuid(r1) r2 = open(&(0x7f00000002c0)='./file0\x00', 0x0, 0x0) statx(r2, &(0x7f0000000440)='./file0\x00', 0x0, 0x0, &(0x7f0000000480)) [ 2069.732702][T14724] usb 1-1: New USB device found, idVendor=08fd, idProduct=0002, bcdDevice=7a.3a [ 2069.741920][T14724] usb 1-1: New USB device strings: Mfr=92, Product=0, SerialNumber=0 [ 2069.750293][T14724] usb 1-1: Manufacturer: syz [ 2070.168181][ T3513] Bluetooth: hci6: urb ffff8880835320c0 submission failed (2) [ 2070.192251][T14724] usb 1-1: USB disconnect, device number 74 21:36:56 executing program 1: mkdir(&(0x7f0000000140)='./file0\x00', 0x0) mount(0x0, &(0x7f0000000180)='./file0\x00', &(0x7f0000000100)='ramfs\x00', 0x0, 0x0) chdir(&(0x7f0000000280)='./file0\x00') mkdir(&(0x7f0000000000)='./file0\x00', 0x0) mount(0x0, &(0x7f0000000080)='./file0\x00', &(0x7f0000000300)='sysfs\x00', 0x0, 0x0) mount$overlay(0x0, &(0x7f0000000200)='./file0\x00', &(0x7f00000000c0), 0x0, &(0x7f0000000240)=ANY=[@ANYBLOB='lowerdir=.:file0']) r0 = socket$inet_udplite(0x2, 0x2, 0x88) getsockopt$sock_cred(r0, 0x1, 0x11, &(0x7f0000000240)={0x0, 0x0}, &(0x7f0000000280)=0x5) setuid(r1) r2 = open(&(0x7f00000002c0)='./file0\x00', 0x0, 0x0) statx(r2, &(0x7f0000000440)='./file0\x00', 0x0, 0x0, &(0x7f0000000480)) 21:36:56 executing program 0: syz_usb_connect(0x0, 0x24, &(0x7f0000000040)=ANY=[@ANYBLOB="120100000010d308fd0802003a7a5c0000010902120001040400000904"], 0x0) 21:36:56 executing program 5: close_range(0xffffffffffffffff, 0xffffffffffffffff, 0x2) r0 = socket$inet_smc(0x2b, 0x1, 0x0) ioctl$sock_TIOCOUTQ(r0, 0x8902, &(0x7f0000000040)) 21:36:56 executing program 3: mkdir(&(0x7f0000000140)='./file0\x00', 0x0) mount(0x0, &(0x7f0000000180)='./file0\x00', &(0x7f0000000100)='ramfs\x00', 0x0, 0x0) chdir(&(0x7f0000000280)='./file0\x00') mkdir(&(0x7f0000000000)='./file0\x00', 0x0) mount(0x0, &(0x7f0000000080)='./file0\x00', &(0x7f0000000300)='sysfs\x00', 0x0, 0x0) mount$overlay(0x0, &(0x7f0000000200)='./file0\x00', &(0x7f00000000c0), 0x0, &(0x7f0000000240)=ANY=[@ANYBLOB='lowerdir=.:file0']) r0 = socket$inet_udplite(0x2, 0x2, 0x88) getsockopt$sock_cred(r0, 0x1, 0x11, &(0x7f0000000240)={0x0, 0x0}, &(0x7f0000000280)=0x5) setuid(r1) r2 = open(&(0x7f00000002c0)='./file0\x00', 0x0, 0x0) statx(r2, &(0x7f0000000440)='./file0\x00', 0x0, 0x0, &(0x7f0000000480)) 21:36:56 executing program 2: r0 = syz_open_dev$sndctrl(&(0x7f0000000040), 0x0, 0x0) ioctl$SNDRV_CTL_IOCTL_ELEM_ADD(r0, 0x40405515, &(0x7f0000000400)={{0x1009, 0x0, 0x0, 0x0, 'syz1\x00'}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 'syz0\x00', 0x0}) 21:36:56 executing program 4: r0 = syz_open_dev$usbfs(&(0x7f0000000040), 0x200, 0xb102) ioctl$USBDEVFS_FREE_STREAMS(r0, 0x8008551d, &(0x7f0000000000)={0x0, 0x1, [{0x8}]}) 21:36:56 executing program 1: mkdir(&(0x7f0000000140)='./file0\x00', 0x0) mount(0x0, &(0x7f0000000180)='./file0\x00', &(0x7f0000000100)='ramfs\x00', 0x0, 0x0) chdir(&(0x7f0000000280)='./file0\x00') mkdir(&(0x7f0000000000)='./file0\x00', 0x0) mount(0x0, &(0x7f0000000080)='./file0\x00', &(0x7f0000000300)='sysfs\x00', 0x0, 0x0) mount$overlay(0x0, &(0x7f0000000200)='./file0\x00', &(0x7f00000000c0), 0x0, &(0x7f0000000240)=ANY=[@ANYBLOB='lowerdir=.:file0']) r0 = socket$inet_udplite(0x2, 0x2, 0x88) getsockopt$sock_cred(r0, 0x1, 0x11, &(0x7f0000000240)={0x0, 0x0}, &(0x7f0000000280)=0x5) setuid(r1) r2 = open(&(0x7f00000002c0)='./file0\x00', 0x0, 0x0) statx(r2, &(0x7f0000000440)='./file0\x00', 0x0, 0x0, &(0x7f0000000480)) 21:36:56 executing program 4: r0 = syz_open_dev$usbfs(&(0x7f0000000040), 0x200, 0xb102) ioctl$USBDEVFS_FREE_STREAMS(r0, 0x8008551d, &(0x7f0000000000)={0x0, 0x1, [{0x8}]}) 21:36:56 executing program 2: r0 = syz_open_dev$sndctrl(&(0x7f0000000040), 0x0, 0x0) ioctl$SNDRV_CTL_IOCTL_ELEM_ADD(r0, 0x40405515, &(0x7f0000000400)={{0x1009, 0x0, 0x0, 0x0, 'syz1\x00'}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 'syz0\x00', 0x0}) 21:36:56 executing program 5: bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000240)={0xa, 0x4, &(0x7f0000000040)=@framed={{}, [@call={0x85, 0x0, 0x0, 0x8}]}, &(0x7f00000002c0)='syzkaller\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) 21:36:56 executing program 3: mkdir(&(0x7f0000000140)='./file0\x00', 0x0) mount(0x0, &(0x7f0000000180)='./file0\x00', &(0x7f0000000100)='ramfs\x00', 0x0, 0x0) chdir(&(0x7f0000000280)='./file0\x00') mkdir(&(0x7f0000000000)='./file0\x00', 0x0) mount(0x0, &(0x7f0000000080)='./file0\x00', &(0x7f0000000300)='sysfs\x00', 0x0, 0x0) mount$overlay(0x0, &(0x7f0000000200)='./file0\x00', &(0x7f00000000c0), 0x0, &(0x7f0000000240)=ANY=[@ANYBLOB='lowerdir=.:file0']) r0 = socket$inet_udplite(0x2, 0x2, 0x88) getsockopt$sock_cred(r0, 0x1, 0x11, &(0x7f0000000240)={0x0, 0x0}, &(0x7f0000000280)=0x5) setuid(r1) r2 = open(&(0x7f00000002c0)='./file0\x00', 0x0, 0x0) statx(r2, &(0x7f0000000440)='./file0\x00', 0x0, 0x0, &(0x7f0000000480)) 21:36:56 executing program 1: r0 = socket(0x11, 0x800000003, 0x8) bind(r0, &(0x7f0000000300)=@generic={0x11, "0000010000000000080044944eeba71a4976e252922cb18f6e2e2aba000000012e0b3836005404b0e0301a22961b61e3ff5f1c3ee340b7679500800000000000000101013c5811039e15775027ecce66fd792bbf0e5bf5ff1b0816b3f6db1c00010000000081c7a0b204c006ad8e5ecc326d3a09ffc2c65400"}, 0x80) r1 = socket(0x11, 0x800000003, 0x0) bind(r1, &(0x7f0000000080)=@generic={0x11, "0000010000000000080044944eeba72e2aba000000012e0b3836005404b0e0301a08000000e3ff5f163ee340b7679500800000000000000101013c5811039e15775027ecce66fd792bbf0e5bf5ff1b0816f3f6db1c000100000000000000497400000000000000065ecc326d3a09ffc2c65400"}, 0x80) sendmmsg$sock(r1, &(0x7f0000001300)=[{{0x0, 0x0, &(0x7f0000000000)=[{&(0x7f0000000180)="db40714d531db941d0f13c715c31", 0xe}], 0x1}}, {{0x0, 0x0, &(0x7f0000000580)=[{&(0x7f0000000280)='M', 0x10012}], 0x1, &(0x7f00000005c0)=[@timestamping={{0x14}}], 0x18}}], 0x2, 0x8000000) r2 = socket(0x10, 0x3, 0x0) accept4$alg(r2, 0x0, 0x0, 0x0) r3 = socket(0x10, 0x3, 0x0) setsockopt$netlink_NETLINK_TX_RING(r3, 0x10e, 0xc, &(0x7f0000000040)={0x7ff}, 0x17f) setsockopt$inet_tcp_int(0xffffffffffffffff, 0x6, 0xa, &(0x7f0000000600)=0x665, 0x4) r4 = socket$inet(0x2, 0x1, 0x0) setsockopt$inet_mreqn(r4, 0x0, 0x27, &(0x7f0000000000)={@multicast1, @local}, 0xc) setsockopt$inet_mreqn(r4, 0x0, 0x27, &(0x7f0000000100)={@multicast2, @local}, 0xc) setsockopt$inet_msfilter(r4, 0x0, 0x29, &(0x7f0000000300)={@multicast1, @local}, 0x10) setsockopt$inet_mreqn(r4, 0x0, 0x27, &(0x7f0000000080)={@multicast1, @local}, 0xc) sendmsg$inet6(r3, &(0x7f00000005c0)={&(0x7f0000000200)={0xa, 0x4e21, 0x1, @rand_addr=' \x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02', 0xd1d}, 0x1c, &(0x7f00000003c0)=[{&(0x7f0000000240)="06abb194357de960932c626883fc9cc0d21a6f4e74a1796c235445019cd70e949efe4f74313cab4c6c9692d3cf2075eacfbc4c4169115d7cf080047f097892f4fb7849091fcbb12ea15024a682854891ecc575844dcb2de04b1f9686e04228740ab4aefe784c7bc91aacbc13c8ec6301a0829e0fa49f92d9c173406ae400d0a9f7879c3b4a00bfa0ef2cc548afbd0391395b7826492d8910774aa160077b8ddf194a4245022c4fa57cc01a27772c1c9e5e3e2ee95a577d", 0xb7}, {&(0x7f0000000340)="4f4a8228409fb32432c3497c95c4c7a721ed176949e04d7a6f08dc76e5b3a06ee6adb553a53068a5f7eb49ecbe3e98bcfefe5fab5dd6cfa2f40e9e8522b3aca7f6f40417a94585483a5bc1ed7721e141bdb1d23ade66287d31fc926dd32cea5a639b", 0x62}], 0x2, &(0x7f0000000640)=ANY=[@ANYBLOB="8800000000000000000000000000000000000080000000000000fe8000000000000000000000000000aafe8000000000000000000000000000e571622d68a4bebbfe8000000000000000000000000000aa00000000000000000000000000000001fe8000000000000000000000000000aaff010000000000000000000000000001100100000000000029000000040000fc48f27e000000006d346d6a562611ef02d05204010381e555c1f244c05ed0e732e8c7ad95704c71e41390cd236df39fbfd450955fb79f07cdcef3cf21c672bb41377f77aa000000001f3d7f9e31707f7e1f49770e640b9eabb062e51ccb6076cd68150c69233abc74316848940b0cff6444bd71b6bfebca257d712ac4e50b27f97050f70b920866f6eebea4ed849316dcd81f3acd557d9800ef34d5511387b85184161b5ab327f16feaa7277586cea4103c6fd746ef3a23de07c7662f548eb220b705234ac799915c8e6b2b7e53d3e1f21c5e39273656c0159daee3cb38ff02539688af9626c5222c816ae180df9aad7458081020e1dae5c38176f264b7884e000000001400000000000000290000003e0000000500000000000000acb7e23a27f7bd8d5802000000000000004d4d91dc2406675c0196694ea94a6c8fdd658175d0f5f90d6eab40ddbbc2a41745db929dbc2ea097ff9e46becf3719546c7c921efdd18e3ad1a6d1192d5b7495afaf20175fe88afd40e460fbdddee80066d0de3a65a32900e11647ed019d60fad359fae1972fdb6f65cbc3503bbdf93d8bcddbbbaf502e04bf32c4e6648a1b2cebf55b757876730b1526e3889c5a05f5507e2cd8a31e8021c9151644e2091891ae7bf313a88025a8c6fe013bdab112c3211f33bd93f6caf6fa15b7060ee166980baa5ccf7764759aa1767bf6c8f5683ca5a79dd1f69fec676451e8531b18ae24f4ff5a15d93957cd771d0072f99c6905e81a1b7928e264a9ff7a0552da170b297559bca76b4038c38039222131fbe6929bf6ff17"], 0x25f}, 0x20000000) ioctl$sock_SIOCGIFVLAN_ADD_VLAN_CMD(r4, 0x8982, &(0x7f0000000140)={0x0, 'vlan1\x00', {}, 0x3f}) sendto$inet6(r3, &(0x7f0000000040)="1c0000001200050f0c1000000049b23e9b200a00080001e000000001", 0x1c, 0x0, 0x0, 0x0) r5 = socket$inet_udp(0x2, 0x2, 0x0) bind$inet(r5, &(0x7f00000001c0)={0x2, 0x0, @local}, 0x10) 21:36:56 executing program 4: r0 = syz_open_dev$usbfs(&(0x7f0000000040), 0x200, 0xb102) ioctl$USBDEVFS_FREE_STREAMS(r0, 0x8008551d, &(0x7f0000000000)={0x0, 0x1, [{0x8}]}) [ 2071.202587][T16828] usb 1-1: new high-speed USB device number 75 using dummy_hcd [ 2071.452735][T16828] usb 1-1: Using ep0 maxpacket: 8 [ 2071.682686][T16828] usb 1-1: New USB device found, idVendor=08fd, idProduct=0002, bcdDevice=7a.3a [ 2071.691912][T16828] usb 1-1: New USB device strings: Mfr=92, Product=0, SerialNumber=0 [ 2071.700391][T16828] usb 1-1: Manufacturer: syz [ 2072.032835][ T3513] Bluetooth: hci6: urb ffff888075e89840 submission failed (2) [ 2072.049400][T16828] usb 1-1: USB disconnect, device number 75 21:36:58 executing program 0: syz_usb_connect(0x0, 0x24, &(0x7f0000000040)=ANY=[@ANYBLOB="120100000010d308fd0802003a7a5c0000010902120001040400000904"], 0x0) 21:36:58 executing program 5: bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000240)={0xa, 0x4, &(0x7f0000000040)=@framed={{}, [@call={0x85, 0x0, 0x0, 0x8}]}, &(0x7f00000002c0)='syzkaller\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) 21:36:58 executing program 2: r0 = syz_open_dev$sndctrl(&(0x7f0000000040), 0x0, 0x0) ioctl$SNDRV_CTL_IOCTL_ELEM_ADD(r0, 0x40405515, &(0x7f0000000400)={{0x1009, 0x0, 0x0, 0x0, 'syz1\x00'}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 'syz0\x00', 0x0}) 21:36:58 executing program 1: r0 = socket(0x11, 0x800000003, 0x8) bind(r0, &(0x7f0000000300)=@generic={0x11, "0000010000000000080044944eeba71a4976e252922cb18f6e2e2aba000000012e0b3836005404b0e0301a22961b61e3ff5f1c3ee340b7679500800000000000000101013c5811039e15775027ecce66fd792bbf0e5bf5ff1b0816b3f6db1c00010000000081c7a0b204c006ad8e5ecc326d3a09ffc2c65400"}, 0x80) r1 = socket(0x11, 0x800000003, 0x0) bind(r1, &(0x7f0000000080)=@generic={0x11, "0000010000000000080044944eeba72e2aba000000012e0b3836005404b0e0301a08000000e3ff5f163ee340b7679500800000000000000101013c5811039e15775027ecce66fd792bbf0e5bf5ff1b0816f3f6db1c000100000000000000497400000000000000065ecc326d3a09ffc2c65400"}, 0x80) sendmmsg$sock(r1, &(0x7f0000001300)=[{{0x0, 0x0, &(0x7f0000000000)=[{&(0x7f0000000180)="db40714d531db941d0f13c715c31", 0xe}], 0x1}}, {{0x0, 0x0, &(0x7f0000000580)=[{&(0x7f0000000280)='M', 0x10012}], 0x1, &(0x7f00000005c0)=[@timestamping={{0x14}}], 0x18}}], 0x2, 0x8000000) r2 = socket(0x10, 0x3, 0x0) accept4$alg(r2, 0x0, 0x0, 0x0) r3 = socket(0x10, 0x3, 0x0) setsockopt$netlink_NETLINK_TX_RING(r3, 0x10e, 0xc, &(0x7f0000000040)={0x7ff}, 0x17f) setsockopt$inet_tcp_int(0xffffffffffffffff, 0x6, 0xa, &(0x7f0000000600)=0x665, 0x4) r4 = socket$inet(0x2, 0x1, 0x0) setsockopt$inet_mreqn(r4, 0x0, 0x27, &(0x7f0000000000)={@multicast1, @local}, 0xc) setsockopt$inet_mreqn(r4, 0x0, 0x27, &(0x7f0000000100)={@multicast2, @local}, 0xc) setsockopt$inet_msfilter(r4, 0x0, 0x29, &(0x7f0000000300)={@multicast1, @local}, 0x10) setsockopt$inet_mreqn(r4, 0x0, 0x27, &(0x7f0000000080)={@multicast1, @local}, 0xc) sendmsg$inet6(r3, &(0x7f00000005c0)={&(0x7f0000000200)={0xa, 0x4e21, 0x1, @rand_addr=' \x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02', 0xd1d}, 0x1c, &(0x7f00000003c0)=[{&(0x7f0000000240)="06abb194357de960932c626883fc9cc0d21a6f4e74a1796c235445019cd70e949efe4f74313cab4c6c9692d3cf2075eacfbc4c4169115d7cf080047f097892f4fb7849091fcbb12ea15024a682854891ecc575844dcb2de04b1f9686e04228740ab4aefe784c7bc91aacbc13c8ec6301a0829e0fa49f92d9c173406ae400d0a9f7879c3b4a00bfa0ef2cc548afbd0391395b7826492d8910774aa160077b8ddf194a4245022c4fa57cc01a27772c1c9e5e3e2ee95a577d", 0xb7}, {&(0x7f0000000340)="4f4a8228409fb32432c3497c95c4c7a721ed176949e04d7a6f08dc76e5b3a06ee6adb553a53068a5f7eb49ecbe3e98bcfefe5fab5dd6cfa2f40e9e8522b3aca7f6f40417a94585483a5bc1ed7721e141bdb1d23ade66287d31fc926dd32cea5a639b", 0x62}], 0x2, &(0x7f0000000640)=ANY=[@ANYBLOB="8800000000000000000000000000000000000080000000000000fe8000000000000000000000000000aafe8000000000000000000000000000e571622d68a4bebbfe8000000000000000000000000000aa00000000000000000000000000000001fe8000000000000000000000000000aaff010000000000000000000000000001100100000000000029000000040000fc48f27e000000006d346d6a562611ef02d05204010381e555c1f244c05ed0e732e8c7ad95704c71e41390cd236df39fbfd450955fb79f07cdcef3cf21c672bb41377f77aa000000001f3d7f9e31707f7e1f49770e640b9eabb062e51ccb6076cd68150c69233abc74316848940b0cff6444bd71b6bfebca257d712ac4e50b27f97050f70b920866f6eebea4ed849316dcd81f3acd557d9800ef34d5511387b85184161b5ab327f16feaa7277586cea4103c6fd746ef3a23de07c7662f548eb220b705234ac799915c8e6b2b7e53d3e1f21c5e39273656c0159daee3cb38ff02539688af9626c5222c816ae180df9aad7458081020e1dae5c38176f264b7884e000000001400000000000000290000003e0000000500000000000000acb7e23a27f7bd8d5802000000000000004d4d91dc2406675c0196694ea94a6c8fdd658175d0f5f90d6eab40ddbbc2a41745db929dbc2ea097ff9e46becf3719546c7c921efdd18e3ad1a6d1192d5b7495afaf20175fe88afd40e460fbdddee80066d0de3a65a32900e11647ed019d60fad359fae1972fdb6f65cbc3503bbdf93d8bcddbbbaf502e04bf32c4e6648a1b2cebf55b757876730b1526e3889c5a05f5507e2cd8a31e8021c9151644e2091891ae7bf313a88025a8c6fe013bdab112c3211f33bd93f6caf6fa15b7060ee166980baa5ccf7764759aa1767bf6c8f5683ca5a79dd1f69fec676451e8531b18ae24f4ff5a15d93957cd771d0072f99c6905e81a1b7928e264a9ff7a0552da170b297559bca76b4038c38039222131fbe6929bf6ff17"], 0x25f}, 0x20000000) ioctl$sock_SIOCGIFVLAN_ADD_VLAN_CMD(r4, 0x8982, &(0x7f0000000140)={0x0, 'vlan1\x00', {}, 0x3f}) sendto$inet6(r3, &(0x7f0000000040)="1c0000001200050f0c1000000049b23e9b200a00080001e000000001", 0x1c, 0x0, 0x0, 0x0) r5 = socket$inet_udp(0x2, 0x2, 0x0) bind$inet(r5, &(0x7f00000001c0)={0x2, 0x0, @local}, 0x10) 21:36:58 executing program 3: r0 = socket(0x11, 0x800000003, 0x8) bind(r0, &(0x7f0000000300)=@generic={0x11, "0000010000000000080044944eeba71a4976e252922cb18f6e2e2aba000000012e0b3836005404b0e0301a22961b61e3ff5f1c3ee340b7679500800000000000000101013c5811039e15775027ecce66fd792bbf0e5bf5ff1b0816b3f6db1c00010000000081c7a0b204c006ad8e5ecc326d3a09ffc2c65400"}, 0x80) r1 = socket(0x11, 0x800000003, 0x0) bind(r1, &(0x7f0000000080)=@generic={0x11, "0000010000000000080044944eeba72e2aba000000012e0b3836005404b0e0301a08000000e3ff5f163ee340b7679500800000000000000101013c5811039e15775027ecce66fd792bbf0e5bf5ff1b0816f3f6db1c000100000000000000497400000000000000065ecc326d3a09ffc2c65400"}, 0x80) sendmmsg$sock(r1, &(0x7f0000001300)=[{{0x0, 0x0, &(0x7f0000000000)=[{&(0x7f0000000180)="db40714d531db941d0f13c715c31", 0xe}], 0x1}}, {{0x0, 0x0, &(0x7f0000000580)=[{&(0x7f0000000280)='M', 0x10012}], 0x1, &(0x7f00000005c0)=[@timestamping={{0x14}}], 0x18}}], 0x2, 0x8000000) r2 = socket(0x10, 0x3, 0x0) accept4$alg(r2, 0x0, 0x0, 0x0) r3 = socket(0x10, 0x3, 0x0) setsockopt$netlink_NETLINK_TX_RING(r3, 0x10e, 0xc, &(0x7f0000000040)={0x7ff}, 0x17f) setsockopt$inet_tcp_int(0xffffffffffffffff, 0x6, 0xa, &(0x7f0000000600)=0x665, 0x4) r4 = socket$inet(0x2, 0x1, 0x0) setsockopt$inet_mreqn(r4, 0x0, 0x27, &(0x7f0000000000)={@multicast1, @local}, 0xc) setsockopt$inet_mreqn(r4, 0x0, 0x27, &(0x7f0000000100)={@multicast2, @local}, 0xc) setsockopt$inet_msfilter(r4, 0x0, 0x29, &(0x7f0000000300)={@multicast1, @local}, 0x10) setsockopt$inet_mreqn(r4, 0x0, 0x27, &(0x7f0000000080)={@multicast1, @local}, 0xc) sendmsg$inet6(r3, &(0x7f00000005c0)={&(0x7f0000000200)={0xa, 0x4e21, 0x1, @rand_addr=' \x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02', 0xd1d}, 0x1c, &(0x7f00000003c0)=[{&(0x7f0000000240)="06abb194357de960932c626883fc9cc0d21a6f4e74a1796c235445019cd70e949efe4f74313cab4c6c9692d3cf2075eacfbc4c4169115d7cf080047f097892f4fb7849091fcbb12ea15024a682854891ecc575844dcb2de04b1f9686e04228740ab4aefe784c7bc91aacbc13c8ec6301a0829e0fa49f92d9c173406ae400d0a9f7879c3b4a00bfa0ef2cc548afbd0391395b7826492d8910774aa160077b8ddf194a4245022c4fa57cc01a27772c1c9e5e3e2ee95a577d", 0xb7}, {&(0x7f0000000340)="4f4a8228409fb32432c3497c95c4c7a721ed176949e04d7a6f08dc76e5b3a06ee6adb553a53068a5f7eb49ecbe3e98bcfefe5fab5dd6cfa2f40e9e8522b3aca7f6f40417a94585483a5bc1ed7721e141bdb1d23ade66287d31fc926dd32cea5a639b", 0x62}], 0x2, &(0x7f0000000640)=ANY=[@ANYBLOB="8800000000000000000000000000000000000080000000000000fe8000000000000000000000000000aafe8000000000000000000000000000e571622d68a4bebbfe8000000000000000000000000000aa00000000000000000000000000000001fe8000000000000000000000000000aaff010000000000000000000000000001100100000000000029000000040000fc48f27e000000006d346d6a562611ef02d05204010381e555c1f244c05ed0e732e8c7ad95704c71e41390cd236df39fbfd450955fb79f07cdcef3cf21c672bb41377f77aa000000001f3d7f9e31707f7e1f49770e640b9eabb062e51ccb6076cd68150c69233abc74316848940b0cff6444bd71b6bfebca257d712ac4e50b27f97050f70b920866f6eebea4ed849316dcd81f3acd557d9800ef34d5511387b85184161b5ab327f16feaa7277586cea4103c6fd746ef3a23de07c7662f548eb220b705234ac799915c8e6b2b7e53d3e1f21c5e39273656c0159daee3cb38ff02539688af9626c5222c816ae180df9aad7458081020e1dae5c38176f264b7884e000000001400000000000000290000003e0000000500000000000000acb7e23a27f7bd8d5802000000000000004d4d91dc2406675c0196694ea94a6c8fdd658175d0f5f90d6eab40ddbbc2a41745db929dbc2ea097ff9e46becf3719546c7c921efdd18e3ad1a6d1192d5b7495afaf20175fe88afd40e460fbdddee80066d0de3a65a32900e11647ed019d60fad359fae1972fdb6f65cbc3503bbdf93d8bcddbbbaf502e04bf32c4e6648a1b2cebf55b757876730b1526e3889c5a05f5507e2cd8a31e8021c9151644e2091891ae7bf313a88025a8c6fe013bdab112c3211f33bd93f6caf6fa15b7060ee166980baa5ccf7764759aa1767bf6c8f5683ca5a79dd1f69fec676451e8531b18ae24f4ff5a15d93957cd771d0072f99c6905e81a1b7928e264a9ff7a0552da170b297559bca76b4038c38039222131fbe6929bf6ff17"], 0x25f}, 0x20000000) ioctl$sock_SIOCGIFVLAN_ADD_VLAN_CMD(r4, 0x8982, &(0x7f0000000140)={0x0, 'vlan1\x00', {}, 0x3f}) sendto$inet6(r3, &(0x7f0000000040)="1c0000001200050f0c1000000049b23e9b200a00080001e000000001", 0x1c, 0x0, 0x0, 0x0) r5 = socket$inet_udp(0x2, 0x2, 0x0) bind$inet(r5, &(0x7f00000001c0)={0x2, 0x0, @local}, 0x10) 21:36:58 executing program 4: r0 = syz_open_dev$usbfs(&(0x7f0000000040), 0x200, 0xb102) ioctl$USBDEVFS_FREE_STREAMS(r0, 0x8008551d, &(0x7f0000000000)={0x0, 0x1, [{0x8}]}) 21:36:58 executing program 5: bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000240)={0xa, 0x4, &(0x7f0000000040)=@framed={{}, [@call={0x85, 0x0, 0x0, 0x8}]}, &(0x7f00000002c0)='syzkaller\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) 21:36:58 executing program 4: r0 = socket(0x11, 0x800000003, 0x8) bind(r0, &(0x7f0000000300)=@generic={0x11, "0000010000000000080044944eeba71a4976e252922cb18f6e2e2aba000000012e0b3836005404b0e0301a22961b61e3ff5f1c3ee340b7679500800000000000000101013c5811039e15775027ecce66fd792bbf0e5bf5ff1b0816b3f6db1c00010000000081c7a0b204c006ad8e5ecc326d3a09ffc2c65400"}, 0x80) r1 = socket(0x11, 0x800000003, 0x0) bind(r1, &(0x7f0000000080)=@generic={0x11, "0000010000000000080044944eeba72e2aba000000012e0b3836005404b0e0301a08000000e3ff5f163ee340b7679500800000000000000101013c5811039e15775027ecce66fd792bbf0e5bf5ff1b0816f3f6db1c000100000000000000497400000000000000065ecc326d3a09ffc2c65400"}, 0x80) sendmmsg$sock(r1, &(0x7f0000001300)=[{{0x0, 0x0, &(0x7f0000000000)=[{&(0x7f0000000180)="db40714d531db941d0f13c715c31", 0xe}], 0x1}}, {{0x0, 0x0, &(0x7f0000000580)=[{&(0x7f0000000280)='M', 0x10012}], 0x1, &(0x7f00000005c0)=[@timestamping={{0x14}}], 0x18}}], 0x2, 0x8000000) r2 = socket(0x10, 0x3, 0x0) accept4$alg(r2, 0x0, 0x0, 0x0) r3 = socket(0x10, 0x3, 0x0) setsockopt$netlink_NETLINK_TX_RING(r3, 0x10e, 0xc, &(0x7f0000000040)={0x7ff}, 0x17f) setsockopt$inet_tcp_int(0xffffffffffffffff, 0x6, 0xa, &(0x7f0000000600)=0x665, 0x4) r4 = socket$inet(0x2, 0x1, 0x0) setsockopt$inet_mreqn(r4, 0x0, 0x27, &(0x7f0000000000)={@multicast1, @local}, 0xc) setsockopt$inet_mreqn(r4, 0x0, 0x27, &(0x7f0000000100)={@multicast2, @local}, 0xc) setsockopt$inet_msfilter(r4, 0x0, 0x29, &(0x7f0000000300)={@multicast1, @local}, 0x10) setsockopt$inet_mreqn(r4, 0x0, 0x27, &(0x7f0000000080)={@multicast1, @local}, 0xc) sendmsg$inet6(r3, &(0x7f00000005c0)={&(0x7f0000000200)={0xa, 0x4e21, 0x1, @rand_addr=' \x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02', 0xd1d}, 0x1c, &(0x7f00000003c0)=[{&(0x7f0000000240)="06abb194357de960932c626883fc9cc0d21a6f4e74a1796c235445019cd70e949efe4f74313cab4c6c9692d3cf2075eacfbc4c4169115d7cf080047f097892f4fb7849091fcbb12ea15024a682854891ecc575844dcb2de04b1f9686e04228740ab4aefe784c7bc91aacbc13c8ec6301a0829e0fa49f92d9c173406ae400d0a9f7879c3b4a00bfa0ef2cc548afbd0391395b7826492d8910774aa160077b8ddf194a4245022c4fa57cc01a27772c1c9e5e3e2ee95a577d", 0xb7}, {&(0x7f0000000340)="4f4a8228409fb32432c3497c95c4c7a721ed176949e04d7a6f08dc76e5b3a06ee6adb553a53068a5f7eb49ecbe3e98bcfefe5fab5dd6cfa2f40e9e8522b3aca7f6f40417a94585483a5bc1ed7721e141bdb1d23ade66287d31fc926dd32cea5a639b", 0x62}], 0x2, &(0x7f0000000640)=ANY=[@ANYBLOB="8800000000000000000000000000000000000080000000000000fe8000000000000000000000000000aafe8000000000000000000000000000e571622d68a4bebbfe8000000000000000000000000000aa00000000000000000000000000000001fe8000000000000000000000000000aaff010000000000000000000000000001100100000000000029000000040000fc48f27e000000006d346d6a562611ef02d05204010381e555c1f244c05ed0e732e8c7ad95704c71e41390cd236df39fbfd450955fb79f07cdcef3cf21c672bb41377f77aa000000001f3d7f9e31707f7e1f49770e640b9eabb062e51ccb6076cd68150c69233abc74316848940b0cff6444bd71b6bfebca257d712ac4e50b27f97050f70b920866f6eebea4ed849316dcd81f3acd557d9800ef34d5511387b85184161b5ab327f16feaa7277586cea4103c6fd746ef3a23de07c7662f548eb220b705234ac799915c8e6b2b7e53d3e1f21c5e39273656c0159daee3cb38ff02539688af9626c5222c816ae180df9aad7458081020e1dae5c38176f264b7884e000000001400000000000000290000003e0000000500000000000000acb7e23a27f7bd8d5802000000000000004d4d91dc2406675c0196694ea94a6c8fdd658175d0f5f90d6eab40ddbbc2a41745db929dbc2ea097ff9e46becf3719546c7c921efdd18e3ad1a6d1192d5b7495afaf20175fe88afd40e460fbdddee80066d0de3a65a32900e11647ed019d60fad359fae1972fdb6f65cbc3503bbdf93d8bcddbbbaf502e04bf32c4e6648a1b2cebf55b757876730b1526e3889c5a05f5507e2cd8a31e8021c9151644e2091891ae7bf313a88025a8c6fe013bdab112c3211f33bd93f6caf6fa15b7060ee166980baa5ccf7764759aa1767bf6c8f5683ca5a79dd1f69fec676451e8531b18ae24f4ff5a15d93957cd771d0072f99c6905e81a1b7928e264a9ff7a0552da170b297559bca76b4038c38039222131fbe6929bf6ff17"], 0x25f}, 0x20000000) ioctl$sock_SIOCGIFVLAN_ADD_VLAN_CMD(r4, 0x8982, &(0x7f0000000140)={0x0, 'vlan1\x00', {}, 0x3f}) sendto$inet6(r3, &(0x7f0000000040)="1c0000001200050f0c1000000049b23e9b200a00080001e000000001", 0x1c, 0x0, 0x0, 0x0) r5 = socket$inet_udp(0x2, 0x2, 0x0) bind$inet(r5, &(0x7f00000001c0)={0x2, 0x0, @local}, 0x10) 21:36:58 executing program 2: r0 = syz_open_dev$sndctrl(&(0x7f0000000040), 0x0, 0x0) ioctl$SNDRV_CTL_IOCTL_ELEM_ADD(r0, 0x40405515, &(0x7f0000000400)={{0x1009, 0x0, 0x0, 0x0, 'syz1\x00'}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 'syz0\x00', 0x0}) 21:36:58 executing program 3: r0 = socket(0x11, 0x800000003, 0x8) bind(r0, &(0x7f0000000300)=@generic={0x11, "0000010000000000080044944eeba71a4976e252922cb18f6e2e2aba000000012e0b3836005404b0e0301a22961b61e3ff5f1c3ee340b7679500800000000000000101013c5811039e15775027ecce66fd792bbf0e5bf5ff1b0816b3f6db1c00010000000081c7a0b204c006ad8e5ecc326d3a09ffc2c65400"}, 0x80) r1 = socket(0x11, 0x800000003, 0x0) bind(r1, &(0x7f0000000080)=@generic={0x11, "0000010000000000080044944eeba72e2aba000000012e0b3836005404b0e0301a08000000e3ff5f163ee340b7679500800000000000000101013c5811039e15775027ecce66fd792bbf0e5bf5ff1b0816f3f6db1c000100000000000000497400000000000000065ecc326d3a09ffc2c65400"}, 0x80) sendmmsg$sock(r1, &(0x7f0000001300)=[{{0x0, 0x0, &(0x7f0000000000)=[{&(0x7f0000000180)="db40714d531db941d0f13c715c31", 0xe}], 0x1}}, {{0x0, 0x0, &(0x7f0000000580)=[{&(0x7f0000000280)='M', 0x10012}], 0x1, &(0x7f00000005c0)=[@timestamping={{0x14}}], 0x18}}], 0x2, 0x8000000) r2 = socket(0x10, 0x3, 0x0) accept4$alg(r2, 0x0, 0x0, 0x0) r3 = socket(0x10, 0x3, 0x0) setsockopt$netlink_NETLINK_TX_RING(r3, 0x10e, 0xc, &(0x7f0000000040)={0x7ff}, 0x17f) setsockopt$inet_tcp_int(0xffffffffffffffff, 0x6, 0xa, &(0x7f0000000600)=0x665, 0x4) r4 = socket$inet(0x2, 0x1, 0x0) setsockopt$inet_mreqn(r4, 0x0, 0x27, &(0x7f0000000000)={@multicast1, @local}, 0xc) setsockopt$inet_mreqn(r4, 0x0, 0x27, &(0x7f0000000100)={@multicast2, @local}, 0xc) setsockopt$inet_msfilter(r4, 0x0, 0x29, &(0x7f0000000300)={@multicast1, @local}, 0x10) setsockopt$inet_mreqn(r4, 0x0, 0x27, &(0x7f0000000080)={@multicast1, @local}, 0xc) sendmsg$inet6(r3, &(0x7f00000005c0)={&(0x7f0000000200)={0xa, 0x4e21, 0x1, @rand_addr=' \x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02', 0xd1d}, 0x1c, &(0x7f00000003c0)=[{&(0x7f0000000240)="06abb194357de960932c626883fc9cc0d21a6f4e74a1796c235445019cd70e949efe4f74313cab4c6c9692d3cf2075eacfbc4c4169115d7cf080047f097892f4fb7849091fcbb12ea15024a682854891ecc575844dcb2de04b1f9686e04228740ab4aefe784c7bc91aacbc13c8ec6301a0829e0fa49f92d9c173406ae400d0a9f7879c3b4a00bfa0ef2cc548afbd0391395b7826492d8910774aa160077b8ddf194a4245022c4fa57cc01a27772c1c9e5e3e2ee95a577d", 0xb7}, {&(0x7f0000000340)="4f4a8228409fb32432c3497c95c4c7a721ed176949e04d7a6f08dc76e5b3a06ee6adb553a53068a5f7eb49ecbe3e98bcfefe5fab5dd6cfa2f40e9e8522b3aca7f6f40417a94585483a5bc1ed7721e141bdb1d23ade66287d31fc926dd32cea5a639b", 0x62}], 0x2, &(0x7f0000000640)=ANY=[@ANYBLOB="8800000000000000000000000000000000000080000000000000fe8000000000000000000000000000aafe8000000000000000000000000000e571622d68a4bebbfe8000000000000000000000000000aa00000000000000000000000000000001fe8000000000000000000000000000aaff010000000000000000000000000001100100000000000029000000040000fc48f27e000000006d346d6a562611ef02d05204010381e555c1f244c05ed0e732e8c7ad95704c71e41390cd236df39fbfd450955fb79f07cdcef3cf21c672bb41377f77aa000000001f3d7f9e31707f7e1f49770e640b9eabb062e51ccb6076cd68150c69233abc74316848940b0cff6444bd71b6bfebca257d712ac4e50b27f97050f70b920866f6eebea4ed849316dcd81f3acd557d9800ef34d5511387b85184161b5ab327f16feaa7277586cea4103c6fd746ef3a23de07c7662f548eb220b705234ac799915c8e6b2b7e53d3e1f21c5e39273656c0159daee3cb38ff02539688af9626c5222c816ae180df9aad7458081020e1dae5c38176f264b7884e000000001400000000000000290000003e0000000500000000000000acb7e23a27f7bd8d5802000000000000004d4d91dc2406675c0196694ea94a6c8fdd658175d0f5f90d6eab40ddbbc2a41745db929dbc2ea097ff9e46becf3719546c7c921efdd18e3ad1a6d1192d5b7495afaf20175fe88afd40e460fbdddee80066d0de3a65a32900e11647ed019d60fad359fae1972fdb6f65cbc3503bbdf93d8bcddbbbaf502e04bf32c4e6648a1b2cebf55b757876730b1526e3889c5a05f5507e2cd8a31e8021c9151644e2091891ae7bf313a88025a8c6fe013bdab112c3211f33bd93f6caf6fa15b7060ee166980baa5ccf7764759aa1767bf6c8f5683ca5a79dd1f69fec676451e8531b18ae24f4ff5a15d93957cd771d0072f99c6905e81a1b7928e264a9ff7a0552da170b297559bca76b4038c38039222131fbe6929bf6ff17"], 0x25f}, 0x20000000) ioctl$sock_SIOCGIFVLAN_ADD_VLAN_CMD(r4, 0x8982, &(0x7f0000000140)={0x0, 'vlan1\x00', {}, 0x3f}) sendto$inet6(r3, &(0x7f0000000040)="1c0000001200050f0c1000000049b23e9b200a00080001e000000001", 0x1c, 0x0, 0x0, 0x0) r5 = socket$inet_udp(0x2, 0x2, 0x0) bind$inet(r5, &(0x7f00000001c0)={0x2, 0x0, @local}, 0x10) 21:36:58 executing program 1: r0 = socket(0x11, 0x800000003, 0x8) bind(r0, &(0x7f0000000300)=@generic={0x11, "0000010000000000080044944eeba71a4976e252922cb18f6e2e2aba000000012e0b3836005404b0e0301a22961b61e3ff5f1c3ee340b7679500800000000000000101013c5811039e15775027ecce66fd792bbf0e5bf5ff1b0816b3f6db1c00010000000081c7a0b204c006ad8e5ecc326d3a09ffc2c65400"}, 0x80) r1 = socket(0x11, 0x800000003, 0x0) bind(r1, &(0x7f0000000080)=@generic={0x11, "0000010000000000080044944eeba72e2aba000000012e0b3836005404b0e0301a08000000e3ff5f163ee340b7679500800000000000000101013c5811039e15775027ecce66fd792bbf0e5bf5ff1b0816f3f6db1c000100000000000000497400000000000000065ecc326d3a09ffc2c65400"}, 0x80) sendmmsg$sock(r1, &(0x7f0000001300)=[{{0x0, 0x0, &(0x7f0000000000)=[{&(0x7f0000000180)="db40714d531db941d0f13c715c31", 0xe}], 0x1}}, {{0x0, 0x0, &(0x7f0000000580)=[{&(0x7f0000000280)='M', 0x10012}], 0x1, &(0x7f00000005c0)=[@timestamping={{0x14}}], 0x18}}], 0x2, 0x8000000) r2 = socket(0x10, 0x3, 0x0) accept4$alg(r2, 0x0, 0x0, 0x0) r3 = socket(0x10, 0x3, 0x0) setsockopt$netlink_NETLINK_TX_RING(r3, 0x10e, 0xc, &(0x7f0000000040)={0x7ff}, 0x17f) setsockopt$inet_tcp_int(0xffffffffffffffff, 0x6, 0xa, &(0x7f0000000600)=0x665, 0x4) r4 = socket$inet(0x2, 0x1, 0x0) setsockopt$inet_mreqn(r4, 0x0, 0x27, &(0x7f0000000000)={@multicast1, @local}, 0xc) setsockopt$inet_mreqn(r4, 0x0, 0x27, &(0x7f0000000100)={@multicast2, @local}, 0xc) setsockopt$inet_msfilter(r4, 0x0, 0x29, &(0x7f0000000300)={@multicast1, @local}, 0x10) setsockopt$inet_mreqn(r4, 0x0, 0x27, &(0x7f0000000080)={@multicast1, @local}, 0xc) sendmsg$inet6(r3, &(0x7f00000005c0)={&(0x7f0000000200)={0xa, 0x4e21, 0x1, @rand_addr=' \x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02', 0xd1d}, 0x1c, &(0x7f00000003c0)=[{&(0x7f0000000240)="06abb194357de960932c626883fc9cc0d21a6f4e74a1796c235445019cd70e949efe4f74313cab4c6c9692d3cf2075eacfbc4c4169115d7cf080047f097892f4fb7849091fcbb12ea15024a682854891ecc575844dcb2de04b1f9686e04228740ab4aefe784c7bc91aacbc13c8ec6301a0829e0fa49f92d9c173406ae400d0a9f7879c3b4a00bfa0ef2cc548afbd0391395b7826492d8910774aa160077b8ddf194a4245022c4fa57cc01a27772c1c9e5e3e2ee95a577d", 0xb7}, {&(0x7f0000000340)="4f4a8228409fb32432c3497c95c4c7a721ed176949e04d7a6f08dc76e5b3a06ee6adb553a53068a5f7eb49ecbe3e98bcfefe5fab5dd6cfa2f40e9e8522b3aca7f6f40417a94585483a5bc1ed7721e141bdb1d23ade66287d31fc926dd32cea5a639b", 0x62}], 0x2, &(0x7f0000000640)=ANY=[@ANYBLOB="8800000000000000000000000000000000000080000000000000fe8000000000000000000000000000aafe8000000000000000000000000000e571622d68a4bebbfe8000000000000000000000000000aa00000000000000000000000000000001fe8000000000000000000000000000aaff010000000000000000000000000001100100000000000029000000040000fc48f27e000000006d346d6a562611ef02d05204010381e555c1f244c05ed0e732e8c7ad95704c71e41390cd236df39fbfd450955fb79f07cdcef3cf21c672bb41377f77aa000000001f3d7f9e31707f7e1f49770e640b9eabb062e51ccb6076cd68150c69233abc74316848940b0cff6444bd71b6bfebca257d712ac4e50b27f97050f70b920866f6eebea4ed849316dcd81f3acd557d9800ef34d5511387b85184161b5ab327f16feaa7277586cea4103c6fd746ef3a23de07c7662f548eb220b705234ac799915c8e6b2b7e53d3e1f21c5e39273656c0159daee3cb38ff02539688af9626c5222c816ae180df9aad7458081020e1dae5c38176f264b7884e000000001400000000000000290000003e0000000500000000000000acb7e23a27f7bd8d5802000000000000004d4d91dc2406675c0196694ea94a6c8fdd658175d0f5f90d6eab40ddbbc2a41745db929dbc2ea097ff9e46becf3719546c7c921efdd18e3ad1a6d1192d5b7495afaf20175fe88afd40e460fbdddee80066d0de3a65a32900e11647ed019d60fad359fae1972fdb6f65cbc3503bbdf93d8bcddbbbaf502e04bf32c4e6648a1b2cebf55b757876730b1526e3889c5a05f5507e2cd8a31e8021c9151644e2091891ae7bf313a88025a8c6fe013bdab112c3211f33bd93f6caf6fa15b7060ee166980baa5ccf7764759aa1767bf6c8f5683ca5a79dd1f69fec676451e8531b18ae24f4ff5a15d93957cd771d0072f99c6905e81a1b7928e264a9ff7a0552da170b297559bca76b4038c38039222131fbe6929bf6ff17"], 0x25f}, 0x20000000) ioctl$sock_SIOCGIFVLAN_ADD_VLAN_CMD(r4, 0x8982, &(0x7f0000000140)={0x0, 'vlan1\x00', {}, 0x3f}) sendto$inet6(r3, &(0x7f0000000040)="1c0000001200050f0c1000000049b23e9b200a00080001e000000001", 0x1c, 0x0, 0x0, 0x0) r5 = socket$inet_udp(0x2, 0x2, 0x0) bind$inet(r5, &(0x7f00000001c0)={0x2, 0x0, @local}, 0x10) 21:36:58 executing program 2: r0 = openat$vmci(0xffffffffffffff9c, &(0x7f0000000380), 0x2, 0x0) ioctl$IOCTL_VMCI_VERSION2(r0, 0x7a7, &(0x7f0000000000)=0x90000) ioctl$IOCTL_VMCI_INIT_CONTEXT(r0, 0x7a0, &(0x7f0000000040)={@hyper}) ioctl$IOCTL_VMCI_QUEUEPAIR_ALLOC(r0, 0x7a8, &(0x7f0000000180)={{@hyper}, @any, 0x0, 0x0, 0x2}) r1 = openat$vmci(0xffffffffffffff9c, &(0x7f0000000380), 0x2, 0x0) ioctl$IOCTL_VMCI_VERSION2(r1, 0x7a7, &(0x7f0000000000)=0x90000) ioctl$IOCTL_VMCI_INIT_CONTEXT(r1, 0x7a0, &(0x7f0000000100)={@hyper}) ioctl$IOCTL_VMCI_QUEUEPAIR_ALLOC(r1, 0x7a8, &(0x7f00000000c0)={{@host}, @host, 0x0, 0x0, 0x5}) ioctl$IOCTL_VMCI_QUEUEPAIR_ALLOC(r1, 0x7a8, &(0x7f0000000180)={{@hyper}, @any, 0x0, 0x0, 0x2}) [ 2073.082526][T16828] usb 1-1: new high-speed USB device number 76 using dummy_hcd [ 2073.342353][T16828] usb 1-1: Using ep0 maxpacket: 8 [ 2073.582597][T16828] usb 1-1: New USB device found, idVendor=08fd, idProduct=0002, bcdDevice=7a.3a [ 2073.593180][T16828] usb 1-1: New USB device strings: Mfr=92, Product=0, SerialNumber=0 [ 2073.601397][T16828] usb 1-1: Manufacturer: syz [ 2073.882859][ T3513] Bluetooth: hci6: urb ffff8880859b8780 submission failed (2) [ 2073.903198][T16828] usb 1-1: USB disconnect, device number 76 21:37:00 executing program 1: r0 = socket(0x11, 0x800000003, 0x8) bind(r0, &(0x7f0000000300)=@generic={0x11, "0000010000000000080044944eeba71a4976e252922cb18f6e2e2aba000000012e0b3836005404b0e0301a22961b61e3ff5f1c3ee340b7679500800000000000000101013c5811039e15775027ecce66fd792bbf0e5bf5ff1b0816b3f6db1c00010000000081c7a0b204c006ad8e5ecc326d3a09ffc2c65400"}, 0x80) r1 = socket(0x11, 0x800000003, 0x0) bind(r1, &(0x7f0000000080)=@generic={0x11, "0000010000000000080044944eeba72e2aba000000012e0b3836005404b0e0301a08000000e3ff5f163ee340b7679500800000000000000101013c5811039e15775027ecce66fd792bbf0e5bf5ff1b0816f3f6db1c000100000000000000497400000000000000065ecc326d3a09ffc2c65400"}, 0x80) sendmmsg$sock(r1, &(0x7f0000001300)=[{{0x0, 0x0, &(0x7f0000000000)=[{&(0x7f0000000180)="db40714d531db941d0f13c715c31", 0xe}], 0x1}}, {{0x0, 0x0, &(0x7f0000000580)=[{&(0x7f0000000280)='M', 0x10012}], 0x1, &(0x7f00000005c0)=[@timestamping={{0x14}}], 0x18}}], 0x2, 0x8000000) r2 = socket(0x10, 0x3, 0x0) accept4$alg(r2, 0x0, 0x0, 0x0) r3 = socket(0x10, 0x3, 0x0) setsockopt$netlink_NETLINK_TX_RING(r3, 0x10e, 0xc, &(0x7f0000000040)={0x7ff}, 0x17f) setsockopt$inet_tcp_int(0xffffffffffffffff, 0x6, 0xa, &(0x7f0000000600)=0x665, 0x4) r4 = socket$inet(0x2, 0x1, 0x0) setsockopt$inet_mreqn(r4, 0x0, 0x27, &(0x7f0000000000)={@multicast1, @local}, 0xc) setsockopt$inet_mreqn(r4, 0x0, 0x27, &(0x7f0000000100)={@multicast2, @local}, 0xc) setsockopt$inet_msfilter(r4, 0x0, 0x29, &(0x7f0000000300)={@multicast1, @local}, 0x10) setsockopt$inet_mreqn(r4, 0x0, 0x27, &(0x7f0000000080)={@multicast1, @local}, 0xc) sendmsg$inet6(r3, &(0x7f00000005c0)={&(0x7f0000000200)={0xa, 0x4e21, 0x1, @rand_addr=' \x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02', 0xd1d}, 0x1c, &(0x7f00000003c0)=[{&(0x7f0000000240)="06abb194357de960932c626883fc9cc0d21a6f4e74a1796c235445019cd70e949efe4f74313cab4c6c9692d3cf2075eacfbc4c4169115d7cf080047f097892f4fb7849091fcbb12ea15024a682854891ecc575844dcb2de04b1f9686e04228740ab4aefe784c7bc91aacbc13c8ec6301a0829e0fa49f92d9c173406ae400d0a9f7879c3b4a00bfa0ef2cc548afbd0391395b7826492d8910774aa160077b8ddf194a4245022c4fa57cc01a27772c1c9e5e3e2ee95a577d", 0xb7}, {&(0x7f0000000340)="4f4a8228409fb32432c3497c95c4c7a721ed176949e04d7a6f08dc76e5b3a06ee6adb553a53068a5f7eb49ecbe3e98bcfefe5fab5dd6cfa2f40e9e8522b3aca7f6f40417a94585483a5bc1ed7721e141bdb1d23ade66287d31fc926dd32cea5a639b", 0x62}], 0x2, &(0x7f0000000640)=ANY=[@ANYBLOB="8800000000000000000000000000000000000080000000000000fe8000000000000000000000000000aafe8000000000000000000000000000e571622d68a4bebbfe8000000000000000000000000000aa00000000000000000000000000000001fe8000000000000000000000000000aaff010000000000000000000000000001100100000000000029000000040000fc48f27e000000006d346d6a562611ef02d05204010381e555c1f244c05ed0e732e8c7ad95704c71e41390cd236df39fbfd450955fb79f07cdcef3cf21c672bb41377f77aa000000001f3d7f9e31707f7e1f49770e640b9eabb062e51ccb6076cd68150c69233abc74316848940b0cff6444bd71b6bfebca257d712ac4e50b27f97050f70b920866f6eebea4ed849316dcd81f3acd557d9800ef34d5511387b85184161b5ab327f16feaa7277586cea4103c6fd746ef3a23de07c7662f548eb220b705234ac799915c8e6b2b7e53d3e1f21c5e39273656c0159daee3cb38ff02539688af9626c5222c816ae180df9aad7458081020e1dae5c38176f264b7884e000000001400000000000000290000003e0000000500000000000000acb7e23a27f7bd8d5802000000000000004d4d91dc2406675c0196694ea94a6c8fdd658175d0f5f90d6eab40ddbbc2a41745db929dbc2ea097ff9e46becf3719546c7c921efdd18e3ad1a6d1192d5b7495afaf20175fe88afd40e460fbdddee80066d0de3a65a32900e11647ed019d60fad359fae1972fdb6f65cbc3503bbdf93d8bcddbbbaf502e04bf32c4e6648a1b2cebf55b757876730b1526e3889c5a05f5507e2cd8a31e8021c9151644e2091891ae7bf313a88025a8c6fe013bdab112c3211f33bd93f6caf6fa15b7060ee166980baa5ccf7764759aa1767bf6c8f5683ca5a79dd1f69fec676451e8531b18ae24f4ff5a15d93957cd771d0072f99c6905e81a1b7928e264a9ff7a0552da170b297559bca76b4038c38039222131fbe6929bf6ff17"], 0x25f}, 0x20000000) ioctl$sock_SIOCGIFVLAN_ADD_VLAN_CMD(r4, 0x8982, &(0x7f0000000140)={0x0, 'vlan1\x00', {}, 0x3f}) sendto$inet6(r3, &(0x7f0000000040)="1c0000001200050f0c1000000049b23e9b200a00080001e000000001", 0x1c, 0x0, 0x0, 0x0) r5 = socket$inet_udp(0x2, 0x2, 0x0) bind$inet(r5, &(0x7f00000001c0)={0x2, 0x0, @local}, 0x10) 21:37:00 executing program 5: bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000240)={0xa, 0x4, &(0x7f0000000040)=@framed={{}, [@call={0x85, 0x0, 0x0, 0x8}]}, &(0x7f00000002c0)='syzkaller\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) 21:37:00 executing program 3: r0 = socket(0x11, 0x800000003, 0x8) bind(r0, &(0x7f0000000300)=@generic={0x11, "0000010000000000080044944eeba71a4976e252922cb18f6e2e2aba000000012e0b3836005404b0e0301a22961b61e3ff5f1c3ee340b7679500800000000000000101013c5811039e15775027ecce66fd792bbf0e5bf5ff1b0816b3f6db1c00010000000081c7a0b204c006ad8e5ecc326d3a09ffc2c65400"}, 0x80) r1 = socket(0x11, 0x800000003, 0x0) bind(r1, &(0x7f0000000080)=@generic={0x11, "0000010000000000080044944eeba72e2aba000000012e0b3836005404b0e0301a08000000e3ff5f163ee340b7679500800000000000000101013c5811039e15775027ecce66fd792bbf0e5bf5ff1b0816f3f6db1c000100000000000000497400000000000000065ecc326d3a09ffc2c65400"}, 0x80) sendmmsg$sock(r1, &(0x7f0000001300)=[{{0x0, 0x0, &(0x7f0000000000)=[{&(0x7f0000000180)="db40714d531db941d0f13c715c31", 0xe}], 0x1}}, {{0x0, 0x0, &(0x7f0000000580)=[{&(0x7f0000000280)='M', 0x10012}], 0x1, &(0x7f00000005c0)=[@timestamping={{0x14}}], 0x18}}], 0x2, 0x8000000) r2 = socket(0x10, 0x3, 0x0) accept4$alg(r2, 0x0, 0x0, 0x0) r3 = socket(0x10, 0x3, 0x0) setsockopt$netlink_NETLINK_TX_RING(r3, 0x10e, 0xc, &(0x7f0000000040)={0x7ff}, 0x17f) setsockopt$inet_tcp_int(0xffffffffffffffff, 0x6, 0xa, &(0x7f0000000600)=0x665, 0x4) r4 = socket$inet(0x2, 0x1, 0x0) setsockopt$inet_mreqn(r4, 0x0, 0x27, &(0x7f0000000000)={@multicast1, @local}, 0xc) setsockopt$inet_mreqn(r4, 0x0, 0x27, &(0x7f0000000100)={@multicast2, @local}, 0xc) setsockopt$inet_msfilter(r4, 0x0, 0x29, &(0x7f0000000300)={@multicast1, @local}, 0x10) setsockopt$inet_mreqn(r4, 0x0, 0x27, &(0x7f0000000080)={@multicast1, @local}, 0xc) sendmsg$inet6(r3, &(0x7f00000005c0)={&(0x7f0000000200)={0xa, 0x4e21, 0x1, @rand_addr=' \x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02', 0xd1d}, 0x1c, &(0x7f00000003c0)=[{&(0x7f0000000240)="06abb194357de960932c626883fc9cc0d21a6f4e74a1796c235445019cd70e949efe4f74313cab4c6c9692d3cf2075eacfbc4c4169115d7cf080047f097892f4fb7849091fcbb12ea15024a682854891ecc575844dcb2de04b1f9686e04228740ab4aefe784c7bc91aacbc13c8ec6301a0829e0fa49f92d9c173406ae400d0a9f7879c3b4a00bfa0ef2cc548afbd0391395b7826492d8910774aa160077b8ddf194a4245022c4fa57cc01a27772c1c9e5e3e2ee95a577d", 0xb7}, {&(0x7f0000000340)="4f4a8228409fb32432c3497c95c4c7a721ed176949e04d7a6f08dc76e5b3a06ee6adb553a53068a5f7eb49ecbe3e98bcfefe5fab5dd6cfa2f40e9e8522b3aca7f6f40417a94585483a5bc1ed7721e141bdb1d23ade66287d31fc926dd32cea5a639b", 0x62}], 0x2, &(0x7f0000000640)=ANY=[@ANYBLOB="8800000000000000000000000000000000000080000000000000fe8000000000000000000000000000aafe8000000000000000000000000000e571622d68a4bebbfe8000000000000000000000000000aa00000000000000000000000000000001fe8000000000000000000000000000aaff010000000000000000000000000001100100000000000029000000040000fc48f27e000000006d346d6a562611ef02d05204010381e555c1f244c05ed0e732e8c7ad95704c71e41390cd236df39fbfd450955fb79f07cdcef3cf21c672bb41377f77aa000000001f3d7f9e31707f7e1f49770e640b9eabb062e51ccb6076cd68150c69233abc74316848940b0cff6444bd71b6bfebca257d712ac4e50b27f97050f70b920866f6eebea4ed849316dcd81f3acd557d9800ef34d5511387b85184161b5ab327f16feaa7277586cea4103c6fd746ef3a23de07c7662f548eb220b705234ac799915c8e6b2b7e53d3e1f21c5e39273656c0159daee3cb38ff02539688af9626c5222c816ae180df9aad7458081020e1dae5c38176f264b7884e000000001400000000000000290000003e0000000500000000000000acb7e23a27f7bd8d5802000000000000004d4d91dc2406675c0196694ea94a6c8fdd658175d0f5f90d6eab40ddbbc2a41745db929dbc2ea097ff9e46becf3719546c7c921efdd18e3ad1a6d1192d5b7495afaf20175fe88afd40e460fbdddee80066d0de3a65a32900e11647ed019d60fad359fae1972fdb6f65cbc3503bbdf93d8bcddbbbaf502e04bf32c4e6648a1b2cebf55b757876730b1526e3889c5a05f5507e2cd8a31e8021c9151644e2091891ae7bf313a88025a8c6fe013bdab112c3211f33bd93f6caf6fa15b7060ee166980baa5ccf7764759aa1767bf6c8f5683ca5a79dd1f69fec676451e8531b18ae24f4ff5a15d93957cd771d0072f99c6905e81a1b7928e264a9ff7a0552da170b297559bca76b4038c38039222131fbe6929bf6ff17"], 0x25f}, 0x20000000) ioctl$sock_SIOCGIFVLAN_ADD_VLAN_CMD(r4, 0x8982, &(0x7f0000000140)={0x0, 'vlan1\x00', {}, 0x3f}) sendto$inet6(r3, &(0x7f0000000040)="1c0000001200050f0c1000000049b23e9b200a00080001e000000001", 0x1c, 0x0, 0x0, 0x0) r5 = socket$inet_udp(0x2, 0x2, 0x0) bind$inet(r5, &(0x7f00000001c0)={0x2, 0x0, @local}, 0x10) 21:37:00 executing program 2: r0 = openat$vmci(0xffffffffffffff9c, &(0x7f0000000380), 0x2, 0x0) ioctl$IOCTL_VMCI_VERSION2(r0, 0x7a7, &(0x7f0000000000)=0x90000) ioctl$IOCTL_VMCI_INIT_CONTEXT(r0, 0x7a0, &(0x7f0000000040)={@hyper}) ioctl$IOCTL_VMCI_QUEUEPAIR_ALLOC(r0, 0x7a8, &(0x7f0000000180)={{@hyper}, @any, 0x0, 0x0, 0x2}) r1 = openat$vmci(0xffffffffffffff9c, &(0x7f0000000380), 0x2, 0x0) ioctl$IOCTL_VMCI_VERSION2(r1, 0x7a7, &(0x7f0000000000)=0x90000) ioctl$IOCTL_VMCI_INIT_CONTEXT(r1, 0x7a0, &(0x7f0000000100)={@hyper}) ioctl$IOCTL_VMCI_QUEUEPAIR_ALLOC(r1, 0x7a8, &(0x7f00000000c0)={{@host}, @host, 0x0, 0x0, 0x5}) ioctl$IOCTL_VMCI_QUEUEPAIR_ALLOC(r1, 0x7a8, &(0x7f0000000180)={{@hyper}, @any, 0x0, 0x0, 0x2}) 21:37:00 executing program 4: r0 = socket(0x11, 0x800000003, 0x8) bind(r0, &(0x7f0000000300)=@generic={0x11, "0000010000000000080044944eeba71a4976e252922cb18f6e2e2aba000000012e0b3836005404b0e0301a22961b61e3ff5f1c3ee340b7679500800000000000000101013c5811039e15775027ecce66fd792bbf0e5bf5ff1b0816b3f6db1c00010000000081c7a0b204c006ad8e5ecc326d3a09ffc2c65400"}, 0x80) r1 = socket(0x11, 0x800000003, 0x0) bind(r1, &(0x7f0000000080)=@generic={0x11, "0000010000000000080044944eeba72e2aba000000012e0b3836005404b0e0301a08000000e3ff5f163ee340b7679500800000000000000101013c5811039e15775027ecce66fd792bbf0e5bf5ff1b0816f3f6db1c000100000000000000497400000000000000065ecc326d3a09ffc2c65400"}, 0x80) sendmmsg$sock(r1, &(0x7f0000001300)=[{{0x0, 0x0, &(0x7f0000000000)=[{&(0x7f0000000180)="db40714d531db941d0f13c715c31", 0xe}], 0x1}}, {{0x0, 0x0, &(0x7f0000000580)=[{&(0x7f0000000280)='M', 0x10012}], 0x1, &(0x7f00000005c0)=[@timestamping={{0x14}}], 0x18}}], 0x2, 0x8000000) r2 = socket(0x10, 0x3, 0x0) accept4$alg(r2, 0x0, 0x0, 0x0) r3 = socket(0x10, 0x3, 0x0) setsockopt$netlink_NETLINK_TX_RING(r3, 0x10e, 0xc, &(0x7f0000000040)={0x7ff}, 0x17f) setsockopt$inet_tcp_int(0xffffffffffffffff, 0x6, 0xa, &(0x7f0000000600)=0x665, 0x4) r4 = socket$inet(0x2, 0x1, 0x0) setsockopt$inet_mreqn(r4, 0x0, 0x27, &(0x7f0000000000)={@multicast1, @local}, 0xc) setsockopt$inet_mreqn(r4, 0x0, 0x27, &(0x7f0000000100)={@multicast2, @local}, 0xc) setsockopt$inet_msfilter(r4, 0x0, 0x29, &(0x7f0000000300)={@multicast1, @local}, 0x10) setsockopt$inet_mreqn(r4, 0x0, 0x27, &(0x7f0000000080)={@multicast1, @local}, 0xc) sendmsg$inet6(r3, &(0x7f00000005c0)={&(0x7f0000000200)={0xa, 0x4e21, 0x1, @rand_addr=' \x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02', 0xd1d}, 0x1c, &(0x7f00000003c0)=[{&(0x7f0000000240)="06abb194357de960932c626883fc9cc0d21a6f4e74a1796c235445019cd70e949efe4f74313cab4c6c9692d3cf2075eacfbc4c4169115d7cf080047f097892f4fb7849091fcbb12ea15024a682854891ecc575844dcb2de04b1f9686e04228740ab4aefe784c7bc91aacbc13c8ec6301a0829e0fa49f92d9c173406ae400d0a9f7879c3b4a00bfa0ef2cc548afbd0391395b7826492d8910774aa160077b8ddf194a4245022c4fa57cc01a27772c1c9e5e3e2ee95a577d", 0xb7}, {&(0x7f0000000340)="4f4a8228409fb32432c3497c95c4c7a721ed176949e04d7a6f08dc76e5b3a06ee6adb553a53068a5f7eb49ecbe3e98bcfefe5fab5dd6cfa2f40e9e8522b3aca7f6f40417a94585483a5bc1ed7721e141bdb1d23ade66287d31fc926dd32cea5a639b", 0x62}], 0x2, &(0x7f0000000640)=ANY=[@ANYBLOB="8800000000000000000000000000000000000080000000000000fe8000000000000000000000000000aafe8000000000000000000000000000e571622d68a4bebbfe8000000000000000000000000000aa00000000000000000000000000000001fe8000000000000000000000000000aaff010000000000000000000000000001100100000000000029000000040000fc48f27e000000006d346d6a562611ef02d05204010381e555c1f244c05ed0e732e8c7ad95704c71e41390cd236df39fbfd450955fb79f07cdcef3cf21c672bb41377f77aa000000001f3d7f9e31707f7e1f49770e640b9eabb062e51ccb6076cd68150c69233abc74316848940b0cff6444bd71b6bfebca257d712ac4e50b27f97050f70b920866f6eebea4ed849316dcd81f3acd557d9800ef34d5511387b85184161b5ab327f16feaa7277586cea4103c6fd746ef3a23de07c7662f548eb220b705234ac799915c8e6b2b7e53d3e1f21c5e39273656c0159daee3cb38ff02539688af9626c5222c816ae180df9aad7458081020e1dae5c38176f264b7884e000000001400000000000000290000003e0000000500000000000000acb7e23a27f7bd8d5802000000000000004d4d91dc2406675c0196694ea94a6c8fdd658175d0f5f90d6eab40ddbbc2a41745db929dbc2ea097ff9e46becf3719546c7c921efdd18e3ad1a6d1192d5b7495afaf20175fe88afd40e460fbdddee80066d0de3a65a32900e11647ed019d60fad359fae1972fdb6f65cbc3503bbdf93d8bcddbbbaf502e04bf32c4e6648a1b2cebf55b757876730b1526e3889c5a05f5507e2cd8a31e8021c9151644e2091891ae7bf313a88025a8c6fe013bdab112c3211f33bd93f6caf6fa15b7060ee166980baa5ccf7764759aa1767bf6c8f5683ca5a79dd1f69fec676451e8531b18ae24f4ff5a15d93957cd771d0072f99c6905e81a1b7928e264a9ff7a0552da170b297559bca76b4038c38039222131fbe6929bf6ff17"], 0x25f}, 0x20000000) ioctl$sock_SIOCGIFVLAN_ADD_VLAN_CMD(r4, 0x8982, &(0x7f0000000140)={0x0, 'vlan1\x00', {}, 0x3f}) sendto$inet6(r3, &(0x7f0000000040)="1c0000001200050f0c1000000049b23e9b200a00080001e000000001", 0x1c, 0x0, 0x0, 0x0) r5 = socket$inet_udp(0x2, 0x2, 0x0) bind$inet(r5, &(0x7f00000001c0)={0x2, 0x0, @local}, 0x10) 21:37:00 executing program 4: r0 = socket(0x11, 0x800000003, 0x8) bind(r0, &(0x7f0000000300)=@generic={0x11, "0000010000000000080044944eeba71a4976e252922cb18f6e2e2aba000000012e0b3836005404b0e0301a22961b61e3ff5f1c3ee340b7679500800000000000000101013c5811039e15775027ecce66fd792bbf0e5bf5ff1b0816b3f6db1c00010000000081c7a0b204c006ad8e5ecc326d3a09ffc2c65400"}, 0x80) r1 = socket(0x11, 0x800000003, 0x0) bind(r1, &(0x7f0000000080)=@generic={0x11, "0000010000000000080044944eeba72e2aba000000012e0b3836005404b0e0301a08000000e3ff5f163ee340b7679500800000000000000101013c5811039e15775027ecce66fd792bbf0e5bf5ff1b0816f3f6db1c000100000000000000497400000000000000065ecc326d3a09ffc2c65400"}, 0x80) sendmmsg$sock(r1, &(0x7f0000001300)=[{{0x0, 0x0, &(0x7f0000000000)=[{&(0x7f0000000180)="db40714d531db941d0f13c715c31", 0xe}], 0x1}}, {{0x0, 0x0, &(0x7f0000000580)=[{&(0x7f0000000280)='M', 0x10012}], 0x1, &(0x7f00000005c0)=[@timestamping={{0x14}}], 0x18}}], 0x2, 0x8000000) r2 = socket(0x10, 0x3, 0x0) accept4$alg(r2, 0x0, 0x0, 0x0) r3 = socket(0x10, 0x3, 0x0) setsockopt$netlink_NETLINK_TX_RING(r3, 0x10e, 0xc, &(0x7f0000000040)={0x7ff}, 0x17f) setsockopt$inet_tcp_int(0xffffffffffffffff, 0x6, 0xa, &(0x7f0000000600)=0x665, 0x4) r4 = socket$inet(0x2, 0x1, 0x0) setsockopt$inet_mreqn(r4, 0x0, 0x27, &(0x7f0000000000)={@multicast1, @local}, 0xc) setsockopt$inet_mreqn(r4, 0x0, 0x27, &(0x7f0000000100)={@multicast2, @local}, 0xc) setsockopt$inet_msfilter(r4, 0x0, 0x29, &(0x7f0000000300)={@multicast1, @local}, 0x10) setsockopt$inet_mreqn(r4, 0x0, 0x27, &(0x7f0000000080)={@multicast1, @local}, 0xc) sendmsg$inet6(r3, &(0x7f00000005c0)={&(0x7f0000000200)={0xa, 0x4e21, 0x1, @rand_addr=' \x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02', 0xd1d}, 0x1c, &(0x7f00000003c0)=[{&(0x7f0000000240)="06abb194357de960932c626883fc9cc0d21a6f4e74a1796c235445019cd70e949efe4f74313cab4c6c9692d3cf2075eacfbc4c4169115d7cf080047f097892f4fb7849091fcbb12ea15024a682854891ecc575844dcb2de04b1f9686e04228740ab4aefe784c7bc91aacbc13c8ec6301a0829e0fa49f92d9c173406ae400d0a9f7879c3b4a00bfa0ef2cc548afbd0391395b7826492d8910774aa160077b8ddf194a4245022c4fa57cc01a27772c1c9e5e3e2ee95a577d", 0xb7}, {&(0x7f0000000340)="4f4a8228409fb32432c3497c95c4c7a721ed176949e04d7a6f08dc76e5b3a06ee6adb553a53068a5f7eb49ecbe3e98bcfefe5fab5dd6cfa2f40e9e8522b3aca7f6f40417a94585483a5bc1ed7721e141bdb1d23ade66287d31fc926dd32cea5a639b", 0x62}], 0x2, &(0x7f0000000640)=ANY=[@ANYBLOB="8800000000000000000000000000000000000080000000000000fe8000000000000000000000000000aafe8000000000000000000000000000e571622d68a4bebbfe8000000000000000000000000000aa00000000000000000000000000000001fe8000000000000000000000000000aaff010000000000000000000000000001100100000000000029000000040000fc48f27e000000006d346d6a562611ef02d05204010381e555c1f244c05ed0e732e8c7ad95704c71e41390cd236df39fbfd450955fb79f07cdcef3cf21c672bb41377f77aa000000001f3d7f9e31707f7e1f49770e640b9eabb062e51ccb6076cd68150c69233abc74316848940b0cff6444bd71b6bfebca257d712ac4e50b27f97050f70b920866f6eebea4ed849316dcd81f3acd557d9800ef34d5511387b85184161b5ab327f16feaa7277586cea4103c6fd746ef3a23de07c7662f548eb220b705234ac799915c8e6b2b7e53d3e1f21c5e39273656c0159daee3cb38ff02539688af9626c5222c816ae180df9aad7458081020e1dae5c38176f264b7884e000000001400000000000000290000003e0000000500000000000000acb7e23a27f7bd8d5802000000000000004d4d91dc2406675c0196694ea94a6c8fdd658175d0f5f90d6eab40ddbbc2a41745db929dbc2ea097ff9e46becf3719546c7c921efdd18e3ad1a6d1192d5b7495afaf20175fe88afd40e460fbdddee80066d0de3a65a32900e11647ed019d60fad359fae1972fdb6f65cbc3503bbdf93d8bcddbbbaf502e04bf32c4e6648a1b2cebf55b757876730b1526e3889c5a05f5507e2cd8a31e8021c9151644e2091891ae7bf313a88025a8c6fe013bdab112c3211f33bd93f6caf6fa15b7060ee166980baa5ccf7764759aa1767bf6c8f5683ca5a79dd1f69fec676451e8531b18ae24f4ff5a15d93957cd771d0072f99c6905e81a1b7928e264a9ff7a0552da170b297559bca76b4038c38039222131fbe6929bf6ff17"], 0x25f}, 0x20000000) ioctl$sock_SIOCGIFVLAN_ADD_VLAN_CMD(r4, 0x8982, &(0x7f0000000140)={0x0, 'vlan1\x00', {}, 0x3f}) sendto$inet6(r3, &(0x7f0000000040)="1c0000001200050f0c1000000049b23e9b200a00080001e000000001", 0x1c, 0x0, 0x0, 0x0) r5 = socket$inet_udp(0x2, 0x2, 0x0) bind$inet(r5, &(0x7f00000001c0)={0x2, 0x0, @local}, 0x10) 21:37:00 executing program 2: r0 = openat$vmci(0xffffffffffffff9c, &(0x7f0000000380), 0x2, 0x0) ioctl$IOCTL_VMCI_VERSION2(r0, 0x7a7, &(0x7f0000000000)=0x90000) ioctl$IOCTL_VMCI_INIT_CONTEXT(r0, 0x7a0, &(0x7f0000000040)={@hyper}) ioctl$IOCTL_VMCI_QUEUEPAIR_ALLOC(r0, 0x7a8, &(0x7f0000000180)={{@hyper}, @any, 0x0, 0x0, 0x2}) r1 = openat$vmci(0xffffffffffffff9c, &(0x7f0000000380), 0x2, 0x0) ioctl$IOCTL_VMCI_VERSION2(r1, 0x7a7, &(0x7f0000000000)=0x90000) ioctl$IOCTL_VMCI_INIT_CONTEXT(r1, 0x7a0, &(0x7f0000000100)={@hyper}) ioctl$IOCTL_VMCI_QUEUEPAIR_ALLOC(r1, 0x7a8, &(0x7f00000000c0)={{@host}, @host, 0x0, 0x0, 0x5}) ioctl$IOCTL_VMCI_QUEUEPAIR_ALLOC(r1, 0x7a8, &(0x7f0000000180)={{@hyper}, @any, 0x0, 0x0, 0x2}) 21:37:00 executing program 0: r0 = socket$nl_generic(0x10, 0x3, 0x10) r1 = syz_genetlink_get_family_id$ethtool(&(0x7f0000000080), 0xffffffffffffffff) sendmsg$ETHTOOL_MSG_RINGS_SET(r0, &(0x7f0000000240)={0x0, 0x0, &(0x7f0000000200)={&(0x7f0000000100)={0x44, r1, 0x1, 0x0, 0x0, {}, [@ETHTOOL_A_RINGS_RX={0x8, 0x6, 0x401}, @ETHTOOL_A_RINGS_RX_JUMBO={0x8, 0x8, 0x7f}, @ETHTOOL_A_RINGS_RX_MINI={0x8, 0x7, 0x3}, @ETHTOOL_A_RINGS_HEADER={0x18, 0x1, 0x0, 0x1, [@ETHTOOL_A_HEADER_DEV_NAME={0x14, 0x2, 'wlan0\x00'}]}]}, 0x44}}, 0x0) 21:37:00 executing program 5: r0 = syz_open_dev$video(&(0x7f0000000000), 0x7ff, 0x0) ioctl$VIDIOC_ENUM_FRAMEINTERVALS(r0, 0xc034564b, &(0x7f00000001c0)={0x0, 0x31364d4e, 0x280, 0x1e0, 0x0, @stepwise}) 21:37:00 executing program 3: r0 = openat$vhost_vsock(0xffffffffffffff9c, &(0x7f0000000140), 0x2, 0x0) ioctl$VHOST_SET_VRING_BASE(r0, 0xaf01, 0x0) ioctl$VHOST_SET_VRING_ADDR(r0, 0x4028af11, &(0x7f0000000040)={0x1, 0x0, 0x0, &(0x7f0000000200)=""/86, 0x0}) ioctl$VHOST_SET_VRING_ADDR(r0, 0x4028af11, &(0x7f0000000440)={0x0, 0x0, 0x0, &(0x7f0000000340)=""/254, 0x0}) ioctl$VHOST_SET_MEM_TABLE(r0, 0x4008af03, &(0x7f0000001800)=ANY=[]) ioctl$VHOST_VSOCK_SET_RUNNING(r0, 0x4004af61, &(0x7f00000006c0)=0x5) ioctl$VHOST_SET_MEM_TABLE(r0, 0x4008af03, &(0x7f0000000980)={0x1, 0x0, [{0x0, 0x0, 0x0}]}) ioctl$VHOST_SET_FEATURES(r0, 0x4008af00, &(0x7f0000000000)=0x4000000) 21:37:00 executing program 1: r0 = socket(0x11, 0x800000003, 0x0) bind(r0, &(0x7f0000000080)=@generic={0x11, "0000010000000000080044944eeba71a4976e252922cb18f6e2e2aba000000012e0b3836005404b0e0301a4ce875f2e3ff5f163ee340b7679500800000000000000101013c5811039e15775027ecce66fd792bbf0e5bf5ff1b0816f3f6db1c00010000000000000049740000000000000006ad8e5ecc326d3a09ffc2c654"}, 0x80) getsockname$packet(r0, &(0x7f00000003c0)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @dev}, &(0x7f0000000000)=0x14) r2 = socket(0x10, 0x3, 0x0) sendmsg$nl_route_sched(r2, &(0x7f0000000800)={0x0, 0x0, &(0x7f0000000780)={&(0x7f0000000200)=@newqdisc={0xfc, 0x24, 0xf0b, 0x0, 0x0, {0x0, 0x0, 0x0, r1, {}, {0xffff, 0xffff}}, [@qdisc_kind_options=@q_netem={{0xa}, {0xcc, 0x2, {{}, [@TCA_NETEM_RATE64={0xc, 0x8, 0x511c2314df7b9d57}, @TCA_NETEM_RATE={0x14, 0x6, {0x800, 0xfffffffe, 0x3}}, @TCA_NETEM_LOSS={0x5c, 0x5, 0x0, 0x1, [@NETEM_LOSS_GI={0x18, 0x1, {0x6, 0x80000000, 0x3f, 0x3}}, @NETEM_LOSS_GE={0x14, 0x2, {0x101, 0x1, 0x7, 0x12415c9f}}, @NETEM_LOSS_GI={0x18, 0x1, {0xffffffff, 0x0, 0x5, 0x3, 0x3}}, @NETEM_LOSS_GE={0x14, 0x2, {0x1f, 0x8, 0x1, 0x8000}}]}, @TCA_NETEM_CORRUPT={0xc, 0x4, {0x2, 0x3}}, @TCA_NETEM_CORR={0x10, 0x1, {0x6, 0xfffffffc, 0x2}}, @TCA_NETEM_LOSS={0x18, 0x5, 0x0, 0x1, [@NETEM_LOSS_GE={0x14, 0x2, {0x800, 0x8, 0x400, 0xf4fa}}]}]}}}]}, 0xfc}}, 0x0) 21:37:00 executing program 0: r0 = socket$nl_generic(0x10, 0x3, 0x10) r1 = syz_genetlink_get_family_id$ethtool(&(0x7f0000000080), 0xffffffffffffffff) sendmsg$ETHTOOL_MSG_RINGS_SET(r0, &(0x7f0000000240)={0x0, 0x0, &(0x7f0000000200)={&(0x7f0000000100)={0x44, r1, 0x1, 0x0, 0x0, {}, [@ETHTOOL_A_RINGS_RX={0x8, 0x6, 0x401}, @ETHTOOL_A_RINGS_RX_JUMBO={0x8, 0x8, 0x7f}, @ETHTOOL_A_RINGS_RX_MINI={0x8, 0x7, 0x3}, @ETHTOOL_A_RINGS_HEADER={0x18, 0x1, 0x0, 0x1, [@ETHTOOL_A_HEADER_DEV_NAME={0x14, 0x2, 'wlan0\x00'}]}]}, 0x44}}, 0x0) 21:37:00 executing program 5: r0 = syz_open_dev$video(&(0x7f0000000000), 0x7ff, 0x0) ioctl$VIDIOC_ENUM_FRAMEINTERVALS(r0, 0xc034564b, &(0x7f00000001c0)={0x0, 0x31364d4e, 0x280, 0x1e0, 0x0, @stepwise}) 21:37:00 executing program 2: r0 = openat$vmci(0xffffffffffffff9c, &(0x7f0000000380), 0x2, 0x0) ioctl$IOCTL_VMCI_VERSION2(r0, 0x7a7, &(0x7f0000000000)=0x90000) ioctl$IOCTL_VMCI_INIT_CONTEXT(r0, 0x7a0, &(0x7f0000000040)={@hyper}) ioctl$IOCTL_VMCI_QUEUEPAIR_ALLOC(r0, 0x7a8, &(0x7f0000000180)={{@hyper}, @any, 0x0, 0x0, 0x2}) r1 = openat$vmci(0xffffffffffffff9c, &(0x7f0000000380), 0x2, 0x0) ioctl$IOCTL_VMCI_VERSION2(r1, 0x7a7, &(0x7f0000000000)=0x90000) ioctl$IOCTL_VMCI_INIT_CONTEXT(r1, 0x7a0, &(0x7f0000000100)={@hyper}) ioctl$IOCTL_VMCI_QUEUEPAIR_ALLOC(r1, 0x7a8, &(0x7f00000000c0)={{@host}, @host, 0x0, 0x0, 0x5}) ioctl$IOCTL_VMCI_QUEUEPAIR_ALLOC(r1, 0x7a8, &(0x7f0000000180)={{@hyper}, @any, 0x0, 0x0, 0x2}) 21:37:00 executing program 3: r0 = openat$vhost_vsock(0xffffffffffffff9c, &(0x7f0000000140), 0x2, 0x0) ioctl$VHOST_SET_VRING_BASE(r0, 0xaf01, 0x0) ioctl$VHOST_SET_VRING_ADDR(r0, 0x4028af11, &(0x7f0000000040)={0x1, 0x0, 0x0, &(0x7f0000000200)=""/86, 0x0}) ioctl$VHOST_SET_VRING_ADDR(r0, 0x4028af11, &(0x7f0000000440)={0x0, 0x0, 0x0, &(0x7f0000000340)=""/254, 0x0}) ioctl$VHOST_SET_MEM_TABLE(r0, 0x4008af03, &(0x7f0000001800)=ANY=[]) ioctl$VHOST_VSOCK_SET_RUNNING(r0, 0x4004af61, &(0x7f00000006c0)=0x5) ioctl$VHOST_SET_MEM_TABLE(r0, 0x4008af03, &(0x7f0000000980)={0x1, 0x0, [{0x0, 0x0, 0x0}]}) ioctl$VHOST_SET_FEATURES(r0, 0x4008af00, &(0x7f0000000000)=0x4000000) 21:37:00 executing program 1: r0 = socket(0x11, 0x800000003, 0x0) bind(r0, &(0x7f0000000080)=@generic={0x11, "0000010000000000080044944eeba71a4976e252922cb18f6e2e2aba000000012e0b3836005404b0e0301a4ce875f2e3ff5f163ee340b7679500800000000000000101013c5811039e15775027ecce66fd792bbf0e5bf5ff1b0816f3f6db1c00010000000000000049740000000000000006ad8e5ecc326d3a09ffc2c654"}, 0x80) getsockname$packet(r0, &(0x7f00000003c0)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @dev}, &(0x7f0000000000)=0x14) r2 = socket(0x10, 0x3, 0x0) sendmsg$nl_route_sched(r2, &(0x7f0000000800)={0x0, 0x0, &(0x7f0000000780)={&(0x7f0000000200)=@newqdisc={0xfc, 0x24, 0xf0b, 0x0, 0x0, {0x0, 0x0, 0x0, r1, {}, {0xffff, 0xffff}}, [@qdisc_kind_options=@q_netem={{0xa}, {0xcc, 0x2, {{}, [@TCA_NETEM_RATE64={0xc, 0x8, 0x511c2314df7b9d57}, @TCA_NETEM_RATE={0x14, 0x6, {0x800, 0xfffffffe, 0x3}}, @TCA_NETEM_LOSS={0x5c, 0x5, 0x0, 0x1, [@NETEM_LOSS_GI={0x18, 0x1, {0x6, 0x80000000, 0x3f, 0x3}}, @NETEM_LOSS_GE={0x14, 0x2, {0x101, 0x1, 0x7, 0x12415c9f}}, @NETEM_LOSS_GI={0x18, 0x1, {0xffffffff, 0x0, 0x5, 0x3, 0x3}}, @NETEM_LOSS_GE={0x14, 0x2, {0x1f, 0x8, 0x1, 0x8000}}]}, @TCA_NETEM_CORRUPT={0xc, 0x4, {0x2, 0x3}}, @TCA_NETEM_CORR={0x10, 0x1, {0x6, 0xfffffffc, 0x2}}, @TCA_NETEM_LOSS={0x18, 0x5, 0x0, 0x1, [@NETEM_LOSS_GE={0x14, 0x2, {0x800, 0x8, 0x400, 0xf4fa}}]}]}}}]}, 0xfc}}, 0x0) 21:37:01 executing program 4: r0 = openat$vhost_vsock(0xffffffffffffff9c, &(0x7f0000000140), 0x2, 0x0) ioctl$VHOST_SET_VRING_BASE(r0, 0xaf01, 0x0) ioctl$VHOST_SET_VRING_ADDR(r0, 0x4028af11, &(0x7f0000000040)={0x1, 0x0, 0x0, &(0x7f0000000200)=""/86, 0x0}) ioctl$VHOST_SET_VRING_ADDR(r0, 0x4028af11, &(0x7f0000000440)={0x0, 0x0, 0x0, &(0x7f0000000340)=""/254, 0x0}) ioctl$VHOST_SET_MEM_TABLE(r0, 0x4008af03, &(0x7f0000001800)=ANY=[]) ioctl$VHOST_VSOCK_SET_RUNNING(r0, 0x4004af61, &(0x7f00000006c0)=0x5) ioctl$VHOST_SET_MEM_TABLE(r0, 0x4008af03, &(0x7f0000000980)={0x1, 0x0, [{0x0, 0x0, 0x0}]}) ioctl$VHOST_SET_FEATURES(r0, 0x4008af00, &(0x7f0000000000)=0x4000000) 21:37:01 executing program 0: r0 = socket$nl_generic(0x10, 0x3, 0x10) r1 = syz_genetlink_get_family_id$ethtool(&(0x7f0000000080), 0xffffffffffffffff) sendmsg$ETHTOOL_MSG_RINGS_SET(r0, &(0x7f0000000240)={0x0, 0x0, &(0x7f0000000200)={&(0x7f0000000100)={0x44, r1, 0x1, 0x0, 0x0, {}, [@ETHTOOL_A_RINGS_RX={0x8, 0x6, 0x401}, @ETHTOOL_A_RINGS_RX_JUMBO={0x8, 0x8, 0x7f}, @ETHTOOL_A_RINGS_RX_MINI={0x8, 0x7, 0x3}, @ETHTOOL_A_RINGS_HEADER={0x18, 0x1, 0x0, 0x1, [@ETHTOOL_A_HEADER_DEV_NAME={0x14, 0x2, 'wlan0\x00'}]}]}, 0x44}}, 0x0) 21:37:01 executing program 5: r0 = syz_open_dev$video(&(0x7f0000000000), 0x7ff, 0x0) ioctl$VIDIOC_ENUM_FRAMEINTERVALS(r0, 0xc034564b, &(0x7f00000001c0)={0x0, 0x31364d4e, 0x280, 0x1e0, 0x0, @stepwise}) 21:37:01 executing program 1: r0 = socket(0x11, 0x800000003, 0x0) bind(r0, &(0x7f0000000080)=@generic={0x11, "0000010000000000080044944eeba71a4976e252922cb18f6e2e2aba000000012e0b3836005404b0e0301a4ce875f2e3ff5f163ee340b7679500800000000000000101013c5811039e15775027ecce66fd792bbf0e5bf5ff1b0816f3f6db1c00010000000000000049740000000000000006ad8e5ecc326d3a09ffc2c654"}, 0x80) getsockname$packet(r0, &(0x7f00000003c0)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @dev}, &(0x7f0000000000)=0x14) r2 = socket(0x10, 0x3, 0x0) sendmsg$nl_route_sched(r2, &(0x7f0000000800)={0x0, 0x0, &(0x7f0000000780)={&(0x7f0000000200)=@newqdisc={0xfc, 0x24, 0xf0b, 0x0, 0x0, {0x0, 0x0, 0x0, r1, {}, {0xffff, 0xffff}}, [@qdisc_kind_options=@q_netem={{0xa}, {0xcc, 0x2, {{}, [@TCA_NETEM_RATE64={0xc, 0x8, 0x511c2314df7b9d57}, @TCA_NETEM_RATE={0x14, 0x6, {0x800, 0xfffffffe, 0x3}}, @TCA_NETEM_LOSS={0x5c, 0x5, 0x0, 0x1, [@NETEM_LOSS_GI={0x18, 0x1, {0x6, 0x80000000, 0x3f, 0x3}}, @NETEM_LOSS_GE={0x14, 0x2, {0x101, 0x1, 0x7, 0x12415c9f}}, @NETEM_LOSS_GI={0x18, 0x1, {0xffffffff, 0x0, 0x5, 0x3, 0x3}}, @NETEM_LOSS_GE={0x14, 0x2, {0x1f, 0x8, 0x1, 0x8000}}]}, @TCA_NETEM_CORRUPT={0xc, 0x4, {0x2, 0x3}}, @TCA_NETEM_CORR={0x10, 0x1, {0x6, 0xfffffffc, 0x2}}, @TCA_NETEM_LOSS={0x18, 0x5, 0x0, 0x1, [@NETEM_LOSS_GE={0x14, 0x2, {0x800, 0x8, 0x400, 0xf4fa}}]}]}}}]}, 0xfc}}, 0x0) 21:37:01 executing program 2: r0 = openat$vhost_vsock(0xffffffffffffff9c, &(0x7f0000000140), 0x2, 0x0) ioctl$VHOST_SET_VRING_BASE(r0, 0xaf01, 0x0) ioctl$VHOST_SET_VRING_ADDR(r0, 0x4028af11, &(0x7f0000000040)={0x1, 0x0, 0x0, &(0x7f0000000200)=""/86, 0x0}) ioctl$VHOST_SET_VRING_ADDR(r0, 0x4028af11, &(0x7f0000000440)={0x0, 0x0, 0x0, &(0x7f0000000340)=""/254, 0x0}) ioctl$VHOST_SET_MEM_TABLE(r0, 0x4008af03, &(0x7f0000001800)=ANY=[]) ioctl$VHOST_VSOCK_SET_RUNNING(r0, 0x4004af61, &(0x7f00000006c0)=0x5) ioctl$VHOST_SET_MEM_TABLE(r0, 0x4008af03, &(0x7f0000000980)={0x1, 0x0, [{0x0, 0x0, 0x0}]}) ioctl$VHOST_SET_FEATURES(r0, 0x4008af00, &(0x7f0000000000)=0x4000000) 21:37:01 executing program 0: r0 = socket$nl_generic(0x10, 0x3, 0x10) r1 = syz_genetlink_get_family_id$ethtool(&(0x7f0000000080), 0xffffffffffffffff) sendmsg$ETHTOOL_MSG_RINGS_SET(r0, &(0x7f0000000240)={0x0, 0x0, &(0x7f0000000200)={&(0x7f0000000100)={0x44, r1, 0x1, 0x0, 0x0, {}, [@ETHTOOL_A_RINGS_RX={0x8, 0x6, 0x401}, @ETHTOOL_A_RINGS_RX_JUMBO={0x8, 0x8, 0x7f}, @ETHTOOL_A_RINGS_RX_MINI={0x8, 0x7, 0x3}, @ETHTOOL_A_RINGS_HEADER={0x18, 0x1, 0x0, 0x1, [@ETHTOOL_A_HEADER_DEV_NAME={0x14, 0x2, 'wlan0\x00'}]}]}, 0x44}}, 0x0) 21:37:01 executing program 3: r0 = openat$vhost_vsock(0xffffffffffffff9c, &(0x7f0000000140), 0x2, 0x0) ioctl$VHOST_SET_VRING_BASE(r0, 0xaf01, 0x0) ioctl$VHOST_SET_VRING_ADDR(r0, 0x4028af11, &(0x7f0000000040)={0x1, 0x0, 0x0, &(0x7f0000000200)=""/86, 0x0}) ioctl$VHOST_SET_VRING_ADDR(r0, 0x4028af11, &(0x7f0000000440)={0x0, 0x0, 0x0, &(0x7f0000000340)=""/254, 0x0}) ioctl$VHOST_SET_MEM_TABLE(r0, 0x4008af03, &(0x7f0000001800)=ANY=[]) ioctl$VHOST_VSOCK_SET_RUNNING(r0, 0x4004af61, &(0x7f00000006c0)=0x5) ioctl$VHOST_SET_MEM_TABLE(r0, 0x4008af03, &(0x7f0000000980)={0x1, 0x0, [{0x0, 0x0, 0x0}]}) ioctl$VHOST_SET_FEATURES(r0, 0x4008af00, &(0x7f0000000000)=0x4000000) 21:37:01 executing program 4: r0 = openat$vhost_vsock(0xffffffffffffff9c, &(0x7f0000000140), 0x2, 0x0) ioctl$VHOST_SET_VRING_BASE(r0, 0xaf01, 0x0) ioctl$VHOST_SET_VRING_ADDR(r0, 0x4028af11, &(0x7f0000000040)={0x1, 0x0, 0x0, &(0x7f0000000200)=""/86, 0x0}) ioctl$VHOST_SET_VRING_ADDR(r0, 0x4028af11, &(0x7f0000000440)={0x0, 0x0, 0x0, &(0x7f0000000340)=""/254, 0x0}) ioctl$VHOST_SET_MEM_TABLE(r0, 0x4008af03, &(0x7f0000001800)=ANY=[]) ioctl$VHOST_VSOCK_SET_RUNNING(r0, 0x4004af61, &(0x7f00000006c0)=0x5) ioctl$VHOST_SET_MEM_TABLE(r0, 0x4008af03, &(0x7f0000000980)={0x1, 0x0, [{0x0, 0x0, 0x0}]}) ioctl$VHOST_SET_FEATURES(r0, 0x4008af00, &(0x7f0000000000)=0x4000000) 21:37:01 executing program 5: r0 = syz_open_dev$video(&(0x7f0000000000), 0x7ff, 0x0) ioctl$VIDIOC_ENUM_FRAMEINTERVALS(r0, 0xc034564b, &(0x7f00000001c0)={0x0, 0x31364d4e, 0x280, 0x1e0, 0x0, @stepwise}) 21:37:01 executing program 1: r0 = socket(0x11, 0x800000003, 0x0) bind(r0, &(0x7f0000000080)=@generic={0x11, "0000010000000000080044944eeba71a4976e252922cb18f6e2e2aba000000012e0b3836005404b0e0301a4ce875f2e3ff5f163ee340b7679500800000000000000101013c5811039e15775027ecce66fd792bbf0e5bf5ff1b0816f3f6db1c00010000000000000049740000000000000006ad8e5ecc326d3a09ffc2c654"}, 0x80) getsockname$packet(r0, &(0x7f00000003c0)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @dev}, &(0x7f0000000000)=0x14) r2 = socket(0x10, 0x3, 0x0) sendmsg$nl_route_sched(r2, &(0x7f0000000800)={0x0, 0x0, &(0x7f0000000780)={&(0x7f0000000200)=@newqdisc={0xfc, 0x24, 0xf0b, 0x0, 0x0, {0x0, 0x0, 0x0, r1, {}, {0xffff, 0xffff}}, [@qdisc_kind_options=@q_netem={{0xa}, {0xcc, 0x2, {{}, [@TCA_NETEM_RATE64={0xc, 0x8, 0x511c2314df7b9d57}, @TCA_NETEM_RATE={0x14, 0x6, {0x800, 0xfffffffe, 0x3}}, @TCA_NETEM_LOSS={0x5c, 0x5, 0x0, 0x1, [@NETEM_LOSS_GI={0x18, 0x1, {0x6, 0x80000000, 0x3f, 0x3}}, @NETEM_LOSS_GE={0x14, 0x2, {0x101, 0x1, 0x7, 0x12415c9f}}, @NETEM_LOSS_GI={0x18, 0x1, {0xffffffff, 0x0, 0x5, 0x3, 0x3}}, @NETEM_LOSS_GE={0x14, 0x2, {0x1f, 0x8, 0x1, 0x8000}}]}, @TCA_NETEM_CORRUPT={0xc, 0x4, {0x2, 0x3}}, @TCA_NETEM_CORR={0x10, 0x1, {0x6, 0xfffffffc, 0x2}}, @TCA_NETEM_LOSS={0x18, 0x5, 0x0, 0x1, [@NETEM_LOSS_GE={0x14, 0x2, {0x800, 0x8, 0x400, 0xf4fa}}]}]}}}]}, 0xfc}}, 0x0) 21:37:01 executing program 2: r0 = openat$vhost_vsock(0xffffffffffffff9c, &(0x7f0000000140), 0x2, 0x0) ioctl$VHOST_SET_VRING_BASE(r0, 0xaf01, 0x0) ioctl$VHOST_SET_VRING_ADDR(r0, 0x4028af11, &(0x7f0000000040)={0x1, 0x0, 0x0, &(0x7f0000000200)=""/86, 0x0}) ioctl$VHOST_SET_VRING_ADDR(r0, 0x4028af11, &(0x7f0000000440)={0x0, 0x0, 0x0, &(0x7f0000000340)=""/254, 0x0}) ioctl$VHOST_SET_MEM_TABLE(r0, 0x4008af03, &(0x7f0000001800)=ANY=[]) ioctl$VHOST_VSOCK_SET_RUNNING(r0, 0x4004af61, &(0x7f00000006c0)=0x5) ioctl$VHOST_SET_MEM_TABLE(r0, 0x4008af03, &(0x7f0000000980)={0x1, 0x0, [{0x0, 0x0, 0x0}]}) ioctl$VHOST_SET_FEATURES(r0, 0x4008af00, &(0x7f0000000000)=0x4000000) 21:37:01 executing program 0: mkdir(&(0x7f0000000100)='./file0\x00', 0x0) r0 = creat(&(0x7f00000001c0)='./file0/bus\x00', 0x0) fcntl$lock(r0, 0x7, &(0x7f0000027000)={0x1}) r1 = openat$procfs(0xffffffffffffff9c, &(0x7f0000000040)='/proc/locks\x00', 0x0, 0x0) lseek(r1, 0x1000000000000003, 0x0) 21:37:01 executing program 3: r0 = openat$vhost_vsock(0xffffffffffffff9c, &(0x7f0000000140), 0x2, 0x0) ioctl$VHOST_SET_VRING_BASE(r0, 0xaf01, 0x0) ioctl$VHOST_SET_VRING_ADDR(r0, 0x4028af11, &(0x7f0000000040)={0x1, 0x0, 0x0, &(0x7f0000000200)=""/86, 0x0}) ioctl$VHOST_SET_VRING_ADDR(r0, 0x4028af11, &(0x7f0000000440)={0x0, 0x0, 0x0, &(0x7f0000000340)=""/254, 0x0}) ioctl$VHOST_SET_MEM_TABLE(r0, 0x4008af03, &(0x7f0000001800)=ANY=[]) ioctl$VHOST_VSOCK_SET_RUNNING(r0, 0x4004af61, &(0x7f00000006c0)=0x5) ioctl$VHOST_SET_MEM_TABLE(r0, 0x4008af03, &(0x7f0000000980)={0x1, 0x0, [{0x0, 0x0, 0x0}]}) ioctl$VHOST_SET_FEATURES(r0, 0x4008af00, &(0x7f0000000000)=0x4000000) 21:37:01 executing program 4: r0 = openat$vhost_vsock(0xffffffffffffff9c, &(0x7f0000000140), 0x2, 0x0) ioctl$VHOST_SET_VRING_BASE(r0, 0xaf01, 0x0) ioctl$VHOST_SET_VRING_ADDR(r0, 0x4028af11, &(0x7f0000000040)={0x1, 0x0, 0x0, &(0x7f0000000200)=""/86, 0x0}) ioctl$VHOST_SET_VRING_ADDR(r0, 0x4028af11, &(0x7f0000000440)={0x0, 0x0, 0x0, &(0x7f0000000340)=""/254, 0x0}) ioctl$VHOST_SET_MEM_TABLE(r0, 0x4008af03, &(0x7f0000001800)=ANY=[]) ioctl$VHOST_VSOCK_SET_RUNNING(r0, 0x4004af61, &(0x7f00000006c0)=0x5) ioctl$VHOST_SET_MEM_TABLE(r0, 0x4008af03, &(0x7f0000000980)={0x1, 0x0, [{0x0, 0x0, 0x0}]}) ioctl$VHOST_SET_FEATURES(r0, 0x4008af00, &(0x7f0000000000)=0x4000000) 21:37:01 executing program 5: r0 = epoll_create1(0x0) mkdir(&(0x7f0000000400)='./file0\x00', 0x0) r1 = openat$fuse(0xffffffffffffff9c, &(0x7f0000002080), 0x42, 0x0) mount$fuse(0x0, &(0x7f0000002100)='./file0\x00', &(0x7f0000002000), 0x0, &(0x7f0000002240)=ANY=[@ANYBLOB='fd=', @ANYRESHEX=r1, @ANYBLOB=',rootmode=00000000000000000040000,user_id=', @ANYRESDEC=0x0, @ANYBLOB=',group_id=', @ANYRESDEC=0x0]) umount2(&(0x7f0000000080)='./file0\x00', 0x0) epoll_ctl$EPOLL_CTL_ADD(r0, 0x1, r1, &(0x7f00000000c0)) epoll_wait(r0, &(0x7f0000000000)=[{}], 0x1, 0x0) 21:37:02 executing program 2: r0 = openat$vhost_vsock(0xffffffffffffff9c, &(0x7f0000000140), 0x2, 0x0) ioctl$VHOST_SET_VRING_BASE(r0, 0xaf01, 0x0) ioctl$VHOST_SET_VRING_ADDR(r0, 0x4028af11, &(0x7f0000000040)={0x1, 0x0, 0x0, &(0x7f0000000200)=""/86, 0x0}) ioctl$VHOST_SET_VRING_ADDR(r0, 0x4028af11, &(0x7f0000000440)={0x0, 0x0, 0x0, &(0x7f0000000340)=""/254, 0x0}) ioctl$VHOST_SET_MEM_TABLE(r0, 0x4008af03, &(0x7f0000001800)=ANY=[]) ioctl$VHOST_VSOCK_SET_RUNNING(r0, 0x4004af61, &(0x7f00000006c0)=0x5) ioctl$VHOST_SET_MEM_TABLE(r0, 0x4008af03, &(0x7f0000000980)={0x1, 0x0, [{0x0, 0x0, 0x0}]}) ioctl$VHOST_SET_FEATURES(r0, 0x4008af00, &(0x7f0000000000)=0x4000000) 21:37:02 executing program 1: r0 = open(&(0x7f0000000200)='./file0\x00', 0x4008040, 0x0) r1 = gettid() fcntl$setownex(r0, 0xf, &(0x7f0000000080)={0x2, r1}) fcntl$setlease(r0, 0x400, 0x0) openat(0xffffffffffffff9c, &(0x7f00000002c0)='./file0\x00', 0x28483, 0x0) fcntl$setlease(r0, 0x400, 0x0) 21:37:02 executing program 3: r0 = socket$can_bcm(0x1d, 0x2, 0x2) ioctl$ifreq_SIOCGIFINDEX_batadv_hard(r0, 0x8932, &(0x7f0000000000)={'batadv_slave_1\x00'}) 21:37:02 executing program 0: mkdir(&(0x7f0000000100)='./file0\x00', 0x0) r0 = creat(&(0x7f00000001c0)='./file0/bus\x00', 0x0) fcntl$lock(r0, 0x7, &(0x7f0000027000)={0x1}) r1 = openat$procfs(0xffffffffffffff9c, &(0x7f0000000040)='/proc/locks\x00', 0x0, 0x0) lseek(r1, 0x1000000000000003, 0x0) 21:37:02 executing program 4: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$IPCTNL_MSG_EXP_DELETE(r0, &(0x7f0000000200)={0x0, 0x0, &(0x7f00000001c0)={&(0x7f0000000100)={0x18, 0x2, 0x2, 0x401, 0x0, 0x0, {0xa}, [@CTA_EXPECT_TUPLE={0x4}]}, 0x18}}, 0x0) 21:37:02 executing program 5: r0 = epoll_create1(0x0) mkdir(&(0x7f0000000400)='./file0\x00', 0x0) r1 = openat$fuse(0xffffffffffffff9c, &(0x7f0000002080), 0x42, 0x0) mount$fuse(0x0, &(0x7f0000002100)='./file0\x00', &(0x7f0000002000), 0x0, &(0x7f0000002240)=ANY=[@ANYBLOB='fd=', @ANYRESHEX=r1, @ANYBLOB=',rootmode=00000000000000000040000,user_id=', @ANYRESDEC=0x0, @ANYBLOB=',group_id=', @ANYRESDEC=0x0]) umount2(&(0x7f0000000080)='./file0\x00', 0x0) epoll_ctl$EPOLL_CTL_ADD(r0, 0x1, r1, &(0x7f00000000c0)) epoll_wait(r0, &(0x7f0000000000)=[{}], 0x1, 0x0) 21:37:02 executing program 2: r0 = syz_open_dev$vim2m(&(0x7f0000000240), 0x3, 0x2) ioctl$vim2m_VIDIOC_S_FMT(r0, 0xc0cc5604, &(0x7f0000000380)={0x3, @win={{}, 0x0, 0x0, &(0x7f0000000200), 0x1, &(0x7f0000000280)}}) 21:37:02 executing program 3: r0 = socket$can_bcm(0x1d, 0x2, 0x2) ioctl$ifreq_SIOCGIFINDEX_batadv_hard(r0, 0x8932, &(0x7f0000000000)={'batadv_slave_1\x00'}) 21:37:02 executing program 0: mkdir(&(0x7f0000000100)='./file0\x00', 0x0) r0 = creat(&(0x7f00000001c0)='./file0/bus\x00', 0x0) fcntl$lock(r0, 0x7, &(0x7f0000027000)={0x1}) r1 = openat$procfs(0xffffffffffffff9c, &(0x7f0000000040)='/proc/locks\x00', 0x0, 0x0) lseek(r1, 0x1000000000000003, 0x0) 21:37:02 executing program 4: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$IPCTNL_MSG_EXP_DELETE(r0, &(0x7f0000000200)={0x0, 0x0, &(0x7f00000001c0)={&(0x7f0000000100)={0x18, 0x2, 0x2, 0x401, 0x0, 0x0, {0xa}, [@CTA_EXPECT_TUPLE={0x4}]}, 0x18}}, 0x0) [ 2077.035149][ T7268] ===================================================== [ 2077.042300][ T7268] BUG: KMSAN: kernel-infoleak in _copy_to_user+0x1c9/0x270 [ 2077.049555][ T7268] _copy_to_user+0x1c9/0x270 [ 2077.054199][ T7268] v4l2_compat_put_array_args+0x155a/0x1670 [ 2077.060186][ T7268] video_usercopy+0x2332/0x2870 [ 2077.065067][ T7268] video_ioctl2+0x9f/0xb0 [ 2077.069422][ T7268] v4l2_ioctl+0x263/0x290 [ 2077.073781][ T7268] v4l2_compat_ioctl32+0x384/0x410 [ 2077.078925][ T7268] __se_compat_sys_ioctl+0x876/0x1150 [ 2077.084342][ T7268] __ia32_compat_sys_ioctl+0xd9/0x110 [ 2077.089757][ T7268] __do_fast_syscall_32+0x96/0xf0 [ 2077.094827][ T7268] do_fast_syscall_32+0x34/0x70 [ 2077.099723][ T7268] do_SYSENTER_32+0x1b/0x20 [ 2077.104269][ T7268] entry_SYSENTER_compat_after_hwframe+0x4d/0x5c [ 2077.110653][ T7268] [ 2077.112976][ T7268] Uninit was created at: [ 2077.117270][ T7268] __kmalloc_node+0xe03/0x14f0 [ 2077.122064][ T7268] kvmalloc_node+0x1b6/0x3a0 [ 2077.126759][ T7268] video_usercopy+0x1660/0x2870 [ 2077.131677][ T7268] video_ioctl2+0x9f/0xb0 [ 2077.136049][ T7268] v4l2_ioctl+0x263/0x290 [ 2077.140419][ T7268] v4l2_compat_ioctl32+0x384/0x410 [ 2077.145581][ T7268] __se_compat_sys_ioctl+0x876/0x1150 [ 2077.151004][ T7268] __ia32_compat_sys_ioctl+0xd9/0x110 [ 2077.156424][ T7268] __do_fast_syscall_32+0x96/0xf0 [ 2077.161494][ T7268] do_fast_syscall_32+0x34/0x70 [ 2077.166390][ T7268] do_SYSENTER_32+0x1b/0x20 [ 2077.170938][ T7268] entry_SYSENTER_compat_after_hwframe+0x4d/0x5c [ 2077.177319][ T7268] [ 2077.179642][ T7268] Bytes 0-7 of 16 are uninitialized [ 2077.184845][ T7268] Memory access of size 16 starts at ffff888018d45558 [ 2077.191611][ T7268] Data copied to user address 0000000020000214 [ 2077.197766][ T7268] [ 2077.200110][ T7268] CPU: 0 PID: 7268 Comm: syz-executor.2 Tainted: G W 5.17.0-rc4-syzkaller #0 [ 2077.210223][ T7268] Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 [ 2077.220305][ T7268] ===================================================== [ 2077.227246][ T7268] Disabling lock debugging due to kernel taint [ 2077.236282][ T7268] Kernel panic - not syncing: kmsan.panic set ... [ 2077.242728][ T7268] CPU: 0 PID: 7268 Comm: syz-executor.2 Tainted: G B W 5.17.0-rc4-syzkaller #0 [ 2077.252834][ T7268] Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 [ 2077.263491][ T7268] Call Trace: [ 2077.266903][ T7268] [ 2077.269855][ T7268] dump_stack_lvl+0x1ff/0x28e [ 2077.274603][ T7268] dump_stack+0x25/0x28 [ 2077.278815][ T7268] panic+0x487/0xe1f [ 2077.282765][ T7268] ? add_taint+0x181/0x210 [ 2077.287258][ T7268] ? _raw_spin_unlock_irqrestore+0x78/0xb0 [ 2077.293123][ T7268] kmsan_report+0x2e6/0x2f0 [ 2077.297707][ T7268] ? kmsan_internal_check_memory+0x251/0x540 [ 2077.303754][ T7268] ? kmsan_copy_to_user+0xe1/0xf0 [ 2077.308842][ T7268] ? _copy_to_user+0x1c9/0x270 [ 2077.313665][ T7268] ? v4l2_compat_put_array_args+0x155a/0x1670 [ 2077.319788][ T7268] ? video_usercopy+0x2332/0x2870 [ 2077.324856][ T7268] ? video_ioctl2+0x9f/0xb0 [ 2077.329398][ T7268] ? v4l2_ioctl+0x263/0x290 [ 2077.333938][ T7268] ? v4l2_compat_ioctl32+0x384/0x410 [ 2077.339275][ T7268] ? __se_compat_sys_ioctl+0x876/0x1150 [ 2077.344876][ T7268] ? __ia32_compat_sys_ioctl+0xd9/0x110 [ 2077.350477][ T7268] ? __do_fast_syscall_32+0x96/0xf0 [ 2077.355737][ T7268] ? do_fast_syscall_32+0x34/0x70 [ 2077.360834][ T7268] ? do_SYSENTER_32+0x1b/0x20 [ 2077.365564][ T7268] ? entry_SYSENTER_compat_after_hwframe+0x4d/0x5c [ 2077.372148][ T7268] ? kmsan_get_metadata+0x33/0x220 [ 2077.377324][ T7268] ? kmsan_internal_set_shadow_origin+0x5e/0xc0 [ 2077.383644][ T7268] ? kmsan_internal_poison_memory+0x82/0xa0 [ 2077.389604][ T7268] ? kmsan_internal_poison_memory+0x45/0xa0 [ 2077.395597][ T7268] ? kmsan_slab_alloc+0xe1/0x150 [ 2077.400599][ T7268] ? __kmalloc_node+0xe03/0x14f0 [ 2077.405591][ T7268] ? kvmalloc_node+0x1b6/0x3a0 [ 2077.410413][ T7268] ? video_usercopy+0x1660/0x2870 [ 2077.415483][ T7268] ? video_ioctl2+0x9f/0xb0 [ 2077.420029][ T7268] ? v4l2_ioctl+0x263/0x290 [ 2077.424573][ T7268] ? v4l2_compat_ioctl32+0x384/0x410 [ 2077.429913][ T7268] ? __se_compat_sys_ioctl+0x876/0x1150 [ 2077.435518][ T7268] ? kmsan_get_metadata+0x33/0x220 [ 2077.440700][ T7268] ? kmsan_get_metadata+0x33/0x220 [ 2077.445874][ T7268] ? kmsan_get_shadow_origin_ptr+0x9b/0xf0 [ 2077.451750][ T7268] kmsan_internal_check_memory+0x251/0x540 [ 2077.457632][ T7268] kmsan_copy_to_user+0xe1/0xf0 [ 2077.462540][ T7268] ? should_fail_usercopy+0x39/0x40 [ 2077.467788][ T7268] _copy_to_user+0x1c9/0x270 [ 2077.472444][ T7268] v4l2_compat_put_array_args+0x155a/0x1670 [ 2077.478406][ T7268] ? mutex_unlock+0x38/0x90 21:37:03 executing program 1: r0 = open(&(0x7f0000000200)='./file0\x00', 0x4008040, 0x0) r1 = gettid() fcntl$setownex(r0, 0xf, &(0x7f0000000080)={0x2, r1}) fcntl$setlease(r0, 0x400, 0x0) openat(0xffffffffffffff9c, &(0x7f00000002c0)='./file0\x00', 0x28483, 0x0) fcntl$setlease(r0, 0x400, 0x0) [ 2077.483003][ T7268] ? kmsan_get_metadata+0x33/0x220 [ 2077.488175][ T7268] ? kmsan_get_shadow_origin_ptr+0x9b/0xf0 [ 2077.494052][ T7268] video_usercopy+0x2332/0x2870 [ 2077.498972][ T7268] ? video_ioctl2+0xb0/0xb0 [ 2077.503534][ T7268] ? kmsan_get_metadata+0x33/0x220 [ 2077.508711][ T7268] video_ioctl2+0x9f/0xb0 [ 2077.513085][ T7268] ? trace_v4l2_qbuf+0x1c0/0x1c0 [ 2077.518068][ T7268] v4l2_ioctl+0x263/0x290 [ 2077.522439][ T7268] ? v4l2_poll+0x4c0/0x4c0 [ 2077.526892][ T7268] v4l2_compat_ioctl32+0x384/0x410 [ 2077.532057][ T7268] ? v4l2_poll+0x4c0/0x4c0 [ 2077.536525][ T7268] ? v4l2_compat_put_array_args+0x1670/0x1670 [ 2077.542654][ T7268] __se_compat_sys_ioctl+0x876/0x1150 [ 2077.548092][ T7268] ? kmsan_get_shadow_origin_ptr+0x9b/0xf0 [ 2077.554003][ T7268] __ia32_compat_sys_ioctl+0xd9/0x110 [ 2077.559435][ T7268] __do_fast_syscall_32+0x96/0xf0 [ 2077.564524][ T7268] do_fast_syscall_32+0x34/0x70 [ 2077.569438][ T7268] do_SYSENTER_32+0x1b/0x20 [ 2077.573996][ T7268] entry_SYSENTER_compat_after_hwframe+0x4d/0x5c [ 2077.580385][ T7268] RIP: 0023:0xf6f46549 [ 2077.584480][ T7268] Code: 03 74 c0 01 10 05 03 74 b8 01 10 06 03 74 b4 01 10 07 03 74 b0 01 10 08 03 74 d8 01 00 00 00 00 00 51 52 55 89 e5 0f 34 cd 80 <5d> 5a 59 c3 90 90 90 90 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 44 00 [ 2077.604137][ T7268] RSP: 002b:00000000f59405cc EFLAGS: 00000296 ORIG_RAX: 0000000000000036 [ 2077.612597][ T7268] RAX: ffffffffffffffda RBX: 0000000000000003 RCX: 00000000c0cc5604 [ 2077.620604][ T7268] RDX: 0000000020000380 RSI: 0000000000000000 RDI: 0000000000000000 [ 2077.628609][ T7268] RBP: 0000000000000000 R08: 0000000000000000 R09: 0000000000000000 [ 2077.636609][ T7268] R10: 0000000000000000 R11: 0000000000000000 R12: 0000000000000000 [ 2077.644607][ T7268] R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000000 [ 2077.652615][ T7268] [ 2077.655819][ T7268] Kernel Offset: disabled [ 2077.660146][ T7268] Rebooting in 86400 seconds..