anchor.diff:  
   import 'dart:html';
   import 'dart:async';
  +import 'dart:math';
   import 'package:polymer/polymer.dart';
   
   @CustomTag('fold-button')
  
positive.code: 
      _restoreStyle(t.style, 'display');
  
      new Timer(DISPLAY_DELAY, () {
        _restoreStyle(t.style, 'transform', 'scale(1)');
        _restoreStyle(t.style, 'opacity', '1');
        startTransitionEndTimer();
      });
    }
  
    void startTransitionEndTimer() {
      if (_transitionEndTimer != null) {
        _transitionEndTimer.cancel();
      }
      _transitionEndTimer = new Timer(TRANSITION_DURATION, handleTransitionEnd);
    }
  
    void handleTransitionEnd() {
      final t = _targetElement;
      if (t == null) return;
  
  
negative.code:   ['-webkit-$propName', '-moz-$propName', '-ms-$propName',
     '-o-$propName', propName];
  
  Point _getCenterPoint(Element e) {
    final rects = e.getClientRects();
    final Point sumPoint = rects
        .fold(new Point(0,0), (prev, r) => prev + r.topLeft + r.bottomRight);
    final f = 1 / (2 * rects.length);
    return sumPoint * f;
  }
  Point _getTopLeftPoint(Element e) {
    final rects = e.getClientRects();
    final Point sumPoint = rects
        .fold(new Point(0,0), (prev, r) => prev + r.topLeft);
    final f = 1 / rects.length;
    return sumPoint * f;
  }
  