l
  class SnappingTool extends go.DraggingTool {
    constructor(init) {
      super();
      if (init) Object.assign(this, init);
    }

    // This predicate checks to see if the ports can snap together.
    // The first letter of the port id should be "U", "F", or "M" to indicate which kinds of port may connect.
    // The second letter of the port id should be a digit to indicate which direction it may connect.
    // The ports also need to not already have any link connections and need to face opposite