MATL, 224 bytes
862:o'$Te]BQHoHxkw!-CEjv(j=zGp.8_C{\?wkH{t&%W.:ja#7=+>"/,=0wDJ+"2BREtgh9_2I%1>+99T3kPrknzlJ}&8kUR(S!pX]C]05u{"6MHA7"gg(M6\5Vp.k.18Y(c~m&wroTrN)sf" |>\,Lg80C:nUez|l;<h~m(%]4xx6?`=qGtZ):d"*"@~1M.T}jJ)Bl7>Ns >9$8R1MlkG'F3:qZaY"
The ouput is of the form 1 0 0 1 0 ...
, where 1
corresponds to '-'
and 0
corresponds to '+'
.
###Explanation
The sequence has been run-length encoded. All 720 runs have lengths 1, 2, 3 or 4, with 3 or 4 being less common. So each 3 has been replaced by 2, 0, 1 (a run of 2, then a run of 0 of the other symbol, then a run of 1 again) and similarly each 4 has been replaced by 2, 0, 2. This gives a ternary array of length 862.
This array is converted to base-94 encoding, and is the long string shown in the code ('$Te...kG'
). Base 94 encoding uses all 95 printable ASCII chars except for the single quote (which would have to be escaped).
The code converts that string from base 94 to base 3, and uses the result to run-length decode the symbols [1 0 1 0 ... 0]
(array of length 862).