anchor.diff:          node_id,
           clock_seq,
           clock_seq_high,
  -        clock_seq_low,
  -        epoch_seconds
  +        clock_seq_low
       }).
   
   %%%------------------------------------------------------------------------
  
positive.code:     PidByte4 = (ID4 bxor SR1) bxor CR1,
      ClockSeq = random:uniform(16384) - 1,
      <<ClockSeqHigh:6, ClockSeqLow:8>> = <<ClockSeq:14>>,
      Epoch = calendar:datetime_to_gregorian_seconds({{1970, 1, 1}, {0, 0, 0}}),
      #uuid_state{node_id = <<IfByte1:8, IfByte2:8,
                              PidByte1:8, PidByte2:8,
                              PidByte3:8, PidByte4:8>>,
                  clock_seq = ClockSeq,
                  clock_seq_high = ClockSeqHigh,
                  clock_seq_low = ClockSeqLow,
                  epoch_seconds = Epoch}.
  
  get_v1(#uuid_state{node_id = NodeId,
                     clock_seq_high = ClockSeqHigh,
                     clock_seq_low = ClockSeqLow,
                     epoch_seconds = Epoch}) ->
      Now = {_, _, Micro} = erlang:now(),
      NowUTC = calendar:now_to_universal_time(Now),
      NowSecs = calendar:datetime_to_gregorian_seconds(NowUTC),
      Time = (NowSecs - Epoch) * 1000000 + Micro,
      <<TimeHigh:12/little, TimeMid:16/little, TimeLow:32/little>> = <<Time:60>>,
      <<TimeLow:32, TimeMid:16, TimeHigh:12,
        0:1, 0:1, 0:1, 1:1,  % version 1 bits
  
negative.code:       ClockSeqLow:8,
        NodeId/binary>>.
  
  get_v1_time(#uuid_state{}) ->
      {MegaSeconds, Seconds, MicroSeconds} = erlang:now(),
      (MegaSeconds * 1000000 + Seconds) * 1000000 + MicroSeconds;
  
  get_v1_time(Value)
      when is_binary(Value), byte_size(Value) == 16 ->
  