Console Output
Skipping 12,143 KB..
Full LogTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTest
{"msg":"操作成功","code":200,"data":""}
[Pipeline] }
[Pipeline] // dir
[Pipeline] sh
+ rm -rf /root/workspace/params-submodule/xiamen-submodule/M015/slave@tmp
[Pipeline] sh
+ rm -rf /root/workspace/params-submodule/xiamen-submodule/M015/slave/params_submodule/
[Pipeline] echo
------------------------------------- M016压缩并上传,slave -------------------------------------------
[Pipeline] dir
Running in /root/workspace/params-submodule/xiamen-submodule/M016/slave
[Pipeline] {
[Pipeline] sh
+ cd /root/workspace/params-submodule/xiamen-submodule/M016/slave/params/
+ ls -d crane_align/ data_collection/ extrinsics/ fast_lio/ hardware/ hdmap/ hdmap_interface/ imv_spreader_detection/ lane_detection/ lidar_camera_fusion/ lidar_loc_v2/ master/ perception/ pncc_common_config/ pncc_port_related_config/ pncc_vehicle_related_config/ pointcloud/ prediction/ rslidar_sdk/ segmentation/ slave/ system-ros/
[Pipeline] echo
crane_align/
data_collection/
extrinsics/
fast_lio/
hardware/
hdmap/
hdmap_interface/
imv_spreader_detection/
lane_detection/
lidar_camera_fusion/
lidar_loc_v2/
master/
perception/
pncc_common_config/
pncc_port_related_config/
pncc_vehicle_related_config/
pointcloud/
prediction/
rslidar_sdk/
segmentation/
slave/
system-ros/
[Pipeline] echo
最终目录包含slave目录,进行合并操作
[Pipeline] sh
+ cp -r /root/workspace/params-submodule/xiamen-submodule/M016/slave/params/slave/camera_driver /root/workspace/params-submodule/xiamen-submodule/M016/slave/params/slave/recorder.toml /root/workspace/params-submodule/xiamen-submodule/M016/slave/params/slave/system-ros /root/workspace/params-submodule/xiamen-submodule/M016/slave/params/
[Pipeline] sh
+ mkdir -p params_orin_slave_M016_2026-03-23_12-10-52/
+ mv params/ params_orin_slave_M016_2026-03-23_12-10-52/
[Pipeline] sh
+ zip -rq params_orin_slave_M016_2026-03-23_12-10-52.zip params_orin_slave_M016_2026-03-23_12-10-52 ./version.json
[Pipeline] echo
/root/workspace/params-submodule/xiamen-submodule/M016/slave/params_orin_slave_M016_2026-03-23_12-10-52.zip,/root/workspace/params-submodule/xiamen-submodule/M016/slave/version.json
[Pipeline] sh
+ curl -X POST http://143.64.91.51:18081/prod-api/otaUploadFileAndVersion --form 'Content-Type="multipart/form-data"' --form 'file=@"/root/workspace/params-submodule/xiamen-submodule/M016/slave/params_orin_slave_M016_2026-03-23_12-10-52.zip"' --form 'version=@"/root/workspace/params-submodule/xiamen-submodule/M016/slave/version.json"'
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
100 74.6M 0 0 100 74.6M 0 62.1M 0:00:01 0:00:01 --:--:-- 62.1M
100 74.6M 0 0 100 74.6M 0 33.8M 0:00:02 0:00:02 --:--:-- 33.8M
100 74.6M 0 0 100 74.6M 0 23.2M 0:00:03 0:00:03 --:--:-- 23.2M
100 74.6M 0 0 100 74.6M 0 17.7M 0:00:04 0:00:04 --:--:-- 17.7M
100 74.6M 0 0 100 74.6M 0 14.3M 0:00:05 0:00:05 --:--:-- 14.3M
100 74.6M 0 0 100 74.6M 0 12.0M 0:00:06 0:00:06 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 10.3M 0:00:07 0:00:07 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 9306k 0:00:08 0:00:08 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 8294k 0:00:09 0:00:09 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 7481k 0:00:10 0:00:10 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 6814k 0:00:11 0:00:11 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 6255k 0:00:12 0:00:12 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 5781k 0:00:13 0:00:13 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 5374k 0:00:14 0:00:14 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 5021k 0:00:15 0:00:15 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 4710k 0:00:16 0:00:16 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 4436k 0:00:17 0:00:17 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 4193k 0:00:18 0:00:18 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 3974k 0:00:19 0:00:19 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 3778k 0:00:20 0:00:20 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 3599k 0:00:21 0:00:21 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 3437k 0:00:22 0:00:22 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 3289k 0:00:23 0:00:23 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 3153k 0:00:24 0:00:24 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 3028k 0:00:25 0:00:25 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 2912k 0:00:26 0:00:26 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 2805k 0:00:27 0:00:27 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 2706k 0:00:28 0:00:28 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 2613k 0:00:29 0:00:29 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 2527k 0:00:30 0:00:30 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 2446k 0:00:31 0:00:31 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 2370k 0:00:32 0:00:32 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 2298k 0:00:33 0:00:33 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 2231k 0:00:34 0:00:34 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 2168k 0:00:35 0:00:35 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 2108k 0:00:36 0:00:36 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 2051k 0:00:37 0:00:37 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1997k 0:00:38 0:00:38 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1946k 0:00:39 0:00:39 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1898k 0:00:40 0:00:40 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1852k 0:00:41 0:00:41 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1808k 0:00:42 0:00:42 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1766k 0:00:43 0:00:43 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1726k 0:00:44 0:00:44 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1688k 0:00:45 0:00:45 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1652k 0:00:46 0:00:46 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1617k 0:00:47 0:00:47 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1583k 0:00:48 0:00:48 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1551k 0:00:49 0:00:49 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1520k 0:00:50 0:00:50 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1490k 0:00:51 0:00:51 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1462k 0:00:52 0:00:52 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1434k 0:00:53 0:00:53 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1408k 0:00:54 0:00:54 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1382k 0:00:55 0:00:55 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1358k 0:00:56 0:00:56 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1334k 0:00:57 0:00:57 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1311k 0:00:58 0:00:58 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1289k 0:00:59 0:00:59 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1267k 0:01:00 0:01:00 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1247k 0:01:01 0:01:01 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1227k 0:01:02 0:01:02 --:--:-- 0
100 74.6M 0 43 100 74.6M 0 1212k 0:01:03 0:01:03 --:--:-- 9
100 74.6M 0 43 100 74.6M 0 1212k 0:01:03 0:01:03 --:--:-- 11
[Pipeline] echo
{"msg":"操作成功","code":200,"data":""}
[Pipeline] readJSON
[Pipeline] echo
[msg:操作成功, code:200, data:]
[Pipeline] echo
status:200
[Pipeline] echo
{"msg":"操作成功","code":200,"data":""}
[Pipeline] }
[Pipeline] // dir
[Pipeline] sh
+ rm -rf /root/workspace/params-submodule/xiamen-submodule/M016/slave@tmp
[Pipeline] sh
+ rm -rf /root/workspace/params-submodule/xiamen-submodule/M016/slave/params_submodule/
[Pipeline] echo
------------------------------------- M017压缩并上传,slave -------------------------------------------
[Pipeline] dir
Running in /root/workspace/params-submodule/xiamen-submodule/M017/slave
[Pipeline] {
[Pipeline] sh
+ cd /root/workspace/params-submodule/xiamen-submodule/M017/slave/params/
+ ls -d crane_align/ data_collection/ extrinsics/ fast_lio/ hardware/ hdmap/ hdmap_interface/ imv_spreader_detection/ lane_detection/ lidar_camera_fusion/ lidar_loc_v2/ master/ perception/ pncc_common_config/ pncc_port_related_config/ pncc_vehicle_related_config/ pointcloud/ prediction/ rslidar_sdk/ segmentation/ slave/ system-ros/
[Pipeline] echo
crane_align/
data_collection/
extrinsics/
fast_lio/
hardware/
hdmap/
hdmap_interface/
imv_spreader_detection/
lane_detection/
lidar_camera_fusion/
lidar_loc_v2/
master/
perception/
pncc_common_config/
pncc_port_related_config/
pncc_vehicle_related_config/
pointcloud/
prediction/
rslidar_sdk/
segmentation/
slave/
system-ros/
[Pipeline] echo
最终目录包含slave目录,进行合并操作
[Pipeline] sh
+ cp -r /root/workspace/params-submodule/xiamen-submodule/M017/slave/params/slave/camera_driver /root/workspace/params-submodule/xiamen-submodule/M017/slave/params/slave/recorder.toml /root/workspace/params-submodule/xiamen-submodule/M017/slave/params/slave/system-ros /root/workspace/params-submodule/xiamen-submodule/M017/slave/params/
[Pipeline] sh
+ mkdir -p params_orin_slave_M017_2026-03-23_12-10-52/
+ mv params/ params_orin_slave_M017_2026-03-23_12-10-52/
[Pipeline] sh
+ zip -rq params_orin_slave_M017_2026-03-23_12-10-52.zip params_orin_slave_M017_2026-03-23_12-10-52 ./version.json
[Pipeline] echo
/root/workspace/params-submodule/xiamen-submodule/M017/slave/params_orin_slave_M017_2026-03-23_12-10-52.zip,/root/workspace/params-submodule/xiamen-submodule/M017/slave/version.json
[Pipeline] sh
+ curl -X POST http://143.64.91.51:18081/prod-api/otaUploadFileAndVersion --form 'Content-Type="multipart/form-data"' --form 'file=@"/root/workspace/params-submodule/xiamen-submodule/M017/slave/params_orin_slave_M017_2026-03-23_12-10-52.zip"' --form 'version=@"/root/workspace/params-submodule/xiamen-submodule/M017/slave/version.json"'
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
100 74.6M 0 0 100 74.6M 0 62.1M 0:00:01 0:00:01 --:--:-- 62.1M
100 74.6M 0 0 100 74.6M 0 33.8M 0:00:02 0:00:02 --:--:-- 33.8M
100 74.6M 0 0 100 74.6M 0 23.2M 0:00:03 0:00:03 --:--:-- 23.2M
100 74.6M 0 0 100 74.6M 0 17.7M 0:00:04 0:00:04 --:--:-- 17.7M
100 74.6M 0 0 100 74.6M 0 14.3M 0:00:05 0:00:05 --:--:-- 14.3M
100 74.6M 0 0 100 74.6M 0 12.0M 0:00:06 0:00:06 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 10.3M 0:00:07 0:00:07 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 9307k 0:00:08 0:00:08 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 8294k 0:00:09 0:00:09 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 7481k 0:00:10 0:00:10 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 6813k 0:00:11 0:00:11 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 6255k 0:00:12 0:00:12 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 5781k 0:00:13 0:00:13 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 5375k 0:00:14 0:00:14 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 5021k 0:00:15 0:00:15 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 4711k 0:00:16 0:00:16 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 4437k 0:00:17 0:00:17 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 4193k 0:00:18 0:00:18 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 3975k 0:00:19 0:00:19 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 3778k 0:00:20 0:00:20 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 3600k 0:00:21 0:00:21 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 3437k 0:00:22 0:00:22 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 3289k 0:00:23 0:00:23 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 3153k 0:00:24 0:00:24 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 3028k 0:00:25 0:00:25 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 2913k 0:00:26 0:00:26 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 2805k 0:00:27 0:00:27 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 2706k 0:00:28 0:00:28 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 2613k 0:00:29 0:00:29 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 2527k 0:00:30 0:00:30 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 2446k 0:00:31 0:00:31 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 2370k 0:00:32 0:00:32 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 2298k 0:00:33 0:00:33 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 2231k 0:00:34 0:00:34 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 2168k 0:00:35 0:00:35 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 2108k 0:00:36 0:00:36 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 2051k 0:00:37 0:00:37 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1997k 0:00:38 0:00:38 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1946k 0:00:39 0:00:39 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1898k 0:00:40 0:00:40 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1852k 0:00:41 0:00:41 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1808k 0:00:42 0:00:42 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1766k 0:00:43 0:00:43 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1726k 0:00:44 0:00:44 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1688k 0:00:45 0:00:45 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1651k 0:00:46 0:00:46 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1616k 0:00:47 0:00:47 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1583k 0:00:48 0:00:48 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1551k 0:00:49 0:00:49 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1520k 0:00:50 0:00:50 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1490k 0:00:51 0:00:51 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1462k 0:00:52 0:00:52 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1434k 0:00:53 0:00:53 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1408k 0:00:54 0:00:54 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1382k 0:00:55 0:00:55 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1358k 0:00:56 0:00:56 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1334k 0:00:57 0:00:57 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1311k 0:00:58 0:00:58 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1289k 0:00:59 0:00:59 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1267k 0:01:00 0:01:00 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1247k 0:01:01 0:01:01 --:--:-- 0
100 74.6M 0 43 100 74.6M 0 1230k 0:01:02 0:01:02 --:--:-- 8
100 74.6M 0 43 100 74.6M 0 1230k 0:01:02 0:01:02 --:--:-- 11
[Pipeline] echo
{"msg":"操作成功","code":200,"data":""}
[Pipeline] readJSON
[Pipeline] echo
[msg:操作成功, code:200, data:]
[Pipeline] echo
status:200
[Pipeline] echo
{"msg":"操作成功","code":200,"data":""}
[Pipeline] }
[Pipeline] // dir
[Pipeline] sh
+ rm -rf /root/workspace/params-submodule/xiamen-submodule/M017/slave@tmp
[Pipeline] sh
+ rm -rf /root/workspace/params-submodule/xiamen-submodule/M017/slave/params_submodule/
[Pipeline] echo
------------------------------------- M018压缩并上传,slave -------------------------------------------
[Pipeline] dir
Running in /root/workspace/params-submodule/xiamen-submodule/M018/slave
[Pipeline] {
[Pipeline] sh
+ cd /root/workspace/params-submodule/xiamen-submodule/M018/slave/params/
+ ls -d crane_align/ data_collection/ extrinsics/ fast_lio/ hardware/ hdmap/ hdmap_interface/ imv_spreader_detection/ lane_detection/ lidar_camera_fusion/ lidar_loc_v2/ master/ perception/ pncc_common_config/ pncc_port_related_config/ pncc_vehicle_related_config/ pointcloud/ prediction/ rslidar_sdk/ segmentation/ slave/ system-ros/
[Pipeline] echo
crane_align/
data_collection/
extrinsics/
fast_lio/
hardware/
hdmap/
hdmap_interface/
imv_spreader_detection/
lane_detection/
lidar_camera_fusion/
lidar_loc_v2/
master/
perception/
pncc_common_config/
pncc_port_related_config/
pncc_vehicle_related_config/
pointcloud/
prediction/
rslidar_sdk/
segmentation/
slave/
system-ros/
[Pipeline] echo
最终目录包含slave目录,进行合并操作
[Pipeline] sh
+ cp -r /root/workspace/params-submodule/xiamen-submodule/M018/slave/params/slave/camera_driver /root/workspace/params-submodule/xiamen-submodule/M018/slave/params/slave/recorder.toml /root/workspace/params-submodule/xiamen-submodule/M018/slave/params/slave/system-ros /root/workspace/params-submodule/xiamen-submodule/M018/slave/params/
[Pipeline] sh
+ mkdir -p params_orin_slave_M018_2026-03-23_12-10-52/
+ mv params/ params_orin_slave_M018_2026-03-23_12-10-52/
[Pipeline] sh
+ zip -rq params_orin_slave_M018_2026-03-23_12-10-52.zip params_orin_slave_M018_2026-03-23_12-10-52 ./version.json
[Pipeline] echo
/root/workspace/params-submodule/xiamen-submodule/M018/slave/params_orin_slave_M018_2026-03-23_12-10-52.zip,/root/workspace/params-submodule/xiamen-submodule/M018/slave/version.json
[Pipeline] sh
+ curl -X POST http://143.64.91.51:18081/prod-api/otaUploadFileAndVersion --form 'Content-Type="multipart/form-data"' --form 'file=@"/root/workspace/params-submodule/xiamen-submodule/M018/slave/params_orin_slave_M018_2026-03-23_12-10-52.zip"' --form 'version=@"/root/workspace/params-submodule/xiamen-submodule/M018/slave/version.json"'
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
35 74.6M 0 0 35 26.6M 0 416M --:--:-- --:--:-- --:--:-- 409M
100 74.6M 0 0 100 74.6M 0 62.1M 0:00:01 0:00:01 --:--:-- 62.0M
100 74.6M 0 0 100 74.6M 0 33.8M 0:00:02 0:00:02 --:--:-- 33.8M
100 74.6M 0 0 100 74.6M 0 23.2M 0:00:03 0:00:03 --:--:-- 23.2M
100 74.6M 0 0 100 74.6M 0 17.7M 0:00:04 0:00:04 --:--:-- 17.7M
100 74.6M 0 0 100 74.6M 0 14.3M 0:00:05 0:00:05 --:--:-- 9558k
100 74.6M 0 0 100 74.6M 0 12.0M 0:00:06 0:00:06 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 10.3M 0:00:07 0:00:07 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 9306k 0:00:08 0:00:08 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 8294k 0:00:09 0:00:09 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 7481k 0:00:10 0:00:10 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 6813k 0:00:11 0:00:11 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 6255k 0:00:12 0:00:12 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 5781k 0:00:13 0:00:13 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 5374k 0:00:14 0:00:14 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 5020k 0:00:15 0:00:15 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 4710k 0:00:16 0:00:16 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 4436k 0:00:17 0:00:17 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 4193k 0:00:18 0:00:18 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 3974k 0:00:19 0:00:19 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 3778k 0:00:20 0:00:20 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 3599k 0:00:21 0:00:21 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 3437k 0:00:22 0:00:22 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 3289k 0:00:23 0:00:23 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 3153k 0:00:24 0:00:24 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 3028k 0:00:25 0:00:25 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 2912k 0:00:26 0:00:26 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 2805k 0:00:27 0:00:27 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 2706k 0:00:28 0:00:28 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 2613k 0:00:29 0:00:29 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 2527k 0:00:30 0:00:30 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 2446k 0:00:31 0:00:31 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 2370k 0:00:32 0:00:32 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 2298k 0:00:33 0:00:33 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 2231k 0:00:34 0:00:34 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 2168k 0:00:35 0:00:35 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 2108k 0:00:36 0:00:36 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 2051k 0:00:37 0:00:37 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1997k 0:00:38 0:00:38 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1946k 0:00:39 0:00:39 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1898k 0:00:40 0:00:40 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1852k 0:00:41 0:00:41 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1808k 0:00:42 0:00:42 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1766k 0:00:43 0:00:43 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1726k 0:00:44 0:00:44 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1688k 0:00:45 0:00:45 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1651k 0:00:46 0:00:46 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1616k 0:00:47 0:00:47 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1583k 0:00:48 0:00:48 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1551k 0:00:49 0:00:49 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1520k 0:00:50 0:00:50 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1490k 0:00:51 0:00:51 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1462k 0:00:52 0:00:52 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1434k 0:00:53 0:00:53 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1408k 0:00:54 0:00:54 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1382k 0:00:55 0:00:55 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1358k 0:00:56 0:00:56 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1334k 0:00:57 0:00:57 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1311k 0:00:58 0:00:58 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1289k 0:00:59 0:00:59 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1267k 0:01:00 0:01:00 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1247k 0:01:01 0:01:01 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1227k 0:01:02 0:01:02 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1207k 0:01:03 0:01:03 --:--:-- 0
100 74.6M 0 43 100 74.6M 0 1206k 0:01:03 0:01:03 --:--:-- 10
[Pipeline] echo
{"msg":"操作成功","code":200,"data":""}
[Pipeline] readJSON
[Pipeline] echo
[msg:操作成功, code:200, data:]
[Pipeline] echo
status:200
[Pipeline] echo
{"msg":"操作成功","code":200,"data":""}
[Pipeline] }
[Pipeline] // dir
[Pipeline] sh
+ rm -rf /root/workspace/params-submodule/xiamen-submodule/M018/slave@tmp
[Pipeline] sh
+ rm -rf /root/workspace/params-submodule/xiamen-submodule/M018/slave/params_submodule/
[Pipeline] echo
------------------------------------- M019压缩并上传,slave -------------------------------------------
[Pipeline] dir
Running in /root/workspace/params-submodule/xiamen-submodule/M019/slave
[Pipeline] {
[Pipeline] sh
+ cd /root/workspace/params-submodule/xiamen-submodule/M019/slave/params/
+ ls -d crane_align/ data_collection/ extrinsics/ fast_lio/ hardware/ hdmap/ hdmap_interface/ imv_spreader_detection/ lane_detection/ lidar_camera_fusion/ lidar_loc_v2/ master/ perception/ pncc_common_config/ pncc_port_related_config/ pncc_vehicle_related_config/ pointcloud/ prediction/ rslidar_sdk/ segmentation/ slave/ system-ros/
[Pipeline] echo
crane_align/
data_collection/
extrinsics/
fast_lio/
hardware/
hdmap/
hdmap_interface/
imv_spreader_detection/
lane_detection/
lidar_camera_fusion/
lidar_loc_v2/
master/
perception/
pncc_common_config/
pncc_port_related_config/
pncc_vehicle_related_config/
pointcloud/
prediction/
rslidar_sdk/
segmentation/
slave/
system-ros/
[Pipeline] echo
最终目录包含slave目录,进行合并操作
[Pipeline] sh
+ cp -r /root/workspace/params-submodule/xiamen-submodule/M019/slave/params/slave/camera_driver /root/workspace/params-submodule/xiamen-submodule/M019/slave/params/slave/recorder.toml /root/workspace/params-submodule/xiamen-submodule/M019/slave/params/slave/system-ros /root/workspace/params-submodule/xiamen-submodule/M019/slave/params/
[Pipeline] sh
+ mkdir -p params_orin_slave_M019_2026-03-23_12-10-52/
+ mv params/ params_orin_slave_M019_2026-03-23_12-10-52/
[Pipeline] sh
+ zip -rq params_orin_slave_M019_2026-03-23_12-10-52.zip params_orin_slave_M019_2026-03-23_12-10-52 ./version.json
[Pipeline] echo
/root/workspace/params-submodule/xiamen-submodule/M019/slave/params_orin_slave_M019_2026-03-23_12-10-52.zip,/root/workspace/params-submodule/xiamen-submodule/M019/slave/version.json
[Pipeline] sh
+ curl -X POST http://143.64.91.51:18081/prod-api/otaUploadFileAndVersion --form 'Content-Type="multipart/form-data"' --form 'file=@"/root/workspace/params-submodule/xiamen-submodule/M019/slave/params_orin_slave_M019_2026-03-23_12-10-52.zip"' --form 'version=@"/root/workspace/params-submodule/xiamen-submodule/M019/slave/version.json"'
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
100 74.6M 0 0 100 74.6M 0 62.1M 0:00:01 0:00:01 --:--:-- 62.1M
100 74.6M 0 0 100 74.6M 0 33.8M 0:00:02 0:00:02 --:--:-- 33.8M
100 74.6M 0 0 100 74.6M 0 23.2M 0:00:03 0:00:03 --:--:-- 23.2M
100 74.6M 0 0 100 74.6M 0 17.7M 0:00:04 0:00:04 --:--:-- 17.7M
100 74.6M 0 0 100 74.6M 0 14.3M 0:00:05 0:00:05 --:--:-- 14.3M
100 74.6M 0 0 100 74.6M 0 12.0M 0:00:06 0:00:06 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 10.3M 0:00:07 0:00:07 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 9308k 0:00:08 0:00:08 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 8296k 0:00:09 0:00:09 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 7483k 0:00:10 0:00:10 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 6814k 0:00:11 0:00:11 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 6255k 0:00:12 0:00:12 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 5781k 0:00:13 0:00:13 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 5374k 0:00:14 0:00:14 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 5021k 0:00:15 0:00:15 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 4711k 0:00:16 0:00:16 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 4437k 0:00:17 0:00:17 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 4193k 0:00:18 0:00:18 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 3974k 0:00:19 0:00:19 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 3778k 0:00:20 0:00:20 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 3599k 0:00:21 0:00:21 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 3437k 0:00:22 0:00:22 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 3289k 0:00:23 0:00:23 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 3153k 0:00:24 0:00:24 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 3028k 0:00:25 0:00:25 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 2912k 0:00:26 0:00:26 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 2805k 0:00:27 0:00:27 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 2706k 0:00:28 0:00:28 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 2613k 0:00:29 0:00:29 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 2527k 0:00:30 0:00:30 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 2446k 0:00:31 0:00:31 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 2370k 0:00:32 0:00:32 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 2298k 0:00:33 0:00:33 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 2231k 0:00:34 0:00:34 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 2168k 0:00:35 0:00:35 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 2108k 0:00:36 0:00:36 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 2051k 0:00:37 0:00:37 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1997k 0:00:38 0:00:38 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1946k 0:00:39 0:00:39 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1898k 0:00:40 0:00:40 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1852k 0:00:41 0:00:41 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1808k 0:00:42 0:00:42 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1766k 0:00:43 0:00:43 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1726k 0:00:44 0:00:44 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1688k 0:00:45 0:00:45 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1651k 0:00:46 0:00:46 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1616k 0:00:47 0:00:47 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1583k 0:00:48 0:00:48 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1551k 0:00:49 0:00:49 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1520k 0:00:50 0:00:50 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1490k 0:00:51 0:00:51 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1462k 0:00:52 0:00:52 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1434k 0:00:53 0:00:53 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1408k 0:00:54 0:00:54 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1382k 0:00:55 0:00:55 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1357k 0:00:56 0:00:56 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1334k 0:00:57 0:00:57 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1311k 0:00:58 0:00:58 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1289k 0:00:59 0:00:59 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1267k 0:01:00 0:01:00 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1247k 0:01:01 0:01:01 --:--:-- 0
100 74.6M 0 43 100 74.6M 0 1233k 0:01:01 0:01:01 --:--:-- 9
100 74.6M 0 43 100 74.6M 0 1233k 0:01:01 0:01:01 --:--:-- 11
[Pipeline] echo
{"msg":"操作成功","code":200,"data":""}
[Pipeline] readJSON
[Pipeline] echo
[msg:操作成功, code:200, data:]
[Pipeline] echo
status:200
[Pipeline] echo
{"msg":"操作成功","code":200,"data":""}
[Pipeline] }
[Pipeline] // dir
[Pipeline] sh
+ rm -rf /root/workspace/params-submodule/xiamen-submodule/M019/slave@tmp
[Pipeline] sh
+ rm -rf /root/workspace/params-submodule/xiamen-submodule/M019/slave/params_submodule/
[Pipeline] echo
------------------------------------- M020压缩并上传,slave -------------------------------------------
[Pipeline] dir
Running in /root/workspace/params-submodule/xiamen-submodule/M020/slave
[Pipeline] {
[Pipeline] sh
+ cd /root/workspace/params-submodule/xiamen-submodule/M020/slave/params/
+ ls -d crane_align/ data_collection/ extrinsics/ fast_lio/ hardware/ hdmap/ hdmap_interface/ imv_spreader_detection/ lane_detection/ lidar_camera_fusion/ lidar_loc_v2/ master/ perception/ pncc_common_config/ pncc_port_related_config/ pncc_vehicle_related_config/ pointcloud/ prediction/ rslidar_sdk/ segmentation/ slave/ system-ros/
[Pipeline] echo
crane_align/
data_collection/
extrinsics/
fast_lio/
hardware/
hdmap/
hdmap_interface/
imv_spreader_detection/
lane_detection/
lidar_camera_fusion/
lidar_loc_v2/
master/
perception/
pncc_common_config/
pncc_port_related_config/
pncc_vehicle_related_config/
pointcloud/
prediction/
rslidar_sdk/
segmentation/
slave/
system-ros/
[Pipeline] echo
最终目录包含slave目录,进行合并操作
[Pipeline] sh
+ cp -r /root/workspace/params-submodule/xiamen-submodule/M020/slave/params/slave/camera_driver /root/workspace/params-submodule/xiamen-submodule/M020/slave/params/slave/recorder.toml /root/workspace/params-submodule/xiamen-submodule/M020/slave/params/slave/system-ros /root/workspace/params-submodule/xiamen-submodule/M020/slave/params/
[Pipeline] sh
+ mkdir -p params_orin_slave_M020_2026-03-23_12-10-52/
+ mv params/ params_orin_slave_M020_2026-03-23_12-10-52/
[Pipeline] sh
+ zip -rq params_orin_slave_M020_2026-03-23_12-10-52.zip params_orin_slave_M020_2026-03-23_12-10-52 ./version.json
[Pipeline] echo
/root/workspace/params-submodule/xiamen-submodule/M020/slave/params_orin_slave_M020_2026-03-23_12-10-52.zip,/root/workspace/params-submodule/xiamen-submodule/M020/slave/version.json
[Pipeline] sh
+ curl -X POST http://143.64.91.51:18081/prod-api/otaUploadFileAndVersion --form 'Content-Type="multipart/form-data"' --form 'file=@"/root/workspace/params-submodule/xiamen-submodule/M020/slave/params_orin_slave_M020_2026-03-23_12-10-52.zip"' --form 'version=@"/root/workspace/params-submodule/xiamen-submodule/M020/slave/version.json"'
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
100 74.5M 0 0 100 74.5M 0 62.1M 0:00:01 0:00:01 --:--:-- 62.1M
100 74.5M 0 0 100 74.5M 0 33.8M 0:00:02 0:00:02 --:--:-- 33.8M
100 74.5M 0 0 100 74.5M 0 23.2M 0:00:03 0:00:03 --:--:-- 23.2M
100 74.5M 0 0 100 74.5M 0 17.7M 0:00:04 0:00:04 --:--:-- 17.7M
100 74.5M 0 0 100 74.5M 0 14.3M 0:00:05 0:00:05 --:--:-- 14.3M
100 74.5M 0 0 100 74.5M 0 12.0M 0:00:06 0:00:06 --:--:-- 0
100 74.5M 0 0 100 74.5M 0 10.3M 0:00:07 0:00:07 --:--:-- 0
100 74.5M 0 0 100 74.5M 0 9305k 0:00:08 0:00:08 --:--:-- 0
100 74.5M 0 0 100 74.5M 0 8293k 0:00:09 0:00:09 --:--:-- 0
100 74.5M 0 0 100 74.5M 0 7480k 0:00:10 0:00:10 --:--:-- 0
100 74.5M 0 0 100 74.5M 0 6812k 0:00:11 0:00:11 --:--:-- 0
100 74.5M 0 0 100 74.5M 0 6254k 0:00:12 0:00:12 --:--:-- 0
100 74.5M 0 0 100 74.5M 0 5780k 0:00:13 0:00:13 --:--:-- 0
100 74.5M 0 0 100 74.5M 0 5373k 0:00:14 0:00:14 --:--:-- 0
100 74.5M 0 0 100 74.5M 0 5020k 0:00:15 0:00:15 --:--:-- 0
100 74.5M 0 0 100 74.5M 0 4710k 0:00:16 0:00:16 --:--:-- 0
100 74.5M 0 0 100 74.5M 0 4436k 0:00:17 0:00:17 --:--:-- 0
100 74.5M 0 0 100 74.5M 0 4192k 0:00:18 0:00:18 --:--:-- 0
100 74.5M 0 0 100 74.5M 0 3974k 0:00:19 0:00:19 --:--:-- 0
100 74.5M 0 0 100 74.5M 0 3777k 0:00:20 0:00:20 --:--:-- 0
100 74.5M 0 0 100 74.5M 0 3599k 0:00:21 0:00:21 --:--:-- 0
100 74.5M 0 0 100 74.5M 0 3437k 0:00:22 0:00:22 --:--:-- 0
100 74.5M 0 0 100 74.5M 0 3289k 0:00:23 0:00:23 --:--:-- 0
100 74.5M 0 0 100 74.5M 0 3153k 0:00:24 0:00:24 --:--:-- 0
100 74.5M 0 0 100 74.5M 0 3028k 0:00:25 0:00:25 --:--:-- 0
100 74.5M 0 0 100 74.5M 0 2912k 0:00:26 0:00:26 --:--:-- 0
100 74.5M 0 0 100 74.5M 0 2805k 0:00:27 0:00:27 --:--:-- 0
100 74.5M 0 0 100 74.5M 0 2705k 0:00:28 0:00:28 --:--:-- 0
100 74.5M 0 0 100 74.5M 0 2613k 0:00:29 0:00:29 --:--:-- 0
100 74.5M 0 0 100 74.5M 0 2526k 0:00:30 0:00:30 --:--:-- 0
100 74.5M 0 0 100 74.5M 0 2445k 0:00:31 0:00:31 --:--:-- 0
100 74.5M 0 0 100 74.5M 0 2369k 0:00:32 0:00:32 --:--:-- 0
100 74.5M 0 0 100 74.5M 0 2298k 0:00:33 0:00:33 --:--:-- 0
100 74.5M 0 0 100 74.5M 0 2231k 0:00:34 0:00:34 --:--:-- 0
100 74.5M 0 0 100 74.5M 0 2167k 0:00:35 0:00:35 --:--:-- 0
100 74.5M 0 0 100 74.5M 0 2107k 0:00:36 0:00:36 --:--:-- 0
100 74.5M 0 0 100 74.5M 0 2051k 0:00:37 0:00:37 --:--:-- 0
100 74.5M 0 0 100 74.5M 0 1997k 0:00:38 0:00:38 --:--:-- 0
100 74.5M 0 0 100 74.5M 0 1946k 0:00:39 0:00:39 --:--:-- 0
100 74.5M 0 0 100 74.5M 0 1898k 0:00:40 0:00:40 --:--:-- 0
100 74.5M 0 0 100 74.5M 0 1852k 0:00:41 0:00:41 --:--:-- 0
100 74.5M 0 0 100 74.5M 0 1808k 0:00:42 0:00:42 --:--:-- 0
100 74.5M 0 0 100 74.5M 0 1766k 0:00:43 0:00:43 --:--:-- 0
100 74.5M 0 0 100 74.5M 0 1726k 0:00:44 0:00:44 --:--:-- 0
100 74.5M 0 0 100 74.5M 0 1688k 0:00:45 0:00:45 --:--:-- 0
100 74.5M 0 0 100 74.5M 0 1651k 0:00:46 0:00:46 --:--:-- 0
100 74.5M 0 0 100 74.5M 0 1616k 0:00:47 0:00:47 --:--:-- 0
100 74.5M 0 0 100 74.5M 0 1583k 0:00:48 0:00:48 --:--:-- 0
100 74.5M 0 0 100 74.5M 0 1550k 0:00:49 0:00:49 --:--:-- 0
100 74.5M 0 0 100 74.5M 0 1520k 0:00:50 0:00:50 --:--:-- 0
100 74.5M 0 0 100 74.5M 0 1490k 0:00:51 0:00:51 --:--:-- 0
100 74.5M 0 0 100 74.5M 0 1461k 0:00:52 0:00:52 --:--:-- 0
100 74.5M 0 0 100 74.5M 0 1434k 0:00:53 0:00:53 --:--:-- 0
100 74.5M 0 0 100 74.5M 0 1407k 0:00:54 0:00:54 --:--:-- 0
100 74.5M 0 0 100 74.5M 0 1382k 0:00:55 0:00:55 --:--:-- 0
100 74.5M 0 0 100 74.5M 0 1357k 0:00:56 0:00:56 --:--:-- 0
100 74.5M 0 0 100 74.5M 0 1334k 0:00:57 0:00:57 --:--:-- 0
100 74.5M 0 43 100 74.5M 0 1316k 0:00:58 0:00:58 --:--:-- 8
100 74.5M 0 43 100 74.5M 0 1316k 0:00:58 0:00:58 --:--:-- 11
[Pipeline] echo
{"msg":"操作成功","code":200,"data":""}
[Pipeline] readJSON
[Pipeline] echo
[msg:操作成功, code:200, data:]
[Pipeline] echo
status:200
[Pipeline] echo
{"msg":"操作成功","code":200,"data":""}
[Pipeline] }
[Pipeline] // dir
[Pipeline] sh
+ rm -rf /root/workspace/params-submodule/xiamen-submodule/M020/slave@tmp
[Pipeline] sh
+ rm -rf /root/workspace/params-submodule/xiamen-submodule/M020/slave/params_submodule/
[Pipeline] echo
------------------------------------- M021压缩并上传,slave -------------------------------------------
[Pipeline] dir
Running in /root/workspace/params-submodule/xiamen-submodule/M021/slave
[Pipeline] {
[Pipeline] sh
+ cd /root/workspace/params-submodule/xiamen-submodule/M021/slave/params/
+ ls -d crane_align/ data_collection/ extrinsics/ hardware/ hdmap/ hdmap_interface/ imv_spreader_detection/ lane_detection/ lidar_camera_fusion/ lidar_loc_v2/ master/ perception/ pncc_common_config/ pncc_port_related_config/ pncc_vehicle_related_config/ pointcloud/ prediction/ rslidar_sdk/ segmentation/ slave/ system-ros/
[Pipeline] echo
crane_align/
data_collection/
extrinsics/
hardware/
hdmap/
hdmap_interface/
imv_spreader_detection/
lane_detection/
lidar_camera_fusion/
lidar_loc_v2/
master/
perception/
pncc_common_config/
pncc_port_related_config/
pncc_vehicle_related_config/
pointcloud/
prediction/
rslidar_sdk/
segmentation/
slave/
system-ros/
[Pipeline] echo
最终目录包含slave目录,进行合并操作
[Pipeline] sh
+ cp -r /root/workspace/params-submodule/xiamen-submodule/M021/slave/params/slave/camera_driver /root/workspace/params-submodule/xiamen-submodule/M021/slave/params/slave/recorder.toml /root/workspace/params-submodule/xiamen-submodule/M021/slave/params/slave/system-ros /root/workspace/params-submodule/xiamen-submodule/M021/slave/params/
[Pipeline] sh
+ mkdir -p params_orin_slave_M021_2026-03-23_12-10-52/
+ mv params/ params_orin_slave_M021_2026-03-23_12-10-52/
[Pipeline] sh
+ zip -rq params_orin_slave_M021_2026-03-23_12-10-52.zip params_orin_slave_M021_2026-03-23_12-10-52 ./version.json
[Pipeline] echo
/root/workspace/params-submodule/xiamen-submodule/M021/slave/params_orin_slave_M021_2026-03-23_12-10-52.zip,/root/workspace/params-submodule/xiamen-submodule/M021/slave/version.json
[Pipeline] sh
+ curl -X POST http://143.64.91.51:18081/prod-api/otaUploadFileAndVersion --form 'Content-Type="multipart/form-data"' --form 'file=@"/root/workspace/params-submodule/xiamen-submodule/M021/slave/params_orin_slave_M021_2026-03-23_12-10-52.zip"' --form 'version=@"/root/workspace/params-submodule/xiamen-submodule/M021/slave/version.json"'
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
76 74.6M 0 0 76 57.0M 0 422M --:--:-- --:--:-- --:--:-- 422M
100 74.6M 0 0 100 74.6M 0 62.1M 0:00:01 0:00:01 --:--:-- 62.0M
100 74.6M 0 0 100 74.6M 0 33.8M 0:00:02 0:00:02 --:--:-- 33.8M
100 74.6M 0 0 100 74.6M 0 23.2M 0:00:03 0:00:03 --:--:-- 23.2M
100 74.6M 0 0 100 74.6M 0 17.7M 0:00:04 0:00:04 --:--:-- 17.7M
100 74.6M 0 0 100 74.6M 0 14.3M 0:00:05 0:00:05 --:--:-- 3555k
100 74.6M 0 0 100 74.6M 0 12.0M 0:00:06 0:00:06 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 10.3M 0:00:07 0:00:07 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 9307k 0:00:08 0:00:08 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 8294k 0:00:09 0:00:09 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 7481k 0:00:10 0:00:10 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 6813k 0:00:11 0:00:11 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 6255k 0:00:12 0:00:12 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 5781k 0:00:13 0:00:13 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 5374k 0:00:14 0:00:14 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 5020k 0:00:15 0:00:15 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 4710k 0:00:16 0:00:16 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 4436k 0:00:17 0:00:17 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 4193k 0:00:18 0:00:18 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 3974k 0:00:19 0:00:19 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 3777k 0:00:20 0:00:20 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 3599k 0:00:21 0:00:21 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 3437k 0:00:22 0:00:22 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 3289k 0:00:23 0:00:23 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 3153k 0:00:24 0:00:24 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 3028k 0:00:25 0:00:25 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 2912k 0:00:26 0:00:26 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 2805k 0:00:27 0:00:27 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 2706k 0:00:28 0:00:28 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 2613k 0:00:29 0:00:29 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 2526k 0:00:30 0:00:30 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 2445k 0:00:31 0:00:31 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 2369k 0:00:32 0:00:32 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 2298k 0:00:33 0:00:33 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 2231k 0:00:34 0:00:34 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 2168k 0:00:35 0:00:35 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 2108k 0:00:36 0:00:36 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 2051k 0:00:37 0:00:37 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1997k 0:00:38 0:00:38 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1946k 0:00:39 0:00:39 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1898k 0:00:40 0:00:40 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1852k 0:00:41 0:00:41 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1808k 0:00:42 0:00:42 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1766k 0:00:43 0:00:43 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1726k 0:00:44 0:00:44 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1688k 0:00:45 0:00:45 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1651k 0:00:46 0:00:46 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1616k 0:00:47 0:00:47 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1583k 0:00:48 0:00:48 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1551k 0:00:49 0:00:49 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1520k 0:00:50 0:00:50 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1490k 0:00:51 0:00:51 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1461k 0:00:52 0:00:52 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1434k 0:00:53 0:00:53 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1408k 0:00:54 0:00:54 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1382k 0:00:55 0:00:55 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1357k 0:00:56 0:00:56 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1334k 0:00:57 0:00:57 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1311k 0:00:58 0:00:58 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1289k 0:00:59 0:00:59 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1267k 0:01:00 0:01:00 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1246k 0:01:01 0:01:01 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1226k 0:01:02 0:01:02 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1207k 0:01:03 0:01:03 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1188k 0:01:04 0:01:04 --:--:-- 0
100 74.6M 0 43 100 74.6M 0 1185k 0:01:04 0:01:04 --:--:-- 10
[Pipeline] echo
{"msg":"操作成功","code":200,"data":""}
[Pipeline] readJSON
[Pipeline] echo
[msg:操作成功, code:200, data:]
[Pipeline] echo
status:200
[Pipeline] echo
{"msg":"操作成功","code":200,"data":""}
[Pipeline] }
[Pipeline] // dir
[Pipeline] sh
+ rm -rf /root/workspace/params-submodule/xiamen-submodule/M021/slave@tmp
[Pipeline] sh
+ rm -rf /root/workspace/params-submodule/xiamen-submodule/M021/slave/params_submodule/
[Pipeline] echo
------------------------------------- M022压缩并上传,slave -------------------------------------------
[Pipeline] dir
Running in /root/workspace/params-submodule/xiamen-submodule/M022/slave
[Pipeline] {
[Pipeline] sh
+ cd /root/workspace/params-submodule/xiamen-submodule/M022/slave/params/
+ ls -d crane_align/ data_collection/ extrinsics/ hardware/ hdmap/ hdmap_interface/ imv_spreader_detection/ lane_detection/ lidar_camera_fusion/ lidar_loc_v2/ master/ perception/ pncc_common_config/ pncc_port_related_config/ pncc_vehicle_related_config/ pointcloud/ prediction/ rslidar_sdk/ segmentation/ slave/ system-ros/
[Pipeline] echo
crane_align/
data_collection/
extrinsics/
hardware/
hdmap/
hdmap_interface/
imv_spreader_detection/
lane_detection/
lidar_camera_fusion/
lidar_loc_v2/
master/
perception/
pncc_common_config/
pncc_port_related_config/
pncc_vehicle_related_config/
pointcloud/
prediction/
rslidar_sdk/
segmentation/
slave/
system-ros/
[Pipeline] echo
最终目录包含slave目录,进行合并操作
[Pipeline] sh
+ cp -r /root/workspace/params-submodule/xiamen-submodule/M022/slave/params/slave/camera_driver /root/workspace/params-submodule/xiamen-submodule/M022/slave/params/slave/recorder.toml /root/workspace/params-submodule/xiamen-submodule/M022/slave/params/slave/system-ros /root/workspace/params-submodule/xiamen-submodule/M022/slave/params/
[Pipeline] sh
+ mkdir -p params_orin_slave_M022_2026-03-23_12-10-52/
+ mv params/ params_orin_slave_M022_2026-03-23_12-10-52/
[Pipeline] sh
+ zip -rq params_orin_slave_M022_2026-03-23_12-10-52.zip params_orin_slave_M022_2026-03-23_12-10-52 ./version.json
[Pipeline] echo
/root/workspace/params-submodule/xiamen-submodule/M022/slave/params_orin_slave_M022_2026-03-23_12-10-52.zip,/root/workspace/params-submodule/xiamen-submodule/M022/slave/version.json
[Pipeline] sh
+ curl -X POST http://143.64.91.51:18081/prod-api/otaUploadFileAndVersion --form 'Content-Type="multipart/form-data"' --form 'file=@"/root/workspace/params-submodule/xiamen-submodule/M022/slave/params_orin_slave_M022_2026-03-23_12-10-52.zip"' --form 'version=@"/root/workspace/params-submodule/xiamen-submodule/M022/slave/version.json"'
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
100 74.6M 0 0 100 74.6M 0 62.1M 0:00:01 0:00:01 --:--:-- 62.1M
100 74.6M 0 0 100 74.6M 0 33.8M 0:00:02 0:00:02 --:--:-- 33.8M
100 74.6M 0 0 100 74.6M 0 23.2M 0:00:03 0:00:03 --:--:-- 23.2M
100 74.6M 0 0 100 74.6M 0 17.7M 0:00:04 0:00:04 --:--:-- 17.7M
100 74.6M 0 0 100 74.6M 0 14.3M 0:00:05 0:00:05 --:--:-- 14.3M
100 74.6M 0 0 100 74.6M 0 12.0M 0:00:06 0:00:06 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 10.3M 0:00:07 0:00:07 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 9308k 0:00:08 0:00:08 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 8296k 0:00:09 0:00:09 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 7483k 0:00:10 0:00:10 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 6815k 0:00:11 0:00:11 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 6256k 0:00:12 0:00:12 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 5782k 0:00:13 0:00:13 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 5375k 0:00:14 0:00:14 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 5021k 0:00:15 0:00:15 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 4711k 0:00:16 0:00:16 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 4437k 0:00:17 0:00:17 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 4193k 0:00:18 0:00:18 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 3975k 0:00:19 0:00:19 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 3778k 0:00:20 0:00:20 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 3600k 0:00:21 0:00:21 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 3438k 0:00:22 0:00:22 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 3289k 0:00:23 0:00:23 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 3153k 0:00:24 0:00:24 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 3028k 0:00:25 0:00:25 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 2913k 0:00:26 0:00:26 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 2805k 0:00:27 0:00:27 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 2706k 0:00:28 0:00:28 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 2613k 0:00:29 0:00:29 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 2527k 0:00:30 0:00:30 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 2446k 0:00:31 0:00:31 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 2370k 0:00:32 0:00:32 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 2298k 0:00:33 0:00:33 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 2231k 0:00:34 0:00:34 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 2168k 0:00:35 0:00:35 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 2108k 0:00:36 0:00:36 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 2051k 0:00:37 0:00:37 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1997k 0:00:38 0:00:38 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1946k 0:00:39 0:00:39 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1898k 0:00:40 0:00:40 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1852k 0:00:41 0:00:41 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1808k 0:00:42 0:00:42 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1766k 0:00:43 0:00:43 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1726k 0:00:44 0:00:44 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1688k 0:00:45 0:00:45 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1651k 0:00:46 0:00:46 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1616k 0:00:47 0:00:47 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1583k 0:00:48 0:00:48 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1551k 0:00:49 0:00:49 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1520k 0:00:50 0:00:50 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1490k 0:00:51 0:00:51 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1462k 0:00:52 0:00:52 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1434k 0:00:53 0:00:53 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1408k 0:00:54 0:00:54 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1382k 0:00:55 0:00:55 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1357k 0:00:56 0:00:56 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1334k 0:00:57 0:00:57 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1311k 0:00:58 0:00:58 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1289k 0:00:59 0:00:59 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1267k 0:01:00 0:01:00 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1247k 0:01:01 0:01:01 --:--:-- 0
100 74.6M 0 43 100 74.6M 0 1233k 0:01:01 0:01:01 --:--:-- 9
100 74.6M 0 43 100 74.6M 0 1233k 0:01:01 0:01:01 --:--:-- 11
[Pipeline] echo
{"msg":"操作成功","code":200,"data":""}
[Pipeline] readJSON
[Pipeline] echo
[msg:操作成功, code:200, data:]
[Pipeline] echo
status:200
[Pipeline] echo
{"msg":"操作成功","code":200,"data":""}
[Pipeline] }
[Pipeline] // dir
[Pipeline] sh
+ rm -rf /root/workspace/params-submodule/xiamen-submodule/M022/slave@tmp
[Pipeline] sh
+ rm -rf /root/workspace/params-submodule/xiamen-submodule/M022/slave/params_submodule/
[Pipeline] echo
------------------------------------- M023压缩并上传,slave -------------------------------------------
[Pipeline] dir
Running in /root/workspace/params-submodule/xiamen-submodule/M023/slave
[Pipeline] {
[Pipeline] sh
+ cd /root/workspace/params-submodule/xiamen-submodule/M023/slave/params/
+ ls -d crane_align/ data_collection/ extrinsics/ hardware/ hdmap/ hdmap_interface/ imv_spreader_detection/ lane_detection/ lidar_camera_fusion/ lidar_loc_v2/ master/ perception/ pncc_common_config/ pncc_port_related_config/ pncc_vehicle_related_config/ pointcloud/ prediction/ rslidar_sdk/ segmentation/ slave/ system-ros/
[Pipeline] echo
crane_align/
data_collection/
extrinsics/
hardware/
hdmap/
hdmap_interface/
imv_spreader_detection/
lane_detection/
lidar_camera_fusion/
lidar_loc_v2/
master/
perception/
pncc_common_config/
pncc_port_related_config/
pncc_vehicle_related_config/
pointcloud/
prediction/
rslidar_sdk/
segmentation/
slave/
system-ros/
[Pipeline] echo
最终目录包含slave目录,进行合并操作
[Pipeline] sh
+ cp -r /root/workspace/params-submodule/xiamen-submodule/M023/slave/params/slave/camera_driver /root/workspace/params-submodule/xiamen-submodule/M023/slave/params/slave/recorder.toml /root/workspace/params-submodule/xiamen-submodule/M023/slave/params/slave/system-ros /root/workspace/params-submodule/xiamen-submodule/M023/slave/params/
[Pipeline] sh
+ mkdir -p params_orin_slave_M023_2026-03-23_12-10-52/
+ mv params/ params_orin_slave_M023_2026-03-23_12-10-52/
[Pipeline] sh
+ zip -rq params_orin_slave_M023_2026-03-23_12-10-52.zip params_orin_slave_M023_2026-03-23_12-10-52 ./version.json
[Pipeline] echo
/root/workspace/params-submodule/xiamen-submodule/M023/slave/params_orin_slave_M023_2026-03-23_12-10-52.zip,/root/workspace/params-submodule/xiamen-submodule/M023/slave/version.json
[Pipeline] sh
+ curl -X POST http://143.64.91.51:18081/prod-api/otaUploadFileAndVersion --form 'Content-Type="multipart/form-data"' --form 'file=@"/root/workspace/params-submodule/xiamen-submodule/M023/slave/params_orin_slave_M023_2026-03-23_12-10-52.zip"' --form 'version=@"/root/workspace/params-submodule/xiamen-submodule/M023/slave/version.json"'
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
100 74.6M 0 0 100 74.6M 0 62.1M 0:00:01 0:00:01 --:--:-- 62.1M
100 74.6M 0 0 100 74.6M 0 33.8M 0:00:02 0:00:02 --:--:-- 33.8M
100 74.6M 0 0 100 74.6M 0 23.2M 0:00:03 0:00:03 --:--:-- 23.2M
100 74.6M 0 0 100 74.6M 0 17.7M 0:00:04 0:00:04 --:--:-- 17.7M
100 74.6M 0 0 100 74.6M 0 14.3M 0:00:05 0:00:05 --:--:-- 14.3M
100 74.6M 0 0 100 74.6M 0 12.0M 0:00:06 0:00:06 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 10.3M 0:00:07 0:00:07 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 9307k 0:00:08 0:00:08 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 8295k 0:00:09 0:00:09 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 7482k 0:00:10 0:00:10 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 6814k 0:00:11 0:00:11 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 6255k 0:00:12 0:00:12 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 5781k 0:00:13 0:00:13 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 5374k 0:00:14 0:00:14 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 5020k 0:00:15 0:00:15 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 4710k 0:00:16 0:00:16 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 4437k 0:00:17 0:00:17 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 4193k 0:00:18 0:00:18 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 3975k 0:00:19 0:00:19 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 3778k 0:00:20 0:00:20 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 3600k 0:00:21 0:00:21 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 3437k 0:00:22 0:00:22 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 3289k 0:00:23 0:00:23 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 3153k 0:00:24 0:00:24 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 3028k 0:00:25 0:00:25 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 2912k 0:00:26 0:00:26 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 2805k 0:00:27 0:00:27 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 2706k 0:00:28 0:00:28 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 2613k 0:00:29 0:00:29 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 2527k 0:00:30 0:00:30 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 2446k 0:00:31 0:00:31 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 2370k 0:00:32 0:00:32 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 2298k 0:00:33 0:00:33 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 2231k 0:00:34 0:00:34 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 2168k 0:00:35 0:00:35 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 2108k 0:00:36 0:00:36 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 2051k 0:00:37 0:00:37 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1997k 0:00:38 0:00:38 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1946k 0:00:39 0:00:39 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1898k 0:00:40 0:00:40 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1852k 0:00:41 0:00:41 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1808k 0:00:42 0:00:42 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1766k 0:00:43 0:00:43 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1726k 0:00:44 0:00:44 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1688k 0:00:45 0:00:45 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1651k 0:00:46 0:00:46 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1616k 0:00:47 0:00:47 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1583k 0:00:48 0:00:48 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1551k 0:00:49 0:00:49 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1520k 0:00:50 0:00:50 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1490k 0:00:51 0:00:51 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1462k 0:00:52 0:00:52 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1434k 0:00:53 0:00:53 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1408k 0:00:54 0:00:54 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1382k 0:00:55 0:00:55 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1358k 0:00:56 0:00:56 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1334k 0:00:57 0:00:57 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1311k 0:00:58 0:00:58 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1289k 0:00:59 0:00:59 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1267k 0:01:00 0:01:00 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1247k 0:01:01 0:01:01 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1227k 0:01:02 0:01:02 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1207k 0:01:03 0:01:03 --:--:-- 0
100 74.6M 0 43 100 74.6M 0 1196k 0:01:03 0:01:03 --:--:-- 9
100 74.6M 0 43 100 74.6M 0 1196k 0:01:03 0:01:03 --:--:-- 11
[Pipeline] echo
{"msg":"操作成功","code":200,"data":""}
[Pipeline] readJSON
[Pipeline] echo
[msg:操作成功, code:200, data:]
[Pipeline] echo
status:200
[Pipeline] echo
{"msg":"操作成功","code":200,"data":""}
[Pipeline] }
[Pipeline] // dir
[Pipeline] sh
+ rm -rf /root/workspace/params-submodule/xiamen-submodule/M023/slave@tmp
[Pipeline] sh
+ rm -rf /root/workspace/params-submodule/xiamen-submodule/M023/slave/params_submodule/
[Pipeline] echo
------------------------------------- M024压缩并上传,slave -------------------------------------------
[Pipeline] dir
Running in /root/workspace/params-submodule/xiamen-submodule/M024/slave
[Pipeline] {
[Pipeline] sh
+ cd /root/workspace/params-submodule/xiamen-submodule/M024/slave/params/
+ ls -d crane_align/ data_collection/ extrinsics/ hardware/ hdmap/ hdmap_interface/ imv_spreader_detection/ lane_detection/ lidar_camera_fusion/ lidar_loc_v2/ master/ perception/ pncc_common_config/ pncc_port_related_config/ pncc_vehicle_related_config/ pointcloud/ prediction/ rslidar_sdk/ segmentation/ slave/ system-ros/
[Pipeline] echo
crane_align/
data_collection/
extrinsics/
hardware/
hdmap/
hdmap_interface/
imv_spreader_detection/
lane_detection/
lidar_camera_fusion/
lidar_loc_v2/
master/
perception/
pncc_common_config/
pncc_port_related_config/
pncc_vehicle_related_config/
pointcloud/
prediction/
rslidar_sdk/
segmentation/
slave/
system-ros/
[Pipeline] echo
最终目录包含slave目录,进行合并操作
[Pipeline] sh
+ cp -r /root/workspace/params-submodule/xiamen-submodule/M024/slave/params/slave/camera_driver /root/workspace/params-submodule/xiamen-submodule/M024/slave/params/slave/recorder.toml /root/workspace/params-submodule/xiamen-submodule/M024/slave/params/slave/system-ros /root/workspace/params-submodule/xiamen-submodule/M024/slave/params/
[Pipeline] sh
+ mkdir -p params_orin_slave_M024_2026-03-23_12-10-52/
+ mv params/ params_orin_slave_M024_2026-03-23_12-10-52/
[Pipeline] sh
+ zip -rq params_orin_slave_M024_2026-03-23_12-10-52.zip params_orin_slave_M024_2026-03-23_12-10-52 ./version.json
[Pipeline] echo
/root/workspace/params-submodule/xiamen-submodule/M024/slave/params_orin_slave_M024_2026-03-23_12-10-52.zip,/root/workspace/params-submodule/xiamen-submodule/M024/slave/version.json
[Pipeline] sh
+ curl -X POST http://143.64.91.51:18081/prod-api/otaUploadFileAndVersion --form 'Content-Type="multipart/form-data"' --form 'file=@"/root/workspace/params-submodule/xiamen-submodule/M024/slave/params_orin_slave_M024_2026-03-23_12-10-52.zip"' --form 'version=@"/root/workspace/params-submodule/xiamen-submodule/M024/slave/version.json"'
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
100 74.6M 0 0 100 74.6M 0 62.1M 0:00:01 0:00:01 --:--:-- 62.1M
100 74.6M 0 0 100 74.6M 0 33.8M 0:00:02 0:00:02 --:--:-- 33.8M
100 74.6M 0 0 100 74.6M 0 23.2M 0:00:03 0:00:03 --:--:-- 23.2M
100 74.6M 0 0 100 74.6M 0 17.7M 0:00:04 0:00:04 --:--:-- 17.7M
100 74.6M 0 0 100 74.6M 0 14.3M 0:00:05 0:00:05 --:--:-- 14.3M
100 74.6M 0 0 100 74.6M 0 12.0M 0:00:06 0:00:06 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 10.3M 0:00:07 0:00:07 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 9305k 0:00:08 0:00:08 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 8293k 0:00:09 0:00:09 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 7480k 0:00:10 0:00:10 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 6813k 0:00:11 0:00:11 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 6254k 0:00:12 0:00:12 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 5780k 0:00:13 0:00:13 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 5373k 0:00:14 0:00:14 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 5020k 0:00:15 0:00:15 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 4710k 0:00:16 0:00:16 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 4436k 0:00:17 0:00:17 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 4193k 0:00:18 0:00:18 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 3974k 0:00:19 0:00:19 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 3777k 0:00:20 0:00:20 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 3599k 0:00:21 0:00:21 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 3437k 0:00:22 0:00:22 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 3289k 0:00:23 0:00:23 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 3153k 0:00:24 0:00:24 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 3028k 0:00:25 0:00:25 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 2912k 0:00:26 0:00:26 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 2805k 0:00:27 0:00:27 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 2706k 0:00:28 0:00:28 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 2613k 0:00:29 0:00:29 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 2527k 0:00:30 0:00:30 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 2446k 0:00:31 0:00:31 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 2370k 0:00:32 0:00:32 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 2298k 0:00:33 0:00:33 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 2231k 0:00:34 0:00:34 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 2168k 0:00:35 0:00:35 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 2108k 0:00:36 0:00:36 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 2051k 0:00:37 0:00:37 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1997k 0:00:38 0:00:38 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1946k 0:00:39 0:00:39 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1898k 0:00:40 0:00:40 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1852k 0:00:41 0:00:41 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1808k 0:00:42 0:00:42 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1766k 0:00:43 0:00:43 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1726k 0:00:44 0:00:44 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1688k 0:00:45 0:00:45 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1651k 0:00:46 0:00:46 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1616k 0:00:47 0:00:47 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1583k 0:00:48 0:00:48 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1551k 0:00:49 0:00:49 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1520k 0:00:50 0:00:50 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1490k 0:00:51 0:00:51 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1462k 0:00:52 0:00:52 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1434k 0:00:53 0:00:53 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1408k 0:00:54 0:00:54 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1382k 0:00:55 0:00:55 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1358k 0:00:56 0:00:56 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1334k 0:00:57 0:00:57 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1311k 0:00:58 0:00:58 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1289k 0:00:59 0:00:59 --:--:-- 0
100 74.6M 0 43 100 74.6M 0 1273k 0:01:00 0:01:00 --:--:-- 9
100 74.6M 0 43 100 74.6M 0 1273k 0:01:00 0:01:00 --:--:-- 11
[Pipeline] echo
{"msg":"操作成功","code":200,"data":""}
[Pipeline] readJSON
[Pipeline] echo
[msg:操作成功, code:200, data:]
[Pipeline] echo
status:200
[Pipeline] echo
{"msg":"操作成功","code":200,"data":""}
[Pipeline] }
[Pipeline] // dir
[Pipeline] sh
+ rm -rf /root/workspace/params-submodule/xiamen-submodule/M024/slave@tmp
[Pipeline] sh
+ rm -rf /root/workspace/params-submodule/xiamen-submodule/M024/slave/params_submodule/
[Pipeline] echo
------------------------------------- M025压缩并上传,slave -------------------------------------------
[Pipeline] dir
Running in /root/workspace/params-submodule/xiamen-submodule/M025/slave
[Pipeline] {
[Pipeline] sh
+ cd /root/workspace/params-submodule/xiamen-submodule/M025/slave/params/
+ ls -d crane_align/ data_collection/ extrinsics/ hardware/ hdmap/ hdmap_interface/ imv_spreader_detection/ lane_detection/ lidar_camera_fusion/ lidar_loc_v2/ master/ perception/ pncc_common_config/ pncc_port_related_config/ pncc_vehicle_related_config/ pointcloud/ prediction/ rslidar_sdk/ segmentation/ slave/ system-ros/
[Pipeline] echo
crane_align/
data_collection/
extrinsics/
hardware/
hdmap/
hdmap_interface/
imv_spreader_detection/
lane_detection/
lidar_camera_fusion/
lidar_loc_v2/
master/
perception/
pncc_common_config/
pncc_port_related_config/
pncc_vehicle_related_config/
pointcloud/
prediction/
rslidar_sdk/
segmentation/
slave/
system-ros/
[Pipeline] echo
最终目录包含slave目录,进行合并操作
[Pipeline] sh
+ cp -r /root/workspace/params-submodule/xiamen-submodule/M025/slave/params/slave/camera_driver /root/workspace/params-submodule/xiamen-submodule/M025/slave/params/slave/recorder.toml /root/workspace/params-submodule/xiamen-submodule/M025/slave/params/slave/system-ros /root/workspace/params-submodule/xiamen-submodule/M025/slave/params/
[Pipeline] sh
+ mkdir -p params_orin_slave_M025_2026-03-23_12-10-52/
+ mv params/ params_orin_slave_M025_2026-03-23_12-10-52/
[Pipeline] sh
+ zip -rq params_orin_slave_M025_2026-03-23_12-10-52.zip params_orin_slave_M025_2026-03-23_12-10-52 ./version.json
[Pipeline] echo
/root/workspace/params-submodule/xiamen-submodule/M025/slave/params_orin_slave_M025_2026-03-23_12-10-52.zip,/root/workspace/params-submodule/xiamen-submodule/M025/slave/version.json
[Pipeline] sh
+ curl -X POST http://143.64.91.51:18081/prod-api/otaUploadFileAndVersion --form 'Content-Type="multipart/form-data"' --form 'file=@"/root/workspace/params-submodule/xiamen-submodule/M025/slave/params_orin_slave_M025_2026-03-23_12-10-52.zip"' --form 'version=@"/root/workspace/params-submodule/xiamen-submodule/M025/slave/version.json"'
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
100 74.6M 0 0 100 74.6M 0 62.1M 0:00:01 0:00:01 --:--:-- 62.1M
100 74.6M 0 0 100 74.6M 0 33.8M 0:00:02 0:00:02 --:--:-- 33.8M
100 74.6M 0 0 100 74.6M 0 23.2M 0:00:03 0:00:03 --:--:-- 23.2M
100 74.6M 0 0 100 74.6M 0 17.7M 0:00:04 0:00:04 --:--:-- 17.7M
100 74.6M 0 0 100 74.6M 0 14.3M 0:00:05 0:00:05 --:--:-- 14.3M
100 74.6M 0 0 100 74.6M 0 12.0M 0:00:06 0:00:06 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 10.3M 0:00:07 0:00:07 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 9308k 0:00:08 0:00:08 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 8296k 0:00:09 0:00:09 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 7482k 0:00:10 0:00:10 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 6814k 0:00:11 0:00:11 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 6256k 0:00:12 0:00:12 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 5782k 0:00:13 0:00:13 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 5374k 0:00:14 0:00:14 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 5020k 0:00:15 0:00:15 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 4711k 0:00:16 0:00:16 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 4437k 0:00:17 0:00:17 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 4193k 0:00:18 0:00:18 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 3974k 0:00:19 0:00:19 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 3778k 0:00:20 0:00:20 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 3600k 0:00:21 0:00:21 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 3437k 0:00:22 0:00:22 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 3289k 0:00:23 0:00:23 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 3153k 0:00:24 0:00:24 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 3028k 0:00:25 0:00:25 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 2912k 0:00:26 0:00:26 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 2806k 0:00:27 0:00:27 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 2706k 0:00:28 0:00:28 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 2613k 0:00:29 0:00:29 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 2527k 0:00:30 0:00:30 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 2446k 0:00:31 0:00:31 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 2370k 0:00:32 0:00:32 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 2298k 0:00:33 0:00:33 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 2231k 0:00:34 0:00:34 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 2168k 0:00:35 0:00:35 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 2108k 0:00:36 0:00:36 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 2051k 0:00:37 0:00:37 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1997k 0:00:38 0:00:38 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1946k 0:00:39 0:00:39 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1898k 0:00:40 0:00:40 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1852k 0:00:41 0:00:41 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1808k 0:00:42 0:00:42 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1766k 0:00:43 0:00:43 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1726k 0:00:44 0:00:44 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1688k 0:00:45 0:00:45 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1651k 0:00:46 0:00:46 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1616k 0:00:47 0:00:47 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1583k 0:00:48 0:00:48 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1551k 0:00:49 0:00:49 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1520k 0:00:50 0:00:50 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1490k 0:00:51 0:00:51 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1462k 0:00:52 0:00:52 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1434k 0:00:53 0:00:53 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1408k 0:00:54 0:00:54 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1382k 0:00:55 0:00:55 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1357k 0:00:56 0:00:56 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1334k 0:00:57 0:00:57 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1311k 0:00:58 0:00:58 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1289k 0:00:59 0:00:59 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1267k 0:01:00 0:01:00 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1247k 0:01:01 0:01:01 --:--:-- 0
100 74.6M 0 0 100 74.6M 0 1227k 0:01:02 0:01:02 --:--:-- 0
100 74.6M 0 43 100 74.6M 0 1215k 0:01:02 0:01:02 --:--:-- 9
[Pipeline] echo
{"msg":"操作成功","code":200,"data":""}
[Pipeline] readJSON
[Pipeline] echo
[msg:操作成功, code:200, data:]
[Pipeline] echo
status:200
[Pipeline] echo
{"msg":"操作成功","code":200,"data":""}
[Pipeline] }
[Pipeline] // dir
[Pipeline] sh
+ rm -rf /root/workspace/params-submodule/xiamen-submodule/M025/slave@tmp
[Pipeline] sh
+ rm -rf /root/workspace/params-submodule/xiamen-submodule/M025/slave/params_submodule/
[Pipeline] fileExists
[Pipeline] readFile
[Pipeline] writeFile
[Pipeline] }
[Pipeline] // script
[Pipeline] }
[Pipeline] // stage
[Pipeline] stage
[Pipeline] { (Declarative: Post Actions)
[Pipeline] script
[Pipeline] {
[Pipeline] echo
always
[Pipeline] }
[Pipeline] // script
[Pipeline] script
[Pipeline] {
[Pipeline] echo
success
[Pipeline] publishHTML
[htmlpublisher] Archiving HTML reports...
[htmlpublisher] Archiving at BUILD level /root/workspace/params-submodule/xiamen-submodule to /var/lib/jenkins/jobs/xiamen-submodule/builds/460/htmlreports/update_20message
[Pipeline] wrap
[Pipeline] {
[Pipeline] script
[Pipeline] {
[Pipeline] echo
user: , telphone:
[Pipeline] }
[Pipeline] // script
[Pipeline] sh
+ curl -X POST 'https://oapi.dingtalk.com/robot/send?access_token=c4e318472bbd19d0449efb4060de213f730dc32b4bf44819381a8fa7adf61983' -H 'Content-Type: application/json' -d '{"msgtype": "markdown","markdown": {"title":"jenkins通知","text": "# 参数发布通知
### [厦门38辆车参数 从机]
---
- 状态:<font color=#01B468> 编译成功 </font>
- 执行人:linshaoyang
- 更新车辆:
[M007slave][M008slave][M009slave][M010slave][M011slave][M012slave][M013slave][M014slave][M015slave][M016slave][M017slave][M018slave][M019slave][M020slave][M021slave][M022slave][M023slave][M024slave][M025slave]
- 分支名:main
- 具体模块分支:[点此链接](http://jenkins.vehicle.senior.auto:8080/jenkins/job/xiamen-submodule/460/update_20message/index.html)
---
> 请ota发布同学尽快发布验证,并在群里同步发布信息~@"},"at": {"atMobiles": [""],"isAtAll": "false"} }'
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
100 790 100 27 100 763 333 9419 --:--:-- --:--:-- --:--:-- 9753
[Pipeline] echo
{"errcode":0,"errmsg":"ok"}
[Pipeline] }
[Pipeline] // wrap
[Pipeline] }
[Pipeline] // script
[Pipeline] }
[Pipeline] // stage
[Pipeline] }
[Pipeline] // timeout
[Pipeline] }
Lock released on resource [Label: built-in, Quantity: 1]
[Pipeline] // lock
[Pipeline] }
[Pipeline] // withEnv
[Pipeline] }
[Pipeline] // withEnv
[Pipeline] }
[Pipeline] // node
[Pipeline] End of Pipeline
Finished: SUCCESS