anchor.diff:  import 'package:path/path.dart' as path;
   
   bool liveSite = false;
  +
  +/*
  + * Created by Daniel Imms, http://www.growingwiththeweb.com
  + */
  +class Array2d<T> {
  +  List<List<T>> array;
  +  T defaultValue = null;
  +
  +  Array2d(int width, int height, {T this.defaultValue}) {
  +    array = new List<List<T>>();
  +    this.width = width;
  +    this.height = height;
  +  }
  +
  +  operator [](int x) => array[x];
  +
  +  void set width(int v) {
  +    while (array.length > v) array.removeLast();
  +    while (array.length < v) {
  +      List<T> newList = new List<T>();
  +      if (array.length > 0) {
  +        for (int y = 0; y < array.first.length; y++) newList.add(defaultValue);
  +      }
  +      array.add(newList);
  +    }
  +  }
  +
  +  void set height(int v) {
  +    while (array.first.length > v) {
  +      for (int x = 0; x < array.length; x++) array[x].removeLast();
  +    }
  +    while (array.first.length < v) {
  +      for (int x = 0; x < array.length; x++) array[x].add(defaultValue);
  +    }
  +  }
  +}
   
   class mdCalendar {
   
  
positive.code: 
      for (int i = 0, w = 0; i < mdays; i++) {
        if (i != 0 && wd == 0) w++;
        List tmp = [i+1]; //TODO
        _calMtable.insert(w,tmp);
        wd = (wd + 1) % 7;
      }
    }
  
    String calWeekRef(int y, int m, int w) {
      int i;
      for (i = 0; i < 7; i++) if (_calMtable.contains([w][i])) break;
      if (i == 7) {
        return "";
      }
  
negative.code: 
        // skip showing empty weeks
        for (int d = 0, w0 = 0; d < 7; d++) {
          if (_calMtable[w][d] != 0) w0++;
          if (w0 == 0) continue;
        }
  
  