Move bkli intersect functionality to library and migrate tests
This commit is contained in:
+9
-2
@@ -60,16 +60,23 @@ See https://bkl.gopatchy.io/#bkld for detailed documentation.`
|
||||
fatal(err)
|
||||
}
|
||||
|
||||
// Prepare paths from current working directory
|
||||
paths := []string{string(opts.Positional.BasePath), string(opts.Positional.TargetPath)}
|
||||
preparedPaths, err := p.PreparePathsFromCwd(paths, "/")
|
||||
if err != nil {
|
||||
fatal(err)
|
||||
}
|
||||
|
||||
// Use DiffFiles helper which handles loading and validation
|
||||
fsys := os.DirFS("/")
|
||||
doc, err := p.DiffFiles(fsys, string(opts.Positional.BasePath), string(opts.Positional.TargetPath))
|
||||
doc, err := p.DiffFiles(fsys, preparedPaths[0], preparedPaths[1])
|
||||
if err != nil {
|
||||
fatal(err)
|
||||
}
|
||||
|
||||
// Get format from first file if not specified
|
||||
if format == "" {
|
||||
_, f, err := p.FileMatch(fsys, string(opts.Positional.BasePath))
|
||||
_, f, err := p.FileMatch(fsys, preparedPaths[0])
|
||||
if err != nil {
|
||||
fatal(err)
|
||||
}
|
||||
|
||||
@@ -1,97 +0,0 @@
|
||||
package main
|
||||
|
||||
import "reflect"
|
||||
|
||||
func intersect(a, b any) (any, error) {
|
||||
if b == nil {
|
||||
return nil, nil
|
||||
}
|
||||
|
||||
switch a2 := a.(type) {
|
||||
case map[string]any:
|
||||
return intersectMap(a2, b)
|
||||
|
||||
case []any:
|
||||
return intersectList(a2, b)
|
||||
|
||||
case nil:
|
||||
return nil, nil
|
||||
|
||||
default:
|
||||
if a == b {
|
||||
return a, nil
|
||||
}
|
||||
|
||||
return "$required", nil
|
||||
}
|
||||
}
|
||||
|
||||
func intersectMap(a map[string]any, b any) (any, error) {
|
||||
switch b2 := b.(type) {
|
||||
case map[string]any:
|
||||
return intersectMapMap(a, b2)
|
||||
|
||||
default:
|
||||
// Different types but both defined
|
||||
return "$required", nil
|
||||
}
|
||||
}
|
||||
|
||||
func intersectMapMap(a, b map[string]any) (map[string]any, error) {
|
||||
ret := map[string]any{}
|
||||
|
||||
for k, v := range a {
|
||||
v2, found := b[k]
|
||||
|
||||
if !found {
|
||||
continue
|
||||
}
|
||||
|
||||
if v == nil && v2 == nil {
|
||||
ret[k] = nil
|
||||
continue
|
||||
}
|
||||
|
||||
v2, err := intersect(v, v2)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
if v2 == nil {
|
||||
continue
|
||||
}
|
||||
|
||||
ret[k] = v2
|
||||
}
|
||||
|
||||
return ret, nil
|
||||
}
|
||||
|
||||
func intersectList(a []any, b any) (any, error) {
|
||||
switch b2 := b.(type) {
|
||||
case []any:
|
||||
return intersectListList(a, b2)
|
||||
|
||||
default:
|
||||
// Different types but both defined
|
||||
return "$required", nil
|
||||
}
|
||||
}
|
||||
|
||||
func intersectListList(a, b []any) ([]any, error) { //nolint:unparam
|
||||
ret := []any{}
|
||||
|
||||
for _, v1 := range a {
|
||||
for _, v2 := range b {
|
||||
if reflect.DeepEqual(v1, v2) {
|
||||
ret = append(ret, v1)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if len(ret) == 0 {
|
||||
ret = append(ret, "$required")
|
||||
}
|
||||
|
||||
return ret, nil
|
||||
}
|
||||
+28
-46
@@ -54,58 +54,40 @@ See https://bkl.gopatchy.io/#bkli for detailed documentation.`
|
||||
format = strings.TrimPrefix(filepath.Ext(string(*opts.OutputPath)), ".")
|
||||
}
|
||||
|
||||
// Create parser for use after the loop
|
||||
parser, err := bkl.New()
|
||||
p, err := bkl.New()
|
||||
if err != nil {
|
||||
fatal(err)
|
||||
}
|
||||
|
||||
var doc any
|
||||
|
||||
for p, path := range opts.Positional.InputPaths {
|
||||
b, err := bkl.New()
|
||||
if err != nil {
|
||||
fatal(err)
|
||||
}
|
||||
|
||||
rebasedPaths, err := b.PreparePathsFromCwd([]string{string(path)}, "/")
|
||||
if err != nil {
|
||||
fatal(err)
|
||||
}
|
||||
|
||||
fsys := os.DirFS("/")
|
||||
realPath, f, err := b.FileMatch(fsys, rebasedPaths[0])
|
||||
if err != nil {
|
||||
fatal(err)
|
||||
}
|
||||
|
||||
if format == "" {
|
||||
format = f
|
||||
}
|
||||
|
||||
err = b.MergeFileLayers(fsys, realPath)
|
||||
if err != nil {
|
||||
fatal(err)
|
||||
}
|
||||
|
||||
docs := b.Documents()
|
||||
|
||||
if len(docs) != 1 {
|
||||
fatal(fmt.Errorf("bklr operates on exactly 1 source document"))
|
||||
}
|
||||
|
||||
if p == 0 {
|
||||
doc = docs[0].Data
|
||||
continue
|
||||
}
|
||||
|
||||
doc, err = intersect(docs[0].Data, doc)
|
||||
if err != nil {
|
||||
fatal(err)
|
||||
}
|
||||
// Convert paths to strings
|
||||
paths := make([]string, len(opts.Positional.InputPaths))
|
||||
for i, path := range opts.Positional.InputPaths {
|
||||
paths[i] = string(path)
|
||||
}
|
||||
|
||||
f, err := parser.GetFormat(format)
|
||||
// Prepare paths from current working directory
|
||||
preparedPaths, err := p.PreparePathsFromCwd(paths, "/")
|
||||
if err != nil {
|
||||
fatal(err)
|
||||
}
|
||||
|
||||
// Use IntersectFiles helper which handles loading and validation
|
||||
fsys := os.DirFS("/")
|
||||
doc, err := p.IntersectFiles(fsys, preparedPaths)
|
||||
if err != nil {
|
||||
fatal(err)
|
||||
}
|
||||
|
||||
// Get format from first file if not specified
|
||||
if format == "" {
|
||||
_, f, err := p.FileMatch(fsys, preparedPaths[0])
|
||||
if err != nil {
|
||||
fatal(err)
|
||||
}
|
||||
format = f
|
||||
}
|
||||
|
||||
f, err := p.GetFormat(format)
|
||||
if err != nil {
|
||||
fatal(err)
|
||||
}
|
||||
|
||||
+153
@@ -0,0 +1,153 @@
|
||||
package bkl
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"io/fs"
|
||||
"reflect"
|
||||
)
|
||||
|
||||
// IntersectFiles loads multiple files and returns their intersection.
|
||||
// It expects each file to contain exactly one document.
|
||||
// The files are loaded with MergeFileLayers but not processed, matching bkli behavior.
|
||||
func (p *Parser) IntersectFiles(fsys fs.FS, paths []string) (any, error) {
|
||||
if len(paths) < 2 {
|
||||
return nil, fmt.Errorf("intersect requires at least 2 files, got %d", len(paths))
|
||||
}
|
||||
|
||||
var result any
|
||||
|
||||
for i, path := range paths {
|
||||
// Create new parser for each file
|
||||
parser, err := New()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
realPath, _, err := parser.FileMatch(fsys, path)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("file %s: %w", path, err)
|
||||
}
|
||||
|
||||
if err := parser.MergeFileLayers(fsys, realPath); err != nil {
|
||||
return nil, fmt.Errorf("merging %s: %w", path, err)
|
||||
}
|
||||
|
||||
docs := parser.Documents()
|
||||
if len(docs) != 1 {
|
||||
return nil, fmt.Errorf("intersect operates on exactly 1 document per file, got %d in %s", len(docs), path)
|
||||
}
|
||||
|
||||
if i == 0 {
|
||||
result = docs[0].Data
|
||||
continue
|
||||
}
|
||||
|
||||
result, err = p.Intersect(docs[0].Data, result)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
|
||||
return result, nil
|
||||
}
|
||||
|
||||
// Intersect returns the intersection of two values.
|
||||
// For maps, it returns keys present in both with matching values or $required for conflicts.
|
||||
// For lists, it returns elements present in both lists.
|
||||
func (p *Parser) Intersect(a, b any) (any, error) {
|
||||
return intersect(a, b)
|
||||
}
|
||||
|
||||
func intersect(a, b any) (any, error) {
|
||||
if b == nil {
|
||||
return nil, nil
|
||||
}
|
||||
|
||||
switch a2 := a.(type) {
|
||||
case map[string]any:
|
||||
return intersectMap(a2, b)
|
||||
|
||||
case []any:
|
||||
return intersectList(a2, b)
|
||||
|
||||
case nil:
|
||||
return nil, nil
|
||||
|
||||
default:
|
||||
if a == b {
|
||||
return a, nil
|
||||
}
|
||||
|
||||
return "$required", nil
|
||||
}
|
||||
}
|
||||
|
||||
func intersectMap(a map[string]any, b any) (any, error) {
|
||||
switch b2 := b.(type) {
|
||||
case map[string]any:
|
||||
return intersectMapMap(a, b2)
|
||||
|
||||
default:
|
||||
// Different types but both defined
|
||||
return "$required", nil
|
||||
}
|
||||
}
|
||||
|
||||
func intersectMapMap(a, b map[string]any) (map[string]any, error) {
|
||||
ret := map[string]any{}
|
||||
|
||||
for k, v := range a {
|
||||
v2, found := b[k]
|
||||
|
||||
if !found {
|
||||
continue
|
||||
}
|
||||
|
||||
if v == nil && v2 == nil {
|
||||
ret[k] = nil
|
||||
continue
|
||||
}
|
||||
|
||||
v2, err := intersect(v, v2)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
if v2 == nil {
|
||||
continue
|
||||
}
|
||||
|
||||
ret[k] = v2
|
||||
}
|
||||
|
||||
return ret, nil
|
||||
}
|
||||
|
||||
func intersectList(a []any, b any) (any, error) {
|
||||
switch b2 := b.(type) {
|
||||
case []any:
|
||||
return intersectListList(a, b2)
|
||||
|
||||
default:
|
||||
// Different types but both defined
|
||||
return "$required", nil
|
||||
}
|
||||
}
|
||||
|
||||
func intersectListList(a, b []any) ([]any, error) {
|
||||
ret := []any{}
|
||||
|
||||
for _, v1 := range a {
|
||||
for _, v2 := range b {
|
||||
if reflect.DeepEqual(v1, v2) {
|
||||
ret = append(ret, v1)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if len(ret) == 0 {
|
||||
ret = append(ret, "$required")
|
||||
}
|
||||
|
||||
return ret, nil
|
||||
}
|
||||
+38
-2
@@ -24,6 +24,7 @@ type TestCase struct {
|
||||
RootPath string // Root path for restricting file access
|
||||
Env map[string]string // Environment variables for the test
|
||||
Diff bool // Run diff operation instead of eval
|
||||
Intersect bool // Run intersect operation instead of eval
|
||||
}
|
||||
|
||||
type TestSuite map[string]TestCase
|
||||
@@ -93,7 +94,41 @@ func TestLanguage(t *testing.T) {
|
||||
}
|
||||
|
||||
var output []byte
|
||||
if testCase.Diff {
|
||||
|
||||
switch {
|
||||
case testCase.Intersect:
|
||||
// For intersect tests, we need at least 2 files
|
||||
if len(testCase.Eval) < 2 {
|
||||
t.Fatalf("Intersect tests require at least 2 eval files, got %d", len(testCase.Eval))
|
||||
}
|
||||
|
||||
// Use the IntersectFiles helper which matches bkli behavior
|
||||
intersectResult, err := p.IntersectFiles(testFS, testCase.Eval)
|
||||
if err != nil {
|
||||
if testCase.Error != "" {
|
||||
if !strings.Contains(err.Error(), testCase.Error) {
|
||||
t.Fatalf("Expected error containing %q, but got: %v", testCase.Error, err)
|
||||
}
|
||||
return
|
||||
}
|
||||
t.Fatalf("Intersect failed: %v", err)
|
||||
}
|
||||
|
||||
// Marshal the intersect result
|
||||
format := testCase.Format
|
||||
if format == "" {
|
||||
format = "yaml"
|
||||
}
|
||||
f, err := p.GetFormat(format)
|
||||
if err != nil {
|
||||
t.Fatalf("Failed to get format: %v", err)
|
||||
}
|
||||
output, err = f.MarshalStream([]any{intersectResult})
|
||||
if err != nil {
|
||||
t.Fatalf("Failed to marshal intersect result: %v", err)
|
||||
}
|
||||
|
||||
case testCase.Diff:
|
||||
// For diff tests, we expect exactly 2 eval files
|
||||
if len(testCase.Eval) != 2 {
|
||||
t.Fatalf("Diff tests require exactly 2 eval files, got %d", len(testCase.Eval))
|
||||
@@ -124,7 +159,8 @@ func TestLanguage(t *testing.T) {
|
||||
if err != nil {
|
||||
t.Fatalf("Failed to marshal diff result: %v", err)
|
||||
}
|
||||
} else {
|
||||
|
||||
default:
|
||||
output, err = p.Evaluate(testFS, testCase.Eval, testCase.SkipParent, testCase.Format, rootPath, "/", testCase.Env)
|
||||
}
|
||||
|
||||
|
||||
-5
@@ -1,5 +0,0 @@
|
||||
go test fuzz v1
|
||||
string("\xb2.toml")
|
||||
[]byte("[0]\n[00]\n[000.0]\n[01000.0]\n[0100]\n[0000.0]\n[012.00]\n[00000.10]\n[010]\n[0000000]\n[0107000000]\n[01070]\n[0000010.0]")
|
||||
string("\x80")
|
||||
[]byte("12")
|
||||
-5
@@ -1,5 +0,0 @@
|
||||
go test fuzz v1
|
||||
string("0.yaml/")
|
||||
[]byte("[0000,0000")
|
||||
string("0")
|
||||
[]byte("0")
|
||||
-5
@@ -1,5 +0,0 @@
|
||||
go test fuzz v1
|
||||
string("0")
|
||||
[]byte("0")
|
||||
string("0.yaml")
|
||||
[]byte("!$000")
|
||||
-5
@@ -1,5 +0,0 @@
|
||||
go test fuzz v1
|
||||
string("0.yaml/")
|
||||
[]byte("#0000000000000000000000000000000")
|
||||
string("0")
|
||||
[]byte("0")
|
||||
-5
File diff suppressed because one or more lines are too long
-5
@@ -1,5 +0,0 @@
|
||||
go test fuzz v1
|
||||
string("0")
|
||||
[]byte("0")
|
||||
string("0.json")
|
||||
[]byte("0.000000000")
|
||||
-5
@@ -1,5 +0,0 @@
|
||||
go test fuzz v1
|
||||
string("0.yaml")
|
||||
[]byte("#\r#\r#\r0")
|
||||
string("0")
|
||||
[]byte("0")
|
||||
-5
@@ -1,5 +0,0 @@
|
||||
go test fuzz v1
|
||||
string("\xe9\x86;k")
|
||||
[]byte("100000.0")
|
||||
string("0.json")
|
||||
[]byte("100000.0000000000000000000000000000999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999099999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999990000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000")
|
||||
-5
@@ -1,5 +0,0 @@
|
||||
go test fuzz v1
|
||||
string("0.yaml")
|
||||
[]byte("?\n Y:\n 081:\n 90:\n 0:\r 2:\r a:\r 7b:\r ?\n 27:")
|
||||
string("c4")
|
||||
[]byte("1")
|
||||
-5
@@ -1,5 +0,0 @@
|
||||
go test fuzz v1
|
||||
string("0.yml")
|
||||
[]byte("\xff\xfe\xfe\xfe")
|
||||
string("0")
|
||||
[]byte("0")
|
||||
-5
@@ -1,5 +0,0 @@
|
||||
go test fuzz v1
|
||||
string("0.yaml/")
|
||||
[]byte("?\r-")
|
||||
string("0")
|
||||
[]byte("0")
|
||||
-5
@@ -1,5 +0,0 @@
|
||||
go test fuzz v1
|
||||
string("0.toml")
|
||||
[]byte("[00][[0]")
|
||||
string("0")
|
||||
[]byte("0")
|
||||
-5
@@ -1,5 +0,0 @@
|
||||
go test fuzz v1
|
||||
string("0.yaml")
|
||||
[]byte("\"\\_")
|
||||
string("0.yaml")
|
||||
[]byte("\"\\_")
|
||||
-5
File diff suppressed because one or more lines are too long
-5
@@ -1,5 +0,0 @@
|
||||
go test fuzz v1
|
||||
string("0.yaml/")
|
||||
[]byte("---\n---\n---\n---\n---\n---\n---\n---\n---\n---\n---\n---\n---\n---\n---\n---\n---\n---\n---\n---\n---\n---\n---\n---\n---\n---\n---\n---\n---\n---\n---\n---\n---\n---\n---\n---\n---\n---\n---\n---\n---\n---\n---\n---\n---\n---\n---\n---\n---\n---\n---\n---\n---\n---\n---\n---\n---\n---\n---\n---\n---\n---\n---\n")
|
||||
string("0")
|
||||
[]byte("0")
|
||||
-5
@@ -1,5 +0,0 @@
|
||||
go test fuzz v1
|
||||
string("0.yaml")
|
||||
[]byte("\xff\xfe\xff\xfe( 00( 00( 00( 00( 00( 00( 00")
|
||||
string("0")
|
||||
[]byte("0")
|
||||
-5
@@ -1,5 +0,0 @@
|
||||
go test fuzz v1
|
||||
string("0.yaml/")
|
||||
[]byte("\"\n ")
|
||||
string("0")
|
||||
[]byte("0")
|
||||
-5
@@ -1,5 +0,0 @@
|
||||
go test fuzz v1
|
||||
string("0.yaml")
|
||||
[]byte("? - 𐔾")
|
||||
string("0")
|
||||
[]byte("0")
|
||||
-5
@@ -1,5 +0,0 @@
|
||||
go test fuzz v1
|
||||
string("0.toml")
|
||||
[]byte("0aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa=")
|
||||
string("0")
|
||||
[]byte("0")
|
||||
-5
@@ -1,5 +0,0 @@
|
||||
go test fuzz v1
|
||||
string("0.json")
|
||||
[]byte("\"\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\"")
|
||||
string("0")
|
||||
[]byte("0")
|
||||
-5
@@ -1,5 +0,0 @@
|
||||
go test fuzz v1
|
||||
string("0.yaml/")
|
||||
[]byte("\"\\\u0085\\\u0085\\\u0085\\¢")
|
||||
string("0")
|
||||
[]byte("0")
|
||||
-5
@@ -1,5 +0,0 @@
|
||||
go test fuzz v1
|
||||
string("0.yaml/")
|
||||
[]byte("'00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000")
|
||||
string("0")
|
||||
[]byte("0")
|
||||
-5
@@ -1,5 +0,0 @@
|
||||
go test fuzz v1
|
||||
string("0.yaml/")
|
||||
[]byte("\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r")
|
||||
string("0")
|
||||
[]byte("0")
|
||||
-5
@@ -1,5 +0,0 @@
|
||||
go test fuzz v1
|
||||
string("0.toml")
|
||||
[]byte("\xb4\xb4\xb4\xb4\xb4\xb4\xb4\xb4\xb4\xb4\xb4\xb4\xb4\xb4\xb4\xb4")
|
||||
string("0")
|
||||
[]byte("0")
|
||||
-5
@@ -1,5 +0,0 @@
|
||||
go test fuzz v1
|
||||
string("0.yaml")
|
||||
[]byte("- \n---\n-")
|
||||
string("0.json")
|
||||
[]byte("[]\n---\n\"\"")
|
||||
-5
@@ -1,5 +0,0 @@
|
||||
go test fuzz v1
|
||||
string("0")
|
||||
[]byte("0")
|
||||
string("0.yaml")
|
||||
[]byte("%a")
|
||||
-5
@@ -1,5 +0,0 @@
|
||||
go test fuzz v1
|
||||
string("0.toml")
|
||||
[]byte("\"0\"=")
|
||||
string("0")
|
||||
[]byte("0")
|
||||
-5
@@ -1,5 +0,0 @@
|
||||
go test fuzz v1
|
||||
string("0.yaml/")
|
||||
[]byte("0b+0")
|
||||
string("0")
|
||||
[]byte("0")
|
||||
-5
@@ -1,5 +0,0 @@
|
||||
go test fuzz v1
|
||||
string("0.yaml/")
|
||||
[]byte("0b2")
|
||||
string("0")
|
||||
[]byte("0")
|
||||
-5
@@ -1,5 +0,0 @@
|
||||
go test fuzz v1
|
||||
string("0.yaml")
|
||||
[]byte("Y: Y")
|
||||
string("0.yaml")
|
||||
[]byte("Y: Y")
|
||||
-5
@@ -1,5 +0,0 @@
|
||||
go test fuzz v1
|
||||
string("0.yml")
|
||||
[]byte("0:\n1:\n0:\n1:\n00:\n1:\n0:\n0:\n0:\n2:")
|
||||
string("0")
|
||||
[]byte("0")
|
||||
-5
@@ -1,5 +0,0 @@
|
||||
go test fuzz v1
|
||||
string("0.yaml/")
|
||||
[]byte("0\r\r")
|
||||
string("0")
|
||||
[]byte("0")
|
||||
-5
@@ -1,5 +0,0 @@
|
||||
go test fuzz v1
|
||||
string("0.toml")
|
||||
[]byte("[[ ")
|
||||
string("0")
|
||||
[]byte("0")
|
||||
-5
@@ -1,5 +0,0 @@
|
||||
go test fuzz v1
|
||||
string("0.yaml/")
|
||||
[]byte("#\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-")
|
||||
string("0")
|
||||
[]byte("0")
|
||||
-5
File diff suppressed because one or more lines are too long
-5
@@ -1,5 +0,0 @@
|
||||
go test fuzz v1
|
||||
string("0.toml")
|
||||
[]byte("0={''''''''''''''''''=0")
|
||||
string("0")
|
||||
[]byte("0")
|
||||
-5
@@ -1,5 +0,0 @@
|
||||
go test fuzz v1
|
||||
string("0.yaml")
|
||||
[]byte("0:\r:\r:\r:")
|
||||
string("0.yaml")
|
||||
[]byte(":\r:")
|
||||
-5
@@ -1,5 +0,0 @@
|
||||
go test fuzz v1
|
||||
string("0.yaml/")
|
||||
[]byte("00 0\n0 0\n0 0\n0 0\n0 0\n0 0\n0 0\n0 0\n0 0\n0 0\n- 0\n- 0\n- 0\n- 0\n- 0\n- 0\n- 0\n- 0\n- 0\n- 0\n- 0\n- 0\n- 0\n- 0\n- 0\n- 0\n- 0\n- 0\n- 0\n- 0\n- 0 0\n- 0\n- 0\n- 0\n- 0\n- 0\n- 0\n- 0\n- 0\n- 0\n- 0\n- 0 0\n")
|
||||
string("0")
|
||||
[]byte("0")
|
||||
-5
@@ -1,5 +0,0 @@
|
||||
go test fuzz v1
|
||||
string("0.toml")
|
||||
[]byte("[00][000][0][1]")
|
||||
string("0")
|
||||
[]byte("0")
|
||||
-5
@@ -1,5 +0,0 @@
|
||||
go test fuzz v1
|
||||
string("0.toml")
|
||||
[]byte("=0000-00-00T")
|
||||
string("0")
|
||||
[]byte("0")
|
||||
-5
@@ -1,5 +0,0 @@
|
||||
go test fuzz v1
|
||||
string("0.yaml")
|
||||
[]byte("{{{{{{{{{{{{{{{]]]]]]]]]]]]]]]]")
|
||||
string("0")
|
||||
[]byte("0")
|
||||
-5
@@ -1,5 +0,0 @@
|
||||
go test fuzz v1
|
||||
string("0.toml")
|
||||
[]byte("0=-8")
|
||||
string("0.toml")
|
||||
[]byte("0=-8")
|
||||
-5
@@ -1,5 +0,0 @@
|
||||
go test fuzz v1
|
||||
string("0")
|
||||
[]byte("0")
|
||||
string("0.yaml")
|
||||
[]byte("!]]]]]]]]]]]]]]]")
|
||||
-5
@@ -1,5 +0,0 @@
|
||||
go test fuzz v1
|
||||
string("0.toml")
|
||||
[]byte("[0]\n[1]\n[01]\n[00]\n[10]\n[2]\n[02]\n[0]")
|
||||
string("0")
|
||||
[]byte("0")
|
||||
-5
@@ -1,5 +0,0 @@
|
||||
go test fuzz v1
|
||||
string("0.json")
|
||||
[]byte("0")
|
||||
string("0.json")
|
||||
[]byte("-0")
|
||||
-5
@@ -1,5 +0,0 @@
|
||||
go test fuzz v1
|
||||
string("0.yaml/")
|
||||
[]byte(">\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r")
|
||||
string("0")
|
||||
[]byte("0")
|
||||
-5
@@ -1,5 +0,0 @@
|
||||
go test fuzz v1
|
||||
string("0.toml")
|
||||
[]byte("\"\"=\"\"\"\\b\\b\\b\\b\\b\\b\\b\\b\"\"\"")
|
||||
string("0")
|
||||
[]byte("0")
|
||||
-5
@@ -1,5 +0,0 @@
|
||||
go test fuzz v1
|
||||
string("'.json")
|
||||
[]byte("11111111111111111111111111111111111111111111111111101111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111115111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111911111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111E-1041")
|
||||
string("\xfc0")
|
||||
[]byte("1")
|
||||
-5
@@ -1,5 +0,0 @@
|
||||
go test fuzz v1
|
||||
string("0.yaml")
|
||||
[]byte("00\n\n0\n\n0\n\n0\n\n0\n\n0\n\n0\n\n0\n\n0\n\n0\n\n0\n\n0\n\n0\n\n0\n\n0\n\n0\n\n0\n\n0\n\n0\n\n0\n\n0\n\n0\n\n0\n\n0\n\n0\n\n0\n\n0\n\n0\n\n0\n\n0\n\n0\n\n0\n\n0\n\n0\n\n0\n\n0\n\n0\n\n0\n\n0\n\n0\n\n0\n\n0\n\n0\n\n0\n\n0\n\n0\n\n0\n\n0\n\n0\n\n0\n\n0\n\n0\n\n0\n\n0\n\n0\n\n0\n\n0\n\n0\n\n0\n\n0\n\n0\n\n0\n\n0\n\n0\n\n0")
|
||||
string("0")
|
||||
[]byte("0")
|
||||
-5
@@ -1,5 +0,0 @@
|
||||
go test fuzz v1
|
||||
string("0.yaml/")
|
||||
[]byte("{0,0,0,0,0,0,0,0,0")
|
||||
string("0")
|
||||
[]byte("0")
|
||||
-5
@@ -1,5 +0,0 @@
|
||||
go test fuzz v1
|
||||
string("0.yaml")
|
||||
[]byte("\xff\xfe0\xd90\xdf0\xd90\xdf0\xd90\xdf0\xd90\xdf0\xd90\xdf0\xd9")
|
||||
string("0")
|
||||
[]byte("0")
|
||||
-5
@@ -1,5 +0,0 @@
|
||||
go test fuzz v1
|
||||
string("0")
|
||||
[]byte("0")
|
||||
string("0.yaml")
|
||||
[]byte("! #")
|
||||
-5
@@ -1,5 +0,0 @@
|
||||
go test fuzz v1
|
||||
string("0.yaml/")
|
||||
[]byte("? - ȡȡȡȡȡ")
|
||||
string("0")
|
||||
[]byte("0")
|
||||
-5
@@ -1,5 +0,0 @@
|
||||
go test fuzz v1
|
||||
string("0.yaml")
|
||||
[]byte("!)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))")
|
||||
string("0")
|
||||
[]byte("0")
|
||||
-5
@@ -1,5 +0,0 @@
|
||||
go test fuzz v1
|
||||
string("0.toml")
|
||||
[]byte("\"\"=\"\"\"\"00")
|
||||
string("0")
|
||||
[]byte("0")
|
||||
-5
@@ -1,5 +0,0 @@
|
||||
go test fuzz v1
|
||||
string("0.toml")
|
||||
[]byte("\"\\b\".\"\\b\".\"\\b\".\"\\b\".\"\\b\".\"\\b\".\"\\b\".\"\\b\"")
|
||||
string("0")
|
||||
[]byte("0")
|
||||
-5
@@ -1,5 +0,0 @@
|
||||
go test fuzz v1
|
||||
string("0.toml")
|
||||
[]byte("0=+")
|
||||
string("0.toml")
|
||||
[]byte("0=+")
|
||||
-5
@@ -1,5 +0,0 @@
|
||||
go test fuzz v1
|
||||
string("0.toml")
|
||||
[]byte("=0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0A0")
|
||||
string("0")
|
||||
[]byte("0")
|
||||
-5
@@ -1,5 +0,0 @@
|
||||
go test fuzz v1
|
||||
string("0.toml")
|
||||
[]byte("0=0000-- 0000000000-00-00 ")
|
||||
string("0")
|
||||
[]byte("0")
|
||||
-5
@@ -1,5 +0,0 @@
|
||||
go test fuzz v1
|
||||
string("0l.yaml/")
|
||||
[]byte("0l.yaml\n---\n\n---\n\n-\n\n---\n\n---\n\n---\n\n---\n\n---\n\n------\n\n---\n\n---\n\n---\n\n---\n\n---\n\n---\n\n---\n\n---\n\n---\n\n---\n\n---\n\n--\n---\n\n---\n\n---\n\n---\n\n----\n---\n\n---\n\n---\n\n---\n\n---\n\n---\n\n---\n\n---\n\n---\n\n---+++\n\n---\n\n---\n\n---\n\n---\n\n---\n\n---\n\n---\n\n---\n\n---\n\n---\n\n--\n---\n\n---\n\n---\n\n---\n\n----\n---\n\n---\n\n---\n\n---\n\n---\n\n---\n\n--\n---\n\n------\n\n---\n\n---\n\n---\n-\n\n---\n\n---\n\n---+++\n\n---\n\n---\n\n---\n\n---\n\n---\n\n---\n\n---\n\n---\n\n--\n\n----\n\n---\n\n---\n\n---\n\n---\n\n---\n\n---\n\n---\n\n---\n\n\n---\n\n---\n\n---\n\n---\n\n---\n\n---\n\n---\n\n---\n\n---\n\n---\n\n---\n\n---\n\n---\n\n---\n\n---\n\n--\n\n---\n\n---\n---\n\n---\n\n---\n\n---\n\n---\n\n---\n\n---\n\n---\n\n---\n\n---\n\n---\n\n---\n\n---\n\n---\n\n\n---\n\n---\n\n---\n\n---\n\n---\n\n---\n\n---\n\n---\n\n---\n\n---\n\n---\n\n---\n\n---\n\n---\n\n---\n\n--\n\n---\n\n---\n\nl-\n\n---\n\n---\n\n---\n\n\n---\n\n---\n\n---\n\n---\n\n\n--\n\n---\n\n---\n\n---\n\n---\n\n---\n\n---\n\n---\n\n---\n\n---\n\n---\n\n---\n\n-\n\n---\n\n---\n\n---\n\n---\n\n---\n\n------\n\n---\n\n---\n\n---\n\n---\n\n---\n\n---\n\n---\n\n---\n\n---\n\n---\n\n---\n\n--\n---\n\n---\n\n---\n\n---\n\n----\n---\n\n---\n\n---\n\n---\n\n---\n\n---\n\n---\n\n---\n\n---\n\n---+++\n\n---\n\n---\n\n---\n\n---\n\n---\n\n---\n\n---\n\n---\n\n---\n\n---\n\n--\n---\n\n---\n\n---\n\n---\n\n----\n---\n\n---\n\n---\n\n---\n\n---\n\n---\n\n--\n---\n\n------\n\n---\n\n---\n\n---\n-\n\n---\n\n---\n\n---+++\n\n---\n\n---\n\n---\n\n---\n\n---\n\n---\n\n---\n\n---\n\n--\n\n----\n\n---\n\n---\n\n---\n\n---\n\n---\n\n---\n\n---\n\n---\n\n\n---\n\n---\n\n---\n\n---\n\n---\n\n---\n\n---\n\n---\n\n---\n\n---\n\n---\n\n---\n\n---\n\n---\n\n---\n\n--\n\n---\n\n---\n---\n\n---\n\n---\n\n---\n\n---\n\n---\n\n---\n\n---\n\n---\n\n---\n\n---\n\n---\n\n---\x8a\x81\t\x8b\xd2\n\n---\n\n\n---\n\n---\n\n---\n\n---\n\n---\n\n---\n\n---\n\n---\n\n---\n\n---\n\n---\n\n---\n\n---\n\n---\n\n---\n\n--\n\n---\n\n---\n\n---\n\n---\n\n---\n")
|
||||
string("\xab")
|
||||
[]byte("0l.")
|
||||
-5
@@ -1,5 +0,0 @@
|
||||
go test fuzz v1
|
||||
string("0.yaml")
|
||||
[]byte("\xfe\xff")
|
||||
string("0.yaml")
|
||||
[]byte("\xfe\xff")
|
||||
-5
@@ -1,5 +0,0 @@
|
||||
go test fuzz v1
|
||||
string("0.yaml/")
|
||||
[]byte("|\u0085>")
|
||||
string("0")
|
||||
[]byte("0")
|
||||
-5
@@ -1,5 +0,0 @@
|
||||
go test fuzz v1
|
||||
string("0.yaml/")
|
||||
[]byte("A")
|
||||
string("0")
|
||||
[]byte("0")
|
||||
-5
@@ -1,5 +0,0 @@
|
||||
go test fuzz v1
|
||||
string("0.toml")
|
||||
[]byte("000000000=")
|
||||
string("0")
|
||||
[]byte("0")
|
||||
-5
@@ -1,5 +0,0 @@
|
||||
go test fuzz v1
|
||||
string("0.yaml/")
|
||||
[]byte("𖦾𖤾𖤾𖤾𖤾𖦾𖤾𖦾𖤾𖤾𖦾𖤾𖤾𖤾𖤾𖤾𖦾𖤾𖦾𖦾𖤾\xf0\x9600")
|
||||
string("0")
|
||||
[]byte("0")
|
||||
-5
@@ -1,5 +0,0 @@
|
||||
go test fuzz v1
|
||||
string("0.toml")
|
||||
[]byte("[[0]\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v]")
|
||||
string("0")
|
||||
[]byte("0")
|
||||
-5
@@ -1,5 +0,0 @@
|
||||
go test fuzz v1
|
||||
string("0.json")
|
||||
[]byte("{\"\":0,\"\":0,\"\":0,\"\":0,\"\":0,\"\":0,\"\":0,\"\":{\"\":0,\"\":0,\"\":0,\"\":0,\"\":0,\"\":0,\"\":\"\"")
|
||||
string("0")
|
||||
[]byte("0")
|
||||
-5
@@ -1,5 +0,0 @@
|
||||
go test fuzz v1
|
||||
string("0.toml")
|
||||
[]byte("0=\"\"\"\\\r\"\"\"")
|
||||
string("0.toml")
|
||||
[]byte("0=\"\"\"\\\r\"\"\"")
|
||||
-5
@@ -1,5 +0,0 @@
|
||||
go test fuzz v1
|
||||
string("0.toml")
|
||||
[]byte("\"\"=\"\"\"\\0\\")
|
||||
string("0")
|
||||
[]byte("0")
|
||||
-5
@@ -1,5 +0,0 @@
|
||||
go test fuzz v1
|
||||
string("0")
|
||||
[]byte("0")
|
||||
string("0.yaml")
|
||||
[]byte("10000000000006000000000000000000000000000000000000000000000000")
|
||||
-5
@@ -1,5 +0,0 @@
|
||||
go test fuzz v1
|
||||
string("0.yaml/")
|
||||
[]byte("{0b+0")
|
||||
string("0")
|
||||
[]byte("0")
|
||||
-5
@@ -1,5 +0,0 @@
|
||||
go test fuzz v1
|
||||
string("0.toml")
|
||||
[]byte("\"\\UAAAAAAA")
|
||||
string("0")
|
||||
[]byte("0")
|
||||
-5
@@ -1,5 +0,0 @@
|
||||
go test fuzz v1
|
||||
string("0")
|
||||
[]byte("0")
|
||||
string("0.yaml/")
|
||||
[]byte("!%c0%a0%c0%a0")
|
||||
-5
@@ -1,5 +0,0 @@
|
||||
go test fuzz v1
|
||||
string("0.yaml")
|
||||
[]byte("\"\n--\n--\n--\n--")
|
||||
string("0")
|
||||
[]byte("0")
|
||||
-5
@@ -1,5 +0,0 @@
|
||||
go test fuzz v1
|
||||
string("0.yaml")
|
||||
[]byte("\"\\\u0085\\\u0085\\\u0085\\\u0085")
|
||||
string("0")
|
||||
[]byte("0")
|
||||
-5
@@ -1,5 +0,0 @@
|
||||
go test fuzz v1
|
||||
string("0.toml")
|
||||
[]byte("0=f00000")
|
||||
string("0.toml")
|
||||
[]byte("0=f00000")
|
||||
-5
@@ -1,5 +0,0 @@
|
||||
go test fuzz v1
|
||||
string("0.yaml/")
|
||||
[]byte("%aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa")
|
||||
string("0")
|
||||
[]byte("0")
|
||||
-5
@@ -1,5 +0,0 @@
|
||||
go test fuzz v1
|
||||
string("0.yaml/")
|
||||
[]byte("!!!!!!!!!")
|
||||
string("0")
|
||||
[]byte("0")
|
||||
-5
@@ -1,5 +0,0 @@
|
||||
go test fuzz v1
|
||||
string("0.yaml/")
|
||||
[]byte("0 #\r\"\"\r0")
|
||||
string("0")
|
||||
[]byte("0")
|
||||
-5
@@ -1,5 +0,0 @@
|
||||
go test fuzz v1
|
||||
string("0.yaml/")
|
||||
[]byte("? 0: .2")
|
||||
string("0")
|
||||
[]byte("0")
|
||||
-5
@@ -1,5 +0,0 @@
|
||||
go test fuzz v1
|
||||
string("0")
|
||||
[]byte("0")
|
||||
string("0.yaml/")
|
||||
[]byte("!'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''")
|
||||
-5
@@ -1,5 +0,0 @@
|
||||
go test fuzz v1
|
||||
string("0.toml")
|
||||
[]byte("[0]0=[]\n0=00")
|
||||
string("0")
|
||||
[]byte("0")
|
||||
-5
@@ -1,5 +0,0 @@
|
||||
go test fuzz v1
|
||||
string("0.yaml/")
|
||||
[]byte("\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r")
|
||||
string("0")
|
||||
[]byte("0")
|
||||
-5
@@ -1,5 +0,0 @@
|
||||
go test fuzz v1
|
||||
string("0.yaml")
|
||||
[]byte("\"\r.")
|
||||
string("0")
|
||||
[]byte("0")
|
||||
-5
@@ -1,5 +0,0 @@
|
||||
go test fuzz v1
|
||||
string("0.yaml/")
|
||||
[]byte("? ? - - 0")
|
||||
string("0")
|
||||
[]byte("0")
|
||||
-5
@@ -1,5 +0,0 @@
|
||||
go test fuzz v1
|
||||
string("0.yaml/")
|
||||
[]byte("\r\n\r\n")
|
||||
string("0")
|
||||
[]byte("0")
|
||||
-5
@@ -1,5 +0,0 @@
|
||||
go test fuzz v1
|
||||
string("0.yaml")
|
||||
[]byte(":")
|
||||
string("0")
|
||||
[]byte("0")
|
||||
-5
@@ -1,5 +0,0 @@
|
||||
go test fuzz v1
|
||||
string("0.toml")
|
||||
[]byte("[[ ")
|
||||
string("0")
|
||||
[]byte("0")
|
||||
-5
@@ -1,5 +0,0 @@
|
||||
go test fuzz v1
|
||||
string("0")
|
||||
[]byte("0")
|
||||
string("0.json")
|
||||
[]byte("\"\\r\\r\\r\\r\\r\\r\\r\\r\"")
|
||||
-5
@@ -1,5 +0,0 @@
|
||||
go test fuzz v1
|
||||
string("0.toml")
|
||||
[]byte("0=")
|
||||
string("0.toml")
|
||||
[]byte("0=")
|
||||
-5
@@ -1,5 +0,0 @@
|
||||
go test fuzz v1
|
||||
string("0.json")
|
||||
[]byte("0 \r\r\r\r\r \r\r \r\r \r\r\r\r\r\r\r")
|
||||
string("0")
|
||||
[]byte("0")
|
||||
-5
File diff suppressed because one or more lines are too long
-5
@@ -1,5 +0,0 @@
|
||||
go test fuzz v1
|
||||
string("0.toml")
|
||||
[]byte("[[0000]][[000]][[00]][[0]][[00]][[0]][[00]][[0]][[0]][[0]][[0]][[0]][[0]][[0]][[0]][[0]][[0]")
|
||||
string("0")
|
||||
[]byte("0")
|
||||
-5
@@ -1,5 +0,0 @@
|
||||
go test fuzz v1
|
||||
string("0.toml")
|
||||
[]byte("\"\\f\\f\\f\\f\\f\\f\\f\\f\\f\\f\\f\\f\\f\\f\\f\\f\\f\\f\\f\\f\\f\\f\\f\\f\\f\\f\\f\\f\\f\\f\\f\\f\\f\\f\\f\\f\\f\\f\\f\\f\\f\\f\\f\\f\\f\\f\\f\\f\\f\\f\\f\\f\\f\\f\\f\\f\\f\\f\\f\\f\\f\\f\\f\\f\"")
|
||||
string("0")
|
||||
[]byte("0")
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user