use go 1.13 (#8088)

* use go 1.13

* use go 1.13 in gomod file

* Update Makefile

* update swagger deps
This commit is contained in:
techknowlogick 2019-09-12 07:58:32 -04:00 committed by Lauris BH
parent d0ad47bd5d
commit 3f5cdfe359
121 changed files with 759 additions and 12620 deletions

View file

@ -1,99 +0,0 @@
// Copyright 2017 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
// +build ignore
// The gcexportdata command is a diagnostic tool that displays the
// contents of gc export data files.
package main
import (
"flag"
"fmt"
"go/token"
"go/types"
"log"
"os"
"golang.org/x/tools/go/gcexportdata"
"golang.org/x/tools/go/types/typeutil"
)
var packageFlag = flag.String("package", "", "alternative package to print")
func main() {
log.SetPrefix("gcexportdata: ")
log.SetFlags(0)
flag.Usage = func() {
fmt.Fprintln(os.Stderr, "usage: gcexportdata [-package path] file.a")
}
flag.Parse()
if flag.NArg() != 1 {
flag.Usage()
os.Exit(2)
}
filename := flag.Args()[0]
f, err := os.Open(filename)
if err != nil {
log.Fatal(err)
}
r, err := gcexportdata.NewReader(f)
if err != nil {
log.Fatalf("%s: %s", filename, err)
}
// Decode the package.
const primary = "<primary>"
imports := make(map[string]*types.Package)
fset := token.NewFileSet()
pkg, err := gcexportdata.Read(r, fset, imports, primary)
if err != nil {
log.Fatalf("%s: %s", filename, err)
}
// Optionally select an indirectly mentioned package.
if *packageFlag != "" {
pkg = imports[*packageFlag]
if pkg == nil {
fmt.Fprintf(os.Stderr, "export data file %s does not mention %s; has:\n",
filename, *packageFlag)
for p := range imports {
if p != primary {
fmt.Fprintf(os.Stderr, "\t%s\n", p)
}
}
os.Exit(1)
}
}
// Print all package-level declarations, including non-exported ones.
fmt.Printf("package %s\n", pkg.Name())
for _, imp := range pkg.Imports() {
fmt.Printf("import %q\n", imp.Path())
}
qual := func(p *types.Package) string {
if pkg == p {
return ""
}
return p.Name()
}
scope := pkg.Scope()
for _, name := range scope.Names() {
obj := scope.Lookup(name)
fmt.Printf("%s: %s\n",
fset.Position(obj.Pos()),
types.ObjectString(obj, qual))
// For types, print each method.
if _, ok := obj.(*types.TypeName); ok {
for _, method := range typeutil.IntuitiveMethodSet(obj.Type(), nil) {
fmt.Printf("%s: %s\n",
fset.Position(method.Obj().Pos()),
types.SelectionString(method, qual))
}
}
}
}

View file

@ -21,6 +21,7 @@ import (
"strings"
"sync"
"time"
"unicode"
"golang.org/x/tools/go/internal/packagesdriver"
"golang.org/x/tools/internal/gopathwalk"
@ -889,8 +890,19 @@ func invokeGo(cfg *Config, args ...string) (*bytes.Buffer, error) {
// and should be suppressed by go list -e.
//
// This condition is not perfect yet because the error message can include other error messages than runtime/cgo.
if len(stderr.String()) > 0 && strings.HasPrefix(stderr.String(), "# runtime/cgo\n") {
return stdout, nil
isPkgPathRune := func(r rune) bool {
// From https://golang.org/ref/spec#Import_declarations:
// Implementation restriction: A compiler may restrict ImportPaths to non-empty strings
// using only characters belonging to Unicode's L, M, N, P, and S general categories
// (the Graphic characters without spaces) and may also exclude the
// characters !"#$%&'()*,:;<=>?[\]^`{|} and the Unicode replacement character U+FFFD.
return unicode.IsOneOf([]*unicode.RangeTable{unicode.L, unicode.M, unicode.N, unicode.P, unicode.S}, r) &&
strings.IndexRune("!\"#$%&'()*,:;<=>?[\\]^`{|}\uFFFD", r) == -1
}
if len(stderr.String()) > 0 && strings.HasPrefix(stderr.String(), "# ") {
if strings.HasPrefix(strings.TrimLeftFunc(stderr.String()[len("# "):], isPkgPathRune), "\n") {
return stdout, nil
}
}
// This error only appears in stderr. See golang.org/cl/166398 for a fix in go list to show

View file

@ -1,173 +0,0 @@
// +build ignore
// Copyright 2013 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
// Command mkindex creates the file "pkgindex.go" containing an index of the Go
// standard library. The file is intended to be built as part of the imports
// package, so that the package may be used in environments where a GOROOT is
// not available (such as App Engine).
package imports
import (
"bytes"
"fmt"
"go/ast"
"go/build"
"go/format"
"go/parser"
"go/token"
"io/ioutil"
"log"
"os"
"path"
"path/filepath"
"strings"
)
var (
pkgIndex = make(map[string][]pkg)
exports = make(map[string]map[string]bool)
)
func main() {
// Don't use GOPATH.
ctx := build.Default
ctx.GOPATH = ""
// Populate pkgIndex global from GOROOT.
for _, path := range ctx.SrcDirs() {
f, err := os.Open(path)
if err != nil {
log.Print(err)
continue
}
children, err := f.Readdir(-1)
f.Close()
if err != nil {
log.Print(err)
continue
}
for _, child := range children {
if child.IsDir() {
loadPkg(path, child.Name())
}
}
}
// Populate exports global.
for _, ps := range pkgIndex {
for _, p := range ps {
e := loadExports(p.dir)
if e != nil {
exports[p.dir] = e
}
}
}
// Construct source file.
var buf bytes.Buffer
fmt.Fprint(&buf, pkgIndexHead)
fmt.Fprintf(&buf, "var pkgIndexMaster = %#v\n", pkgIndex)
fmt.Fprintf(&buf, "var exportsMaster = %#v\n", exports)
src := buf.Bytes()
// Replace main.pkg type name with pkg.
src = bytes.Replace(src, []byte("main.pkg"), []byte("pkg"), -1)
// Replace actual GOROOT with "/go".
src = bytes.Replace(src, []byte(ctx.GOROOT), []byte("/go"), -1)
// Add some line wrapping.
src = bytes.Replace(src, []byte("}, "), []byte("},\n"), -1)
src = bytes.Replace(src, []byte("true, "), []byte("true,\n"), -1)
var err error
src, err = format.Source(src)
if err != nil {
log.Fatal(err)
}
// Write out source file.
err = ioutil.WriteFile("pkgindex.go", src, 0644)
if err != nil {
log.Fatal(err)
}
}
const pkgIndexHead = `package imports
func init() {
pkgIndexOnce.Do(func() {
pkgIndex.m = pkgIndexMaster
})
loadExports = func(dir string) map[string]bool {
return exportsMaster[dir]
}
}
`
type pkg struct {
importpath string // full pkg import path, e.g. "net/http"
dir string // absolute file path to pkg directory e.g. "/usr/lib/go/src/fmt"
}
var fset = token.NewFileSet()
func loadPkg(root, importpath string) {
shortName := path.Base(importpath)
if shortName == "testdata" {
return
}
dir := filepath.Join(root, importpath)
pkgIndex[shortName] = append(pkgIndex[shortName], pkg{
importpath: importpath,
dir: dir,
})
pkgDir, err := os.Open(dir)
if err != nil {
return
}
children, err := pkgDir.Readdir(-1)
pkgDir.Close()
if err != nil {
return
}
for _, child := range children {
name := child.Name()
if name == "" {
continue
}
if c := name[0]; c == '.' || ('0' <= c && c <= '9') {
continue
}
if child.IsDir() {
loadPkg(root, filepath.Join(importpath, name))
}
}
}
func loadExports(dir string) map[string]bool {
exports := make(map[string]bool)
buildPkg, err := build.ImportDir(dir, 0)
if err != nil {
if strings.Contains(err.Error(), "no buildable Go source files in") {
return nil
}
log.Printf("could not import %q: %v", dir, err)
return nil
}
for _, file := range buildPkg.GoFiles {
f, err := parser.ParseFile(fset, filepath.Join(dir, file), nil, 0)
if err != nil {
log.Printf("could not parse %q: %v", file, err)
continue
}
for name := range f.Scope.Objects {
if ast.IsExported(name) {
exports[name] = true
}
}
}
return exports
}

View file

@ -1,132 +0,0 @@
// +build ignore
// mkstdlib generates the zstdlib.go file, containing the Go standard
// library API symbols. It's baked into the binary to avoid scanning
// GOPATH in the common case.
package imports
import (
"bufio"
"bytes"
"fmt"
"go/format"
"io"
"io/ioutil"
"log"
"os"
"os/exec"
"path/filepath"
"regexp"
"runtime"
"sort"
"strings"
)
func mustOpen(name string) io.Reader {
f, err := os.Open(name)
if err != nil {
log.Fatal(err)
}
return f
}
func api(base string) string {
return filepath.Join(runtime.GOROOT(), "api", base)
}
var sym = regexp.MustCompile(`^pkg (\S+).*?, (?:var|func|type|const) ([A-Z]\w*)`)
var unsafeSyms = map[string]bool{"Alignof": true, "ArbitraryType": true, "Offsetof": true, "Pointer": true, "Sizeof": true}
func main() {
var buf bytes.Buffer
outf := func(format string, args ...interface{}) {
fmt.Fprintf(&buf, format, args...)
}
outf("// Code generated by mkstdlib.go. DO NOT EDIT.\n\n")
outf("package imports\n")
outf("var stdlib = map[string]map[string]bool{\n")
f := io.MultiReader(
mustOpen(api("go1.txt")),
mustOpen(api("go1.1.txt")),
mustOpen(api("go1.2.txt")),
mustOpen(api("go1.3.txt")),
mustOpen(api("go1.4.txt")),
mustOpen(api("go1.5.txt")),
mustOpen(api("go1.6.txt")),
mustOpen(api("go1.7.txt")),
mustOpen(api("go1.8.txt")),
mustOpen(api("go1.9.txt")),
mustOpen(api("go1.10.txt")),
mustOpen(api("go1.11.txt")),
mustOpen(api("go1.12.txt")),
// The API of the syscall/js package needs to be computed explicitly,
// because it's not included in the GOROOT/api/go1.*.txt files at this time.
syscallJSAPI(),
)
sc := bufio.NewScanner(f)
pkgs := map[string]map[string]bool{
"unsafe": unsafeSyms,
}
paths := []string{"unsafe"}
for sc.Scan() {
l := sc.Text()
has := func(v string) bool { return strings.Contains(l, v) }
if has("struct, ") || has("interface, ") || has(", method (") {
continue
}
if m := sym.FindStringSubmatch(l); m != nil {
path, sym := m[1], m[2]
if _, ok := pkgs[path]; !ok {
pkgs[path] = map[string]bool{}
paths = append(paths, path)
}
pkgs[path][sym] = true
}
}
if err := sc.Err(); err != nil {
log.Fatal(err)
}
sort.Strings(paths)
for _, path := range paths {
outf("\t%q: map[string]bool{\n", path)
pkg := pkgs[path]
var syms []string
for sym := range pkg {
syms = append(syms, sym)
}
sort.Strings(syms)
for _, sym := range syms {
outf("\t\t%q: true,\n", sym)
}
outf("},\n")
}
outf("}\n")
fmtbuf, err := format.Source(buf.Bytes())
if err != nil {
log.Fatal(err)
}
err = ioutil.WriteFile("zstdlib.go", fmtbuf, 0666)
if err != nil {
log.Fatal(err)
}
}
// syscallJSAPI returns the API of the syscall/js package.
// It's computed from the contents of $(go env GOROOT)/src/syscall/js.
func syscallJSAPI() io.Reader {
var exeSuffix string
if runtime.GOOS == "windows" {
exeSuffix = ".exe"
}
cmd := exec.Command("go"+exeSuffix, "run", "cmd/api", "-contexts", "js-wasm", "syscall/js")
out, err := cmd.Output()
if err != nil {
log.Fatalln(err)
}
return bytes.NewReader(out)
}

View file

@ -106,6 +106,8 @@ func (r *ModuleResolver) init() error {
// findPackage returns the module and directory that contains the package at
// the given import path, or returns nil, "" if no module is in scope.
func (r *ModuleResolver) findPackage(importPath string) (*ModuleJSON, string) {
// This can't find packages in the stdlib, but that's harmless for all
// the existing code paths.
for _, m := range r.ModsByModPath {
if !strings.HasPrefix(importPath, m.Path) {
continue
@ -397,6 +399,12 @@ func (r *ModuleResolver) scanDirForPackage(root gopathwalk.Root, dir string) (di
importPath = path.Join(r.Main.Path, filepath.ToSlash(subdir))
case gopathwalk.RootModuleCache:
matches := modCacheRegexp.FindStringSubmatch(subdir)
if len(matches) == 0 {
return directoryPackageInfo{
status: directoryScanned,
err: fmt.Errorf("invalid module cache path: %v", subdir),
}, nil
}
modPath, err := module.DecodePath(filepath.ToSlash(matches[1]))
if err != nil {
if r.env.Debug {
@ -412,24 +420,28 @@ func (r *ModuleResolver) scanDirForPackage(root gopathwalk.Root, dir string) (di
importPath = subdir
}
result := directoryPackageInfo{
status: directoryScanned,
dir: dir,
nonCanonicalImportPath: importPath,
needsReplace: false,
}
if root.Type == gopathwalk.RootGOROOT {
// stdlib packages are always in scope, despite the confusing go.mod
return result, nil
}
// Check that this package is not obviously impossible to import.
modFile := r.findModFile(dir)
var needsReplace bool
modBytes, err := ioutil.ReadFile(modFile)
if err == nil && !strings.HasPrefix(importPath, modulePath(modBytes)) {
// The module's declared path does not match
// its expected path. It probably needs a
// replace directive we don't have.
needsReplace = true
result.needsReplace = true
}
return directoryPackageInfo{
status: directoryScanned,
dir: dir,
nonCanonicalImportPath: importPath,
needsReplace: needsReplace,
}, nil
return result, nil
}
// modCacheRegexp splits a path in a module cache into module, module version, and package.

View file

@ -125,6 +125,7 @@ var stdlib = map[string]map[string]bool{
"ToTitleSpecial": true,
"ToUpper": true,
"ToUpperSpecial": true,
"ToValidUTF8": true,
"Trim": true,
"TrimFunc": true,
"TrimLeft": true,
@ -304,6 +305,18 @@ var stdlib = map[string]map[string]bool{
"Sign": true,
"Verify": true,
},
"crypto/ed25519": map[string]bool{
"GenerateKey": true,
"NewKeyFromSeed": true,
"PrivateKey": true,
"PrivateKeySize": true,
"PublicKey": true,
"PublicKeySize": true,
"SeedSize": true,
"Sign": true,
"SignatureSize": true,
"Verify": true,
},
"crypto/elliptic": map[string]bool{
"Curve": true,
"CurveParams": true,
@ -420,6 +433,7 @@ var stdlib = map[string]map[string]bool{
"ECDSAWithP384AndSHA384": true,
"ECDSAWithP521AndSHA512": true,
"ECDSAWithSHA1": true,
"Ed25519": true,
"Listen": true,
"LoadX509KeyPair": true,
"NewLRUClientSessionCache": true,
@ -478,35 +492,36 @@ var stdlib = map[string]map[string]bool{
"X509KeyPair": true,
},
"crypto/x509": map[string]bool{
"CANotAuthorizedForExtKeyUsage": true,
"CANotAuthorizedForThisName": true,
"CertPool": true,
"Certificate": true,
"CertificateInvalidError": true,
"CertificateRequest": true,
"ConstraintViolationError": true,
"CreateCertificate": true,
"CreateCertificateRequest": true,
"DSA": true,
"DSAWithSHA1": true,
"DSAWithSHA256": true,
"DecryptPEMBlock": true,
"ECDSA": true,
"ECDSAWithSHA1": true,
"ECDSAWithSHA256": true,
"ECDSAWithSHA384": true,
"ECDSAWithSHA512": true,
"EncryptPEMBlock": true,
"ErrUnsupportedAlgorithm": true,
"Expired": true,
"ExtKeyUsage": true,
"ExtKeyUsageAny": true,
"ExtKeyUsageClientAuth": true,
"ExtKeyUsageCodeSigning": true,
"ExtKeyUsageEmailProtection": true,
"ExtKeyUsageIPSECEndSystem": true,
"ExtKeyUsageIPSECTunnel": true,
"ExtKeyUsageIPSECUser": true,
"CANotAuthorizedForExtKeyUsage": true,
"CANotAuthorizedForThisName": true,
"CertPool": true,
"Certificate": true,
"CertificateInvalidError": true,
"CertificateRequest": true,
"ConstraintViolationError": true,
"CreateCertificate": true,
"CreateCertificateRequest": true,
"DSA": true,
"DSAWithSHA1": true,
"DSAWithSHA256": true,
"DecryptPEMBlock": true,
"ECDSA": true,
"ECDSAWithSHA1": true,
"ECDSAWithSHA256": true,
"ECDSAWithSHA384": true,
"ECDSAWithSHA512": true,
"Ed25519": true,
"EncryptPEMBlock": true,
"ErrUnsupportedAlgorithm": true,
"Expired": true,
"ExtKeyUsage": true,
"ExtKeyUsageAny": true,
"ExtKeyUsageClientAuth": true,
"ExtKeyUsageCodeSigning": true,
"ExtKeyUsageEmailProtection": true,
"ExtKeyUsageIPSECEndSystem": true,
"ExtKeyUsageIPSECTunnel": true,
"ExtKeyUsageIPSECUser": true,
"ExtKeyUsageMicrosoftCommercialCodeSigning": true,
"ExtKeyUsageMicrosoftKernelCodeSigning": true,
"ExtKeyUsageMicrosoftServerGatedCrypto": true,
@ -558,6 +573,7 @@ var stdlib = map[string]map[string]bool{
"ParsePKCS8PrivateKey": true,
"ParsePKIXPublicKey": true,
"PublicKeyAlgorithm": true,
"PureEd25519": true,
"RSA": true,
"SHA1WithRSA": true,
"SHA256WithRSA": true,
@ -612,8 +628,10 @@ var stdlib = map[string]map[string]bool{
"NamedArg": true,
"NullBool": true,
"NullFloat64": true,
"NullInt32": true,
"NullInt64": true,
"NullString": true,
"NullTime": true,
"Open": true,
"OpenDB": true,
"Out": true,
@ -860,6 +878,7 @@ var stdlib = map[string]map[string]bool{
"UcharType": true,
"UintType": true,
"UnspecifiedType": true,
"UnsupportedType": true,
"VoidType": true,
},
"debug/elf": map[string]bool{
@ -2505,7 +2524,10 @@ var stdlib = map[string]map[string]bool{
"UnsupportedTypeError": true,
},
"errors": map[string]bool{
"New": true,
"As": true,
"Is": true,
"New": true,
"Unwrap": true,
},
"expvar": map[string]bool{
"Do": true,
@ -2615,10 +2637,12 @@ var stdlib = map[string]map[string]bool{
"CommentMap": true,
"CompositeLit": true,
"Con": true,
"Decl": true,
"DeclStmt": true,
"DeferStmt": true,
"Ellipsis": true,
"EmptyStmt": true,
"Expr": true,
"ExprStmt": true,
"Field": true,
"FieldFilter": true,
@ -2679,7 +2703,9 @@ var stdlib = map[string]map[string]bool{
"SendStmt": true,
"SliceExpr": true,
"SortImports": true,
"Spec": true,
"StarExpr": true,
"Stmt": true,
"StructType": true,
"SwitchStmt": true,
"Typ": true,
@ -2725,6 +2751,7 @@ var stdlib = map[string]map[string]bool{
"Int": true,
"Int64Val": true,
"Kind": true,
"Make": true,
"MakeBool": true,
"MakeFloat64": true,
"MakeFromBytes": true,
@ -2746,6 +2773,8 @@ var stdlib = map[string]map[string]bool{
"Uint64Val": true,
"UnaryOp": true,
"Unknown": true,
"Val": true,
"Value": true,
},
"go/doc": map[string]bool{
"AllDecls": true,
@ -2855,6 +2884,9 @@ var stdlib = map[string]map[string]bool{
"INC": true,
"INT": true,
"INTERFACE": true,
"IsExported": true,
"IsIdentifier": true,
"IsKeyword": true,
"LAND": true,
"LBRACE": true,
"LBRACK": true,
@ -2916,6 +2948,7 @@ var stdlib = map[string]map[string]bool{
"Byte": true,
"Chan": true,
"ChanDir": true,
"CheckExpr": true,
"Checker": true,
"Comparable": true,
"Complex128": true,
@ -2991,6 +3024,7 @@ var stdlib = map[string]map[string]bool{
"NewTypeName": true,
"NewVar": true,
"Nil": true,
"Object": true,
"ObjectString": true,
"Package": true,
"PkgName": true,
@ -3349,6 +3383,7 @@ var stdlib = map[string]map[string]bool{
"SetFlags": true,
"SetOutput": true,
"SetPrefix": true,
"Writer": true,
},
"log/syslog": map[string]bool{
"Dial": true,
@ -3801,6 +3836,7 @@ var stdlib = map[string]map[string]bool{
"MethodTrace": true,
"NewFileTransport": true,
"NewRequest": true,
"NewRequestWithContext": true,
"NewServeMux": true,
"NoBody": true,
"NotFound": true,
@ -3825,6 +3861,7 @@ var stdlib = map[string]map[string]bool{
"SameSite": true,
"SameSiteDefaultMode": true,
"SameSiteLaxMode": true,
"SameSiteNoneMode": true,
"SameSiteStrictMode": true,
"Serve": true,
"ServeContent": true,
@ -3846,6 +3883,7 @@ var stdlib = map[string]map[string]bool{
"StatusConflict": true,
"StatusContinue": true,
"StatusCreated": true,
"StatusEarlyHints": true,
"StatusExpectationFailed": true,
"StatusFailedDependency": true,
"StatusForbidden": true,
@ -4163,6 +4201,7 @@ var stdlib = map[string]map[string]bool{
"Truncate": true,
"Unsetenv": true,
"UserCacheDir": true,
"UserConfigDir": true,
"UserHomeDir": true,
},
"os/exec": map[string]bool{
@ -4293,6 +4332,7 @@ var stdlib = map[string]map[string]bool{
"StructOf": true,
"StructTag": true,
"Swapper": true,
"Type": true,
"TypeOf": true,
"Uint": true,
"Uint16": true,
@ -4588,6 +4628,7 @@ var stdlib = map[string]map[string]bool{
"ToTitleSpecial": true,
"ToUpper": true,
"ToUpperSpecial": true,
"ToValidUTF8": true,
"Trim": true,
"TrimFunc": true,
"TrimLeft": true,
@ -7989,6 +8030,7 @@ var stdlib = map[string]map[string]bool{
"Rmdir": true,
"RouteMessage": true,
"RouteRIB": true,
"RoutingMessage": true,
"RtAttr": true,
"RtGenmsg": true,
"RtMetrics": true,
@ -9357,6 +9399,7 @@ var stdlib = map[string]map[string]bool{
"SlicePtrFromStrings": true,
"SockFilter": true,
"SockFprog": true,
"Sockaddr": true,
"SockaddrDatalink": true,
"SockaddrGen": true,
"SockaddrInet4": true,
@ -9784,6 +9827,8 @@ var stdlib = map[string]map[string]bool{
"XP1_UNI_SEND": true,
},
"syscall/js": map[string]bool{
"CopyBytesToGo": true,
"CopyBytesToJS": true,
"Error": true,
"Func": true,
"FuncOf": true,
@ -9798,8 +9843,6 @@ var stdlib = map[string]map[string]bool{
"TypeString": true,
"TypeSymbol": true,
"TypeUndefined": true,
"TypedArray": true,
"TypedArrayOf": true,
"Undefined": true,
"Value": true,
"ValueError": true,
@ -9815,6 +9858,7 @@ var stdlib = map[string]map[string]bool{
"CoverBlock": true,
"CoverMode": true,
"Coverage": true,
"Init": true,
"InternalBenchmark": true,
"InternalExample": true,
"InternalTest": true,
@ -9828,6 +9872,7 @@ var stdlib = map[string]map[string]bool{
"RunTests": true,
"Short": true,
"T": true,
"TB": true,
"Verbose": true,
},
"testing/iotest": map[string]bool{
@ -10063,6 +10108,7 @@ var stdlib = map[string]map[string]bool{
"Devanagari": true,
"Diacritic": true,
"Digit": true,
"Dogra": true,
"Duployan": true,
"Egyptian_Hieroglyphs": true,
"Elbasan": true,
@ -10077,9 +10123,11 @@ var stdlib = map[string]map[string]bool{
"GraphicRanges": true,
"Greek": true,
"Gujarati": true,
"Gunjala_Gondi": true,
"Gurmukhi": true,
"Han": true,
"Hangul": true,
"Hanifi_Rohingya": true,
"Hanunoo": true,
"Hatran": true,
"Hebrew": true,
@ -10140,6 +10188,7 @@ var stdlib = map[string]map[string]bool{
"Lydian": true,
"M": true,
"Mahajani": true,
"Makasar": true,
"Malayalam": true,
"Mandaic": true,
"Manichaean": true,
@ -10152,6 +10201,7 @@ var stdlib = map[string]map[string]bool{
"MaxRune": true,
"Mc": true,
"Me": true,
"Medefaidrin": true,
"Meetei_Mayek": true,
"Mende_Kikakui": true,
"Meroitic_Cursive": true,
@ -10181,6 +10231,7 @@ var stdlib = map[string]map[string]bool{
"Old_North_Arabian": true,
"Old_Permic": true,
"Old_Persian": true,
"Old_Sogdian": true,
"Old_South_Arabian": true,
"Old_Turkic": true,
"Oriya": true,
@ -10241,6 +10292,7 @@ var stdlib = map[string]map[string]bool{
"Sm": true,
"So": true,
"Soft_Dotted": true,
"Sogdian": true,
"Sora_Sompeng": true,
"Soyombo": true,
"Space": true,