    /* your own interests: what is declared, a like added and the server's
       match re-asked, a hate added, the like taken back, a match's sheet */
    { do: `(function () { var t = document.querySelector('.toast:not(.notice)'); if (t) t.click(); return true; })()`, wait: 200 },
    { do: `__click('.segtabs button', 'Taste')`, name: "taste", wait: 1000 },
    { do: `__click('.tastechips.likes .tadd', null)`, wait: 500 },
    { do: `(function () { var i = document.querySelector('.halfsheet .prompt .field'); i.value = 'Boards of Canada'; i.dispatchEvent(new Event('input', { bubbles: true })); })()`, wait: 300 },
    { do: `__click('.halfsheet .prompt-acts .btn-fill', 'Declare')`, name: "taste-declared", wait: 1100 },
    { do: `__click('.tastechips.hates .tadd', null)`, wait: 500 },
    { do: `(function () { var i = document.querySelector('.halfsheet .prompt .field'); i.value = 'loudness war 2'; i.dispatchEvent(new Event('input', { bubbles: true })); })()`, wait: 300 },
    { do: `__click('.halfsheet .prompt-acts .btn-fill', 'Declare')`, name: "taste-hated", wait: 1100 },
    { do: `__click('.tastechips.likes .tchip', 'Boards of Canada')`, name: "taste-dropped", wait: 1100 },
    { do: `__click('.screen .row.similar', null)`, name: "taste-peer", wait: 700 },
    { do: `document.querySelector('.scrim').click()`, wait: 500 },
