anchor.diff:  function AppVariant(const Value: Int64): TAppVariant; inline;
   function AppVariant(const Value: string): TAppVariant; inline;
   function AppVariant(const Value: array of integer): TAppVariant;
  -//function AppVariantToString(const V: TAppVariant): string;
  -//function AppVariantArrayToString(const V: TAppVariantArray): string;
  +function AppVariantToString(const V: TAppVariant): string;
  +function AppVariantArrayToString(const V: TAppVariantArray): string;
   
   type
     TAppPyEvent = (
  
positive.code:   if Result<>'' then
      SetLength(Result, Length(Result)-1);
  end;
  *)
  
  initialization
    InitDirs;
  
negative.code:   end;
  end;
  
  function AppVariantItemToString(const V: TAppVariantItem): string;
  begin
    case V.Typ of
      avdBool:
        begin
          if V.Bool then
            Result:= 'True'
          else
            Result:= 'False';
        end;
  
      avdInt:
        Result:= IntToStr(V.Int);
  
      avdRect:
        Result:= Format('(%d,%d,%d,%d)', [V.Rect.Left, V.Rect.Top, V.Rect.Right, V.Rect.Bottom]);
  
      avdStr:
        Result:= SStringToPythonString(V.Str);
  
      else
        raise Exception.Create('Unhandled type in AppVariantItemToString');
    end;
  end;
  
  function AppVariantToString(const V: TAppVariant): string;
  var
    i: integer;
  begin
    case V.Typ of
      avrNil:
        raise Exception.Create('Nil value in AppVariantToString');
  
      avrInt:
        Result:= IntToStr(V.Int);
  
      avrStr:
        Result:= SStringToPythonString(V.Str);
  
      avrBool:
        begin
          if V.Bool then
  