anchor.diff:                end;
                end;
                if (e>=0) and (e<length(Captures)) then begin
  -              result:=result+FLREPtrCopy(PAnsiChar(Input),Captures[e].Start,Captures[e].Length);
  +              result:=result+FLREPtrCopy(PFLRERawByteChar(Input),Captures[e].Start,Captures[e].Length);
                end;
               end;
               else begin
  
positive.code:        function AcquireThreadLocalStorageInstance:TFLREThreadLocalStorageInstance;
         procedure ReleaseThreadLocalStorageInstance(const ThreadLocalStorageInstance:TFLREThreadLocalStorageInstance);
  
         function SearchNextPossibleStart(const Input:PAnsiChar;const InputLength:longint):longint; {$ifdef cpu386}register;{$endif}
  
         function SearchNextPossibleStartForDFA(const Input:PAnsiChar;const InputLength:longint):longint; {$ifdef cpu386}register;{$endif}
  
         function SearchMatch(ThreadLocalStorageInstance:TFLREThreadLocalStorageInstance;var Captures:TFLRECaptures;StartPosition,UntilExcludingPosition:longint;UnanchoredStart:boolean):boolean;
  
  
negative.code:        GetMem(OnePassNFANodes,NodesCount*StateSize);
         OnePassNFANodesCount:=NodesCount;
         Move(Nodes^,OnePassNFANodes^,NodesCount*StateSize);
         OnePassNFAStart:=pointer(@PFLRERawByteChar(OnePassNFANodes)[StateSize*longint(NodeByID[AnchoredStartInstruction^.IDandOpcode shr 8])]);
         OnePassNFAStateSize:=StateSize;
        end;
       finally
  