anchor.diff:  
     // - - - - - - - - - - - - - - - - - - - - - - - -
   
  +  setupButton('revert',   () => doRevert());
  +  setupButton('download', () => doDownload());
  +  setupButton('fork',     () => cd.forkDialog(param.id, param.nowIndex));
  +
     if (inDialog) {
       setupButton('resume', () => $('#review-dialog').dialog('close'));
  -    setupButton('revert', () => doRevert());
     } else {
       reviewRefresh();
     }
  -  setupButton('download', () => doDownload());
  -  setupButton('fork',     () => cd.forkDialog(param.id, param.nowIndex));
   
   });
   
  
positive.code: 
    const refreshRevertButton = () => {
      const button = $('#revert-button');
      cd.setTip(button, () => {
        const tip = `revert to ${param.avatarName} ${param.nowIndex}`;
        cd.showHoverTip(button, tip);
  
negative.code:       .text(name)
        .unbind('click')
        .bind('click', handler);
      if (name === 'revert'  ) { refreshRevertButton();   }
      if (name === 'download') { refreshDownloadButton(); }
      if (name === 'fork'    ) { refreshForkButton();     }
    };
  
    // - - - - - - - - - - - - - - - - - - - - - - - -
  