├── .dockerignore ├── .gitignore ├── Dockerfile ├── LICENSE ├── README.md ├── build └── package │ └── tor │ ├── Dockerfile │ ├── README.MD │ ├── entrypoint.sh │ └── torrc ├── cmd └── pryingdeep │ └── pryingdeep.go ├── configs ├── cli.go ├── config.go ├── crawler.go ├── db.go ├── exporter.go ├── logger.go └── torproxy.go ├── docker-compose.yaml ├── docs ├── CONFIG.MD ├── README.MD ├── RU_CONFIG.MD ├── RU_README.MD └── RU_TOR.MD ├── go.mod ├── go.sum ├── models ├── crypto.go ├── email.go ├── models.go ├── phonenumber.go ├── property_map.go ├── webpage.go └── wordpress.go ├── pkg ├── cmd │ ├── crawler │ │ ├── constants.go │ │ ├── crawler.go │ │ └── search.go │ ├── exporter │ │ ├── exporter.go │ │ └── json │ │ │ └── json.go │ ├── install │ │ └── install.go │ └── root.go ├── crawler │ ├── collectors.go │ ├── crawler.go │ ├── helpers.go │ └── processors.go ├── exporters │ └── exporter.go ├── fsutils │ └── fsutils.go ├── logger │ └── logger.go ├── pryingtools │ ├── cryptoscanner │ │ └── cryptoscanner.go │ ├── email │ │ └── email.go │ ├── favicon │ │ ├── README.MD │ │ ├── favicon.go │ │ └── hash.go │ ├── phonenumber │ │ ├── countrymapper.go │ │ ├── phone_processor.go │ │ └── phonenumber.go │ └── wordpress │ │ └── wordpress.go ├── querybuilder │ ├── queries │ │ └── select.sql │ └── querybuilder.go └── utils │ └── utils.go ├── pryingdeep.yaml ├── scripts └── tidy.sh ├── tests ├── README.MD ├── configs │ └── yaml_test.go ├── exporters │ └── export_test.go ├── pryingtools │ ├── cryptoscanner │ │ └── cryptoscanner_test.go │ ├── email │ │ └── email_test.go │ ├── favicon │ │ ├── data │ │ │ ├── favicon.html │ │ │ ├── favicon.png │ │ │ └── logo.png │ │ └── favicon_test.go │ ├── phonenumbers │ │ ├── data │ │ │ ├── nl.html │ │ │ ├── tel.html │ │ │ └── uk.html │ │ └── phone_test.go │ └── wordpress │ │ └── wordpress_test.go ├── querybuilder │ ├── data │ │ ├── associations.sql │ │ └── test_select_query.sql │ └── querybuilder_test.go └── test_helpers │ ├── db.go │ ├── helpers.go │ └── models.go ├── vendor ├── github.com │ ├── PuerkitoBio │ │ └── goquery │ │ │ ├── .gitattributes │ │ │ ├── .gitignore │ │ │ ├── .travis.yml │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── array.go │ │ │ ├── doc.go │ │ │ ├── expand.go │ │ │ ├── filter.go │ │ │ ├── iteration.go │ │ │ ├── manipulation.go │ │ │ ├── property.go │ │ │ ├── query.go │ │ │ ├── traversal.go │ │ │ ├── type.go │ │ │ └── utilities.go │ ├── andybalholm │ │ └── cascadia │ │ │ ├── .travis.yml │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── parser.go │ │ │ ├── selector.go │ │ │ ├── serialize.go │ │ │ └── specificity.go │ ├── antchfx │ │ ├── htmlquery │ │ │ ├── .gitignore │ │ │ ├── .travis.yml │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── cache.go │ │ │ └── query.go │ │ ├── xmlquery │ │ │ ├── .gitignore │ │ │ ├── .travis.yml │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── books.xml │ │ │ ├── cache.go │ │ │ ├── node.go │ │ │ ├── parse.go │ │ │ └── query.go │ │ └── xpath │ │ │ ├── .gitignore │ │ │ ├── .travis.yml │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── build.go │ │ │ ├── func.go │ │ │ ├── func_go110.go │ │ │ ├── func_pre_go110.go │ │ │ ├── operator.go │ │ │ ├── parse.go │ │ │ ├── query.go │ │ │ └── xpath.go │ ├── davecgh │ │ └── go-spew │ │ │ ├── LICENSE │ │ │ └── spew │ │ │ ├── bypass.go │ │ │ ├── bypasssafe.go │ │ │ ├── common.go │ │ │ ├── config.go │ │ │ ├── doc.go │ │ │ ├── dump.go │ │ │ ├── format.go │ │ │ └── spew.go │ ├── deckarep │ │ └── golang-set │ │ │ └── v2 │ │ │ ├── .gitignore │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── iterator.go │ │ │ ├── new_improved.jpeg │ │ │ ├── set.go │ │ │ ├── threadsafe.go │ │ │ └── threadunsafe.go │ ├── fatih │ │ └── color │ │ │ ├── LICENSE.md │ │ │ ├── README.md │ │ │ ├── color.go │ │ │ └── doc.go │ ├── fsnotify │ │ └── fsnotify │ │ │ ├── .editorconfig │ │ │ ├── .gitattributes │ │ │ ├── .gitignore │ │ │ ├── .mailmap │ │ │ ├── CHANGELOG.md │ │ │ ├── CONTRIBUTING.md │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── backend_fen.go │ │ │ ├── backend_inotify.go │ │ │ ├── backend_kqueue.go │ │ │ ├── backend_other.go │ │ │ ├── backend_windows.go │ │ │ ├── fsnotify.go │ │ │ ├── mkdoc.zsh │ │ │ ├── system_bsd.go │ │ │ └── system_darwin.go │ ├── gobwas │ │ └── glob │ │ │ ├── .gitignore │ │ │ ├── .travis.yml │ │ │ ├── LICENSE │ │ │ ├── bench.sh │ │ │ ├── compiler │ │ │ └── compiler.go │ │ │ ├── glob.go │ │ │ ├── match │ │ │ ├── any.go │ │ │ ├── any_of.go │ │ │ ├── btree.go │ │ │ ├── contains.go │ │ │ ├── every_of.go │ │ │ ├── list.go │ │ │ ├── match.go │ │ │ ├── max.go │ │ │ ├── min.go │ │ │ ├── nothing.go │ │ │ ├── prefix.go │ │ │ ├── prefix_any.go │ │ │ ├── prefix_suffix.go │ │ │ ├── range.go │ │ │ ├── row.go │ │ │ ├── segments.go │ │ │ ├── single.go │ │ │ ├── suffix.go │ │ │ ├── suffix_any.go │ │ │ ├── super.go │ │ │ └── text.go │ │ │ ├── readme.md │ │ │ ├── syntax │ │ │ ├── ast │ │ │ │ ├── ast.go │ │ │ │ └── parser.go │ │ │ ├── lexer │ │ │ │ ├── lexer.go │ │ │ │ └── token.go │ │ │ └── syntax.go │ │ │ └── util │ │ │ ├── runes │ │ │ └── runes.go │ │ │ └── strings │ │ │ └── strings.go │ ├── gocolly │ │ └── colly │ │ │ └── v2 │ │ │ ├── .codecov.yml │ │ │ ├── .travis.yml │ │ │ ├── CHANGELOG.md │ │ │ ├── CONTRIBUTING.md │ │ │ ├── LICENSE.txt │ │ │ ├── README.md │ │ │ ├── VERSION │ │ │ ├── colly.go │ │ │ ├── context.go │ │ │ ├── debug │ │ │ ├── debug.go │ │ │ ├── logdebugger.go │ │ │ └── webdebugger.go │ │ │ ├── htmlelement.go │ │ │ ├── http_backend.go │ │ │ ├── http_trace.go │ │ │ ├── proxy │ │ │ └── proxy.go │ │ │ ├── queue │ │ │ └── queue.go │ │ │ ├── request.go │ │ │ ├── response.go │ │ │ ├── storage │ │ │ └── storage.go │ │ │ ├── unmarshal.go │ │ │ └── xmlelement.go │ ├── golang │ │ ├── groupcache │ │ │ ├── LICENSE │ │ │ └── lru │ │ │ │ └── lru.go │ │ └── protobuf │ │ │ ├── AUTHORS │ │ │ ├── CONTRIBUTORS │ │ │ ├── LICENSE │ │ │ └── proto │ │ │ ├── buffer.go │ │ │ ├── defaults.go │ │ │ ├── deprecated.go │ │ │ ├── discard.go │ │ │ ├── extensions.go │ │ │ ├── properties.go │ │ │ ├── proto.go │ │ │ ├── registry.go │ │ │ ├── text_decode.go │ │ │ ├── text_encode.go │ │ │ ├── wire.go │ │ │ └── wrappers.go │ ├── hashicorp │ │ └── hcl │ │ │ ├── .gitignore │ │ │ ├── .travis.yml │ │ │ ├── LICENSE │ │ │ ├── Makefile │ │ │ ├── README.md │ │ │ ├── appveyor.yml │ │ │ ├── decoder.go │ │ │ ├── hcl.go │ │ │ ├── hcl │ │ │ ├── ast │ │ │ │ ├── ast.go │ │ │ │ └── walk.go │ │ │ ├── parser │ │ │ │ ├── error.go │ │ │ │ └── parser.go │ │ │ ├── printer │ │ │ │ ├── nodes.go │ │ │ │ └── printer.go │ │ │ ├── scanner │ │ │ │ └── scanner.go │ │ │ ├── strconv │ │ │ │ └── quote.go │ │ │ └── token │ │ │ │ ├── position.go │ │ │ │ └── token.go │ │ │ ├── json │ │ │ ├── parser │ │ │ │ ├── flatten.go │ │ │ │ └── parser.go │ │ │ ├── scanner │ │ │ │ └── scanner.go │ │ │ └── token │ │ │ │ ├── position.go │ │ │ │ └── token.go │ │ │ ├── lex.go │ │ │ └── parse.go │ ├── inconshreveable │ │ └── mousetrap │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── trap_others.go │ │ │ └── trap_windows.go │ ├── jackc │ │ ├── pgpassfile │ │ │ ├── .travis.yml │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ └── pgpass.go │ │ ├── pgservicefile │ │ │ ├── .travis.yml │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ └── pgservicefile.go │ │ ├── pgx │ │ │ └── v5 │ │ │ │ ├── .gitignore │ │ │ │ ├── CHANGELOG.md │ │ │ │ ├── CONTRIBUTING.md │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── Rakefile │ │ │ │ ├── batch.go │ │ │ │ ├── conn.go │ │ │ │ ├── copy_from.go │ │ │ │ ├── doc.go │ │ │ │ ├── extended_query_builder.go │ │ │ │ ├── internal │ │ │ │ ├── anynil │ │ │ │ │ └── anynil.go │ │ │ │ ├── iobufpool │ │ │ │ │ └── iobufpool.go │ │ │ │ ├── pgio │ │ │ │ │ ├── README.md │ │ │ │ │ ├── doc.go │ │ │ │ │ └── write.go │ │ │ │ ├── sanitize │ │ │ │ │ └── sanitize.go │ │ │ │ └── stmtcache │ │ │ │ │ ├── lru_cache.go │ │ │ │ │ ├── stmtcache.go │ │ │ │ │ └── unlimited_cache.go │ │ │ │ ├── large_objects.go │ │ │ │ ├── named_args.go │ │ │ │ ├── pgconn │ │ │ │ ├── README.md │ │ │ │ ├── auth_scram.go │ │ │ │ ├── config.go │ │ │ │ ├── defaults.go │ │ │ │ ├── defaults_windows.go │ │ │ │ ├── doc.go │ │ │ │ ├── errors.go │ │ │ │ ├── internal │ │ │ │ │ ├── bgreader │ │ │ │ │ │ └── bgreader.go │ │ │ │ │ └── ctxwatch │ │ │ │ │ │ └── context_watcher.go │ │ │ │ ├── krb5.go │ │ │ │ └── pgconn.go │ │ │ │ ├── pgproto3 │ │ │ │ ├── README.md │ │ │ │ ├── authentication_cleartext_password.go │ │ │ │ ├── authentication_gss.go │ │ │ │ ├── authentication_gss_continue.go │ │ │ │ ├── authentication_md5_password.go │ │ │ │ ├── authentication_ok.go │ │ │ │ ├── authentication_sasl.go │ │ │ │ ├── authentication_sasl_continue.go │ │ │ │ ├── authentication_sasl_final.go │ │ │ │ ├── backend.go │ │ │ │ ├── backend_key_data.go │ │ │ │ ├── big_endian.go │ │ │ │ ├── bind.go │ │ │ │ ├── bind_complete.go │ │ │ │ ├── cancel_request.go │ │ │ │ ├── chunkreader.go │ │ │ │ ├── close.go │ │ │ │ ├── close_complete.go │ │ │ │ ├── command_complete.go │ │ │ │ ├── copy_both_response.go │ │ │ │ ├── copy_data.go │ │ │ │ ├── copy_done.go │ │ │ │ ├── copy_fail.go │ │ │ │ ├── copy_in_response.go │ │ │ │ ├── copy_out_response.go │ │ │ │ ├── data_row.go │ │ │ │ ├── describe.go │ │ │ │ ├── doc.go │ │ │ │ ├── empty_query_response.go │ │ │ │ ├── error_response.go │ │ │ │ ├── execute.go │ │ │ │ ├── flush.go │ │ │ │ ├── frontend.go │ │ │ │ ├── function_call.go │ │ │ │ ├── function_call_response.go │ │ │ │ ├── gss_enc_request.go │ │ │ │ ├── gss_response.go │ │ │ │ ├── no_data.go │ │ │ │ ├── notice_response.go │ │ │ │ ├── notification_response.go │ │ │ │ ├── parameter_description.go │ │ │ │ ├── parameter_status.go │ │ │ │ ├── parse.go │ │ │ │ ├── parse_complete.go │ │ │ │ ├── password_message.go │ │ │ │ ├── pgproto3.go │ │ │ │ ├── portal_suspended.go │ │ │ │ ├── query.go │ │ │ │ ├── ready_for_query.go │ │ │ │ ├── row_description.go │ │ │ │ ├── sasl_initial_response.go │ │ │ │ ├── sasl_response.go │ │ │ │ ├── ssl_request.go │ │ │ │ ├── startup_message.go │ │ │ │ ├── sync.go │ │ │ │ ├── terminate.go │ │ │ │ └── trace.go │ │ │ │ ├── pgtype │ │ │ │ ├── array.go │ │ │ │ ├── array_codec.go │ │ │ │ ├── bits.go │ │ │ │ ├── bool.go │ │ │ │ ├── box.go │ │ │ │ ├── builtin_wrappers.go │ │ │ │ ├── bytea.go │ │ │ │ ├── circle.go │ │ │ │ ├── composite.go │ │ │ │ ├── convert.go │ │ │ │ ├── date.go │ │ │ │ ├── doc.go │ │ │ │ ├── enum_codec.go │ │ │ │ ├── float4.go │ │ │ │ ├── float8.go │ │ │ │ ├── hstore.go │ │ │ │ ├── inet.go │ │ │ │ ├── int.go │ │ │ │ ├── int.go.erb │ │ │ │ ├── int_test.go.erb │ │ │ │ ├── integration_benchmark_test.go.erb │ │ │ │ ├── integration_benchmark_test_gen.sh │ │ │ │ ├── interval.go │ │ │ │ ├── json.go │ │ │ │ ├── jsonb.go │ │ │ │ ├── line.go │ │ │ │ ├── lseg.go │ │ │ │ ├── ltree.go │ │ │ │ ├── macaddr.go │ │ │ │ ├── multirange.go │ │ │ │ ├── numeric.go │ │ │ │ ├── path.go │ │ │ │ ├── pgtype.go │ │ │ │ ├── pgtype_default.go │ │ │ │ ├── point.go │ │ │ │ ├── polygon.go │ │ │ │ ├── qchar.go │ │ │ │ ├── range.go │ │ │ │ ├── range_codec.go │ │ │ │ ├── record_codec.go │ │ │ │ ├── register_default_pg_types.go │ │ │ │ ├── register_default_pg_types_disabled.go │ │ │ │ ├── text.go │ │ │ │ ├── text_format_only_codec.go │ │ │ │ ├── tid.go │ │ │ │ ├── time.go │ │ │ │ ├── timestamp.go │ │ │ │ ├── timestamptz.go │ │ │ │ ├── uint32.go │ │ │ │ └── uuid.go │ │ │ │ ├── pgxpool │ │ │ │ ├── batch_results.go │ │ │ │ ├── conn.go │ │ │ │ ├── doc.go │ │ │ │ ├── pool.go │ │ │ │ ├── rows.go │ │ │ │ ├── stat.go │ │ │ │ └── tx.go │ │ │ │ ├── rows.go │ │ │ │ ├── stdlib │ │ │ │ └── sql.go │ │ │ │ ├── tracer.go │ │ │ │ ├── tx.go │ │ │ │ └── values.go │ │ └── puddle │ │ │ └── v2 │ │ │ ├── CHANGELOG.md │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── context.go │ │ │ ├── doc.go │ │ │ ├── internal │ │ │ └── genstack │ │ │ │ ├── gen_stack.go │ │ │ │ └── stack.go │ │ │ ├── log.go │ │ │ ├── nanotime_time.go │ │ │ ├── nanotime_unsafe.go │ │ │ ├── pool.go │ │ │ └── resource_list.go │ ├── jinzhu │ │ ├── inflection │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── inflections.go │ │ │ └── wercker.yml │ │ └── now │ │ │ ├── Guardfile │ │ │ ├── License │ │ │ ├── README.md │ │ │ ├── main.go │ │ │ ├── now.go │ │ │ └── time.go │ ├── kennygrant │ │ └── sanitize │ │ │ ├── .gitignore │ │ │ ├── .travis.yml │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ └── sanitize.go │ ├── lib │ │ └── pq │ │ │ ├── .gitignore │ │ │ ├── LICENSE.md │ │ │ ├── README.md │ │ │ ├── TESTS.md │ │ │ ├── array.go │ │ │ ├── buf.go │ │ │ ├── conn.go │ │ │ ├── conn_go115.go │ │ │ ├── conn_go18.go │ │ │ ├── connector.go │ │ │ ├── copy.go │ │ │ ├── doc.go │ │ │ ├── encode.go │ │ │ ├── error.go │ │ │ ├── krb.go │ │ │ ├── notice.go │ │ │ ├── notify.go │ │ │ ├── oid │ │ │ ├── doc.go │ │ │ └── types.go │ │ │ ├── rows.go │ │ │ ├── scram │ │ │ └── scram.go │ │ │ ├── ssl.go │ │ │ ├── ssl_permissions.go │ │ │ ├── ssl_windows.go │ │ │ ├── url.go │ │ │ ├── user_other.go │ │ │ ├── user_posix.go │ │ │ ├── user_windows.go │ │ │ └── uuid.go │ ├── magiconair │ │ └── properties │ │ │ ├── .gitignore │ │ │ ├── CHANGELOG.md │ │ │ ├── LICENSE.md │ │ │ ├── README.md │ │ │ ├── decode.go │ │ │ ├── doc.go │ │ │ ├── integrate.go │ │ │ ├── lex.go │ │ │ ├── load.go │ │ │ ├── parser.go │ │ │ ├── properties.go │ │ │ └── rangecheck.go │ ├── mattn │ │ ├── go-colorable │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── colorable_appengine.go │ │ │ ├── colorable_others.go │ │ │ ├── colorable_windows.go │ │ │ ├── go.test.sh │ │ │ └── noncolorable.go │ │ └── go-isatty │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── doc.go │ │ │ ├── go.test.sh │ │ │ ├── isatty_bsd.go │ │ │ ├── isatty_others.go │ │ │ ├── isatty_plan9.go │ │ │ ├── isatty_solaris.go │ │ │ ├── isatty_tcgets.go │ │ │ └── isatty_windows.go │ ├── mitchellh │ │ └── mapstructure │ │ │ ├── CHANGELOG.md │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── decode_hooks.go │ │ │ ├── error.go │ │ │ └── mapstructure.go │ ├── nyaruka │ │ └── phonenumbers │ │ │ ├── .gitignore │ │ │ ├── .goreleaser.yml │ │ │ ├── CHANGELOG.md │ │ │ ├── LICENSE │ │ │ ├── Makefile │ │ │ ├── README.md │ │ │ ├── builder.go │ │ │ ├── countrycode_to_region_bin.go │ │ │ ├── insertablebuffer.go │ │ │ ├── matcher.go │ │ │ ├── metadata_bin.go │ │ │ ├── metadata_util.go │ │ │ ├── netlify.toml │ │ │ ├── phonemetadata.pb.go │ │ │ ├── phonemetadata.proto │ │ │ ├── phonenumber.pb.go │ │ │ ├── phonenumber.proto │ │ │ ├── phonenumbers.go │ │ │ ├── prefix_to_carriers_bin.go │ │ │ ├── prefix_to_geocodings_bin.go │ │ │ ├── prefix_to_timezone_bin.go │ │ │ ├── serialize.go │ │ │ ├── shortnumber_info.go │ │ │ └── shortnumber_metadata_bin.go │ ├── pelletier │ │ └── go-toml │ │ │ └── v2 │ │ │ ├── .dockerignore │ │ │ ├── .gitattributes │ │ │ ├── .gitignore │ │ │ ├── .golangci.toml │ │ │ ├── .goreleaser.yaml │ │ │ ├── CONTRIBUTING.md │ │ │ ├── Dockerfile │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── SECURITY.md │ │ │ ├── ci.sh │ │ │ ├── decode.go │ │ │ ├── doc.go │ │ │ ├── errors.go │ │ │ ├── internal │ │ │ ├── characters │ │ │ │ ├── ascii.go │ │ │ │ └── utf8.go │ │ │ ├── danger │ │ │ │ ├── danger.go │ │ │ │ └── typeid.go │ │ │ └── tracker │ │ │ │ ├── key.go │ │ │ │ ├── seen.go │ │ │ │ └── tracker.go │ │ │ ├── localtime.go │ │ │ ├── marshaler.go │ │ │ ├── strict.go │ │ │ ├── toml.abnf │ │ │ ├── types.go │ │ │ ├── unmarshaler.go │ │ │ └── unstable │ │ │ ├── ast.go │ │ │ ├── builder.go │ │ │ ├── doc.go │ │ │ ├── kind.go │ │ │ ├── parser.go │ │ │ └── scanner.go │ ├── pmezard │ │ └── go-difflib │ │ │ ├── LICENSE │ │ │ └── difflib │ │ │ └── difflib.go │ ├── sagikazarmark │ │ ├── locafero │ │ │ ├── .editorconfig │ │ │ ├── .envrc │ │ │ ├── .gitignore │ │ │ ├── .golangci.yaml │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── file_type.go │ │ │ ├── finder.go │ │ │ ├── flake.lock │ │ │ ├── flake.nix │ │ │ ├── helpers.go │ │ │ └── justfile │ │ └── slog-shim │ │ │ ├── .editorconfig │ │ │ ├── .envrc │ │ │ ├── .gitignore │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── attr.go │ │ │ ├── attr_120.go │ │ │ ├── flake.lock │ │ │ ├── flake.nix │ │ │ ├── handler.go │ │ │ ├── handler_120.go │ │ │ ├── json_handler.go │ │ │ ├── json_handler_120.go │ │ │ ├── level.go │ │ │ ├── level_120.go │ │ │ ├── logger.go │ │ │ ├── logger_120.go │ │ │ ├── record.go │ │ │ ├── record_120.go │ │ │ ├── text_handler.go │ │ │ ├── text_handler_120.go │ │ │ ├── value.go │ │ │ └── value_120.go │ ├── saintfish │ │ └── chardet │ │ │ ├── 2022.go │ │ │ ├── AUTHORS │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── detector.go │ │ │ ├── icu-license.html │ │ │ ├── multi_byte.go │ │ │ ├── recognizer.go │ │ │ ├── single_byte.go │ │ │ ├── unicode.go │ │ │ └── utf8.go │ ├── sourcegraph │ │ └── conc │ │ │ ├── .golangci.yml │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── internal │ │ │ └── multierror │ │ │ │ ├── multierror_go119.go │ │ │ │ └── multierror_go120.go │ │ │ ├── iter │ │ │ ├── iter.go │ │ │ └── map.go │ │ │ ├── panics │ │ │ ├── panics.go │ │ │ └── try.go │ │ │ └── waitgroup.go │ ├── spf13 │ │ ├── afero │ │ │ ├── .gitignore │ │ │ ├── LICENSE.txt │ │ │ ├── README.md │ │ │ ├── afero.go │ │ │ ├── appveyor.yml │ │ │ ├── basepath.go │ │ │ ├── cacheOnReadFs.go │ │ │ ├── const_bsds.go │ │ │ ├── const_win_unix.go │ │ │ ├── copyOnWriteFs.go │ │ │ ├── httpFs.go │ │ │ ├── internal │ │ │ │ └── common │ │ │ │ │ └── adapters.go │ │ │ ├── iofs.go │ │ │ ├── ioutil.go │ │ │ ├── lstater.go │ │ │ ├── match.go │ │ │ ├── mem │ │ │ │ ├── dir.go │ │ │ │ ├── dirmap.go │ │ │ │ └── file.go │ │ │ ├── memmap.go │ │ │ ├── os.go │ │ │ ├── path.go │ │ │ ├── readonlyfs.go │ │ │ ├── regexpfs.go │ │ │ ├── symlink.go │ │ │ ├── unionFile.go │ │ │ └── util.go │ │ ├── cast │ │ │ ├── .gitignore │ │ │ ├── LICENSE │ │ │ ├── Makefile │ │ │ ├── README.md │ │ │ ├── cast.go │ │ │ ├── caste.go │ │ │ └── timeformattype_string.go │ │ ├── cobra │ │ │ ├── .gitignore │ │ │ ├── .golangci.yml │ │ │ ├── .mailmap │ │ │ ├── CONDUCT.md │ │ │ ├── CONTRIBUTING.md │ │ │ ├── LICENSE.txt │ │ │ ├── MAINTAINERS │ │ │ ├── Makefile │ │ │ ├── README.md │ │ │ ├── active_help.go │ │ │ ├── active_help.md │ │ │ ├── args.go │ │ │ ├── bash_completions.go │ │ │ ├── bash_completions.md │ │ │ ├── bash_completionsV2.go │ │ │ ├── cobra.go │ │ │ ├── command.go │ │ │ ├── command_notwin.go │ │ │ ├── command_win.go │ │ │ ├── completions.go │ │ │ ├── fish_completions.go │ │ │ ├── fish_completions.md │ │ │ ├── flag_groups.go │ │ │ ├── powershell_completions.go │ │ │ ├── powershell_completions.md │ │ │ ├── projects_using_cobra.md │ │ │ ├── shell_completions.go │ │ │ ├── shell_completions.md │ │ │ ├── user_guide.md │ │ │ ├── zsh_completions.go │ │ │ └── zsh_completions.md │ │ ├── pflag │ │ │ ├── .gitignore │ │ │ ├── .travis.yml │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── bool.go │ │ │ ├── bool_slice.go │ │ │ ├── bytes.go │ │ │ ├── count.go │ │ │ ├── duration.go │ │ │ ├── duration_slice.go │ │ │ ├── flag.go │ │ │ ├── float32.go │ │ │ ├── float32_slice.go │ │ │ ├── float64.go │ │ │ ├── float64_slice.go │ │ │ ├── golangflag.go │ │ │ ├── int.go │ │ │ ├── int16.go │ │ │ ├── int32.go │ │ │ ├── int32_slice.go │ │ │ ├── int64.go │ │ │ ├── int64_slice.go │ │ │ ├── int8.go │ │ │ ├── int_slice.go │ │ │ ├── ip.go │ │ │ ├── ip_slice.go │ │ │ ├── ipmask.go │ │ │ ├── ipnet.go │ │ │ ├── string.go │ │ │ ├── string_array.go │ │ │ ├── string_slice.go │ │ │ ├── string_to_int.go │ │ │ ├── string_to_int64.go │ │ │ ├── string_to_string.go │ │ │ ├── uint.go │ │ │ ├── uint16.go │ │ │ ├── uint32.go │ │ │ ├── uint64.go │ │ │ ├── uint8.go │ │ │ └── uint_slice.go │ │ └── viper │ │ │ ├── .editorconfig │ │ │ ├── .envrc │ │ │ ├── .gitignore │ │ │ ├── .golangci.yaml │ │ │ ├── .yamlignore │ │ │ ├── .yamllint.yaml │ │ │ ├── LICENSE │ │ │ ├── Makefile │ │ │ ├── README.md │ │ │ ├── TROUBLESHOOTING.md │ │ │ ├── flags.go │ │ │ ├── flake.lock │ │ │ ├── flake.nix │ │ │ ├── internal │ │ │ └── encoding │ │ │ │ ├── decoder.go │ │ │ │ ├── dotenv │ │ │ │ ├── codec.go │ │ │ │ └── map_utils.go │ │ │ │ ├── encoder.go │ │ │ │ ├── error.go │ │ │ │ ├── hcl │ │ │ │ └── codec.go │ │ │ │ ├── ini │ │ │ │ ├── codec.go │ │ │ │ └── map_utils.go │ │ │ │ ├── javaproperties │ │ │ │ ├── codec.go │ │ │ │ └── map_utils.go │ │ │ │ ├── json │ │ │ │ └── codec.go │ │ │ │ ├── toml │ │ │ │ └── codec.go │ │ │ │ └── yaml │ │ │ │ └── codec.go │ │ │ ├── logger.go │ │ │ ├── util.go │ │ │ ├── viper.go │ │ │ ├── viper_go1_15.go │ │ │ ├── viper_go1_16.go │ │ │ ├── watch.go │ │ │ └── watch_unsupported.go │ ├── stretchr │ │ └── testify │ │ │ ├── LICENSE │ │ │ └── assert │ │ │ ├── assertion_compare.go │ │ │ ├── assertion_compare_can_convert.go │ │ │ ├── assertion_compare_legacy.go │ │ │ ├── assertion_format.go │ │ │ ├── assertion_format.go.tmpl │ │ │ ├── assertion_forward.go │ │ │ ├── assertion_forward.go.tmpl │ │ │ ├── assertion_order.go │ │ │ ├── assertions.go │ │ │ ├── doc.go │ │ │ ├── errors.go │ │ │ ├── forward_assertions.go │ │ │ └── http_assertions.go │ ├── subosito │ │ └── gotenv │ │ │ ├── .env.invalid │ │ │ ├── .gitignore │ │ │ ├── .golangci.yaml │ │ │ ├── CHANGELOG.md │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ └── gotenv.go │ ├── temoto │ │ └── robotstxt │ │ │ ├── .gitignore │ │ │ ├── .golangci.yml │ │ │ ├── .travis.yml │ │ │ ├── LICENSE │ │ │ ├── README.rst │ │ │ ├── codecov.yml │ │ │ ├── parser.go │ │ │ ├── robotstxt.go │ │ │ └── scanner.go │ └── twmb │ │ └── murmur3 │ │ ├── .gitignore │ │ ├── LICENSE │ │ ├── README.md │ │ ├── murmur.go │ │ ├── murmur128.go │ │ ├── murmur128_amd64.s │ │ ├── murmur128_decl.go │ │ ├── murmur128_gen.go │ │ ├── murmur32.go │ │ ├── murmur32_gen.go │ │ └── murmur64.go ├── go.uber.org │ ├── multierr │ │ ├── .codecov.yml │ │ ├── .gitignore │ │ ├── CHANGELOG.md │ │ ├── LICENSE.txt │ │ ├── Makefile │ │ ├── README.md │ │ ├── error.go │ │ ├── error_post_go120.go │ │ └── error_pre_go120.go │ └── zap │ │ ├── .codecov.yml │ │ ├── .gitignore │ │ ├── .golangci.yml │ │ ├── .readme.tmpl │ │ ├── CHANGELOG.md │ │ ├── CODE_OF_CONDUCT.md │ │ ├── CONTRIBUTING.md │ │ ├── FAQ.md │ │ ├── LICENSE.txt │ │ ├── Makefile │ │ ├── README.md │ │ ├── array.go │ │ ├── buffer │ │ ├── buffer.go │ │ └── pool.go │ │ ├── checklicense.sh │ │ ├── config.go │ │ ├── doc.go │ │ ├── encoder.go │ │ ├── error.go │ │ ├── field.go │ │ ├── flag.go │ │ ├── glide.yaml │ │ ├── global.go │ │ ├── http_handler.go │ │ ├── internal │ │ ├── bufferpool │ │ │ └── bufferpool.go │ │ ├── color │ │ │ └── color.go │ │ ├── exit │ │ │ └── exit.go │ │ ├── level_enabler.go │ │ ├── pool │ │ │ └── pool.go │ │ └── stacktrace │ │ │ └── stack.go │ │ ├── level.go │ │ ├── logger.go │ │ ├── options.go │ │ ├── sink.go │ │ ├── sugar.go │ │ ├── time.go │ │ ├── writer.go │ │ └── zapcore │ │ ├── buffered_write_syncer.go │ │ ├── clock.go │ │ ├── console_encoder.go │ │ ├── core.go │ │ ├── doc.go │ │ ├── encoder.go │ │ ├── entry.go │ │ ├── error.go │ │ ├── field.go │ │ ├── hook.go │ │ ├── increase_level.go │ │ ├── json_encoder.go │ │ ├── lazy_with.go │ │ ├── level.go │ │ ├── level_strings.go │ │ ├── marshaler.go │ │ ├── memory_encoder.go │ │ ├── reflected_encoder.go │ │ ├── sampler.go │ │ ├── tee.go │ │ └── write_syncer.go ├── golang.org │ └── x │ │ ├── crypto │ │ ├── LICENSE │ │ ├── PATENTS │ │ └── pbkdf2 │ │ │ └── pbkdf2.go │ │ ├── exp │ │ ├── LICENSE │ │ ├── PATENTS │ │ ├── constraints │ │ │ └── constraints.go │ │ ├── slices │ │ │ ├── cmp.go │ │ │ ├── slices.go │ │ │ ├── sort.go │ │ │ ├── zsortanyfunc.go │ │ │ └── zsortordered.go │ │ └── slog │ │ │ ├── attr.go │ │ │ ├── doc.go │ │ │ ├── handler.go │ │ │ ├── internal │ │ │ ├── buffer │ │ │ │ └── buffer.go │ │ │ └── ignorepc.go │ │ │ ├── json_handler.go │ │ │ ├── level.go │ │ │ ├── logger.go │ │ │ ├── noplog.bench │ │ │ ├── record.go │ │ │ ├── text_handler.go │ │ │ ├── value.go │ │ │ ├── value_119.go │ │ │ └── value_120.go │ │ ├── net │ │ ├── LICENSE │ │ ├── PATENTS │ │ ├── context │ │ │ ├── context.go │ │ │ ├── go17.go │ │ │ ├── go19.go │ │ │ ├── pre_go17.go │ │ │ └── pre_go19.go │ │ └── html │ │ │ ├── atom │ │ │ ├── atom.go │ │ │ └── table.go │ │ │ ├── charset │ │ │ └── charset.go │ │ │ ├── const.go │ │ │ ├── doc.go │ │ │ ├── doctype.go │ │ │ ├── entity.go │ │ │ ├── escape.go │ │ │ ├── foreign.go │ │ │ ├── node.go │ │ │ ├── parse.go │ │ │ ├── render.go │ │ │ └── token.go │ │ ├── sync │ │ ├── LICENSE │ │ ├── PATENTS │ │ └── semaphore │ │ │ └── semaphore.go │ │ ├── sys │ │ ├── LICENSE │ │ ├── PATENTS │ │ ├── unix │ │ │ ├── .gitignore │ │ │ ├── README.md │ │ │ ├── affinity_linux.go │ │ │ ├── aliases.go │ │ │ ├── asm_aix_ppc64.s │ │ │ ├── asm_bsd_386.s │ │ │ ├── asm_bsd_amd64.s │ │ │ ├── asm_bsd_arm.s │ │ │ ├── asm_bsd_arm64.s │ │ │ ├── asm_bsd_ppc64.s │ │ │ ├── asm_bsd_riscv64.s │ │ │ ├── asm_linux_386.s │ │ │ ├── asm_linux_amd64.s │ │ │ ├── asm_linux_arm.s │ │ │ ├── asm_linux_arm64.s │ │ │ ├── asm_linux_loong64.s │ │ │ ├── asm_linux_mips64x.s │ │ │ ├── asm_linux_mipsx.s │ │ │ ├── asm_linux_ppc64x.s │ │ │ ├── asm_linux_riscv64.s │ │ │ ├── asm_linux_s390x.s │ │ │ ├── asm_openbsd_mips64.s │ │ │ ├── asm_solaris_amd64.s │ │ │ ├── asm_zos_s390x.s │ │ │ ├── bluetooth_linux.go │ │ │ ├── cap_freebsd.go │ │ │ ├── constants.go │ │ │ ├── dev_aix_ppc.go │ │ │ ├── dev_aix_ppc64.go │ │ │ ├── dev_darwin.go │ │ │ ├── dev_dragonfly.go │ │ │ ├── dev_freebsd.go │ │ │ ├── dev_linux.go │ │ │ ├── dev_netbsd.go │ │ │ ├── dev_openbsd.go │ │ │ ├── dev_zos.go │ │ │ ├── dirent.go │ │ │ ├── endian_big.go │ │ │ ├── endian_little.go │ │ │ ├── env_unix.go │ │ │ ├── epoll_zos.go │ │ │ ├── fcntl.go │ │ │ ├── fcntl_darwin.go │ │ │ ├── fcntl_linux_32bit.go │ │ │ ├── fdset.go │ │ │ ├── fstatfs_zos.go │ │ │ ├── gccgo.go │ │ │ ├── gccgo_c.c │ │ │ ├── gccgo_linux_amd64.go │ │ │ ├── ifreq_linux.go │ │ │ ├── ioctl_linux.go │ │ │ ├── ioctl_signed.go │ │ │ ├── ioctl_unsigned.go │ │ │ ├── ioctl_zos.go │ │ │ ├── mkall.sh │ │ │ ├── mkerrors.sh │ │ │ ├── mmap_nomremap.go │ │ │ ├── mremap.go │ │ │ ├── pagesize_unix.go │ │ │ ├── pledge_openbsd.go │ │ │ ├── ptrace_darwin.go │ │ │ ├── ptrace_ios.go │ │ │ ├── race.go │ │ │ ├── race0.go │ │ │ ├── readdirent_getdents.go │ │ │ ├── readdirent_getdirentries.go │ │ │ ├── sockcmsg_dragonfly.go │ │ │ ├── sockcmsg_linux.go │ │ │ ├── sockcmsg_unix.go │ │ │ ├── sockcmsg_unix_other.go │ │ │ ├── syscall.go │ │ │ ├── syscall_aix.go │ │ │ ├── syscall_aix_ppc.go │ │ │ ├── syscall_aix_ppc64.go │ │ │ ├── syscall_bsd.go │ │ │ ├── syscall_darwin.go │ │ │ ├── syscall_darwin_amd64.go │ │ │ ├── syscall_darwin_arm64.go │ │ │ ├── syscall_darwin_libSystem.go │ │ │ ├── syscall_dragonfly.go │ │ │ ├── syscall_dragonfly_amd64.go │ │ │ ├── syscall_freebsd.go │ │ │ ├── syscall_freebsd_386.go │ │ │ ├── syscall_freebsd_amd64.go │ │ │ ├── syscall_freebsd_arm.go │ │ │ ├── syscall_freebsd_arm64.go │ │ │ ├── syscall_freebsd_riscv64.go │ │ │ ├── syscall_hurd.go │ │ │ ├── syscall_hurd_386.go │ │ │ ├── syscall_illumos.go │ │ │ ├── syscall_linux.go │ │ │ ├── syscall_linux_386.go │ │ │ ├── syscall_linux_alarm.go │ │ │ ├── syscall_linux_amd64.go │ │ │ ├── syscall_linux_amd64_gc.go │ │ │ ├── syscall_linux_arm.go │ │ │ ├── syscall_linux_arm64.go │ │ │ ├── syscall_linux_gc.go │ │ │ ├── syscall_linux_gc_386.go │ │ │ ├── syscall_linux_gc_arm.go │ │ │ ├── syscall_linux_gccgo_386.go │ │ │ ├── syscall_linux_gccgo_arm.go │ │ │ ├── syscall_linux_loong64.go │ │ │ ├── syscall_linux_mips64x.go │ │ │ ├── syscall_linux_mipsx.go │ │ │ ├── syscall_linux_ppc.go │ │ │ ├── syscall_linux_ppc64x.go │ │ │ ├── syscall_linux_riscv64.go │ │ │ ├── syscall_linux_s390x.go │ │ │ ├── syscall_linux_sparc64.go │ │ │ ├── syscall_netbsd.go │ │ │ ├── syscall_netbsd_386.go │ │ │ ├── syscall_netbsd_amd64.go │ │ │ ├── syscall_netbsd_arm.go │ │ │ ├── syscall_netbsd_arm64.go │ │ │ ├── syscall_openbsd.go │ │ │ ├── syscall_openbsd_386.go │ │ │ ├── syscall_openbsd_amd64.go │ │ │ ├── syscall_openbsd_arm.go │ │ │ ├── syscall_openbsd_arm64.go │ │ │ ├── syscall_openbsd_libc.go │ │ │ ├── syscall_openbsd_mips64.go │ │ │ ├── syscall_openbsd_ppc64.go │ │ │ ├── syscall_openbsd_riscv64.go │ │ │ ├── syscall_solaris.go │ │ │ ├── syscall_solaris_amd64.go │ │ │ ├── syscall_unix.go │ │ │ ├── syscall_unix_gc.go │ │ │ ├── syscall_unix_gc_ppc64x.go │ │ │ ├── syscall_zos_s390x.go │ │ │ ├── sysvshm_linux.go │ │ │ ├── sysvshm_unix.go │ │ │ ├── sysvshm_unix_other.go │ │ │ ├── timestruct.go │ │ │ ├── unveil_openbsd.go │ │ │ ├── xattr_bsd.go │ │ │ ├── zerrors_aix_ppc.go │ │ │ ├── zerrors_aix_ppc64.go │ │ │ ├── zerrors_darwin_amd64.go │ │ │ ├── zerrors_darwin_arm64.go │ │ │ ├── zerrors_dragonfly_amd64.go │ │ │ ├── zerrors_freebsd_386.go │ │ │ ├── zerrors_freebsd_amd64.go │ │ │ ├── zerrors_freebsd_arm.go │ │ │ ├── zerrors_freebsd_arm64.go │ │ │ ├── zerrors_freebsd_riscv64.go │ │ │ ├── zerrors_linux.go │ │ │ ├── zerrors_linux_386.go │ │ │ ├── zerrors_linux_amd64.go │ │ │ ├── zerrors_linux_arm.go │ │ │ ├── zerrors_linux_arm64.go │ │ │ ├── zerrors_linux_loong64.go │ │ │ ├── zerrors_linux_mips.go │ │ │ ├── zerrors_linux_mips64.go │ │ │ ├── zerrors_linux_mips64le.go │ │ │ ├── zerrors_linux_mipsle.go │ │ │ ├── zerrors_linux_ppc.go │ │ │ ├── zerrors_linux_ppc64.go │ │ │ ├── zerrors_linux_ppc64le.go │ │ │ ├── zerrors_linux_riscv64.go │ │ │ ├── zerrors_linux_s390x.go │ │ │ ├── zerrors_linux_sparc64.go │ │ │ ├── zerrors_netbsd_386.go │ │ │ ├── zerrors_netbsd_amd64.go │ │ │ ├── zerrors_netbsd_arm.go │ │ │ ├── zerrors_netbsd_arm64.go │ │ │ ├── zerrors_openbsd_386.go │ │ │ ├── zerrors_openbsd_amd64.go │ │ │ ├── zerrors_openbsd_arm.go │ │ │ ├── zerrors_openbsd_arm64.go │ │ │ ├── zerrors_openbsd_mips64.go │ │ │ ├── zerrors_openbsd_ppc64.go │ │ │ ├── zerrors_openbsd_riscv64.go │ │ │ ├── zerrors_solaris_amd64.go │ │ │ ├── zerrors_zos_s390x.go │ │ │ ├── zptrace_armnn_linux.go │ │ │ ├── zptrace_linux_arm64.go │ │ │ ├── zptrace_mipsnn_linux.go │ │ │ ├── zptrace_mipsnnle_linux.go │ │ │ ├── zptrace_x86_linux.go │ │ │ ├── zsyscall_aix_ppc.go │ │ │ ├── zsyscall_aix_ppc64.go │ │ │ ├── zsyscall_aix_ppc64_gc.go │ │ │ ├── zsyscall_aix_ppc64_gccgo.go │ │ │ ├── zsyscall_darwin_amd64.go │ │ │ ├── zsyscall_darwin_amd64.s │ │ │ ├── zsyscall_darwin_arm64.go │ │ │ ├── zsyscall_darwin_arm64.s │ │ │ ├── zsyscall_dragonfly_amd64.go │ │ │ ├── zsyscall_freebsd_386.go │ │ │ ├── zsyscall_freebsd_amd64.go │ │ │ ├── zsyscall_freebsd_arm.go │ │ │ ├── zsyscall_freebsd_arm64.go │ │ │ ├── zsyscall_freebsd_riscv64.go │ │ │ ├── zsyscall_illumos_amd64.go │ │ │ ├── zsyscall_linux.go │ │ │ ├── zsyscall_linux_386.go │ │ │ ├── zsyscall_linux_amd64.go │ │ │ ├── zsyscall_linux_arm.go │ │ │ ├── zsyscall_linux_arm64.go │ │ │ ├── zsyscall_linux_loong64.go │ │ │ ├── zsyscall_linux_mips.go │ │ │ ├── zsyscall_linux_mips64.go │ │ │ ├── zsyscall_linux_mips64le.go │ │ │ ├── zsyscall_linux_mipsle.go │ │ │ ├── zsyscall_linux_ppc.go │ │ │ ├── zsyscall_linux_ppc64.go │ │ │ ├── zsyscall_linux_ppc64le.go │ │ │ ├── zsyscall_linux_riscv64.go │ │ │ ├── zsyscall_linux_s390x.go │ │ │ ├── zsyscall_linux_sparc64.go │ │ │ ├── zsyscall_netbsd_386.go │ │ │ ├── zsyscall_netbsd_amd64.go │ │ │ ├── zsyscall_netbsd_arm.go │ │ │ ├── zsyscall_netbsd_arm64.go │ │ │ ├── zsyscall_openbsd_386.go │ │ │ ├── zsyscall_openbsd_386.s │ │ │ ├── zsyscall_openbsd_amd64.go │ │ │ ├── zsyscall_openbsd_amd64.s │ │ │ ├── zsyscall_openbsd_arm.go │ │ │ ├── zsyscall_openbsd_arm.s │ │ │ ├── zsyscall_openbsd_arm64.go │ │ │ ├── zsyscall_openbsd_arm64.s │ │ │ ├── zsyscall_openbsd_mips64.go │ │ │ ├── zsyscall_openbsd_mips64.s │ │ │ ├── zsyscall_openbsd_ppc64.go │ │ │ ├── zsyscall_openbsd_ppc64.s │ │ │ ├── zsyscall_openbsd_riscv64.go │ │ │ ├── zsyscall_openbsd_riscv64.s │ │ │ ├── zsyscall_solaris_amd64.go │ │ │ ├── zsyscall_zos_s390x.go │ │ │ ├── zsysctl_openbsd_386.go │ │ │ ├── zsysctl_openbsd_amd64.go │ │ │ ├── zsysctl_openbsd_arm.go │ │ │ ├── zsysctl_openbsd_arm64.go │ │ │ ├── zsysctl_openbsd_mips64.go │ │ │ ├── zsysctl_openbsd_ppc64.go │ │ │ ├── zsysctl_openbsd_riscv64.go │ │ │ ├── zsysnum_darwin_amd64.go │ │ │ ├── zsysnum_darwin_arm64.go │ │ │ ├── zsysnum_dragonfly_amd64.go │ │ │ ├── zsysnum_freebsd_386.go │ │ │ ├── zsysnum_freebsd_amd64.go │ │ │ ├── zsysnum_freebsd_arm.go │ │ │ ├── zsysnum_freebsd_arm64.go │ │ │ ├── zsysnum_freebsd_riscv64.go │ │ │ ├── zsysnum_linux_386.go │ │ │ ├── zsysnum_linux_amd64.go │ │ │ ├── zsysnum_linux_arm.go │ │ │ ├── zsysnum_linux_arm64.go │ │ │ ├── zsysnum_linux_loong64.go │ │ │ ├── zsysnum_linux_mips.go │ │ │ ├── zsysnum_linux_mips64.go │ │ │ ├── zsysnum_linux_mips64le.go │ │ │ ├── zsysnum_linux_mipsle.go │ │ │ ├── zsysnum_linux_ppc.go │ │ │ ├── zsysnum_linux_ppc64.go │ │ │ ├── zsysnum_linux_ppc64le.go │ │ │ ├── zsysnum_linux_riscv64.go │ │ │ ├── zsysnum_linux_s390x.go │ │ │ ├── zsysnum_linux_sparc64.go │ │ │ ├── zsysnum_netbsd_386.go │ │ │ ├── zsysnum_netbsd_amd64.go │ │ │ ├── zsysnum_netbsd_arm.go │ │ │ ├── zsysnum_netbsd_arm64.go │ │ │ ├── zsysnum_openbsd_386.go │ │ │ ├── zsysnum_openbsd_amd64.go │ │ │ ├── zsysnum_openbsd_arm.go │ │ │ ├── zsysnum_openbsd_arm64.go │ │ │ ├── zsysnum_openbsd_mips64.go │ │ │ ├── zsysnum_openbsd_ppc64.go │ │ │ ├── zsysnum_openbsd_riscv64.go │ │ │ ├── zsysnum_zos_s390x.go │ │ │ ├── ztypes_aix_ppc.go │ │ │ ├── ztypes_aix_ppc64.go │ │ │ ├── ztypes_darwin_amd64.go │ │ │ ├── ztypes_darwin_arm64.go │ │ │ ├── ztypes_dragonfly_amd64.go │ │ │ ├── ztypes_freebsd_386.go │ │ │ ├── ztypes_freebsd_amd64.go │ │ │ ├── ztypes_freebsd_arm.go │ │ │ ├── ztypes_freebsd_arm64.go │ │ │ ├── ztypes_freebsd_riscv64.go │ │ │ ├── ztypes_linux.go │ │ │ ├── ztypes_linux_386.go │ │ │ ├── ztypes_linux_amd64.go │ │ │ ├── ztypes_linux_arm.go │ │ │ ├── ztypes_linux_arm64.go │ │ │ ├── ztypes_linux_loong64.go │ │ │ ├── ztypes_linux_mips.go │ │ │ ├── ztypes_linux_mips64.go │ │ │ ├── ztypes_linux_mips64le.go │ │ │ ├── ztypes_linux_mipsle.go │ │ │ ├── ztypes_linux_ppc.go │ │ │ ├── ztypes_linux_ppc64.go │ │ │ ├── ztypes_linux_ppc64le.go │ │ │ ├── ztypes_linux_riscv64.go │ │ │ ├── ztypes_linux_s390x.go │ │ │ ├── ztypes_linux_sparc64.go │ │ │ ├── ztypes_netbsd_386.go │ │ │ ├── ztypes_netbsd_amd64.go │ │ │ ├── ztypes_netbsd_arm.go │ │ │ ├── ztypes_netbsd_arm64.go │ │ │ ├── ztypes_openbsd_386.go │ │ │ ├── ztypes_openbsd_amd64.go │ │ │ ├── ztypes_openbsd_arm.go │ │ │ ├── ztypes_openbsd_arm64.go │ │ │ ├── ztypes_openbsd_mips64.go │ │ │ ├── ztypes_openbsd_ppc64.go │ │ │ ├── ztypes_openbsd_riscv64.go │ │ │ ├── ztypes_solaris_amd64.go │ │ │ └── ztypes_zos_s390x.go │ │ └── windows │ │ │ ├── aliases.go │ │ │ ├── dll_windows.go │ │ │ ├── empty.s │ │ │ ├── env_windows.go │ │ │ ├── eventlog.go │ │ │ ├── exec_windows.go │ │ │ ├── memory_windows.go │ │ │ ├── mkerrors.bash │ │ │ ├── mkknownfolderids.bash │ │ │ ├── mksyscall.go │ │ │ ├── race.go │ │ │ ├── race0.go │ │ │ ├── security_windows.go │ │ │ ├── service.go │ │ │ ├── setupapi_windows.go │ │ │ ├── str.go │ │ │ ├── syscall.go │ │ │ ├── syscall_windows.go │ │ │ ├── types_windows.go │ │ │ ├── types_windows_386.go │ │ │ ├── types_windows_amd64.go │ │ │ ├── types_windows_arm.go │ │ │ ├── types_windows_arm64.go │ │ │ ├── zerrors_windows.go │ │ │ ├── zknownfolderids_windows.go │ │ │ └── zsyscall_windows.go │ │ └── text │ │ ├── LICENSE │ │ ├── PATENTS │ │ ├── cases │ │ ├── cases.go │ │ ├── context.go │ │ ├── fold.go │ │ ├── icu.go │ │ ├── info.go │ │ ├── map.go │ │ ├── tables10.0.0.go │ │ ├── tables11.0.0.go │ │ ├── tables12.0.0.go │ │ ├── tables13.0.0.go │ │ ├── tables15.0.0.go │ │ ├── tables9.0.0.go │ │ └── trieval.go │ │ ├── encoding │ │ ├── charmap │ │ │ ├── charmap.go │ │ │ └── tables.go │ │ ├── encoding.go │ │ ├── htmlindex │ │ │ ├── htmlindex.go │ │ │ ├── map.go │ │ │ └── tables.go │ │ ├── internal │ │ │ ├── identifier │ │ │ │ ├── identifier.go │ │ │ │ └── mib.go │ │ │ └── internal.go │ │ ├── japanese │ │ │ ├── all.go │ │ │ ├── eucjp.go │ │ │ ├── iso2022jp.go │ │ │ ├── shiftjis.go │ │ │ └── tables.go │ │ ├── korean │ │ │ ├── euckr.go │ │ │ └── tables.go │ │ ├── simplifiedchinese │ │ │ ├── all.go │ │ │ ├── gbk.go │ │ │ ├── hzgb2312.go │ │ │ └── tables.go │ │ ├── traditionalchinese │ │ │ ├── big5.go │ │ │ └── tables.go │ │ └── unicode │ │ │ ├── override.go │ │ │ └── unicode.go │ │ ├── internal │ │ ├── format │ │ │ ├── format.go │ │ │ └── parser.go │ │ ├── internal.go │ │ ├── language │ │ │ ├── common.go │ │ │ ├── compact.go │ │ │ ├── compact │ │ │ │ ├── compact.go │ │ │ │ ├── language.go │ │ │ │ ├── parents.go │ │ │ │ ├── tables.go │ │ │ │ └── tags.go │ │ │ ├── compose.go │ │ │ ├── coverage.go │ │ │ ├── language.go │ │ │ ├── lookup.go │ │ │ ├── match.go │ │ │ ├── parse.go │ │ │ ├── tables.go │ │ │ └── tags.go │ │ ├── match.go │ │ ├── tag │ │ │ └── tag.go │ │ └── utf8internal │ │ │ └── utf8internal.go │ │ ├── language │ │ ├── coverage.go │ │ ├── display │ │ │ ├── dict.go │ │ │ ├── display.go │ │ │ ├── lookup.go │ │ │ └── tables.go │ │ ├── doc.go │ │ ├── language.go │ │ ├── match.go │ │ ├── parse.go │ │ ├── tables.go │ │ └── tags.go │ │ ├── runes │ │ ├── cond.go │ │ └── runes.go │ │ ├── secure │ │ ├── bidirule │ │ │ ├── bidirule.go │ │ │ ├── bidirule10.0.0.go │ │ │ └── bidirule9.0.0.go │ │ └── precis │ │ │ ├── class.go │ │ │ ├── context.go │ │ │ ├── doc.go │ │ │ ├── nickname.go │ │ │ ├── options.go │ │ │ ├── profile.go │ │ │ ├── profiles.go │ │ │ ├── tables10.0.0.go │ │ │ ├── tables11.0.0.go │ │ │ ├── tables12.0.0.go │ │ │ ├── tables13.0.0.go │ │ │ ├── tables15.0.0.go │ │ │ ├── tables9.0.0.go │ │ │ ├── transformer.go │ │ │ └── trieval.go │ │ ├── transform │ │ └── transform.go │ │ ├── unicode │ │ ├── bidi │ │ │ ├── bidi.go │ │ │ ├── bracket.go │ │ │ ├── core.go │ │ │ ├── prop.go │ │ │ ├── tables10.0.0.go │ │ │ ├── tables11.0.0.go │ │ │ ├── tables12.0.0.go │ │ │ ├── tables13.0.0.go │ │ │ ├── tables15.0.0.go │ │ │ ├── tables9.0.0.go │ │ │ └── trieval.go │ │ └── norm │ │ │ ├── composition.go │ │ │ ├── forminfo.go │ │ │ ├── input.go │ │ │ ├── iter.go │ │ │ ├── normalize.go │ │ │ ├── readwriter.go │ │ │ ├── tables10.0.0.go │ │ │ ├── tables11.0.0.go │ │ │ ├── tables12.0.0.go │ │ │ ├── tables13.0.0.go │ │ │ ├── tables15.0.0.go │ │ │ ├── tables9.0.0.go │ │ │ ├── transform.go │ │ │ └── trie.go │ │ └── width │ │ ├── kind_string.go │ │ ├── tables10.0.0.go │ │ ├── tables11.0.0.go │ │ ├── tables12.0.0.go │ │ ├── tables13.0.0.go │ │ ├── tables15.0.0.go │ │ ├── tables9.0.0.go │ │ ├── transform.go │ │ ├── trieval.go │ │ └── width.go ├── google.golang.org │ ├── appengine │ │ ├── LICENSE │ │ ├── internal │ │ │ ├── api.go │ │ │ ├── api_classic.go │ │ │ ├── api_common.go │ │ │ ├── app_id.go │ │ │ ├── base │ │ │ │ ├── api_base.pb.go │ │ │ │ └── api_base.proto │ │ │ ├── datastore │ │ │ │ ├── datastore_v3.pb.go │ │ │ │ └── datastore_v3.proto │ │ │ ├── identity.go │ │ │ ├── identity_classic.go │ │ │ ├── identity_flex.go │ │ │ ├── identity_vm.go │ │ │ ├── internal.go │ │ │ ├── log │ │ │ │ ├── log_service.pb.go │ │ │ │ └── log_service.proto │ │ │ ├── main.go │ │ │ ├── main_common.go │ │ │ ├── main_vm.go │ │ │ ├── metadata.go │ │ │ ├── net.go │ │ │ ├── regen.sh │ │ │ ├── remote_api │ │ │ │ ├── remote_api.pb.go │ │ │ │ └── remote_api.proto │ │ │ ├── transaction.go │ │ │ └── urlfetch │ │ │ │ ├── urlfetch_service.pb.go │ │ │ │ └── urlfetch_service.proto │ │ └── urlfetch │ │ │ └── urlfetch.go │ └── protobuf │ │ ├── LICENSE │ │ ├── PATENTS │ │ ├── encoding │ │ ├── prototext │ │ │ ├── decode.go │ │ │ ├── doc.go │ │ │ └── encode.go │ │ └── protowire │ │ │ └── wire.go │ │ ├── internal │ │ ├── descfmt │ │ │ └── stringer.go │ │ ├── descopts │ │ │ └── options.go │ │ ├── detrand │ │ │ └── rand.go │ │ ├── editiondefaults │ │ │ ├── defaults.go │ │ │ └── editions_defaults.binpb │ │ ├── encoding │ │ │ ├── defval │ │ │ │ └── default.go │ │ │ ├── messageset │ │ │ │ └── messageset.go │ │ │ ├── tag │ │ │ │ └── tag.go │ │ │ └── text │ │ │ │ ├── decode.go │ │ │ │ ├── decode_number.go │ │ │ │ ├── decode_string.go │ │ │ │ ├── decode_token.go │ │ │ │ ├── doc.go │ │ │ │ └── encode.go │ │ ├── errors │ │ │ ├── errors.go │ │ │ ├── is_go112.go │ │ │ └── is_go113.go │ │ ├── filedesc │ │ │ ├── build.go │ │ │ ├── desc.go │ │ │ ├── desc_init.go │ │ │ ├── desc_lazy.go │ │ │ ├── desc_list.go │ │ │ ├── desc_list_gen.go │ │ │ ├── editions.go │ │ │ └── placeholder.go │ │ ├── filetype │ │ │ └── build.go │ │ ├── flags │ │ │ ├── flags.go │ │ │ ├── proto_legacy_disable.go │ │ │ └── proto_legacy_enable.go │ │ ├── genid │ │ │ ├── any_gen.go │ │ │ ├── api_gen.go │ │ │ ├── descriptor_gen.go │ │ │ ├── doc.go │ │ │ ├── duration_gen.go │ │ │ ├── empty_gen.go │ │ │ ├── field_mask_gen.go │ │ │ ├── go_features_gen.go │ │ │ ├── goname.go │ │ │ ├── map_entry.go │ │ │ ├── source_context_gen.go │ │ │ ├── struct_gen.go │ │ │ ├── timestamp_gen.go │ │ │ ├── type_gen.go │ │ │ ├── wrappers.go │ │ │ └── wrappers_gen.go │ │ ├── impl │ │ │ ├── api_export.go │ │ │ ├── checkinit.go │ │ │ ├── codec_extension.go │ │ │ ├── codec_field.go │ │ │ ├── codec_gen.go │ │ │ ├── codec_map.go │ │ │ ├── codec_map_go111.go │ │ │ ├── codec_map_go112.go │ │ │ ├── codec_message.go │ │ │ ├── codec_messageset.go │ │ │ ├── codec_reflect.go │ │ │ ├── codec_tables.go │ │ │ ├── codec_unsafe.go │ │ │ ├── convert.go │ │ │ ├── convert_list.go │ │ │ ├── convert_map.go │ │ │ ├── decode.go │ │ │ ├── encode.go │ │ │ ├── enum.go │ │ │ ├── extension.go │ │ │ ├── legacy_enum.go │ │ │ ├── legacy_export.go │ │ │ ├── legacy_extension.go │ │ │ ├── legacy_file.go │ │ │ ├── legacy_message.go │ │ │ ├── merge.go │ │ │ ├── merge_gen.go │ │ │ ├── message.go │ │ │ ├── message_reflect.go │ │ │ ├── message_reflect_field.go │ │ │ ├── message_reflect_gen.go │ │ │ ├── pointer_reflect.go │ │ │ ├── pointer_unsafe.go │ │ │ ├── validate.go │ │ │ └── weak.go │ │ ├── order │ │ │ ├── order.go │ │ │ └── range.go │ │ ├── pragma │ │ │ └── pragma.go │ │ ├── set │ │ │ └── ints.go │ │ ├── strs │ │ │ ├── strings.go │ │ │ ├── strings_pure.go │ │ │ ├── strings_unsafe_go120.go │ │ │ └── strings_unsafe_go121.go │ │ └── version │ │ │ └── version.go │ │ ├── proto │ │ ├── checkinit.go │ │ ├── decode.go │ │ ├── decode_gen.go │ │ ├── doc.go │ │ ├── encode.go │ │ ├── encode_gen.go │ │ ├── equal.go │ │ ├── extension.go │ │ ├── merge.go │ │ ├── messageset.go │ │ ├── proto.go │ │ ├── proto_methods.go │ │ ├── proto_reflect.go │ │ ├── reset.go │ │ ├── size.go │ │ ├── size_gen.go │ │ └── wrappers.go │ │ ├── reflect │ │ ├── protodesc │ │ │ ├── desc.go │ │ │ ├── desc_init.go │ │ │ ├── desc_resolve.go │ │ │ ├── desc_validate.go │ │ │ ├── editions.go │ │ │ └── proto.go │ │ ├── protoreflect │ │ │ ├── methods.go │ │ │ ├── proto.go │ │ │ ├── source.go │ │ │ ├── source_gen.go │ │ │ ├── type.go │ │ │ ├── value.go │ │ │ ├── value_equal.go │ │ │ ├── value_pure.go │ │ │ ├── value_union.go │ │ │ ├── value_unsafe_go120.go │ │ │ └── value_unsafe_go121.go │ │ └── protoregistry │ │ │ └── registry.go │ │ ├── runtime │ │ ├── protoiface │ │ │ ├── legacy.go │ │ │ └── methods.go │ │ └── protoimpl │ │ │ ├── impl.go │ │ │ └── version.go │ │ └── types │ │ ├── descriptorpb │ │ └── descriptor.pb.go │ │ └── gofeaturespb │ │ ├── go_features.pb.go │ │ └── go_features.proto ├── gopkg.in │ ├── ini.v1 │ │ ├── .editorconfig │ │ ├── .gitignore │ │ ├── .golangci.yml │ │ ├── LICENSE │ │ ├── Makefile │ │ ├── README.md │ │ ├── codecov.yml │ │ ├── data_source.go │ │ ├── deprecated.go │ │ ├── error.go │ │ ├── file.go │ │ ├── helper.go │ │ ├── ini.go │ │ ├── key.go │ │ ├── parser.go │ │ ├── section.go │ │ └── struct.go │ └── yaml.v3 │ │ ├── LICENSE │ │ ├── NOTICE │ │ ├── README.md │ │ ├── apic.go │ │ ├── decode.go │ │ ├── emitterc.go │ │ ├── encode.go │ │ ├── parserc.go │ │ ├── readerc.go │ │ ├── resolve.go │ │ ├── scannerc.go │ │ ├── sorter.go │ │ ├── writerc.go │ │ ├── yaml.go │ │ ├── yamlh.go │ │ └── yamlprivateh.go ├── gorm.io │ ├── driver │ │ └── postgres │ │ │ ├── .gitignore │ │ │ ├── License │ │ │ ├── README.md │ │ │ ├── error_translator.go │ │ │ ├── migrator.go │ │ │ └── postgres.go │ └── gorm │ │ ├── .gitignore │ │ ├── .golangci.yml │ │ ├── LICENSE │ │ ├── README.md │ │ ├── association.go │ │ ├── callbacks.go │ │ ├── callbacks │ │ ├── associations.go │ │ ├── callbacks.go │ │ ├── callmethod.go │ │ ├── create.go │ │ ├── delete.go │ │ ├── helper.go │ │ ├── interfaces.go │ │ ├── preload.go │ │ ├── query.go │ │ ├── raw.go │ │ ├── row.go │ │ ├── transaction.go │ │ └── update.go │ │ ├── chainable_api.go │ │ ├── clause │ │ ├── clause.go │ │ ├── delete.go │ │ ├── expression.go │ │ ├── from.go │ │ ├── group_by.go │ │ ├── insert.go │ │ ├── joins.go │ │ ├── limit.go │ │ ├── locking.go │ │ ├── on_conflict.go │ │ ├── order_by.go │ │ ├── returning.go │ │ ├── select.go │ │ ├── set.go │ │ ├── update.go │ │ ├── values.go │ │ ├── where.go │ │ └── with.go │ │ ├── errors.go │ │ ├── finisher_api.go │ │ ├── gorm.go │ │ ├── interfaces.go │ │ ├── logger │ │ ├── logger.go │ │ └── sql.go │ │ ├── migrator.go │ │ ├── migrator │ │ ├── column_type.go │ │ ├── index.go │ │ ├── migrator.go │ │ └── table_type.go │ │ ├── model.go │ │ ├── prepare_stmt.go │ │ ├── scan.go │ │ ├── schema │ │ ├── check.go │ │ ├── field.go │ │ ├── index.go │ │ ├── interfaces.go │ │ ├── naming.go │ │ ├── pool.go │ │ ├── relationship.go │ │ ├── schema.go │ │ ├── serializer.go │ │ └── utils.go │ │ ├── soft_delete.go │ │ ├── statement.go │ │ └── utils │ │ └── utils.go └── modules.txt └── web └── static ├── data_preview.png ├── data_preview2.png ├── logo.png └── preview.png /.dockerignore: -------------------------------------------------------------------------------- 1 | 2 | test 3 | data.json 4 | web/static 5 | scripts 6 | pryingdeep.yaml.bak 7 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # If you prefer the allow list template instead of the deny list, see community template: 2 | # https://github.com/github/gitignore/blob/main/community/Golang/Go.AllowList.gitignore 3 | # 4 | # Binaries for programs and plugins 5 | *.exe 6 | *.exe~ 7 | *.dll 8 | *.so 9 | *.dylib 10 | 11 | # Test binary, built with `go test -c` 12 | *.test 13 | 14 | # Output of the go coverage tool, specifically when used with LiteIDE 15 | *.out 16 | .idea 17 | 18 | # Dependency directories (remove the comment below to include it) 19 | # vendor/ 20 | 21 | # Go workspace file 22 | go.work 23 | .vscode 24 | logs/ 25 | .env 26 | data.json 27 | pryingdeep 28 | cmd/pryingdeep/pryingdeep 29 | ./pryingdeep.yaml 30 | pryingdeep.yaml.bak 31 | pgdata -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- 1 | FROM golang:1.20.8 2 | 3 | 4 | WORKDIR /pryingdeep 5 | 6 | COPY go.mod go.sum ./ 7 | 8 | RUN go mod download 9 | 10 | 11 | COPY . ./ 12 | 13 | EXPOSE 8000 14 | 15 | RUN CGO_ENABLED=0 GOOS=linux go build -o pryingdeep ./cmd/pryingdeep 16 | -------------------------------------------------------------------------------- /build/package/tor/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM alpine:3.19.0 2 | 3 | 4 | RUN addgroup -S appgroup && adduser -S pryingdeep -G appgroup 5 | 6 | WORKDIR /home/pryingdeep 7 | 8 | 9 | RUN apk update && \ 10 | apk add tor && \ 11 | mkdir -p /run/tor/service && \ 12 | chmod -R 700 /run/tor/service && \ 13 | apk add curl && \ 14 | apk cache clean 15 | 16 | USER pryingdeep 17 | 18 | WORKDIR /app 19 | 20 | EXPOSE 9050 21 | 22 | CMD ["tor"] 23 | -------------------------------------------------------------------------------- /build/package/tor/README.MD: -------------------------------------------------------------------------------- 1 | # Tor container 2 | 3 | ## Перевод (Translation) 4 | 5 | [Tor](../../../docs/RU_TOR.MD) 6 | 7 | ## Build 8 | 9 | *Directory that the docker container is in:* 10 | 11 | - ```sh 12 | docker build -t tor . 13 | ``` 14 | 15 | *Root directory:* 16 | 17 | - ```sh 18 | docker build -t tor -f build/package/tor/Dockerfile . 19 | ``` 20 | 21 | ## Run 22 | 23 | This will publish the docker container on localhost, so that the containers can communicate. Adjust port accordingly. 24 | 25 | ```sh 26 | docker run --network host --publish 9050:9050 tor 27 | ``` -------------------------------------------------------------------------------- /build/package/tor/entrypoint.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | 3 | chmod -R 700 /run/tor/service 4 | tor $@ -------------------------------------------------------------------------------- /configs/db.go: -------------------------------------------------------------------------------- 1 | package configs 2 | 3 | import ( 4 | "fmt" 5 | ) 6 | 7 | type Database struct { 8 | Host string `mapstructure:"host"` 9 | Port string `mapstructure:"port"` 10 | Name string `mapstructure:"name"` 11 | User string `mapstructure:"user"` 12 | Password string `mapstructure:"pass"` 13 | TestName string `mapstructure:"testing_name"` 14 | URL string 15 | } 16 | 17 | func LoadDatabase() { 18 | var db Database 19 | loadConfig("database", &db) 20 | if db.Port == "" { 21 | db.Port = "5432" 22 | } 23 | if db.Host == "" { 24 | db.Host = "localhost" 25 | } 26 | if db.Name == "" { 27 | db.Name = "postgres" 28 | } 29 | if db.User == "" { 30 | db.User = "postgres" 31 | } 32 | 33 | dbURL := fmt.Sprintf("postgres://%s:%s@%s:%s/%s", db.User, db.Password, db.Host, db.Port, db.Name) 34 | db.URL = dbURL 35 | cfg.DB = db 36 | } 37 | -------------------------------------------------------------------------------- /configs/exporter.go: -------------------------------------------------------------------------------- 1 | package configs 2 | 3 | type Exporter struct { 4 | // Criteria is the map needed for exporting data. 5 | // Leave blank to not apply any criteria. 6 | Criteria map[string]interface{} `mapstructure:"criteria"` 7 | // Associations are database tables that you can specify during export. 8 | // E.G all - default, will take all the tables. 9 | Associations string `mapstructure:"associations"` 10 | // SortBy is the ORDER BY field in web_pages 11 | SortBy string `mapstructure:"sort-by"` 12 | // SortOrder is the ASC, DESC value 13 | SortOrder string `mapstructure:"sort-order"` 14 | // Limit is the number of rows that you want to export 15 | Limit int `mapstructure:"limit"` 16 | 17 | Offset int `mapstructure:"offset"` 18 | // Filepath is where you would like to save your .json exporter data. 19 | // Default is data.json in the current directory. 20 | Filepath string `mapstructure:"filepath"` 21 | } 22 | 23 | func LoadExporterConfig() Exporter { 24 | var config Exporter 25 | loadConfig("exporter", &config) 26 | return config 27 | } 28 | -------------------------------------------------------------------------------- /configs/logger.go: -------------------------------------------------------------------------------- 1 | package configs 2 | 3 | type LoggerConfig struct { 4 | //Level is a simple logger level 5 | Level string `mapstructure:"level"` 6 | //Encoder is the encoder that we are using for the logger. E.G json 7 | Encoder string `mapstructure:"encoder"` 8 | } 9 | 10 | func setupLogger() { 11 | var config LoggerConfig 12 | loadConfig("logger", &config) 13 | cfg.Logger = config 14 | } 15 | -------------------------------------------------------------------------------- /configs/torproxy.go: -------------------------------------------------------------------------------- 1 | package configs 2 | 3 | type TorConfig struct { 4 | //Host is the ip adress that tor is running in. localhost is used by default 5 | Host string `mapstructure:"host"` 6 | //Port is the port where tor is running. 9050 is the default 7 | Port string `mapstructure:"port"` 8 | } 9 | 10 | func setupTor() { 11 | var config TorConfig 12 | loadConfig("tor", &config) 13 | 14 | cfg.Tor = config 15 | } 16 | -------------------------------------------------------------------------------- /docs/README.MD: -------------------------------------------------------------------------------- 1 | # Docs 2 | 3 | 4 | 5 | ## Tor 6 | Read more about building and running our tor container here: 7 | 8 | - [Tor](.././build/package/tor/README.MD#build) 9 | 10 | Russian: 11 | 12 | - [Тор](./RU_TOR.MD) 13 | 14 | ## Configuration Parameters 15 | 16 | - [**Configuration Parameters**](./CONFIG.MD#table-of-contents): This section provides details on each parameter in the configuration file. 17 | 18 | - [**Конфигурация на русском**](./RU_CONFIG.MD): Для русскоязычных пользователей существует отдельный документ, где объясняется конфигурация на русском языке. 19 | 20 | 21 | # Main README 22 | 23 | - [**Main README**](../README.md#table-of-contents): The primary README document contains essential information about the project. 24 | 25 | - [**Русское README**](./RU_README.MD) 26 | -------------------------------------------------------------------------------- /docs/RU_TOR.MD: -------------------------------------------------------------------------------- 1 | # Контейнер Тор 2 | 3 | ## Cборка 4 | 5 | *Каталог, в котором находится контейнер Docker:* 6 | 7 | - ```sh 8 | docker build -t tor . 9 | ``` 10 | 11 | *Корневой каталог:* 12 | 13 | - ```sh 14 | docker build -t tor -f build/package/tor/Dockerfile . 15 | ``` 16 | 17 | ## Запуск 18 | 19 | Это разместит контейнер Docker на localhost, чтобы контейнеры могли взаимодействовать. Подстройте порт соответствующим образом. 20 | 21 | ```sh 22 | docker run --network host --publish 9050:9050 tor 23 | ``` 24 | -------------------------------------------------------------------------------- /models/crypto.go: -------------------------------------------------------------------------------- 1 | package models 2 | 3 | import ( 4 | "fmt" 5 | 6 | "github.com/lib/pq" 7 | ) 8 | 9 | // Crypto stores various cryptographic findings, such as 10 | type Crypto struct { 11 | Model 12 | //WebPageID is the serves as a foreign key to web_pages 13 | WebPageID int `json:"pageId"` 14 | PGPKeys pq.StringArray `json:"PGPKey" gorm:"type:text[]"` 15 | Certificates pq.StringArray `json:"Certificates" gorm:"type:text[]"` 16 | Wallets pq.StringArray `json:"Wallets" gorm:"type:text[]"` 17 | } 18 | 19 | func CryptoCreate(c Crypto) (Crypto, error) { 20 | result := db.Create(&c) 21 | if result.Error != nil { 22 | fmt.Println(result.Error) 23 | return c, result.Error 24 | } 25 | return c, nil 26 | } 27 | -------------------------------------------------------------------------------- /models/email.go: -------------------------------------------------------------------------------- 1 | package models 2 | 3 | import "github.com/lib/pq" 4 | 5 | // Email stores processed emails that are found within a web page. 6 | type Email struct { 7 | Model 8 | //WebPageID is the serves as a foreign key to web_pages 9 | WebPageID int `json:"pageId"` 10 | Emails pq.StringArray `json:"emails" gorm:"type:text[]"` 11 | } 12 | 13 | func CreateEmails(pageId int, emails []string) *Email { 14 | email := &Email{ 15 | WebPageID: pageId, 16 | Emails: emails, 17 | } 18 | 19 | db.Create(email) 20 | 21 | return email 22 | } 23 | -------------------------------------------------------------------------------- /models/models.go: -------------------------------------------------------------------------------- 1 | package models 2 | 3 | import ( 4 | "gorm.io/driver/postgres" 5 | "gorm.io/gorm" 6 | 7 | gormLog "gorm.io/gorm/logger" 8 | 9 | "github.com/iudicium/pryingdeep/pkg/logger" 10 | ) 11 | 12 | var db *gorm.DB 13 | 14 | type Model struct { 15 | ID uint `gorm:"primaryKey"` 16 | } 17 | 18 | // SetupDatabase also auto migrates the models if there are any changes 19 | func SetupDatabase(dbUrl string) *gorm.DB { 20 | var err error 21 | db, err = gorm.Open(postgres.Open(dbUrl), &gorm.Config{ 22 | TranslateError: true, 23 | Logger: gormLog.Default.LogMode(gormLog.Silent), 24 | }) 25 | 26 | db.Debug() 27 | if err != nil { 28 | logger.Fatalf("models.Setup err: %v", err) 29 | } 30 | 31 | err = db.AutoMigrate(&WebPage{}, &WordpressFootPrint{}, &Email{}, &PhoneNumber{}, &Crypto{}) 32 | if err != nil { 33 | logger.Errorf("error during AutoMigrations", err) 34 | } 35 | 36 | return db 37 | } 38 | 39 | func GetDB() *gorm.DB { 40 | return db 41 | } 42 | -------------------------------------------------------------------------------- /models/property_map.go: -------------------------------------------------------------------------------- 1 | package models 2 | 3 | import ( 4 | "database/sql/driver" 5 | "encoding/json" 6 | "errors" 7 | ) 8 | 9 | // PropertyMap is the postgres implementation of jsonb in go. 10 | type PropertyMap map[string]interface{} 11 | 12 | func (p PropertyMap) Value() (driver.Value, error) { 13 | j, err := json.Marshal(p) 14 | return j, err 15 | } 16 | 17 | // Scan unmarshals a JSON-encoded byte slice into a PropertyMap. 18 | // It assigns the result to the PropertyMap (p) or returns an error. 19 | func (p *PropertyMap) Scan(src interface{}) error { 20 | source, ok := src.([]byte) 21 | if !ok { 22 | return errors.New("type assertion .([]byte) failed") 23 | } 24 | 25 | var i interface{} 26 | if err := json.Unmarshal(source, &i); err != nil { 27 | return err 28 | } 29 | 30 | *p, ok = i.(map[string]interface{}) 31 | if !ok { 32 | return errors.New("type assertion .(map[string]interface{}) failed") 33 | } 34 | 35 | return nil 36 | } 37 | -------------------------------------------------------------------------------- /models/wordpress.go: -------------------------------------------------------------------------------- 1 | package models 2 | 3 | import "github.com/lib/pq" 4 | 5 | type WordpressFootPrint struct { 6 | Model 7 | //WebPageID is the serves as a foreign key to web_pages 8 | WebPageID int `json:"pageId"` 9 | WordpressHtml pq.StringArray `json:"wordpressHtml" gorm:"type:text[]"` 10 | } 11 | 12 | func (WordpressFootPrint) TableName() string { 13 | return "wordpress" 14 | } 15 | func CreateWordPressFootPrint(pageId int, html []string) *WordpressFootPrint { 16 | wordpress := &WordpressFootPrint{ 17 | WebPageID: pageId, 18 | WordpressHtml: html, 19 | } 20 | 21 | db.Create(wordpress) 22 | 23 | return wordpress 24 | } 25 | -------------------------------------------------------------------------------- /pkg/cmd/crawler/constants.go: -------------------------------------------------------------------------------- 1 | package crawler 2 | 3 | import ( 4 | "github.com/iudicium/pryingdeep/configs" 5 | ) 6 | 7 | var ( 8 | cli *configs.CLIConfig 9 | cfg *configs.Configuration 10 | //Crawler options 11 | urls []string 12 | tor bool 13 | userAgent string 14 | maxDepth int 15 | maxBodySize int 16 | cacheDir string 17 | ignoreRobotsTxt bool 18 | debug bool 19 | queueThreads int 20 | queueMaxSize int 21 | allowedDomains []string 22 | disallowedDomains []string 23 | disallowedURLFilters []string 24 | urlFilters []string 25 | allowURLRevisit bool 26 | delay int 27 | randomDelay int 28 | // Prying options - (more to come!) 29 | wordpress bool 30 | crypto bool 31 | email bool 32 | phone []string 33 | ) 34 | -------------------------------------------------------------------------------- /pkg/cmd/exporter/exporter.go: -------------------------------------------------------------------------------- 1 | package exporter 2 | 3 | import ( 4 | "github.com/spf13/cobra" 5 | 6 | "github.com/iudicium/pryingdeep/pkg/cmd/exporter/json" 7 | ) 8 | 9 | var ExporterCMD = &cobra.Command{ 10 | Use: "export", 11 | Short: "Export the collected data into a file.", 12 | Long: "Export the collected data from the database into a file.", 13 | } 14 | 15 | func init() { 16 | ExporterCMD.AddCommand(json.JSONCmd) 17 | 18 | } 19 | -------------------------------------------------------------------------------- /pkg/crawler/helpers.go: -------------------------------------------------------------------------------- 1 | package crawler 2 | 3 | import ( 4 | "github.com/gocolly/colly/v2" 5 | 6 | "github.com/iudicium/pryingdeep/models" 7 | "github.com/iudicium/pryingdeep/pkg/utils" 8 | ) 9 | 10 | // ParseResponse creates a record in the database for web_pages 11 | func ParseResponse(url string, body string, response *colly.Response) (int, error) { 12 | title, _ := utils.ExtractTitleFromBody(body) 13 | headers := utils.CreateMapFromValues(*response.Headers) 14 | 15 | ResId, err := models.CreatePage( 16 | url, 17 | title, 18 | response.StatusCode, 19 | body, 20 | headers, 21 | ) 22 | if err != nil { 23 | return 0, err 24 | } 25 | 26 | return int(ResId), nil 27 | } 28 | -------------------------------------------------------------------------------- /pkg/pryingtools/email/email.go: -------------------------------------------------------------------------------- 1 | package email 2 | 3 | import ( 4 | "regexp" 5 | 6 | mapset "github.com/deckarep/golang-set/v2" 7 | ) 8 | 9 | // EmailFinder performs simple regexp email searching. 10 | // Currently, there's no need for validation, but we can definitely take a look at implementing that in the future 11 | type EmailFinder struct { 12 | emailRegex *regexp.Regexp 13 | } 14 | 15 | func NewEmailFinder() *EmailFinder { 16 | return &EmailFinder{ 17 | emailRegex: regexp.MustCompile(`\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,3}\b`), 18 | } 19 | } 20 | 21 | // FindEmails - just a function that finds unique emails in a webpage. There's no reason to keep the duplicates 22 | func (ef *EmailFinder) FindEmails(html string) []string { 23 | uniqueMatches := mapset.NewSet[string]() 24 | 25 | matches := ef.emailRegex.FindAllString(html, -1) 26 | if len(matches) > 0 { 27 | for _, match := range matches { 28 | uniqueMatches.Add(match) 29 | } 30 | } 31 | return uniqueMatches.ToSlice() 32 | 33 | } 34 | -------------------------------------------------------------------------------- /pkg/pryingtools/favicon/README.MD: -------------------------------------------------------------------------------- 1 | The development of this prying tool has been paused. 2 | I do not have an api key to shodan unfortunately. -------------------------------------------------------------------------------- /pkg/pryingtools/favicon/hash.go: -------------------------------------------------------------------------------- 1 | package favicon 2 | 3 | import ( 4 | "bytes" 5 | "encoding/base64" 6 | "fmt" 7 | 8 | "github.com/twmb/murmur3" 9 | ) 10 | 11 | func StandBase64(braw []byte) []byte { 12 | b64enc := base64.StdEncoding.EncodeToString(braw) 13 | var buffer bytes.Buffer 14 | for i := 0; i < len(b64enc); i++ { 15 | ch := b64enc[i] 16 | buffer.WriteByte(ch) 17 | if (i+1)%76 == 0 { 18 | buffer.WriteByte('\n') 19 | } 20 | } 21 | 22 | buffer.WriteByte('\n') 23 | return buffer.Bytes() 24 | } 25 | 26 | func Mmh3Hash32(raw []byte) string { 27 | var h32 = murmur3.New32() 28 | h32.Write(raw) 29 | return fmt.Sprintf("%d", int32(h32.Sum32())) 30 | } 31 | 32 | func IconHash(content []byte) string { 33 | return Mmh3Hash32(StandBase64(content)) 34 | } 35 | -------------------------------------------------------------------------------- /pkg/pryingtools/phonenumber/countrymapper.go: -------------------------------------------------------------------------------- 1 | package phonenumber 2 | 3 | // MapCountryCodeToRegex maps each countryCode to the specific regexp 4 | func MapCountryCodeToRegex(countryCodes []string) map[string]string { 5 | countryMap := make(map[string]string) 6 | for _, code := range countryCodes { 7 | switch code { 8 | case "DE": 9 | countryMap[code] = DERegex 10 | case "RU": 11 | countryMap[code] = RuRegex 12 | case "US": 13 | countryMap[code] = USRegex 14 | case "NL": 15 | countryMap[code] = NLRegex 16 | 17 | } 18 | } 19 | return countryMap 20 | } 21 | -------------------------------------------------------------------------------- /pkg/querybuilder/queries/select.sql: -------------------------------------------------------------------------------- 1 | SELECT url from web_pages; -------------------------------------------------------------------------------- /scripts/tidy.sh: -------------------------------------------------------------------------------- 1 | go mod tidy && go mod vendor 2 | -------------------------------------------------------------------------------- /tests/README.MD: -------------------------------------------------------------------------------- 1 | 2 | Some of the tests use tor links, so a tor container/torcc has to be running for them to complete. 3 | -------------------------------------------------------------------------------- /tests/pryingtools/favicon/data/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iudicium/pryingdeep/5cc64c9cdf537e15d80f359d5335c3d2b3a122d7/tests/pryingtools/favicon/data/favicon.png -------------------------------------------------------------------------------- /tests/pryingtools/favicon/data/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iudicium/pryingdeep/5cc64c9cdf537e15d80f359d5335c3d2b3a122d7/tests/pryingtools/favicon/data/logo.png -------------------------------------------------------------------------------- /tests/pryingtools/phonenumbers/data/nl.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Dutch Phone Number Validation 5 | 6 | 7 |

Dutch Phone Number Validation

8 |

Valid Dutch Phone Numbers:

9 | 17 |

Invalid Dutch Phone Numbers:

18 | 24 | -------------------------------------------------------------------------------- /tests/pryingtools/phonenumbers/data/tel.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Telephone Links 8 | 9 | 10 | Click to Call 11 | 12 | 13 | 14 |

This is some additional content.

15 | 16 | 17 | -------------------------------------------------------------------------------- /tests/querybuilder/data/associations.sql: -------------------------------------------------------------------------------- 1 | SELECT * FROM web_pages 2 | INNER JOIN cryptos ON web_pages.id = cryptos.web_page_id 3 | INNER JOIN emails ON web_pages.id = emails.web_page_id 4 | INNER JOIN phone_numbers ON web_pages.id = phone_numbers.web_page_id 5 | INNER JOIN wordpress ON web_pages.id = wordpress.web_page_id 6 | -------------------------------------------------------------------------------- /tests/querybuilder/data/test_select_query.sql: -------------------------------------------------------------------------------- 1 | SELECT * FROM cryptos; -------------------------------------------------------------------------------- /vendor/github.com/PuerkitoBio/goquery/.gitattributes: -------------------------------------------------------------------------------- 1 | testdata/* linguist-vendored 2 | -------------------------------------------------------------------------------- /vendor/github.com/PuerkitoBio/goquery/.gitignore: -------------------------------------------------------------------------------- 1 | # editor temporary files 2 | *.sublime-* 3 | .DS_Store 4 | *.swp 5 | #*.*# 6 | tags 7 | 8 | # direnv config 9 | .env* 10 | 11 | # test binaries 12 | *.test 13 | 14 | # coverage and profilte outputs 15 | *.out 16 | 17 | -------------------------------------------------------------------------------- /vendor/github.com/PuerkitoBio/goquery/.travis.yml: -------------------------------------------------------------------------------- 1 | language: go 2 | 3 | go: 4 | - 1.2.x 5 | - 1.3.x 6 | - 1.4.x 7 | - 1.5.x 8 | - 1.6.x 9 | - 1.7.x 10 | - 1.8.x 11 | - 1.9.x 12 | - 1.10.x 13 | - 1.11.x 14 | - 1.12.x 15 | - 1.13.x 16 | - tip 17 | 18 | -------------------------------------------------------------------------------- /vendor/github.com/andybalholm/cascadia/.travis.yml: -------------------------------------------------------------------------------- 1 | language: go 2 | 3 | go: 4 | - 1.3 5 | - 1.4 6 | 7 | install: 8 | - go get github.com/andybalholm/cascadia 9 | 10 | script: 11 | - go test -v 12 | 13 | notifications: 14 | email: false 15 | -------------------------------------------------------------------------------- /vendor/github.com/andybalholm/cascadia/README.md: -------------------------------------------------------------------------------- 1 | # cascadia 2 | 3 | [![](https://travis-ci.org/andybalholm/cascadia.svg)](https://travis-ci.org/andybalholm/cascadia) 4 | 5 | The Cascadia package implements CSS selectors for use with the parse trees produced by the html package. 6 | 7 | To test CSS selectors without writing Go code, check out [cascadia](https://github.com/suntong/cascadia) the command line tool, a thin wrapper around this package. 8 | 9 | [Refer to godoc here](https://godoc.org/github.com/andybalholm/cascadia). 10 | -------------------------------------------------------------------------------- /vendor/github.com/andybalholm/cascadia/specificity.go: -------------------------------------------------------------------------------- 1 | package cascadia 2 | 3 | // Specificity is the CSS specificity as defined in 4 | // https://www.w3.org/TR/selectors/#specificity-rules 5 | // with the convention Specificity = [A,B,C]. 6 | type Specificity [3]int 7 | 8 | // returns `true` if s < other (strictly), false otherwise 9 | func (s Specificity) Less(other Specificity) bool { 10 | for i := range s { 11 | if s[i] < other[i] { 12 | return true 13 | } 14 | if s[i] > other[i] { 15 | return false 16 | } 17 | } 18 | return false 19 | } 20 | 21 | func (s Specificity) Add(other Specificity) Specificity { 22 | for i, sp := range other { 23 | s[i] += sp 24 | } 25 | return s 26 | } 27 | -------------------------------------------------------------------------------- /vendor/github.com/antchfx/htmlquery/.gitignore: -------------------------------------------------------------------------------- 1 | # vscode 2 | .vscode 3 | debug 4 | *.test 5 | 6 | ./build 7 | 8 | # Compiled Object files, Static and Dynamic libs (Shared Objects) 9 | *.o 10 | *.a 11 | *.so 12 | 13 | 14 | # Folders 15 | _obj 16 | _test 17 | 18 | # Architecture specific extensions/prefixes 19 | *.[568vq] 20 | [568vq].out 21 | 22 | *.cgo1.go 23 | *.cgo2.c 24 | _cgo_defun.c 25 | _cgo_gotypes.go 26 | _cgo_export.* 27 | 28 | _testmain.go 29 | 30 | *.exe 31 | *.test 32 | *.prof -------------------------------------------------------------------------------- /vendor/github.com/antchfx/htmlquery/.travis.yml: -------------------------------------------------------------------------------- 1 | language: go 2 | 3 | go: 4 | - 1.9.x 5 | - 1.12.x 6 | - 1.13.x 7 | 8 | install: 9 | - go get golang.org/x/net/html/charset 10 | - go get golang.org/x/net/html 11 | - go get github.com/antchfx/xpath 12 | - go get github.com/mattn/goveralls 13 | - go get github.com/golang/groupcache 14 | 15 | script: 16 | - $HOME/gopath/bin/goveralls -service=travis-ci -------------------------------------------------------------------------------- /vendor/github.com/antchfx/xmlquery/.gitignore: -------------------------------------------------------------------------------- 1 | # vscode 2 | .vscode 3 | debug 4 | *.test 5 | 6 | ./build 7 | 8 | # Compiled Object files, Static and Dynamic libs (Shared Objects) 9 | *.o 10 | *.a 11 | *.so 12 | 13 | 14 | # Folders 15 | _obj 16 | _test 17 | 18 | # Architecture specific extensions/prefixes 19 | *.[568vq] 20 | [568vq].out 21 | 22 | *.cgo1.go 23 | *.cgo2.c 24 | _cgo_defun.c 25 | _cgo_gotypes.go 26 | _cgo_export.* 27 | 28 | _testmain.go 29 | 30 | *.exe 31 | *.test 32 | *.prof -------------------------------------------------------------------------------- /vendor/github.com/antchfx/xmlquery/.travis.yml: -------------------------------------------------------------------------------- 1 | language: go 2 | 3 | go: 4 | - 1.9.x 5 | - 1.12.x 6 | - 1.13.x 7 | 8 | install: 9 | - go get golang.org/x/net/html/charset 10 | - go get github.com/antchfx/xpath 11 | - go get github.com/mattn/goveralls 12 | - go get github.com/golang/groupcache 13 | 14 | script: 15 | - $HOME/gopath/bin/goveralls -service=travis-ci 16 | -------------------------------------------------------------------------------- /vendor/github.com/antchfx/xpath/.gitignore: -------------------------------------------------------------------------------- 1 | # vscode 2 | .vscode 3 | debug 4 | *.test 5 | 6 | ./build 7 | 8 | # Compiled Object files, Static and Dynamic libs (Shared Objects) 9 | *.o 10 | *.a 11 | *.so 12 | 13 | 14 | # Folders 15 | _obj 16 | _test 17 | 18 | # Architecture specific extensions/prefixes 19 | *.[568vq] 20 | [568vq].out 21 | 22 | *.cgo1.go 23 | *.cgo2.c 24 | _cgo_defun.c 25 | _cgo_gotypes.go 26 | _cgo_export.* 27 | 28 | _testmain.go 29 | 30 | *.exe 31 | *.test 32 | *.prof -------------------------------------------------------------------------------- /vendor/github.com/antchfx/xpath/.travis.yml: -------------------------------------------------------------------------------- 1 | language: go 2 | 3 | go: 4 | - 1.6 5 | - 1.9 6 | - '1.10' 7 | 8 | install: 9 | - go get github.com/mattn/goveralls 10 | 11 | script: 12 | - $HOME/gopath/bin/goveralls -service=travis-ci -------------------------------------------------------------------------------- /vendor/github.com/antchfx/xpath/func_go110.go: -------------------------------------------------------------------------------- 1 | // +build go1.10 2 | 3 | package xpath 4 | 5 | import ( 6 | "math" 7 | "strings" 8 | ) 9 | 10 | func round(f float64) int { 11 | return int(math.Round(f)) 12 | } 13 | 14 | func newStringBuilder() stringBuilder{ 15 | return &strings.Builder{} 16 | } 17 | -------------------------------------------------------------------------------- /vendor/github.com/antchfx/xpath/func_pre_go110.go: -------------------------------------------------------------------------------- 1 | // +build !go1.10 2 | 3 | package xpath 4 | 5 | import ( 6 | "bytes" 7 | "math" 8 | ) 9 | 10 | // math.Round() is supported by Go 1.10+, 11 | // This method just compatible for version <1.10. 12 | // https://github.com/golang/go/issues/20100 13 | func round(f float64) int { 14 | if math.Abs(f) < 0.5 { 15 | return 0 16 | } 17 | return int(f + math.Copysign(0.5, f)) 18 | } 19 | 20 | func newStringBuilder() stringBuilder { 21 | return &bytes.Buffer{} 22 | } 23 | -------------------------------------------------------------------------------- /vendor/github.com/davecgh/go-spew/LICENSE: -------------------------------------------------------------------------------- 1 | ISC License 2 | 3 | Copyright (c) 2012-2016 Dave Collins 4 | 5 | Permission to use, copy, modify, and/or distribute this software for any 6 | purpose with or without fee is hereby granted, provided that the above 7 | copyright notice and this permission notice appear in all copies. 8 | 9 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10 | WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11 | MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 12 | ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13 | WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 14 | ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 15 | OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16 | -------------------------------------------------------------------------------- /vendor/github.com/deckarep/golang-set/v2/.gitignore: -------------------------------------------------------------------------------- 1 | # Compiled Object files, Static and Dynamic libs (Shared Objects) 2 | *.o 3 | *.a 4 | *.so 5 | 6 | # Folders 7 | _obj 8 | _test 9 | 10 | # Architecture specific extensions/prefixes 11 | *.[568vq] 12 | [568vq].out 13 | 14 | *.cgo1.go 15 | *.cgo2.c 16 | _cgo_defun.c 17 | _cgo_gotypes.go 18 | _cgo_export.* 19 | 20 | _testmain.go 21 | 22 | *.exe 23 | .idea -------------------------------------------------------------------------------- /vendor/github.com/deckarep/golang-set/v2/new_improved.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iudicium/pryingdeep/5cc64c9cdf537e15d80f359d5335c3d2b3a122d7/vendor/github.com/deckarep/golang-set/v2/new_improved.jpeg -------------------------------------------------------------------------------- /vendor/github.com/fsnotify/fsnotify/.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*.go] 4 | indent_style = tab 5 | indent_size = 4 6 | insert_final_newline = true 7 | 8 | [*.{yml,yaml}] 9 | indent_style = space 10 | indent_size = 2 11 | insert_final_newline = true 12 | trim_trailing_whitespace = true 13 | -------------------------------------------------------------------------------- /vendor/github.com/fsnotify/fsnotify/.gitattributes: -------------------------------------------------------------------------------- 1 | go.sum linguist-generated 2 | -------------------------------------------------------------------------------- /vendor/github.com/fsnotify/fsnotify/.gitignore: -------------------------------------------------------------------------------- 1 | # go test -c output 2 | *.test 3 | *.test.exe 4 | 5 | # Output of go build ./cmd/fsnotify 6 | /fsnotify 7 | -------------------------------------------------------------------------------- /vendor/github.com/fsnotify/fsnotify/.mailmap: -------------------------------------------------------------------------------- 1 | Chris Howey 2 | Nathan Youngman <4566+nathany@users.noreply.github.com> 3 | -------------------------------------------------------------------------------- /vendor/github.com/fsnotify/fsnotify/system_bsd.go: -------------------------------------------------------------------------------- 1 | //go:build freebsd || openbsd || netbsd || dragonfly 2 | // +build freebsd openbsd netbsd dragonfly 3 | 4 | package fsnotify 5 | 6 | import "golang.org/x/sys/unix" 7 | 8 | const openMode = unix.O_NONBLOCK | unix.O_RDONLY | unix.O_CLOEXEC 9 | -------------------------------------------------------------------------------- /vendor/github.com/fsnotify/fsnotify/system_darwin.go: -------------------------------------------------------------------------------- 1 | //go:build darwin 2 | // +build darwin 3 | 4 | package fsnotify 5 | 6 | import "golang.org/x/sys/unix" 7 | 8 | // note: this constant is not defined on BSD 9 | const openMode = unix.O_EVTONLY | unix.O_CLOEXEC 10 | -------------------------------------------------------------------------------- /vendor/github.com/gobwas/glob/.gitignore: -------------------------------------------------------------------------------- 1 | glob.iml 2 | .idea 3 | *.cpu 4 | *.mem 5 | *.test 6 | *.dot 7 | *.png 8 | *.svg 9 | -------------------------------------------------------------------------------- /vendor/github.com/gobwas/glob/.travis.yml: -------------------------------------------------------------------------------- 1 | sudo: false 2 | 3 | language: go 4 | 5 | go: 6 | - 1.5.3 7 | 8 | script: 9 | - go test -v ./... 10 | -------------------------------------------------------------------------------- /vendor/github.com/gobwas/glob/bench.sh: -------------------------------------------------------------------------------- 1 | #! /bin/bash 2 | 3 | bench() { 4 | filename="/tmp/$1-$2.bench" 5 | if test -e "${filename}"; 6 | then 7 | echo "Already exists ${filename}" 8 | else 9 | backup=`git rev-parse --abbrev-ref HEAD` 10 | git checkout $1 11 | echo -n "Creating ${filename}... " 12 | go test ./... -run=NONE -bench=$2 > "${filename}" -benchmem 13 | echo "OK" 14 | git checkout ${backup} 15 | sleep 5 16 | fi 17 | } 18 | 19 | 20 | to=$1 21 | current=`git rev-parse --abbrev-ref HEAD` 22 | 23 | bench ${to} $2 24 | bench ${current} $2 25 | 26 | benchcmp $3 "/tmp/${to}-$2.bench" "/tmp/${current}-$2.bench" 27 | -------------------------------------------------------------------------------- /vendor/github.com/gobwas/glob/match/any.go: -------------------------------------------------------------------------------- 1 | package match 2 | 3 | import ( 4 | "fmt" 5 | "github.com/gobwas/glob/util/strings" 6 | ) 7 | 8 | type Any struct { 9 | Separators []rune 10 | } 11 | 12 | func NewAny(s []rune) Any { 13 | return Any{s} 14 | } 15 | 16 | func (self Any) Match(s string) bool { 17 | return strings.IndexAnyRunes(s, self.Separators) == -1 18 | } 19 | 20 | func (self Any) Index(s string) (int, []int) { 21 | found := strings.IndexAnyRunes(s, self.Separators) 22 | switch found { 23 | case -1: 24 | case 0: 25 | return 0, segments0 26 | default: 27 | s = s[:found] 28 | } 29 | 30 | segments := acquireSegments(len(s)) 31 | for i := range s { 32 | segments = append(segments, i) 33 | } 34 | segments = append(segments, len(s)) 35 | 36 | return 0, segments 37 | } 38 | 39 | func (self Any) Len() int { 40 | return lenNo 41 | } 42 | 43 | func (self Any) String() string { 44 | return fmt.Sprintf("", string(self.Separators)) 45 | } 46 | -------------------------------------------------------------------------------- /vendor/github.com/gobwas/glob/match/list.go: -------------------------------------------------------------------------------- 1 | package match 2 | 3 | import ( 4 | "fmt" 5 | "github.com/gobwas/glob/util/runes" 6 | "unicode/utf8" 7 | ) 8 | 9 | type List struct { 10 | List []rune 11 | Not bool 12 | } 13 | 14 | func NewList(list []rune, not bool) List { 15 | return List{list, not} 16 | } 17 | 18 | func (self List) Match(s string) bool { 19 | r, w := utf8.DecodeRuneInString(s) 20 | if len(s) > w { 21 | return false 22 | } 23 | 24 | inList := runes.IndexRune(self.List, r) != -1 25 | return inList == !self.Not 26 | } 27 | 28 | func (self List) Len() int { 29 | return lenOne 30 | } 31 | 32 | func (self List) Index(s string) (int, []int) { 33 | for i, r := range s { 34 | if self.Not == (runes.IndexRune(self.List, r) == -1) { 35 | return i, segmentsByRuneLength[utf8.RuneLen(r)] 36 | } 37 | } 38 | 39 | return -1, nil 40 | } 41 | 42 | func (self List) String() string { 43 | var not string 44 | if self.Not { 45 | not = "!" 46 | } 47 | 48 | return fmt.Sprintf("", not, string(self.List)) 49 | } 50 | -------------------------------------------------------------------------------- /vendor/github.com/gobwas/glob/match/max.go: -------------------------------------------------------------------------------- 1 | package match 2 | 3 | import ( 4 | "fmt" 5 | "unicode/utf8" 6 | ) 7 | 8 | type Max struct { 9 | Limit int 10 | } 11 | 12 | func NewMax(l int) Max { 13 | return Max{l} 14 | } 15 | 16 | func (self Max) Match(s string) bool { 17 | var l int 18 | for range s { 19 | l += 1 20 | if l > self.Limit { 21 | return false 22 | } 23 | } 24 | 25 | return true 26 | } 27 | 28 | func (self Max) Index(s string) (int, []int) { 29 | segments := acquireSegments(self.Limit + 1) 30 | segments = append(segments, 0) 31 | var count int 32 | for i, r := range s { 33 | count++ 34 | if count > self.Limit { 35 | break 36 | } 37 | segments = append(segments, i+utf8.RuneLen(r)) 38 | } 39 | 40 | return 0, segments 41 | } 42 | 43 | func (self Max) Len() int { 44 | return lenNo 45 | } 46 | 47 | func (self Max) String() string { 48 | return fmt.Sprintf("", self.Limit) 49 | } 50 | -------------------------------------------------------------------------------- /vendor/github.com/gobwas/glob/match/min.go: -------------------------------------------------------------------------------- 1 | package match 2 | 3 | import ( 4 | "fmt" 5 | "unicode/utf8" 6 | ) 7 | 8 | type Min struct { 9 | Limit int 10 | } 11 | 12 | func NewMin(l int) Min { 13 | return Min{l} 14 | } 15 | 16 | func (self Min) Match(s string) bool { 17 | var l int 18 | for range s { 19 | l += 1 20 | if l >= self.Limit { 21 | return true 22 | } 23 | } 24 | 25 | return false 26 | } 27 | 28 | func (self Min) Index(s string) (int, []int) { 29 | var count int 30 | 31 | c := len(s) - self.Limit + 1 32 | if c <= 0 { 33 | return -1, nil 34 | } 35 | 36 | segments := acquireSegments(c) 37 | for i, r := range s { 38 | count++ 39 | if count >= self.Limit { 40 | segments = append(segments, i+utf8.RuneLen(r)) 41 | } 42 | } 43 | 44 | if len(segments) == 0 { 45 | return -1, nil 46 | } 47 | 48 | return 0, segments 49 | } 50 | 51 | func (self Min) Len() int { 52 | return lenNo 53 | } 54 | 55 | func (self Min) String() string { 56 | return fmt.Sprintf("", self.Limit) 57 | } 58 | -------------------------------------------------------------------------------- /vendor/github.com/gobwas/glob/match/nothing.go: -------------------------------------------------------------------------------- 1 | package match 2 | 3 | import ( 4 | "fmt" 5 | ) 6 | 7 | type Nothing struct{} 8 | 9 | func NewNothing() Nothing { 10 | return Nothing{} 11 | } 12 | 13 | func (self Nothing) Match(s string) bool { 14 | return len(s) == 0 15 | } 16 | 17 | func (self Nothing) Index(s string) (int, []int) { 18 | return 0, segments0 19 | } 20 | 21 | func (self Nothing) Len() int { 22 | return lenZero 23 | } 24 | 25 | func (self Nothing) String() string { 26 | return fmt.Sprintf("") 27 | } 28 | -------------------------------------------------------------------------------- /vendor/github.com/gobwas/glob/match/range.go: -------------------------------------------------------------------------------- 1 | package match 2 | 3 | import ( 4 | "fmt" 5 | "unicode/utf8" 6 | ) 7 | 8 | type Range struct { 9 | Lo, Hi rune 10 | Not bool 11 | } 12 | 13 | func NewRange(lo, hi rune, not bool) Range { 14 | return Range{lo, hi, not} 15 | } 16 | 17 | func (self Range) Len() int { 18 | return lenOne 19 | } 20 | 21 | func (self Range) Match(s string) bool { 22 | r, w := utf8.DecodeRuneInString(s) 23 | if len(s) > w { 24 | return false 25 | } 26 | 27 | inRange := r >= self.Lo && r <= self.Hi 28 | 29 | return inRange == !self.Not 30 | } 31 | 32 | func (self Range) Index(s string) (int, []int) { 33 | for i, r := range s { 34 | if self.Not != (r >= self.Lo && r <= self.Hi) { 35 | return i, segmentsByRuneLength[utf8.RuneLen(r)] 36 | } 37 | } 38 | 39 | return -1, nil 40 | } 41 | 42 | func (self Range) String() string { 43 | var not string 44 | if self.Not { 45 | not = "!" 46 | } 47 | return fmt.Sprintf("", not, string(self.Lo), string(self.Hi)) 48 | } 49 | -------------------------------------------------------------------------------- /vendor/github.com/gobwas/glob/match/single.go: -------------------------------------------------------------------------------- 1 | package match 2 | 3 | import ( 4 | "fmt" 5 | "github.com/gobwas/glob/util/runes" 6 | "unicode/utf8" 7 | ) 8 | 9 | // single represents ? 10 | type Single struct { 11 | Separators []rune 12 | } 13 | 14 | func NewSingle(s []rune) Single { 15 | return Single{s} 16 | } 17 | 18 | func (self Single) Match(s string) bool { 19 | r, w := utf8.DecodeRuneInString(s) 20 | if len(s) > w { 21 | return false 22 | } 23 | 24 | return runes.IndexRune(self.Separators, r) == -1 25 | } 26 | 27 | func (self Single) Len() int { 28 | return lenOne 29 | } 30 | 31 | func (self Single) Index(s string) (int, []int) { 32 | for i, r := range s { 33 | if runes.IndexRune(self.Separators, r) == -1 { 34 | return i, segmentsByRuneLength[utf8.RuneLen(r)] 35 | } 36 | } 37 | 38 | return -1, nil 39 | } 40 | 41 | func (self Single) String() string { 42 | return fmt.Sprintf("", string(self.Separators)) 43 | } 44 | -------------------------------------------------------------------------------- /vendor/github.com/gobwas/glob/match/suffix.go: -------------------------------------------------------------------------------- 1 | package match 2 | 3 | import ( 4 | "fmt" 5 | "strings" 6 | ) 7 | 8 | type Suffix struct { 9 | Suffix string 10 | } 11 | 12 | func NewSuffix(s string) Suffix { 13 | return Suffix{s} 14 | } 15 | 16 | func (self Suffix) Len() int { 17 | return lenNo 18 | } 19 | 20 | func (self Suffix) Match(s string) bool { 21 | return strings.HasSuffix(s, self.Suffix) 22 | } 23 | 24 | func (self Suffix) Index(s string) (int, []int) { 25 | idx := strings.Index(s, self.Suffix) 26 | if idx == -1 { 27 | return -1, nil 28 | } 29 | 30 | return 0, []int{idx + len(self.Suffix)} 31 | } 32 | 33 | func (self Suffix) String() string { 34 | return fmt.Sprintf("", self.Suffix) 35 | } 36 | -------------------------------------------------------------------------------- /vendor/github.com/gobwas/glob/match/super.go: -------------------------------------------------------------------------------- 1 | package match 2 | 3 | import ( 4 | "fmt" 5 | ) 6 | 7 | type Super struct{} 8 | 9 | func NewSuper() Super { 10 | return Super{} 11 | } 12 | 13 | func (self Super) Match(s string) bool { 14 | return true 15 | } 16 | 17 | func (self Super) Len() int { 18 | return lenNo 19 | } 20 | 21 | func (self Super) Index(s string) (int, []int) { 22 | segments := acquireSegments(len(s) + 1) 23 | for i := range s { 24 | segments = append(segments, i) 25 | } 26 | segments = append(segments, len(s)) 27 | 28 | return 0, segments 29 | } 30 | 31 | func (self Super) String() string { 32 | return fmt.Sprintf("") 33 | } 34 | -------------------------------------------------------------------------------- /vendor/github.com/gobwas/glob/match/text.go: -------------------------------------------------------------------------------- 1 | package match 2 | 3 | import ( 4 | "fmt" 5 | "strings" 6 | "unicode/utf8" 7 | ) 8 | 9 | // raw represents raw string to match 10 | type Text struct { 11 | Str string 12 | RunesLength int 13 | BytesLength int 14 | Segments []int 15 | } 16 | 17 | func NewText(s string) Text { 18 | return Text{ 19 | Str: s, 20 | RunesLength: utf8.RuneCountInString(s), 21 | BytesLength: len(s), 22 | Segments: []int{len(s)}, 23 | } 24 | } 25 | 26 | func (self Text) Match(s string) bool { 27 | return self.Str == s 28 | } 29 | 30 | func (self Text) Len() int { 31 | return self.RunesLength 32 | } 33 | 34 | func (self Text) Index(s string) (int, []int) { 35 | index := strings.Index(s, self.Str) 36 | if index == -1 { 37 | return -1, nil 38 | } 39 | 40 | return index, self.Segments 41 | } 42 | 43 | func (self Text) String() string { 44 | return fmt.Sprintf("", self.Str) 45 | } 46 | -------------------------------------------------------------------------------- /vendor/github.com/gobwas/glob/syntax/syntax.go: -------------------------------------------------------------------------------- 1 | package syntax 2 | 3 | import ( 4 | "github.com/gobwas/glob/syntax/ast" 5 | "github.com/gobwas/glob/syntax/lexer" 6 | ) 7 | 8 | func Parse(s string) (*ast.Node, error) { 9 | return ast.Parse(lexer.NewLexer(s)) 10 | } 11 | 12 | func Special(b byte) bool { 13 | return lexer.Special(b) 14 | } 15 | -------------------------------------------------------------------------------- /vendor/github.com/gobwas/glob/util/strings/strings.go: -------------------------------------------------------------------------------- 1 | package strings 2 | 3 | import ( 4 | "strings" 5 | "unicode/utf8" 6 | ) 7 | 8 | func IndexAnyRunes(s string, rs []rune) int { 9 | for _, r := range rs { 10 | if i := strings.IndexRune(s, r); i != -1 { 11 | return i 12 | } 13 | } 14 | 15 | return -1 16 | } 17 | 18 | func LastIndexAnyRunes(s string, rs []rune) int { 19 | for _, r := range rs { 20 | i := -1 21 | if 0 <= r && r < utf8.RuneSelf { 22 | i = strings.LastIndexByte(s, byte(r)) 23 | } else { 24 | sub := s 25 | for len(sub) > 0 { 26 | j := strings.IndexRune(s, r) 27 | if j == -1 { 28 | break 29 | } 30 | i = j 31 | sub = sub[i+1:] 32 | } 33 | } 34 | if i != -1 { 35 | return i 36 | } 37 | } 38 | return -1 39 | } 40 | -------------------------------------------------------------------------------- /vendor/github.com/gocolly/colly/v2/.codecov.yml: -------------------------------------------------------------------------------- 1 | comment: false 2 | -------------------------------------------------------------------------------- /vendor/github.com/gocolly/colly/v2/.travis.yml: -------------------------------------------------------------------------------- 1 | language: go 2 | sudo: false 3 | go: 4 | - 1.11.x 5 | - 1.12.x 6 | - 1.13.x 7 | - tip 8 | script: 9 | - go get -u golang.org/x/lint/golint 10 | - OUT="$(go get -a)"; test -z "$OUT" || (echo "$OUT" && return 1) 11 | - OUT="$(gofmt -l -d ./)"; test -z "$OUT" || (echo "$OUT" && return 1) 12 | - OUT="$(golint ./...)"; test -z "$OUT" || (echo "$OUT" && return 1) 13 | - go vet -v ./... 14 | - go test -race -v -coverprofile=coverage.txt -covermode=atomic ./ 15 | - go build 16 | after_success: 17 | - bash <(curl -s https://codecov.io/bash) 18 | -------------------------------------------------------------------------------- /vendor/github.com/gocolly/colly/v2/VERSION: -------------------------------------------------------------------------------- 1 | 2.1.0 2 | -------------------------------------------------------------------------------- /vendor/github.com/golang/protobuf/AUTHORS: -------------------------------------------------------------------------------- 1 | # This source code refers to The Go Authors for copyright purposes. 2 | # The master list of authors is in the main Go distribution, 3 | # visible at http://tip.golang.org/AUTHORS. 4 | -------------------------------------------------------------------------------- /vendor/github.com/golang/protobuf/CONTRIBUTORS: -------------------------------------------------------------------------------- 1 | # This source code was written by the Go contributors. 2 | # The master list of contributors is in the main Go distribution, 3 | # visible at http://tip.golang.org/CONTRIBUTORS. 4 | -------------------------------------------------------------------------------- /vendor/github.com/hashicorp/hcl/.gitignore: -------------------------------------------------------------------------------- 1 | y.output 2 | 3 | # ignore intellij files 4 | .idea 5 | *.iml 6 | *.ipr 7 | *.iws 8 | 9 | *.test 10 | -------------------------------------------------------------------------------- /vendor/github.com/hashicorp/hcl/.travis.yml: -------------------------------------------------------------------------------- 1 | sudo: false 2 | 3 | language: go 4 | 5 | go: 6 | - 1.x 7 | - tip 8 | 9 | branches: 10 | only: 11 | - master 12 | 13 | script: make test 14 | -------------------------------------------------------------------------------- /vendor/github.com/hashicorp/hcl/Makefile: -------------------------------------------------------------------------------- 1 | TEST?=./... 2 | 3 | default: test 4 | 5 | fmt: generate 6 | go fmt ./... 7 | 8 | test: generate 9 | go get -t ./... 10 | go test $(TEST) $(TESTARGS) 11 | 12 | generate: 13 | go generate ./... 14 | 15 | updatedeps: 16 | go get -u golang.org/x/tools/cmd/stringer 17 | 18 | .PHONY: default generate test updatedeps 19 | -------------------------------------------------------------------------------- /vendor/github.com/hashicorp/hcl/appveyor.yml: -------------------------------------------------------------------------------- 1 | version: "build-{branch}-{build}" 2 | image: Visual Studio 2015 3 | clone_folder: c:\gopath\src\github.com\hashicorp\hcl 4 | environment: 5 | GOPATH: c:\gopath 6 | init: 7 | - git config --global core.autocrlf false 8 | install: 9 | - cmd: >- 10 | echo %Path% 11 | 12 | go version 13 | 14 | go env 15 | 16 | go get -t ./... 17 | 18 | build_script: 19 | - cmd: go test -v ./... 20 | -------------------------------------------------------------------------------- /vendor/github.com/hashicorp/hcl/hcl.go: -------------------------------------------------------------------------------- 1 | // Package hcl decodes HCL into usable Go structures. 2 | // 3 | // hcl input can come in either pure HCL format or JSON format. 4 | // It can be parsed into an AST, and then decoded into a structure, 5 | // or it can be decoded directly from a string into a structure. 6 | // 7 | // If you choose to parse HCL into a raw AST, the benefit is that you 8 | // can write custom visitor implementations to implement custom 9 | // semantic checks. By default, HCL does not perform any semantic 10 | // checks. 11 | package hcl 12 | -------------------------------------------------------------------------------- /vendor/github.com/hashicorp/hcl/hcl/parser/error.go: -------------------------------------------------------------------------------- 1 | package parser 2 | 3 | import ( 4 | "fmt" 5 | 6 | "github.com/hashicorp/hcl/hcl/token" 7 | ) 8 | 9 | // PosError is a parse error that contains a position. 10 | type PosError struct { 11 | Pos token.Pos 12 | Err error 13 | } 14 | 15 | func (e *PosError) Error() string { 16 | return fmt.Sprintf("At %s: %s", e.Pos, e.Err) 17 | } 18 | -------------------------------------------------------------------------------- /vendor/github.com/hashicorp/hcl/lex.go: -------------------------------------------------------------------------------- 1 | package hcl 2 | 3 | import ( 4 | "unicode" 5 | "unicode/utf8" 6 | ) 7 | 8 | type lexModeValue byte 9 | 10 | const ( 11 | lexModeUnknown lexModeValue = iota 12 | lexModeHcl 13 | lexModeJson 14 | ) 15 | 16 | // lexMode returns whether we're going to be parsing in JSON 17 | // mode or HCL mode. 18 | func lexMode(v []byte) lexModeValue { 19 | var ( 20 | r rune 21 | w int 22 | offset int 23 | ) 24 | 25 | for { 26 | r, w = utf8.DecodeRune(v[offset:]) 27 | offset += w 28 | if unicode.IsSpace(r) { 29 | continue 30 | } 31 | if r == '{' { 32 | return lexModeJson 33 | } 34 | break 35 | } 36 | 37 | return lexModeHcl 38 | } 39 | -------------------------------------------------------------------------------- /vendor/github.com/inconshreveable/mousetrap/README.md: -------------------------------------------------------------------------------- 1 | # mousetrap 2 | 3 | mousetrap is a tiny library that answers a single question. 4 | 5 | On a Windows machine, was the process invoked by someone double clicking on 6 | the executable file while browsing in explorer? 7 | 8 | ### Motivation 9 | 10 | Windows developers unfamiliar with command line tools will often "double-click" 11 | the executable for a tool. Because most CLI tools print the help and then exit 12 | when invoked without arguments, this is often very frustrating for those users. 13 | 14 | mousetrap provides a way to detect these invocations so that you can provide 15 | more helpful behavior and instructions on how to run the CLI tool. To see what 16 | this looks like, both from an organizational and a technical perspective, see 17 | https://inconshreveable.com/09-09-2014/sweat-the-small-stuff/ 18 | 19 | ### The interface 20 | 21 | The library exposes a single interface: 22 | 23 | func StartedByExplorer() (bool) 24 | -------------------------------------------------------------------------------- /vendor/github.com/inconshreveable/mousetrap/trap_others.go: -------------------------------------------------------------------------------- 1 | //go:build !windows 2 | // +build !windows 3 | 4 | package mousetrap 5 | 6 | // StartedByExplorer returns true if the program was invoked by the user 7 | // double-clicking on the executable from explorer.exe 8 | // 9 | // It is conservative and returns false if any of the internal calls fail. 10 | // It does not guarantee that the program was run from a terminal. It only can tell you 11 | // whether it was launched from explorer.exe 12 | // 13 | // On non-Windows platforms, it always returns false. 14 | func StartedByExplorer() bool { 15 | return false 16 | } 17 | -------------------------------------------------------------------------------- /vendor/github.com/jackc/pgpassfile/.travis.yml: -------------------------------------------------------------------------------- 1 | language: go 2 | 3 | go: 4 | - 1.x 5 | - tip 6 | 7 | matrix: 8 | allow_failures: 9 | - go: tip 10 | -------------------------------------------------------------------------------- /vendor/github.com/jackc/pgpassfile/README.md: -------------------------------------------------------------------------------- 1 | [![](https://godoc.org/github.com/jackc/pgpassfile?status.svg)](https://godoc.org/github.com/jackc/pgpassfile) 2 | [![Build Status](https://travis-ci.org/jackc/pgpassfile.svg)](https://travis-ci.org/jackc/pgpassfile) 3 | 4 | # pgpassfile 5 | 6 | Package pgpassfile is a parser PostgreSQL .pgpass files. 7 | 8 | Extracted and rewritten from original implementation in https://github.com/jackc/pgx. 9 | -------------------------------------------------------------------------------- /vendor/github.com/jackc/pgservicefile/.travis.yml: -------------------------------------------------------------------------------- 1 | language: go 2 | 3 | go: 4 | - 1.x 5 | - tip 6 | 7 | matrix: 8 | allow_failures: 9 | - go: tip 10 | -------------------------------------------------------------------------------- /vendor/github.com/jackc/pgservicefile/README.md: -------------------------------------------------------------------------------- 1 | [![](https://godoc.org/github.com/jackc/pgservicefile?status.svg)](https://godoc.org/github.com/jackc/pgservicefile) 2 | [![Build Status](https://travis-ci.org/jackc/pgservicefile.svg)](https://travis-ci.org/jackc/pgservicefile) 3 | 4 | # pgservicefile 5 | 6 | Package pgservicefile is a parser for PostgreSQL service files (e.g. `.pg_service.conf`). 7 | -------------------------------------------------------------------------------- /vendor/github.com/jackc/pgx/v5/.gitignore: -------------------------------------------------------------------------------- 1 | # Compiled Object files, Static and Dynamic libs (Shared Objects) 2 | *.o 3 | *.a 4 | *.so 5 | 6 | # Folders 7 | _obj 8 | _test 9 | 10 | # Architecture specific extensions/prefixes 11 | *.[568vq] 12 | [568vq].out 13 | 14 | *.cgo1.go 15 | *.cgo2.c 16 | _cgo_defun.c 17 | _cgo_gotypes.go 18 | _cgo_export.* 19 | 20 | _testmain.go 21 | 22 | *.exe 23 | 24 | .envrc 25 | /.testdb 26 | 27 | .DS_Store 28 | -------------------------------------------------------------------------------- /vendor/github.com/jackc/pgx/v5/Rakefile: -------------------------------------------------------------------------------- 1 | require "erb" 2 | 3 | rule '.go' => '.go.erb' do |task| 4 | erb = ERB.new(File.read(task.source)) 5 | File.write(task.name, "// Do not edit. Generated from #{task.source}\n" + erb.result(binding)) 6 | sh "goimports", "-w", task.name 7 | end 8 | 9 | generated_code_files = [ 10 | "pgtype/int.go", 11 | "pgtype/int_test.go", 12 | "pgtype/integration_benchmark_test.go", 13 | "pgtype/zeronull/int.go", 14 | "pgtype/zeronull/int_test.go" 15 | ] 16 | 17 | desc "Generate code" 18 | task generate: generated_code_files 19 | -------------------------------------------------------------------------------- /vendor/github.com/jackc/pgx/v5/internal/anynil/anynil.go: -------------------------------------------------------------------------------- 1 | package anynil 2 | 3 | import "reflect" 4 | 5 | // Is returns true if value is any type of nil. e.g. nil or []byte(nil). 6 | func Is(value any) bool { 7 | if value == nil { 8 | return true 9 | } 10 | 11 | refVal := reflect.ValueOf(value) 12 | switch refVal.Kind() { 13 | case reflect.Chan, reflect.Func, reflect.Map, reflect.Ptr, reflect.UnsafePointer, reflect.Interface, reflect.Slice: 14 | return refVal.IsNil() 15 | default: 16 | return false 17 | } 18 | } 19 | 20 | // Normalize converts typed nils (e.g. []byte(nil)) into untyped nil. Other values are returned unmodified. 21 | func Normalize(v any) any { 22 | if Is(v) { 23 | return nil 24 | } 25 | return v 26 | } 27 | 28 | // NormalizeSlice converts all typed nils (e.g. []byte(nil)) in s into untyped nils. Other values are unmodified. s is 29 | // mutated in place. 30 | func NormalizeSlice(s []any) { 31 | for i := range s { 32 | if Is(s[i]) { 33 | s[i] = nil 34 | } 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /vendor/github.com/jackc/pgx/v5/internal/pgio/README.md: -------------------------------------------------------------------------------- 1 | # pgio 2 | 3 | Package pgio is a low-level toolkit building messages in the PostgreSQL wire protocol. 4 | 5 | pgio provides functions for appending integers to a []byte while doing byte 6 | order conversion. 7 | -------------------------------------------------------------------------------- /vendor/github.com/jackc/pgx/v5/internal/pgio/doc.go: -------------------------------------------------------------------------------- 1 | // Package pgio is a low-level toolkit building messages in the PostgreSQL wire protocol. 2 | /* 3 | pgio provides functions for appending integers to a []byte while doing byte 4 | order conversion. 5 | */ 6 | package pgio 7 | -------------------------------------------------------------------------------- /vendor/github.com/jackc/pgx/v5/pgproto3/README.md: -------------------------------------------------------------------------------- 1 | # pgproto3 2 | 3 | Package pgproto3 is an encoder and decoder of the PostgreSQL wire protocol version 3. 4 | 5 | pgproto3 can be used as a foundation for PostgreSQL drivers, proxies, mock servers, load balancers and more. 6 | 7 | See example/pgfortune for a playful example of a fake PostgreSQL server. 8 | -------------------------------------------------------------------------------- /vendor/github.com/jackc/pgx/v5/pgproto3/big_endian.go: -------------------------------------------------------------------------------- 1 | package pgproto3 2 | 3 | import ( 4 | "encoding/binary" 5 | ) 6 | 7 | type BigEndianBuf [8]byte 8 | 9 | func (b BigEndianBuf) Int16(n int16) []byte { 10 | buf := b[0:2] 11 | binary.BigEndian.PutUint16(buf, uint16(n)) 12 | return buf 13 | } 14 | 15 | func (b BigEndianBuf) Uint16(n uint16) []byte { 16 | buf := b[0:2] 17 | binary.BigEndian.PutUint16(buf, n) 18 | return buf 19 | } 20 | 21 | func (b BigEndianBuf) Int32(n int32) []byte { 22 | buf := b[0:4] 23 | binary.BigEndian.PutUint32(buf, uint32(n)) 24 | return buf 25 | } 26 | 27 | func (b BigEndianBuf) Uint32(n uint32) []byte { 28 | buf := b[0:4] 29 | binary.BigEndian.PutUint32(buf, n) 30 | return buf 31 | } 32 | 33 | func (b BigEndianBuf) Int64(n int64) []byte { 34 | buf := b[0:8] 35 | binary.BigEndian.PutUint64(buf, uint64(n)) 36 | return buf 37 | } 38 | -------------------------------------------------------------------------------- /vendor/github.com/jackc/pgx/v5/pgproto3/doc.go: -------------------------------------------------------------------------------- 1 | // Package pgproto3 is an encoder and decoder of the PostgreSQL wire protocol version 3. 2 | // 3 | // The primary interfaces are Frontend and Backend. They correspond to a client and server respectively. Messages are 4 | // sent with Send (or a specialized Send variant). Messages are automatically buffered to minimize small writes. Call 5 | // Flush to ensure a message has actually been sent. 6 | // 7 | // The Trace method of Frontend and Backend can be used to examine the wire-level message traffic. It outputs in a 8 | // similar format to the PQtrace function in libpq. 9 | // 10 | // See https://www.postgresql.org/docs/current/protocol-message-formats.html for meanings of the different messages. 11 | package pgproto3 12 | -------------------------------------------------------------------------------- /vendor/github.com/jackc/pgx/v5/pgproto3/notice_response.go: -------------------------------------------------------------------------------- 1 | package pgproto3 2 | 3 | type NoticeResponse ErrorResponse 4 | 5 | // Backend identifies this message as sendable by the PostgreSQL backend. 6 | func (*NoticeResponse) Backend() {} 7 | 8 | // Decode decodes src into dst. src must contain the complete message with the exception of the initial 1 byte message 9 | // type identifier and 4 byte message length. 10 | func (dst *NoticeResponse) Decode(src []byte) error { 11 | return (*ErrorResponse)(dst).Decode(src) 12 | } 13 | 14 | // Encode encodes src into dst. dst will include the 1 byte message type identifier and the 4 byte message length. 15 | func (src *NoticeResponse) Encode(dst []byte) ([]byte, error) { 16 | dst, sp := beginMessage(dst, 'N') 17 | dst = (*ErrorResponse)(src).appendFields(dst) 18 | return finishMessage(dst, sp) 19 | } 20 | -------------------------------------------------------------------------------- /vendor/github.com/jackc/pgx/v5/pgtype/integration_benchmark_test_gen.sh: -------------------------------------------------------------------------------- 1 | erb integration_benchmark_test.go.erb > integration_benchmark_test.go 2 | goimports -w integration_benchmark_test.go 3 | -------------------------------------------------------------------------------- /vendor/github.com/jackc/pgx/v5/pgtype/register_default_pg_types_disabled.go: -------------------------------------------------------------------------------- 1 | //go:build nopgxregisterdefaulttypes 2 | 3 | package pgtype 4 | 5 | func registerDefaultPgTypeVariants[T any](m *Map, name string) { 6 | } 7 | -------------------------------------------------------------------------------- /vendor/github.com/jackc/pgx/v5/pgtype/text_format_only_codec.go: -------------------------------------------------------------------------------- 1 | package pgtype 2 | 3 | type TextFormatOnlyCodec struct { 4 | Codec 5 | } 6 | 7 | func (c *TextFormatOnlyCodec) FormatSupported(format int16) bool { 8 | return format == TextFormatCode && c.Codec.FormatSupported(format) 9 | } 10 | 11 | func (TextFormatOnlyCodec) PreferredFormat() int16 { 12 | return TextFormatCode 13 | } 14 | -------------------------------------------------------------------------------- /vendor/github.com/jackc/puddle/v2/context.go: -------------------------------------------------------------------------------- 1 | package puddle 2 | 3 | import ( 4 | "context" 5 | "time" 6 | ) 7 | 8 | // valueCancelCtx combines two contexts into one. One context is used for values and the other is used for cancellation. 9 | type valueCancelCtx struct { 10 | valueCtx context.Context 11 | cancelCtx context.Context 12 | } 13 | 14 | func (ctx *valueCancelCtx) Deadline() (time.Time, bool) { return ctx.cancelCtx.Deadline() } 15 | func (ctx *valueCancelCtx) Done() <-chan struct{} { return ctx.cancelCtx.Done() } 16 | func (ctx *valueCancelCtx) Err() error { return ctx.cancelCtx.Err() } 17 | func (ctx *valueCancelCtx) Value(key any) any { return ctx.valueCtx.Value(key) } 18 | 19 | func newValueCancelCtx(valueCtx, cancelContext context.Context) context.Context { 20 | return &valueCancelCtx{ 21 | valueCtx: valueCtx, 22 | cancelCtx: cancelContext, 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /vendor/github.com/jackc/puddle/v2/doc.go: -------------------------------------------------------------------------------- 1 | // Package puddle is a generic resource pool with type-parametrized api. 2 | /* 3 | 4 | Puddle is a tiny generic resource pool library for Go that uses the standard 5 | context library to signal cancellation of acquires. It is designed to contain 6 | the minimum functionality a resource pool needs that cannot be implemented 7 | without concurrency concerns. For example, a database connection pool may use 8 | puddle internally and implement health checks and keep-alive behavior without 9 | needing to implement any concurrent code of its own. 10 | */ 11 | package puddle 12 | -------------------------------------------------------------------------------- /vendor/github.com/jackc/puddle/v2/log.go: -------------------------------------------------------------------------------- 1 | package puddle 2 | 3 | import "unsafe" 4 | 5 | type ints interface { 6 | int | int8 | int16 | int32 | int64 | uint | uint8 | uint16 | uint32 | uint64 7 | } 8 | 9 | // log2Int returns log2 of an integer. This function panics if val < 0. For val 10 | // == 0, returns 0. 11 | func log2Int[T ints](val T) uint8 { 12 | if val <= 0 { 13 | panic("log2 of non-positive number does not exist") 14 | } 15 | 16 | return log2IntRange(val, 0, uint8(8*unsafe.Sizeof(val))) 17 | } 18 | 19 | func log2IntRange[T ints](val T, begin, end uint8) uint8 { 20 | length := end - begin 21 | if length == 1 { 22 | return begin 23 | } 24 | 25 | delim := begin + length/2 26 | mask := T(1) << delim 27 | if mask > val { 28 | return log2IntRange(val, begin, delim) 29 | } else { 30 | return log2IntRange(val, delim, end) 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /vendor/github.com/jackc/puddle/v2/nanotime_time.go: -------------------------------------------------------------------------------- 1 | //go:build purego || appengine || js 2 | 3 | // This file contains the safe implementation of nanotime using time.Now(). 4 | 5 | package puddle 6 | 7 | import ( 8 | "time" 9 | ) 10 | 11 | func nanotime() int64 { 12 | return time.Now().UnixNano() 13 | } 14 | -------------------------------------------------------------------------------- /vendor/github.com/jackc/puddle/v2/nanotime_unsafe.go: -------------------------------------------------------------------------------- 1 | //go:build !purego && !appengine && !js 2 | 3 | // This file contains the implementation of nanotime using runtime.nanotime. 4 | 5 | package puddle 6 | 7 | import "unsafe" 8 | 9 | var _ = unsafe.Sizeof(0) 10 | 11 | //go:linkname nanotime runtime.nanotime 12 | func nanotime() int64 13 | -------------------------------------------------------------------------------- /vendor/github.com/jackc/puddle/v2/resource_list.go: -------------------------------------------------------------------------------- 1 | package puddle 2 | 3 | type resList[T any] []*Resource[T] 4 | 5 | func (l *resList[T]) append(val *Resource[T]) { *l = append(*l, val) } 6 | 7 | func (l *resList[T]) popBack() *Resource[T] { 8 | idx := len(*l) - 1 9 | val := (*l)[idx] 10 | (*l)[idx] = nil // Avoid memory leak 11 | *l = (*l)[:idx] 12 | 13 | return val 14 | } 15 | 16 | func (l *resList[T]) remove(val *Resource[T]) { 17 | for i, elem := range *l { 18 | if elem == val { 19 | lastIdx := len(*l) - 1 20 | (*l)[i] = (*l)[lastIdx] 21 | (*l)[lastIdx] = nil // Avoid memory leak 22 | (*l) = (*l)[:lastIdx] 23 | return 24 | } 25 | } 26 | 27 | panic("BUG: removeResource could not find res in slice") 28 | } 29 | -------------------------------------------------------------------------------- /vendor/github.com/jinzhu/inflection/wercker.yml: -------------------------------------------------------------------------------- 1 | box: golang 2 | 3 | build: 4 | steps: 5 | - setup-go-workspace 6 | 7 | # Gets the dependencies 8 | - script: 9 | name: go get 10 | code: | 11 | go get 12 | 13 | # Build the project 14 | - script: 15 | name: go build 16 | code: | 17 | go build ./... 18 | 19 | # Test the project 20 | - script: 21 | name: go test 22 | code: | 23 | go test ./... 24 | -------------------------------------------------------------------------------- /vendor/github.com/jinzhu/now/Guardfile: -------------------------------------------------------------------------------- 1 | guard 'gotest' do 2 | watch(%r{\.go$}) 3 | end 4 | -------------------------------------------------------------------------------- /vendor/github.com/jinzhu/now/time.go: -------------------------------------------------------------------------------- 1 | package now 2 | 3 | import "time" 4 | 5 | func formatTimeToList(t time.Time) []int { 6 | hour, min, sec := t.Clock() 7 | year, month, day := t.Date() 8 | return []int{t.Nanosecond(), sec, min, hour, day, int(month), year} 9 | } 10 | -------------------------------------------------------------------------------- /vendor/github.com/kennygrant/sanitize/.gitignore: -------------------------------------------------------------------------------- 1 | # Compiled Object files, Static and Dynamic libs (Shared Objects) 2 | *.o 3 | *.a 4 | *.so 5 | 6 | # Folders 7 | _obj 8 | _test 9 | 10 | # Architecture specific extensions/prefixes 11 | *.[568vq] 12 | [568vq].out 13 | 14 | *.cgo1.go 15 | *.cgo2.c 16 | _cgo_defun.c 17 | _cgo_gotypes.go 18 | _cgo_export.* 19 | 20 | _testmain.go 21 | 22 | *.exe 23 | -------------------------------------------------------------------------------- /vendor/github.com/kennygrant/sanitize/.travis.yml: -------------------------------------------------------------------------------- 1 | language: go 2 | -------------------------------------------------------------------------------- /vendor/github.com/lib/pq/.gitignore: -------------------------------------------------------------------------------- 1 | .db 2 | *.test 3 | *~ 4 | *.swp 5 | .idea 6 | .vscode -------------------------------------------------------------------------------- /vendor/github.com/lib/pq/TESTS.md: -------------------------------------------------------------------------------- 1 | # Tests 2 | 3 | ## Running Tests 4 | 5 | `go test` is used for testing. A running PostgreSQL 6 | server is required, with the ability to log in. The 7 | database to connect to test with is "pqgotest," on 8 | "localhost" but these can be overridden using [environment 9 | variables](https://www.postgresql.org/docs/9.3/static/libpq-envars.html). 10 | 11 | Example: 12 | 13 | PGHOST=/run/postgresql go test 14 | 15 | ## Benchmarks 16 | 17 | A benchmark suite can be run as part of the tests: 18 | 19 | go test -bench . 20 | 21 | ## Example setup (Docker) 22 | 23 | Run a postgres container: 24 | 25 | ``` 26 | docker run --expose 5432:5432 postgres 27 | ``` 28 | 29 | Run tests: 30 | 31 | ``` 32 | PGHOST=localhost PGPORT=5432 PGUSER=postgres PGSSLMODE=disable PGDATABASE=postgres go test 33 | ``` 34 | -------------------------------------------------------------------------------- /vendor/github.com/lib/pq/conn_go115.go: -------------------------------------------------------------------------------- 1 | //go:build go1.15 2 | // +build go1.15 3 | 4 | package pq 5 | 6 | import "database/sql/driver" 7 | 8 | var _ driver.Validator = &conn{} 9 | -------------------------------------------------------------------------------- /vendor/github.com/lib/pq/krb.go: -------------------------------------------------------------------------------- 1 | package pq 2 | 3 | // NewGSSFunc creates a GSS authentication provider, for use with 4 | // RegisterGSSProvider. 5 | type NewGSSFunc func() (GSS, error) 6 | 7 | var newGss NewGSSFunc 8 | 9 | // RegisterGSSProvider registers a GSS authentication provider. For example, if 10 | // you need to use Kerberos to authenticate with your server, add this to your 11 | // main package: 12 | // 13 | // import "github.com/lib/pq/auth/kerberos" 14 | // 15 | // func init() { 16 | // pq.RegisterGSSProvider(func() (pq.GSS, error) { return kerberos.NewGSS() }) 17 | // } 18 | func RegisterGSSProvider(newGssArg NewGSSFunc) { 19 | newGss = newGssArg 20 | } 21 | 22 | // GSS provides GSSAPI authentication (e.g., Kerberos). 23 | type GSS interface { 24 | GetInitToken(host string, service string) ([]byte, error) 25 | GetInitTokenFromSpn(spn string) ([]byte, error) 26 | Continue(inToken []byte) (done bool, outToken []byte, err error) 27 | } 28 | -------------------------------------------------------------------------------- /vendor/github.com/lib/pq/oid/doc.go: -------------------------------------------------------------------------------- 1 | // Package oid contains OID constants 2 | // as defined by the Postgres server. 3 | package oid 4 | 5 | // Oid is a Postgres Object ID. 6 | type Oid uint32 7 | -------------------------------------------------------------------------------- /vendor/github.com/lib/pq/ssl_windows.go: -------------------------------------------------------------------------------- 1 | //go:build windows 2 | // +build windows 3 | 4 | package pq 5 | 6 | // sslKeyPermissions checks the permissions on user-supplied ssl key files. 7 | // The key file should have very little access. 8 | // 9 | // libpq does not check key file permissions on Windows. 10 | func sslKeyPermissions(string) error { return nil } 11 | -------------------------------------------------------------------------------- /vendor/github.com/lib/pq/user_other.go: -------------------------------------------------------------------------------- 1 | // Package pq is a pure Go Postgres driver for the database/sql package. 2 | 3 | //go:build js || android || hurd || zos 4 | // +build js android hurd zos 5 | 6 | package pq 7 | 8 | func userCurrent() (string, error) { 9 | return "", ErrCouldNotDetectUsername 10 | } 11 | -------------------------------------------------------------------------------- /vendor/github.com/lib/pq/user_posix.go: -------------------------------------------------------------------------------- 1 | // Package pq is a pure Go Postgres driver for the database/sql package. 2 | 3 | //go:build aix || darwin || dragonfly || freebsd || (linux && !android) || nacl || netbsd || openbsd || plan9 || solaris || rumprun || illumos 4 | // +build aix darwin dragonfly freebsd linux,!android nacl netbsd openbsd plan9 solaris rumprun illumos 5 | 6 | package pq 7 | 8 | import ( 9 | "os" 10 | "os/user" 11 | ) 12 | 13 | func userCurrent() (string, error) { 14 | u, err := user.Current() 15 | if err == nil { 16 | return u.Username, nil 17 | } 18 | 19 | name := os.Getenv("USER") 20 | if name != "" { 21 | return name, nil 22 | } 23 | 24 | return "", ErrCouldNotDetectUsername 25 | } 26 | -------------------------------------------------------------------------------- /vendor/github.com/lib/pq/user_windows.go: -------------------------------------------------------------------------------- 1 | // Package pq is a pure Go Postgres driver for the database/sql package. 2 | package pq 3 | 4 | import ( 5 | "path/filepath" 6 | "syscall" 7 | ) 8 | 9 | // Perform Windows user name lookup identically to libpq. 10 | // 11 | // The PostgreSQL code makes use of the legacy Win32 function 12 | // GetUserName, and that function has not been imported into stock Go. 13 | // GetUserNameEx is available though, the difference being that a 14 | // wider range of names are available. To get the output to be the 15 | // same as GetUserName, only the base (or last) component of the 16 | // result is returned. 17 | func userCurrent() (string, error) { 18 | pw_name := make([]uint16, 128) 19 | pwname_size := uint32(len(pw_name)) - 1 20 | err := syscall.GetUserNameEx(syscall.NameSamCompatible, &pw_name[0], &pwname_size) 21 | if err != nil { 22 | return "", ErrCouldNotDetectUsername 23 | } 24 | s := syscall.UTF16ToString(pw_name) 25 | u := filepath.Base(s) 26 | return u, nil 27 | } 28 | -------------------------------------------------------------------------------- /vendor/github.com/lib/pq/uuid.go: -------------------------------------------------------------------------------- 1 | package pq 2 | 3 | import ( 4 | "encoding/hex" 5 | "fmt" 6 | ) 7 | 8 | // decodeUUIDBinary interprets the binary format of a uuid, returning it in text format. 9 | func decodeUUIDBinary(src []byte) ([]byte, error) { 10 | if len(src) != 16 { 11 | return nil, fmt.Errorf("pq: unable to decode uuid; bad length: %d", len(src)) 12 | } 13 | 14 | dst := make([]byte, 36) 15 | dst[8], dst[13], dst[18], dst[23] = '-', '-', '-', '-' 16 | hex.Encode(dst[0:], src[0:4]) 17 | hex.Encode(dst[9:], src[4:6]) 18 | hex.Encode(dst[14:], src[6:8]) 19 | hex.Encode(dst[19:], src[8:10]) 20 | hex.Encode(dst[24:], src[10:16]) 21 | 22 | return dst, nil 23 | } 24 | -------------------------------------------------------------------------------- /vendor/github.com/magiconair/properties/.gitignore: -------------------------------------------------------------------------------- 1 | *.sublime-project 2 | *.sublime-workspace 3 | *.un~ 4 | *.swp 5 | .idea/ 6 | *.iml 7 | -------------------------------------------------------------------------------- /vendor/github.com/magiconair/properties/integrate.go: -------------------------------------------------------------------------------- 1 | // Copyright 2013-2022 Frank Schroeder. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package properties 6 | 7 | import "flag" 8 | 9 | // MustFlag sets flags that are skipped by dst.Parse when p contains 10 | // the respective key for flag.Flag.Name. 11 | // 12 | // It's use is recommended with command line arguments as in: 13 | // 14 | // flag.Parse() 15 | // p.MustFlag(flag.CommandLine) 16 | func (p *Properties) MustFlag(dst *flag.FlagSet) { 17 | m := make(map[string]*flag.Flag) 18 | dst.VisitAll(func(f *flag.Flag) { 19 | m[f.Name] = f 20 | }) 21 | dst.Visit(func(f *flag.Flag) { 22 | delete(m, f.Name) // overridden 23 | }) 24 | 25 | for name, f := range m { 26 | v, ok := p.Get(name) 27 | if !ok { 28 | continue 29 | } 30 | 31 | if err := f.Value.Set(v); err != nil { 32 | ErrorHandler(err) 33 | } 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /vendor/github.com/magiconair/properties/rangecheck.go: -------------------------------------------------------------------------------- 1 | // Copyright 2013-2022 Frank Schroeder. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package properties 6 | 7 | import ( 8 | "fmt" 9 | "math" 10 | ) 11 | 12 | // make this a var to overwrite it in a test 13 | var is32Bit = ^uint(0) == math.MaxUint32 14 | 15 | // intRangeCheck checks if the value fits into the int type and 16 | // panics if it does not. 17 | func intRangeCheck(key string, v int64) int { 18 | if is32Bit && (v < math.MinInt32 || v > math.MaxInt32) { 19 | panic(fmt.Sprintf("Value %d for key %s out of range", v, key)) 20 | } 21 | return int(v) 22 | } 23 | 24 | // uintRangeCheck checks if the value fits into the uint type and 25 | // panics if it does not. 26 | func uintRangeCheck(key string, v uint64) uint { 27 | if is32Bit && v > math.MaxUint32 { 28 | panic(fmt.Sprintf("Value %d for key %s out of range", v, key)) 29 | } 30 | return uint(v) 31 | } 32 | -------------------------------------------------------------------------------- /vendor/github.com/mattn/go-colorable/colorable_appengine.go: -------------------------------------------------------------------------------- 1 | //go:build appengine 2 | // +build appengine 3 | 4 | package colorable 5 | 6 | import ( 7 | "io" 8 | "os" 9 | 10 | _ "github.com/mattn/go-isatty" 11 | ) 12 | 13 | // NewColorable returns new instance of Writer which handles escape sequence. 14 | func NewColorable(file *os.File) io.Writer { 15 | if file == nil { 16 | panic("nil passed instead of *os.File to NewColorable()") 17 | } 18 | 19 | return file 20 | } 21 | 22 | // NewColorableStdout returns new instance of Writer which handles escape sequence for stdout. 23 | func NewColorableStdout() io.Writer { 24 | return os.Stdout 25 | } 26 | 27 | // NewColorableStderr returns new instance of Writer which handles escape sequence for stderr. 28 | func NewColorableStderr() io.Writer { 29 | return os.Stderr 30 | } 31 | 32 | // EnableColorsStdout enable colors if possible. 33 | func EnableColorsStdout(enabled *bool) func() { 34 | if enabled != nil { 35 | *enabled = true 36 | } 37 | return func() {} 38 | } 39 | -------------------------------------------------------------------------------- /vendor/github.com/mattn/go-colorable/colorable_others.go: -------------------------------------------------------------------------------- 1 | //go:build !windows && !appengine 2 | // +build !windows,!appengine 3 | 4 | package colorable 5 | 6 | import ( 7 | "io" 8 | "os" 9 | 10 | _ "github.com/mattn/go-isatty" 11 | ) 12 | 13 | // NewColorable returns new instance of Writer which handles escape sequence. 14 | func NewColorable(file *os.File) io.Writer { 15 | if file == nil { 16 | panic("nil passed instead of *os.File to NewColorable()") 17 | } 18 | 19 | return file 20 | } 21 | 22 | // NewColorableStdout returns new instance of Writer which handles escape sequence for stdout. 23 | func NewColorableStdout() io.Writer { 24 | return os.Stdout 25 | } 26 | 27 | // NewColorableStderr returns new instance of Writer which handles escape sequence for stderr. 28 | func NewColorableStderr() io.Writer { 29 | return os.Stderr 30 | } 31 | 32 | // EnableColorsStdout enable colors if possible. 33 | func EnableColorsStdout(enabled *bool) func() { 34 | if enabled != nil { 35 | *enabled = true 36 | } 37 | return func() {} 38 | } 39 | -------------------------------------------------------------------------------- /vendor/github.com/mattn/go-colorable/go.test.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -e 4 | echo "" > coverage.txt 5 | 6 | for d in $(go list ./... | grep -v vendor); do 7 | go test -race -coverprofile=profile.out -covermode=atomic "$d" 8 | if [ -f profile.out ]; then 9 | cat profile.out >> coverage.txt 10 | rm profile.out 11 | fi 12 | done 13 | -------------------------------------------------------------------------------- /vendor/github.com/mattn/go-isatty/doc.go: -------------------------------------------------------------------------------- 1 | // Package isatty implements interface to isatty 2 | package isatty 3 | -------------------------------------------------------------------------------- /vendor/github.com/mattn/go-isatty/go.test.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -e 4 | echo "" > coverage.txt 5 | 6 | for d in $(go list ./... | grep -v vendor); do 7 | go test -race -coverprofile=profile.out -covermode=atomic "$d" 8 | if [ -f profile.out ]; then 9 | cat profile.out >> coverage.txt 10 | rm profile.out 11 | fi 12 | done 13 | -------------------------------------------------------------------------------- /vendor/github.com/mattn/go-isatty/isatty_bsd.go: -------------------------------------------------------------------------------- 1 | //go:build (darwin || freebsd || openbsd || netbsd || dragonfly || hurd) && !appengine 2 | // +build darwin freebsd openbsd netbsd dragonfly hurd 3 | // +build !appengine 4 | 5 | package isatty 6 | 7 | import "golang.org/x/sys/unix" 8 | 9 | // IsTerminal return true if the file descriptor is terminal. 10 | func IsTerminal(fd uintptr) bool { 11 | _, err := unix.IoctlGetTermios(int(fd), unix.TIOCGETA) 12 | return err == nil 13 | } 14 | 15 | // IsCygwinTerminal return true if the file descriptor is a cygwin or msys2 16 | // terminal. This is also always false on this environment. 17 | func IsCygwinTerminal(fd uintptr) bool { 18 | return false 19 | } 20 | -------------------------------------------------------------------------------- /vendor/github.com/mattn/go-isatty/isatty_others.go: -------------------------------------------------------------------------------- 1 | //go:build appengine || js || nacl || wasm 2 | // +build appengine js nacl wasm 3 | 4 | package isatty 5 | 6 | // IsTerminal returns true if the file descriptor is terminal which 7 | // is always false on js and appengine classic which is a sandboxed PaaS. 8 | func IsTerminal(fd uintptr) bool { 9 | return false 10 | } 11 | 12 | // IsCygwinTerminal() return true if the file descriptor is a cygwin or msys2 13 | // terminal. This is also always false on this environment. 14 | func IsCygwinTerminal(fd uintptr) bool { 15 | return false 16 | } 17 | -------------------------------------------------------------------------------- /vendor/github.com/mattn/go-isatty/isatty_plan9.go: -------------------------------------------------------------------------------- 1 | //go:build plan9 2 | // +build plan9 3 | 4 | package isatty 5 | 6 | import ( 7 | "syscall" 8 | ) 9 | 10 | // IsTerminal returns true if the given file descriptor is a terminal. 11 | func IsTerminal(fd uintptr) bool { 12 | path, err := syscall.Fd2path(int(fd)) 13 | if err != nil { 14 | return false 15 | } 16 | return path == "/dev/cons" || path == "/mnt/term/dev/cons" 17 | } 18 | 19 | // IsCygwinTerminal return true if the file descriptor is a cygwin or msys2 20 | // terminal. This is also always false on this environment. 21 | func IsCygwinTerminal(fd uintptr) bool { 22 | return false 23 | } 24 | -------------------------------------------------------------------------------- /vendor/github.com/mattn/go-isatty/isatty_solaris.go: -------------------------------------------------------------------------------- 1 | //go:build solaris && !appengine 2 | // +build solaris,!appengine 3 | 4 | package isatty 5 | 6 | import ( 7 | "golang.org/x/sys/unix" 8 | ) 9 | 10 | // IsTerminal returns true if the given file descriptor is a terminal. 11 | // see: https://src.illumos.org/source/xref/illumos-gate/usr/src/lib/libc/port/gen/isatty.c 12 | func IsTerminal(fd uintptr) bool { 13 | _, err := unix.IoctlGetTermio(int(fd), unix.TCGETA) 14 | return err == nil 15 | } 16 | 17 | // IsCygwinTerminal return true if the file descriptor is a cygwin or msys2 18 | // terminal. This is also always false on this environment. 19 | func IsCygwinTerminal(fd uintptr) bool { 20 | return false 21 | } 22 | -------------------------------------------------------------------------------- /vendor/github.com/mattn/go-isatty/isatty_tcgets.go: -------------------------------------------------------------------------------- 1 | //go:build (linux || aix || zos) && !appengine 2 | // +build linux aix zos 3 | // +build !appengine 4 | 5 | package isatty 6 | 7 | import "golang.org/x/sys/unix" 8 | 9 | // IsTerminal return true if the file descriptor is terminal. 10 | func IsTerminal(fd uintptr) bool { 11 | _, err := unix.IoctlGetTermios(int(fd), unix.TCGETS) 12 | return err == nil 13 | } 14 | 15 | // IsCygwinTerminal return true if the file descriptor is a cygwin or msys2 16 | // terminal. This is also always false on this environment. 17 | func IsCygwinTerminal(fd uintptr) bool { 18 | return false 19 | } 20 | -------------------------------------------------------------------------------- /vendor/github.com/nyaruka/phonenumbers/.gitignore: -------------------------------------------------------------------------------- 1 | *.cov 2 | .DS_Store 3 | .vscode 4 | *~ 5 | deploy 6 | fabfile.py 7 | fabfile.pyc 8 | carrier 9 | geocoding 10 | buildmetadata 11 | functions/* 12 | dist/ 13 | -------------------------------------------------------------------------------- /vendor/github.com/nyaruka/phonenumbers/.goreleaser.yml: -------------------------------------------------------------------------------- 1 | before: 2 | hooks: 3 | - go mod download 4 | # you may remove this if you don't need go generate 5 | - go generate ./... 6 | builds: 7 | - env: 8 | - CGO_ENABLED=0 9 | goos: 10 | - linux 11 | - windows 12 | - darwin 13 | main: ./cmd/phoneserver/main.go 14 | archives: 15 | - replacements: 16 | darwin: Darwin 17 | linux: Linux 18 | windows: Windows 19 | 386: i386 20 | amd64: x86_64 21 | checksum: 22 | name_template: 'checksums.txt' 23 | snapshot: 24 | name_template: "{{ .Tag }}-next" 25 | changelog: 26 | sort: asc 27 | filters: 28 | exclude: 29 | - '^docs:' 30 | - '^test:' 31 | -------------------------------------------------------------------------------- /vendor/github.com/nyaruka/phonenumbers/Makefile: -------------------------------------------------------------------------------- 1 | build: 2 | mkdir -p functions 3 | cd cmd/phoneserver && go build -ldflags "-X main.Version=`git describe --tags`" -o ../../functions/phoneserver . 4 | -------------------------------------------------------------------------------- /vendor/github.com/nyaruka/phonenumbers/netlify.toml: -------------------------------------------------------------------------------- 1 | [build] 2 | command = "make build" 3 | functions = "functions" 4 | publish = "site" 5 | 6 | [build.environment] 7 | GO_IMPORT_PATH = "github.com/nyaruka/phonenumbers" -------------------------------------------------------------------------------- /vendor/github.com/pelletier/go-toml/v2/.dockerignore: -------------------------------------------------------------------------------- 1 | cmd/tomll/tomll 2 | cmd/tomljson/tomljson 3 | -------------------------------------------------------------------------------- /vendor/github.com/pelletier/go-toml/v2/.gitattributes: -------------------------------------------------------------------------------- 1 | * text=auto 2 | 3 | benchmark/benchmark.toml text eol=lf 4 | testdata/** text eol=lf 5 | -------------------------------------------------------------------------------- /vendor/github.com/pelletier/go-toml/v2/.gitignore: -------------------------------------------------------------------------------- 1 | test_program/test_program_bin 2 | fuzz/ 3 | cmd/tomll/tomll 4 | cmd/tomljson/tomljson 5 | cmd/tomltestgen/tomltestgen 6 | dist -------------------------------------------------------------------------------- /vendor/github.com/pelletier/go-toml/v2/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM scratch 2 | ENV PATH "$PATH:/bin" 3 | COPY tomll /bin/tomll 4 | COPY tomljson /bin/tomljson 5 | COPY jsontoml /bin/jsontoml 6 | -------------------------------------------------------------------------------- /vendor/github.com/pelletier/go-toml/v2/SECURITY.md: -------------------------------------------------------------------------------- 1 | # Security Policy 2 | 3 | ## Supported Versions 4 | 5 | Use this section to tell people about which versions of your project are 6 | currently being supported with security updates. 7 | 8 | | Version | Supported | 9 | | ---------- | ------------------ | 10 | | Latest 2.x | :white_check_mark: | 11 | | All 1.x | :x: | 12 | | All 0.x | :x: | 13 | 14 | ## Reporting a Vulnerability 15 | 16 | Email a vulnerability report to `security@pelletier.codes`. Make sure to include 17 | as many details as possible to reproduce the vulnerability. This is a 18 | side-project: I will try to get back to you as quickly as possible, time 19 | permitting in my personal life. Providing a working patch helps very much! 20 | -------------------------------------------------------------------------------- /vendor/github.com/pelletier/go-toml/v2/doc.go: -------------------------------------------------------------------------------- 1 | // Package toml is a library to read and write TOML documents. 2 | package toml 3 | -------------------------------------------------------------------------------- /vendor/github.com/pelletier/go-toml/v2/internal/characters/ascii.go: -------------------------------------------------------------------------------- 1 | package characters 2 | 3 | var invalidAsciiTable = [256]bool{ 4 | 0x00: true, 5 | 0x01: true, 6 | 0x02: true, 7 | 0x03: true, 8 | 0x04: true, 9 | 0x05: true, 10 | 0x06: true, 11 | 0x07: true, 12 | 0x08: true, 13 | // 0x09 TAB 14 | // 0x0A LF 15 | 0x0B: true, 16 | 0x0C: true, 17 | // 0x0D CR 18 | 0x0E: true, 19 | 0x0F: true, 20 | 0x10: true, 21 | 0x11: true, 22 | 0x12: true, 23 | 0x13: true, 24 | 0x14: true, 25 | 0x15: true, 26 | 0x16: true, 27 | 0x17: true, 28 | 0x18: true, 29 | 0x19: true, 30 | 0x1A: true, 31 | 0x1B: true, 32 | 0x1C: true, 33 | 0x1D: true, 34 | 0x1E: true, 35 | 0x1F: true, 36 | // 0x20 - 0x7E Printable ASCII characters 37 | 0x7F: true, 38 | } 39 | 40 | func InvalidAscii(b byte) bool { 41 | return invalidAsciiTable[b] 42 | } 43 | -------------------------------------------------------------------------------- /vendor/github.com/pelletier/go-toml/v2/internal/danger/typeid.go: -------------------------------------------------------------------------------- 1 | package danger 2 | 3 | import ( 4 | "reflect" 5 | "unsafe" 6 | ) 7 | 8 | // typeID is used as key in encoder and decoder caches to enable using 9 | // the optimize runtime.mapaccess2_fast64 function instead of the more 10 | // expensive lookup if we were to use reflect.Type as map key. 11 | // 12 | // typeID holds the pointer to the reflect.Type value, which is unique 13 | // in the program. 14 | // 15 | // https://github.com/segmentio/encoding/blob/master/json/codec.go#L59-L61 16 | type TypeID unsafe.Pointer 17 | 18 | func MakeTypeID(t reflect.Type) TypeID { 19 | // reflect.Type has the fields: 20 | // typ unsafe.Pointer 21 | // ptr unsafe.Pointer 22 | return TypeID((*[2]unsafe.Pointer)(unsafe.Pointer(&t))[1]) 23 | } 24 | -------------------------------------------------------------------------------- /vendor/github.com/pelletier/go-toml/v2/internal/tracker/tracker.go: -------------------------------------------------------------------------------- 1 | package tracker 2 | -------------------------------------------------------------------------------- /vendor/github.com/pelletier/go-toml/v2/types.go: -------------------------------------------------------------------------------- 1 | package toml 2 | 3 | import ( 4 | "encoding" 5 | "reflect" 6 | "time" 7 | ) 8 | 9 | var timeType = reflect.TypeOf((*time.Time)(nil)).Elem() 10 | var textMarshalerType = reflect.TypeOf((*encoding.TextMarshaler)(nil)).Elem() 11 | var textUnmarshalerType = reflect.TypeOf((*encoding.TextUnmarshaler)(nil)).Elem() 12 | var mapStringInterfaceType = reflect.TypeOf(map[string]interface{}(nil)) 13 | var sliceInterfaceType = reflect.TypeOf([]interface{}(nil)) 14 | var stringType = reflect.TypeOf("") 15 | -------------------------------------------------------------------------------- /vendor/github.com/pelletier/go-toml/v2/unstable/doc.go: -------------------------------------------------------------------------------- 1 | // Package unstable provides APIs that do not meet the backward compatibility 2 | // guarantees yet. 3 | package unstable 4 | -------------------------------------------------------------------------------- /vendor/github.com/sagikazarmark/locafero/.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*] 4 | charset = utf-8 5 | end_of_line = lf 6 | indent_size = 4 7 | indent_style = space 8 | insert_final_newline = true 9 | trim_trailing_whitespace = true 10 | 11 | [{Makefile,*.mk}] 12 | indent_style = tab 13 | 14 | [*.nix] 15 | indent_size = 2 16 | 17 | [*.go] 18 | indent_style = tab 19 | 20 | [{*.yml,*.yaml}] 21 | indent_size = 2 22 | -------------------------------------------------------------------------------- /vendor/github.com/sagikazarmark/locafero/.envrc: -------------------------------------------------------------------------------- 1 | if ! has nix_direnv_version || ! nix_direnv_version 2.3.0; then 2 | source_url "https://raw.githubusercontent.com/nix-community/nix-direnv/2.3.0/direnvrc" "sha256-Dmd+j63L84wuzgyjITIfSxSD57Tx7v51DMxVZOsiUD8=" 3 | fi 4 | use flake . --impure 5 | -------------------------------------------------------------------------------- /vendor/github.com/sagikazarmark/locafero/.gitignore: -------------------------------------------------------------------------------- 1 | /.devenv/ 2 | /.direnv/ 3 | /.task/ 4 | /bin/ 5 | /build/ 6 | /tmp/ 7 | /var/ 8 | /vendor/ 9 | -------------------------------------------------------------------------------- /vendor/github.com/sagikazarmark/locafero/.golangci.yaml: -------------------------------------------------------------------------------- 1 | run: 2 | timeout: 10m 3 | 4 | linters-settings: 5 | gci: 6 | sections: 7 | - standard 8 | - default 9 | - prefix(github.com/sagikazarmark/locafero) 10 | goimports: 11 | local-prefixes: github.com/sagikazarmark/locafero 12 | misspell: 13 | locale: US 14 | nolintlint: 15 | allow-leading-space: false # require machine-readable nolint directives (with no leading space) 16 | allow-unused: false # report any unused nolint directives 17 | require-specific: false # don't require nolint directives to be specific about which linter is being skipped 18 | revive: 19 | confidence: 0 20 | 21 | linters: 22 | enable: 23 | - gci 24 | - goimports 25 | - misspell 26 | - nolintlint 27 | - revive 28 | -------------------------------------------------------------------------------- /vendor/github.com/sagikazarmark/locafero/file_type.go: -------------------------------------------------------------------------------- 1 | package locafero 2 | 3 | import "io/fs" 4 | 5 | // FileType represents the kind of entries [Finder] can return. 6 | type FileType int 7 | 8 | const ( 9 | FileTypeAll FileType = iota 10 | FileTypeFile 11 | FileTypeDir 12 | ) 13 | 14 | func (ft FileType) matchFileInfo(info fs.FileInfo) bool { 15 | switch ft { 16 | case FileTypeAll: 17 | return true 18 | 19 | case FileTypeFile: 20 | return !info.IsDir() 21 | 22 | case FileTypeDir: 23 | return info.IsDir() 24 | 25 | default: 26 | return false 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /vendor/github.com/sagikazarmark/locafero/justfile: -------------------------------------------------------------------------------- 1 | default: 2 | just --list 3 | 4 | test: 5 | go test -race -v ./... 6 | 7 | lint: 8 | golangci-lint run 9 | 10 | fmt: 11 | golangci-lint run --fix 12 | -------------------------------------------------------------------------------- /vendor/github.com/sagikazarmark/slog-shim/.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*] 4 | charset = utf-8 5 | end_of_line = lf 6 | indent_size = 4 7 | indent_style = space 8 | insert_final_newline = true 9 | trim_trailing_whitespace = true 10 | 11 | [*.nix] 12 | indent_size = 2 13 | 14 | [{Makefile,*.mk}] 15 | indent_style = tab 16 | 17 | [Taskfile.yaml] 18 | indent_size = 2 19 | -------------------------------------------------------------------------------- /vendor/github.com/sagikazarmark/slog-shim/.envrc: -------------------------------------------------------------------------------- 1 | if ! has nix_direnv_version || ! nix_direnv_version 2.3.0; then 2 | source_url "https://raw.githubusercontent.com/nix-community/nix-direnv/2.3.0/direnvrc" "sha256-Dmd+j63L84wuzgyjITIfSxSD57Tx7v51DMxVZOsiUD8=" 3 | fi 4 | use flake . --impure 5 | -------------------------------------------------------------------------------- /vendor/github.com/sagikazarmark/slog-shim/.gitignore: -------------------------------------------------------------------------------- 1 | /.devenv/ 2 | /.direnv/ 3 | /.task/ 4 | /build/ 5 | -------------------------------------------------------------------------------- /vendor/github.com/sagikazarmark/slog-shim/json_handler.go: -------------------------------------------------------------------------------- 1 | // Copyright 2022 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build go1.21 6 | 7 | package slog 8 | 9 | import ( 10 | "io" 11 | "log/slog" 12 | ) 13 | 14 | // JSONHandler is a Handler that writes Records to an io.Writer as 15 | // line-delimited JSON objects. 16 | type JSONHandler = slog.JSONHandler 17 | 18 | // NewJSONHandler creates a JSONHandler that writes to w, 19 | // using the given options. 20 | // If opts is nil, the default options are used. 21 | func NewJSONHandler(w io.Writer, opts *HandlerOptions) *JSONHandler { 22 | return slog.NewJSONHandler(w, opts) 23 | } 24 | -------------------------------------------------------------------------------- /vendor/github.com/sagikazarmark/slog-shim/json_handler_120.go: -------------------------------------------------------------------------------- 1 | // Copyright 2022 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build !go1.21 6 | 7 | package slog 8 | 9 | import ( 10 | "io" 11 | 12 | "golang.org/x/exp/slog" 13 | ) 14 | 15 | // JSONHandler is a Handler that writes Records to an io.Writer as 16 | // line-delimited JSON objects. 17 | type JSONHandler = slog.JSONHandler 18 | 19 | // NewJSONHandler creates a JSONHandler that writes to w, 20 | // using the given options. 21 | // If opts is nil, the default options are used. 22 | func NewJSONHandler(w io.Writer, opts *HandlerOptions) *JSONHandler { 23 | return slog.NewJSONHandler(w, opts) 24 | } 25 | -------------------------------------------------------------------------------- /vendor/github.com/sagikazarmark/slog-shim/text_handler.go: -------------------------------------------------------------------------------- 1 | // Copyright 2022 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build go1.21 6 | 7 | package slog 8 | 9 | import ( 10 | "io" 11 | "log/slog" 12 | ) 13 | 14 | // TextHandler is a Handler that writes Records to an io.Writer as a 15 | // sequence of key=value pairs separated by spaces and followed by a newline. 16 | type TextHandler = slog.TextHandler 17 | 18 | // NewTextHandler creates a TextHandler that writes to w, 19 | // using the given options. 20 | // If opts is nil, the default options are used. 21 | func NewTextHandler(w io.Writer, opts *HandlerOptions) *TextHandler { 22 | return slog.NewTextHandler(w, opts) 23 | } 24 | -------------------------------------------------------------------------------- /vendor/github.com/sagikazarmark/slog-shim/text_handler_120.go: -------------------------------------------------------------------------------- 1 | // Copyright 2022 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build !go1.21 6 | 7 | package slog 8 | 9 | import ( 10 | "io" 11 | 12 | "golang.org/x/exp/slog" 13 | ) 14 | 15 | // TextHandler is a Handler that writes Records to an io.Writer as a 16 | // sequence of key=value pairs separated by spaces and followed by a newline. 17 | type TextHandler = slog.TextHandler 18 | 19 | // NewTextHandler creates a TextHandler that writes to w, 20 | // using the given options. 21 | // If opts is nil, the default options are used. 22 | func NewTextHandler(w io.Writer, opts *HandlerOptions) *TextHandler { 23 | return slog.NewTextHandler(w, opts) 24 | } 25 | -------------------------------------------------------------------------------- /vendor/github.com/saintfish/chardet/AUTHORS: -------------------------------------------------------------------------------- 1 | Sheng Yu (yusheng dot sjtu at gmail dot com) 2 | -------------------------------------------------------------------------------- /vendor/github.com/saintfish/chardet/README.md: -------------------------------------------------------------------------------- 1 | # chardet 2 | 3 | chardet is library to automatically detect 4 | [charset](http://en.wikipedia.org/wiki/Character_encoding) of texts for [Go 5 | programming language](http://golang.org/). It's based on the algorithm and data 6 | in [ICU](http://icu-project.org/)'s implementation. 7 | 8 | ## Documentation and Usage 9 | 10 | See [pkgdoc](http://go.pkgdoc.org/github.com/saintfish/chardet) 11 | -------------------------------------------------------------------------------- /vendor/github.com/sourcegraph/conc/.golangci.yml: -------------------------------------------------------------------------------- 1 | linters: 2 | disable-all: true 3 | enable: 4 | - errcheck 5 | - godot 6 | - gosimple 7 | - govet 8 | - ineffassign 9 | - staticcheck 10 | - typecheck 11 | - unused 12 | -------------------------------------------------------------------------------- /vendor/github.com/sourcegraph/conc/internal/multierror/multierror_go119.go: -------------------------------------------------------------------------------- 1 | //go:build !go1.20 2 | // +build !go1.20 3 | 4 | package multierror 5 | 6 | import "go.uber.org/multierr" 7 | 8 | var ( 9 | Join = multierr.Combine 10 | ) 11 | -------------------------------------------------------------------------------- /vendor/github.com/sourcegraph/conc/internal/multierror/multierror_go120.go: -------------------------------------------------------------------------------- 1 | //go:build go1.20 2 | // +build go1.20 3 | 4 | package multierror 5 | 6 | import "errors" 7 | 8 | var ( 9 | Join = errors.Join 10 | ) 11 | -------------------------------------------------------------------------------- /vendor/github.com/sourcegraph/conc/panics/try.go: -------------------------------------------------------------------------------- 1 | package panics 2 | 3 | // Try executes f, catching and returning any panic it might spawn. 4 | // 5 | // The recovered panic can be propagated with panic(), or handled as a normal error with 6 | // (*panics.Recovered).AsError(). 7 | func Try(f func()) *Recovered { 8 | var c Catcher 9 | c.Try(f) 10 | return c.Recovered() 11 | } 12 | -------------------------------------------------------------------------------- /vendor/github.com/spf13/afero/.gitignore: -------------------------------------------------------------------------------- 1 | sftpfs/file1 2 | sftpfs/test/ 3 | -------------------------------------------------------------------------------- /vendor/github.com/spf13/afero/appveyor.yml: -------------------------------------------------------------------------------- 1 | # This currently does nothing. We have moved to GitHub action, but this is kept 2 | # until spf13 has disabled this project in AppVeyor. 3 | version: '{build}' 4 | clone_folder: C:\gopath\src\github.com\spf13\afero 5 | environment: 6 | GOPATH: C:\gopath 7 | build_script: 8 | - cmd: >- 9 | go version 10 | 11 | -------------------------------------------------------------------------------- /vendor/github.com/spf13/afero/const_bsds.go: -------------------------------------------------------------------------------- 1 | // Copyright © 2016 Steve Francia . 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // http://www.apache.org/licenses/LICENSE-2.0 7 | // 8 | // Unless required by applicable law or agreed to in writing, software 9 | // distributed under the License is distributed on an "AS IS" BASIS, 10 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | // See the License for the specific language governing permissions and 12 | // limitations under the License. 13 | 14 | //go:build aix || darwin || openbsd || freebsd || netbsd || dragonfly || zos 15 | // +build aix darwin openbsd freebsd netbsd dragonfly zos 16 | 17 | package afero 18 | 19 | import ( 20 | "syscall" 21 | ) 22 | 23 | const BADFD = syscall.EBADF 24 | -------------------------------------------------------------------------------- /vendor/github.com/spf13/afero/const_win_unix.go: -------------------------------------------------------------------------------- 1 | // Copyright © 2016 Steve Francia . 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // http://www.apache.org/licenses/LICENSE-2.0 7 | // 8 | // Unless required by applicable law or agreed to in writing, software 9 | // distributed under the License is distributed on an "AS IS" BASIS, 10 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | // See the License for the specific language governing permissions and 12 | // limitations under the License. 13 | //go:build !darwin && !openbsd && !freebsd && !dragonfly && !netbsd && !aix && !zos 14 | // +build !darwin,!openbsd,!freebsd,!dragonfly,!netbsd,!aix,!zos 15 | 16 | package afero 17 | 18 | import ( 19 | "syscall" 20 | ) 21 | 22 | const BADFD = syscall.EBADFD 23 | -------------------------------------------------------------------------------- /vendor/github.com/spf13/cast/.gitignore: -------------------------------------------------------------------------------- 1 | # Compiled Object files, Static and Dynamic libs (Shared Objects) 2 | *.o 3 | *.a 4 | *.so 5 | 6 | # Folders 7 | _obj 8 | _test 9 | 10 | # Architecture specific extensions/prefixes 11 | *.[568vq] 12 | [568vq].out 13 | 14 | *.cgo1.go 15 | *.cgo2.c 16 | _cgo_defun.c 17 | _cgo_gotypes.go 18 | _cgo_export.* 19 | 20 | _testmain.go 21 | 22 | *.exe 23 | *.test 24 | 25 | *.bench 26 | -------------------------------------------------------------------------------- /vendor/github.com/spf13/cobra/.gitignore: -------------------------------------------------------------------------------- 1 | # Compiled Object files, Static and Dynamic libs (Shared Objects) 2 | *.o 3 | *.a 4 | *.so 5 | 6 | # Folders 7 | _obj 8 | _test 9 | 10 | # Architecture specific extensions/prefixes 11 | *.[568vq] 12 | [568vq].out 13 | 14 | *.cgo1.go 15 | *.cgo2.c 16 | _cgo_defun.c 17 | _cgo_gotypes.go 18 | _cgo_export.* 19 | 20 | _testmain.go 21 | 22 | # Vim files https://github.com/github/gitignore/blob/master/Global/Vim.gitignore 23 | # swap 24 | [._]*.s[a-w][a-z] 25 | [._]s[a-w][a-z] 26 | # session 27 | Session.vim 28 | # temporary 29 | .netrwhist 30 | *~ 31 | # auto-generated tag files 32 | tags 33 | 34 | *.exe 35 | cobra.test 36 | bin 37 | 38 | .idea/ 39 | *.iml 40 | -------------------------------------------------------------------------------- /vendor/github.com/spf13/cobra/.mailmap: -------------------------------------------------------------------------------- 1 | Steve Francia 2 | Bjørn Erik Pedersen 3 | Fabiano Franz 4 | -------------------------------------------------------------------------------- /vendor/github.com/spf13/cobra/MAINTAINERS: -------------------------------------------------------------------------------- 1 | maintainers: 2 | - spf13 3 | - johnSchnake 4 | - jpmcb 5 | - marckhouzam 6 | inactive: 7 | - anthonyfok 8 | - bep 9 | - bogem 10 | - broady 11 | - eparis 12 | - jharshman 13 | - wfernandes 14 | -------------------------------------------------------------------------------- /vendor/github.com/spf13/cobra/command_notwin.go: -------------------------------------------------------------------------------- 1 | // Copyright 2013-2023 The Cobra Authors 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | //go:build !windows 16 | // +build !windows 17 | 18 | package cobra 19 | 20 | var preExecHookFn func(*Command) 21 | -------------------------------------------------------------------------------- /vendor/github.com/spf13/cobra/fish_completions.md: -------------------------------------------------------------------------------- 1 | ## Generating Fish Completions For Your cobra.Command 2 | 3 | Please refer to [Shell Completions](shell_completions.md) for details. 4 | 5 | -------------------------------------------------------------------------------- /vendor/github.com/spf13/cobra/powershell_completions.md: -------------------------------------------------------------------------------- 1 | # Generating PowerShell Completions For Your Own cobra.Command 2 | 3 | Please refer to [Shell Completions](shell_completions.md#powershell-completions) for details. 4 | -------------------------------------------------------------------------------- /vendor/github.com/spf13/pflag/.gitignore: -------------------------------------------------------------------------------- 1 | .idea/* 2 | 3 | -------------------------------------------------------------------------------- /vendor/github.com/spf13/pflag/.travis.yml: -------------------------------------------------------------------------------- 1 | sudo: false 2 | 3 | language: go 4 | 5 | go: 6 | - 1.9.x 7 | - 1.10.x 8 | - 1.11.x 9 | - tip 10 | 11 | matrix: 12 | allow_failures: 13 | - go: tip 14 | 15 | install: 16 | - go get golang.org/x/lint/golint 17 | - export PATH=$GOPATH/bin:$PATH 18 | - go install ./... 19 | 20 | script: 21 | - verify/all.sh -v 22 | - go test ./... 23 | -------------------------------------------------------------------------------- /vendor/github.com/spf13/viper/.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*] 4 | charset = utf-8 5 | end_of_line = lf 6 | indent_size = 4 7 | indent_style = space 8 | insert_final_newline = true 9 | trim_trailing_whitespace = true 10 | 11 | [*.go] 12 | indent_style = tab 13 | 14 | [{Makefile,*.mk}] 15 | indent_style = tab 16 | 17 | [*.nix] 18 | indent_size = 2 19 | -------------------------------------------------------------------------------- /vendor/github.com/spf13/viper/.envrc: -------------------------------------------------------------------------------- 1 | if ! has nix_direnv_version || ! nix_direnv_version 2.3.0; then 2 | source_url "https://raw.githubusercontent.com/nix-community/nix-direnv/2.3.0/direnvrc" "sha256-Dmd+j63L84wuzgyjITIfSxSD57Tx7v51DMxVZOsiUD8=" 3 | fi 4 | use flake . --impure 5 | -------------------------------------------------------------------------------- /vendor/github.com/spf13/viper/.gitignore: -------------------------------------------------------------------------------- 1 | /.devenv/ 2 | /.direnv/ 3 | /.idea/ 4 | /.pre-commit-config.yaml 5 | /bin/ 6 | /build/ 7 | /var/ 8 | /vendor/ 9 | -------------------------------------------------------------------------------- /vendor/github.com/spf13/viper/.yamlignore: -------------------------------------------------------------------------------- 1 | # TODO: FIXME 2 | /.github/ 3 | -------------------------------------------------------------------------------- /vendor/github.com/spf13/viper/.yamllint.yaml: -------------------------------------------------------------------------------- 1 | ignore-from-file: [.gitignore, .yamlignore] 2 | 3 | extends: default 4 | 5 | rules: 6 | line-length: disable 7 | -------------------------------------------------------------------------------- /vendor/github.com/spf13/viper/internal/encoding/error.go: -------------------------------------------------------------------------------- 1 | package encoding 2 | 3 | type encodingError string 4 | 5 | func (e encodingError) Error() string { 6 | return string(e) 7 | } 8 | -------------------------------------------------------------------------------- /vendor/github.com/spf13/viper/internal/encoding/hcl/codec.go: -------------------------------------------------------------------------------- 1 | package hcl 2 | 3 | import ( 4 | "bytes" 5 | "encoding/json" 6 | 7 | "github.com/hashicorp/hcl" 8 | "github.com/hashicorp/hcl/hcl/printer" 9 | ) 10 | 11 | // Codec implements the encoding.Encoder and encoding.Decoder interfaces for HCL encoding. 12 | // TODO: add printer config to the codec? 13 | type Codec struct{} 14 | 15 | func (Codec) Encode(v map[string]any) ([]byte, error) { 16 | b, err := json.Marshal(v) 17 | if err != nil { 18 | return nil, err 19 | } 20 | 21 | // TODO: use printer.Format? Is the trailing newline an issue? 22 | 23 | ast, err := hcl.Parse(string(b)) 24 | if err != nil { 25 | return nil, err 26 | } 27 | 28 | var buf bytes.Buffer 29 | 30 | err = printer.Fprint(&buf, ast.Node) 31 | if err != nil { 32 | return nil, err 33 | } 34 | 35 | return buf.Bytes(), nil 36 | } 37 | 38 | func (Codec) Decode(b []byte, v map[string]any) error { 39 | return hcl.Unmarshal(b, &v) 40 | } 41 | -------------------------------------------------------------------------------- /vendor/github.com/spf13/viper/internal/encoding/json/codec.go: -------------------------------------------------------------------------------- 1 | package json 2 | 3 | import ( 4 | "encoding/json" 5 | ) 6 | 7 | // Codec implements the encoding.Encoder and encoding.Decoder interfaces for JSON encoding. 8 | type Codec struct{} 9 | 10 | func (Codec) Encode(v map[string]any) ([]byte, error) { 11 | // TODO: expose prefix and indent in the Codec as setting? 12 | return json.MarshalIndent(v, "", " ") 13 | } 14 | 15 | func (Codec) Decode(b []byte, v map[string]any) error { 16 | return json.Unmarshal(b, &v) 17 | } 18 | -------------------------------------------------------------------------------- /vendor/github.com/spf13/viper/internal/encoding/toml/codec.go: -------------------------------------------------------------------------------- 1 | package toml 2 | 3 | import ( 4 | "github.com/pelletier/go-toml/v2" 5 | ) 6 | 7 | // Codec implements the encoding.Encoder and encoding.Decoder interfaces for TOML encoding. 8 | type Codec struct{} 9 | 10 | func (Codec) Encode(v map[string]any) ([]byte, error) { 11 | return toml.Marshal(v) 12 | } 13 | 14 | func (Codec) Decode(b []byte, v map[string]any) error { 15 | return toml.Unmarshal(b, &v) 16 | } 17 | -------------------------------------------------------------------------------- /vendor/github.com/spf13/viper/internal/encoding/yaml/codec.go: -------------------------------------------------------------------------------- 1 | package yaml 2 | 3 | import "gopkg.in/yaml.v3" 4 | 5 | // Codec implements the encoding.Encoder and encoding.Decoder interfaces for YAML encoding. 6 | type Codec struct{} 7 | 8 | func (Codec) Encode(v map[string]any) ([]byte, error) { 9 | return yaml.Marshal(v) 10 | } 11 | 12 | func (Codec) Decode(b []byte, v map[string]any) error { 13 | return yaml.Unmarshal(b, &v) 14 | } 15 | -------------------------------------------------------------------------------- /vendor/github.com/spf13/viper/viper_go1_16.go: -------------------------------------------------------------------------------- 1 | //go:build finder 2 | 3 | package viper 4 | 5 | import ( 6 | "fmt" 7 | 8 | "github.com/sagikazarmark/locafero" 9 | ) 10 | 11 | // Search all configPaths for any config file. 12 | // Returns the first path that exists (and is a config file). 13 | func (v *Viper) findConfigFile() (string, error) { 14 | var names []string 15 | 16 | if v.configType != "" { 17 | names = locafero.NameWithOptionalExtensions(v.configName, SupportedExts...) 18 | } else { 19 | names = locafero.NameWithExtensions(v.configName, SupportedExts...) 20 | } 21 | 22 | finder := locafero.Finder{ 23 | Paths: v.configPaths, 24 | Names: names, 25 | Type: locafero.FileTypeFile, 26 | } 27 | 28 | results, err := finder.Find(v.fs) 29 | if err != nil { 30 | return "", err 31 | } 32 | 33 | if len(results) == 0 { 34 | return "", ConfigFileNotFoundError{v.configName, fmt.Sprintf("%s", v.configPaths)} 35 | } 36 | 37 | return results[0], nil 38 | } 39 | -------------------------------------------------------------------------------- /vendor/github.com/spf13/viper/watch.go: -------------------------------------------------------------------------------- 1 | //go:build darwin || dragonfly || freebsd || openbsd || linux || netbsd || solaris || windows 2 | 3 | package viper 4 | 5 | import "github.com/fsnotify/fsnotify" 6 | 7 | type watcher = fsnotify.Watcher 8 | 9 | func newWatcher() (*watcher, error) { 10 | return fsnotify.NewWatcher() 11 | } 12 | -------------------------------------------------------------------------------- /vendor/github.com/spf13/viper/watch_unsupported.go: -------------------------------------------------------------------------------- 1 | //go:build appengine || (!darwin && !dragonfly && !freebsd && !openbsd && !linux && !netbsd && !solaris && !windows) 2 | 3 | package viper 4 | 5 | import ( 6 | "fmt" 7 | "runtime" 8 | 9 | "github.com/fsnotify/fsnotify" 10 | ) 11 | 12 | func newWatcher() (*watcher, error) { 13 | return &watcher{}, fmt.Errorf("fsnotify not supported on %s", runtime.GOOS) 14 | } 15 | 16 | type watcher struct { 17 | Events chan fsnotify.Event 18 | Errors chan error 19 | } 20 | 21 | func (*watcher) Close() error { 22 | return nil 23 | } 24 | 25 | func (*watcher) Add(name string) error { 26 | return nil 27 | } 28 | 29 | func (*watcher) Remove(name string) error { 30 | return nil 31 | } 32 | -------------------------------------------------------------------------------- /vendor/github.com/stretchr/testify/assert/assertion_compare_can_convert.go: -------------------------------------------------------------------------------- 1 | //go:build go1.17 2 | // +build go1.17 3 | 4 | // TODO: once support for Go 1.16 is dropped, this file can be 5 | // merged/removed with assertion_compare_go1.17_test.go and 6 | // assertion_compare_legacy.go 7 | 8 | package assert 9 | 10 | import "reflect" 11 | 12 | // Wrapper around reflect.Value.CanConvert, for compatibility 13 | // reasons. 14 | func canConvert(value reflect.Value, to reflect.Type) bool { 15 | return value.CanConvert(to) 16 | } 17 | -------------------------------------------------------------------------------- /vendor/github.com/stretchr/testify/assert/assertion_compare_legacy.go: -------------------------------------------------------------------------------- 1 | //go:build !go1.17 2 | // +build !go1.17 3 | 4 | // TODO: once support for Go 1.16 is dropped, this file can be 5 | // merged/removed with assertion_compare_go1.17_test.go and 6 | // assertion_compare_can_convert.go 7 | 8 | package assert 9 | 10 | import "reflect" 11 | 12 | // Older versions of Go does not have the reflect.Value.CanConvert 13 | // method. 14 | func canConvert(value reflect.Value, to reflect.Type) bool { 15 | return false 16 | } 17 | -------------------------------------------------------------------------------- /vendor/github.com/stretchr/testify/assert/assertion_format.go.tmpl: -------------------------------------------------------------------------------- 1 | {{.CommentFormat}} 2 | func {{.DocInfo.Name}}f(t TestingT, {{.ParamsFormat}}) bool { 3 | if h, ok := t.(tHelper); ok { h.Helper() } 4 | return {{.DocInfo.Name}}(t, {{.ForwardedParamsFormat}}) 5 | } 6 | -------------------------------------------------------------------------------- /vendor/github.com/stretchr/testify/assert/assertion_forward.go.tmpl: -------------------------------------------------------------------------------- 1 | {{.CommentWithoutT "a"}} 2 | func (a *Assertions) {{.DocInfo.Name}}({{.Params}}) bool { 3 | if h, ok := a.t.(tHelper); ok { h.Helper() } 4 | return {{.DocInfo.Name}}(a.t, {{.ForwardedParams}}) 5 | } 6 | -------------------------------------------------------------------------------- /vendor/github.com/stretchr/testify/assert/errors.go: -------------------------------------------------------------------------------- 1 | package assert 2 | 3 | import ( 4 | "errors" 5 | ) 6 | 7 | // AnError is an error instance useful for testing. If the code does not care 8 | // about error specifics, and only needs to return the error for example, this 9 | // error should be used to make the test code more readable. 10 | var AnError = errors.New("assert.AnError general error for testing") 11 | -------------------------------------------------------------------------------- /vendor/github.com/stretchr/testify/assert/forward_assertions.go: -------------------------------------------------------------------------------- 1 | package assert 2 | 3 | // Assertions provides assertion methods around the 4 | // TestingT interface. 5 | type Assertions struct { 6 | t TestingT 7 | } 8 | 9 | // New makes a new Assertions object for the specified TestingT. 10 | func New(t TestingT) *Assertions { 11 | return &Assertions{ 12 | t: t, 13 | } 14 | } 15 | 16 | //go:generate sh -c "cd ../_codegen && go build && cd - && ../_codegen/_codegen -output-package=assert -template=assertion_forward.go.tmpl -include-format-funcs" 17 | -------------------------------------------------------------------------------- /vendor/github.com/subosito/gotenv/.env.invalid: -------------------------------------------------------------------------------- 1 | lol$wut 2 | -------------------------------------------------------------------------------- /vendor/github.com/subosito/gotenv/.gitignore: -------------------------------------------------------------------------------- 1 | *.test 2 | *.out 3 | annotate.json 4 | profile.cov 5 | -------------------------------------------------------------------------------- /vendor/github.com/subosito/gotenv/.golangci.yaml: -------------------------------------------------------------------------------- 1 | # Options for analysis running. 2 | run: 3 | timeout: 1m 4 | 5 | linters-settings: 6 | gofmt: 7 | simplify: true 8 | -------------------------------------------------------------------------------- /vendor/github.com/temoto/robotstxt/.gitignore: -------------------------------------------------------------------------------- 1 | *.cgo?.* 2 | *.o 3 | *.so 4 | *.sublime-* 5 | .DS_Store 6 | .idea/ 7 | _cgo_* 8 | _obj 9 | _test 10 | coverage.txt 11 | -------------------------------------------------------------------------------- /vendor/github.com/temoto/robotstxt/.golangci.yml: -------------------------------------------------------------------------------- 1 | linters: 2 | enable: 3 | - goconst 4 | - gofmt 5 | - gosec 6 | - maligned 7 | - prealloc 8 | - staticcheck 9 | disable: 10 | - deadcode 11 | - structcheck 12 | - varcheck 13 | 14 | linters-settings: 15 | gofmt: 16 | simplify: true 17 | govet: 18 | check-shadowing: true 19 | maligned: 20 | suggest-new: true 21 | -------------------------------------------------------------------------------- /vendor/github.com/temoto/robotstxt/.travis.yml: -------------------------------------------------------------------------------- 1 | cache: 2 | go: true 3 | directories: 4 | - $HOME/.cache 5 | - $HOME/bin 6 | - $HOME/gopath/pkg/mod 7 | language: go 8 | go: 9 | - 1.11 10 | - 1.12 11 | - master 12 | install: true 13 | script: GO111MODULE=on go test -race 14 | 15 | matrix: 16 | include: 17 | - go: 1.7 18 | install: go get -t 19 | - go: 1.8 20 | install: go get -t 21 | - go: 1.9 22 | install: go get -t 23 | - go: 1.10.x 24 | install: go get -t 25 | - go: 1.x 26 | env: task=coverage 27 | script: GO111MODULE=on go test -race -covermode=atomic -coverprofile=coverage.txt 28 | after_success: bash <(curl -s https://codecov.io/bash) 29 | - go: 1.x 30 | env: task=bench 31 | script: GO111MODULE=on ./script/bench 32 | - go: 1.x 33 | install: curl -sfL https://install.goreleaser.com/github.com/golangci/golangci-lint.sh | bash -s -- -b $HOME/bin v1.16.0 34 | env: task=clean 35 | script: GO111MODULE=on ./script/clean 36 | -------------------------------------------------------------------------------- /vendor/github.com/temoto/robotstxt/codecov.yml: -------------------------------------------------------------------------------- 1 | codecov: 2 | token: 6bf9c7eb-69ff-4b74-8464-e2fb452d0f04 3 | -------------------------------------------------------------------------------- /vendor/github.com/twmb/murmur3/.gitignore: -------------------------------------------------------------------------------- 1 | *.swp 2 | -------------------------------------------------------------------------------- /vendor/go.uber.org/multierr/.codecov.yml: -------------------------------------------------------------------------------- 1 | coverage: 2 | range: 80..100 3 | round: down 4 | precision: 2 5 | 6 | status: 7 | project: # measuring the overall project coverage 8 | default: # context, you can create multiple ones with custom titles 9 | enabled: yes # must be yes|true to enable this status 10 | target: 100 # specify the target coverage for each commit status 11 | # option: "auto" (must increase from parent commit or pull request base) 12 | # option: "X%" a static target percentage to hit 13 | if_not_found: success # if parent is not found report status as success, error, or failure 14 | if_ci_failed: error # if ci fails report status as success, error, or failure 15 | 16 | -------------------------------------------------------------------------------- /vendor/go.uber.org/multierr/.gitignore: -------------------------------------------------------------------------------- 1 | /vendor 2 | cover.html 3 | cover.out 4 | /bin 5 | -------------------------------------------------------------------------------- /vendor/go.uber.org/zap/.codecov.yml: -------------------------------------------------------------------------------- 1 | coverage: 2 | range: 80..100 3 | round: down 4 | precision: 2 5 | 6 | status: 7 | project: # measuring the overall project coverage 8 | default: # context, you can create multiple ones with custom titles 9 | enabled: yes # must be yes|true to enable this status 10 | target: 95% # specify the target coverage for each commit status 11 | # option: "auto" (must increase from parent commit or pull request base) 12 | # option: "X%" a static target percentage to hit 13 | if_not_found: success # if parent is not found report status as success, error, or failure 14 | if_ci_failed: error # if ci fails report status as success, error, or failure 15 | ignore: 16 | - internal/readme/readme.go 17 | 18 | -------------------------------------------------------------------------------- /vendor/go.uber.org/zap/.gitignore: -------------------------------------------------------------------------------- 1 | # Compiled Object files, Static and Dynamic libs (Shared Objects) 2 | *.o 3 | *.a 4 | *.so 5 | 6 | # Folders 7 | _obj 8 | _test 9 | vendor 10 | 11 | # Architecture specific extensions/prefixes 12 | *.[568vq] 13 | [568vq].out 14 | 15 | *.cgo1.go 16 | *.cgo2.c 17 | _cgo_defun.c 18 | _cgo_gotypes.go 19 | _cgo_export.* 20 | 21 | _testmain.go 22 | 23 | *.exe 24 | *.test 25 | *.prof 26 | *.pprof 27 | *.out 28 | *.log 29 | 30 | /bin 31 | cover.out 32 | cover.html 33 | -------------------------------------------------------------------------------- /vendor/go.uber.org/zap/checklicense.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash -e 2 | 3 | ERROR_COUNT=0 4 | while read -r file 5 | do 6 | case "$(head -1 "${file}")" in 7 | *"Copyright (c) "*" Uber Technologies, Inc.") 8 | # everything's cool 9 | ;; 10 | *) 11 | echo "$file is missing license header." 12 | (( ERROR_COUNT++ )) 13 | ;; 14 | esac 15 | done < <(git ls-files "*\.go") 16 | 17 | exit $ERROR_COUNT 18 | -------------------------------------------------------------------------------- /vendor/go.uber.org/zap/glide.yaml: -------------------------------------------------------------------------------- 1 | package: go.uber.org/zap 2 | license: MIT 3 | import: 4 | - package: go.uber.org/atomic 5 | version: ^1 6 | - package: go.uber.org/multierr 7 | version: ^1 8 | testImport: 9 | - package: github.com/satori/go.uuid 10 | - package: github.com/sirupsen/logrus 11 | - package: github.com/apex/log 12 | subpackages: 13 | - handlers/json 14 | - package: github.com/go-kit/kit 15 | subpackages: 16 | - log 17 | - package: github.com/stretchr/testify 18 | subpackages: 19 | - assert 20 | - require 21 | - package: gopkg.in/inconshreveable/log15.v2 22 | - package: github.com/mattn/goveralls 23 | - package: github.com/pborman/uuid 24 | - package: github.com/pkg/errors 25 | - package: github.com/rs/zerolog 26 | - package: golang.org/x/tools 27 | subpackages: 28 | - cover 29 | - package: golang.org/x/lint 30 | subpackages: 31 | - golint 32 | - package: github.com/axw/gocov 33 | subpackages: 34 | - gocov 35 | -------------------------------------------------------------------------------- /vendor/golang.org/x/exp/slog/internal/ignorepc.go: -------------------------------------------------------------------------------- 1 | // Copyright 2023 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package internal 6 | 7 | // If IgnorePC is true, do not invoke runtime.Callers to get the pc. 8 | // This is solely for benchmarking the slowdown from runtime.Callers. 9 | var IgnorePC = false 10 | -------------------------------------------------------------------------------- /vendor/golang.org/x/net/context/go19.go: -------------------------------------------------------------------------------- 1 | // Copyright 2017 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build go1.9 6 | // +build go1.9 7 | 8 | package context 9 | 10 | import "context" // standard library's context, as of Go 1.7 11 | 12 | // A Context carries a deadline, a cancelation signal, and other values across 13 | // API boundaries. 14 | // 15 | // Context's methods may be called by multiple goroutines simultaneously. 16 | type Context = context.Context 17 | 18 | // A CancelFunc tells an operation to abandon its work. 19 | // A CancelFunc does not wait for the work to stop. 20 | // After the first call, subsequent calls to a CancelFunc do nothing. 21 | type CancelFunc = context.CancelFunc 22 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/.gitignore: -------------------------------------------------------------------------------- 1 | _obj/ 2 | unix.test 3 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/aliases.go: -------------------------------------------------------------------------------- 1 | // Copyright 2018 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build (aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris || zos) && go1.9 6 | 7 | package unix 8 | 9 | import "syscall" 10 | 11 | type Signal = syscall.Signal 12 | type Errno = syscall.Errno 13 | type SysProcAttr = syscall.SysProcAttr 14 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/asm_aix_ppc64.s: -------------------------------------------------------------------------------- 1 | // Copyright 2018 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build gc 6 | 7 | #include "textflag.h" 8 | 9 | // 10 | // System calls for ppc64, AIX are implemented in runtime/syscall_aix.go 11 | // 12 | 13 | TEXT ·syscall6(SB),NOSPLIT,$0-88 14 | JMP syscall·syscall6(SB) 15 | 16 | TEXT ·rawSyscall6(SB),NOSPLIT,$0-88 17 | JMP syscall·rawSyscall6(SB) 18 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/asm_bsd_386.s: -------------------------------------------------------------------------------- 1 | // Copyright 2021 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build (freebsd || netbsd || openbsd) && gc 6 | 7 | #include "textflag.h" 8 | 9 | // System call support for 386 BSD 10 | 11 | // Just jump to package syscall's implementation for all these functions. 12 | // The runtime may know about them. 13 | 14 | TEXT ·Syscall(SB),NOSPLIT,$0-28 15 | JMP syscall·Syscall(SB) 16 | 17 | TEXT ·Syscall6(SB),NOSPLIT,$0-40 18 | JMP syscall·Syscall6(SB) 19 | 20 | TEXT ·Syscall9(SB),NOSPLIT,$0-52 21 | JMP syscall·Syscall9(SB) 22 | 23 | TEXT ·RawSyscall(SB),NOSPLIT,$0-28 24 | JMP syscall·RawSyscall(SB) 25 | 26 | TEXT ·RawSyscall6(SB),NOSPLIT,$0-40 27 | JMP syscall·RawSyscall6(SB) 28 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/asm_bsd_amd64.s: -------------------------------------------------------------------------------- 1 | // Copyright 2021 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build (darwin || dragonfly || freebsd || netbsd || openbsd) && gc 6 | 7 | #include "textflag.h" 8 | 9 | // System call support for AMD64 BSD 10 | 11 | // Just jump to package syscall's implementation for all these functions. 12 | // The runtime may know about them. 13 | 14 | TEXT ·Syscall(SB),NOSPLIT,$0-56 15 | JMP syscall·Syscall(SB) 16 | 17 | TEXT ·Syscall6(SB),NOSPLIT,$0-80 18 | JMP syscall·Syscall6(SB) 19 | 20 | TEXT ·Syscall9(SB),NOSPLIT,$0-104 21 | JMP syscall·Syscall9(SB) 22 | 23 | TEXT ·RawSyscall(SB),NOSPLIT,$0-56 24 | JMP syscall·RawSyscall(SB) 25 | 26 | TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 27 | JMP syscall·RawSyscall6(SB) 28 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/asm_bsd_arm.s: -------------------------------------------------------------------------------- 1 | // Copyright 2021 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build (freebsd || netbsd || openbsd) && gc 6 | 7 | #include "textflag.h" 8 | 9 | // System call support for ARM BSD 10 | 11 | // Just jump to package syscall's implementation for all these functions. 12 | // The runtime may know about them. 13 | 14 | TEXT ·Syscall(SB),NOSPLIT,$0-28 15 | B syscall·Syscall(SB) 16 | 17 | TEXT ·Syscall6(SB),NOSPLIT,$0-40 18 | B syscall·Syscall6(SB) 19 | 20 | TEXT ·Syscall9(SB),NOSPLIT,$0-52 21 | B syscall·Syscall9(SB) 22 | 23 | TEXT ·RawSyscall(SB),NOSPLIT,$0-28 24 | B syscall·RawSyscall(SB) 25 | 26 | TEXT ·RawSyscall6(SB),NOSPLIT,$0-40 27 | B syscall·RawSyscall6(SB) 28 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/asm_bsd_arm64.s: -------------------------------------------------------------------------------- 1 | // Copyright 2021 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build (darwin || freebsd || netbsd || openbsd) && gc 6 | 7 | #include "textflag.h" 8 | 9 | // System call support for ARM64 BSD 10 | 11 | // Just jump to package syscall's implementation for all these functions. 12 | // The runtime may know about them. 13 | 14 | TEXT ·Syscall(SB),NOSPLIT,$0-56 15 | JMP syscall·Syscall(SB) 16 | 17 | TEXT ·Syscall6(SB),NOSPLIT,$0-80 18 | JMP syscall·Syscall6(SB) 19 | 20 | TEXT ·Syscall9(SB),NOSPLIT,$0-104 21 | JMP syscall·Syscall9(SB) 22 | 23 | TEXT ·RawSyscall(SB),NOSPLIT,$0-56 24 | JMP syscall·RawSyscall(SB) 25 | 26 | TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 27 | JMP syscall·RawSyscall6(SB) 28 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/asm_bsd_ppc64.s: -------------------------------------------------------------------------------- 1 | // Copyright 2022 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build (darwin || freebsd || netbsd || openbsd) && gc 6 | 7 | #include "textflag.h" 8 | 9 | // 10 | // System call support for ppc64, BSD 11 | // 12 | 13 | // Just jump to package syscall's implementation for all these functions. 14 | // The runtime may know about them. 15 | 16 | TEXT ·Syscall(SB),NOSPLIT,$0-56 17 | JMP syscall·Syscall(SB) 18 | 19 | TEXT ·Syscall6(SB),NOSPLIT,$0-80 20 | JMP syscall·Syscall6(SB) 21 | 22 | TEXT ·Syscall9(SB),NOSPLIT,$0-104 23 | JMP syscall·Syscall9(SB) 24 | 25 | TEXT ·RawSyscall(SB),NOSPLIT,$0-56 26 | JMP syscall·RawSyscall(SB) 27 | 28 | TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 29 | JMP syscall·RawSyscall6(SB) 30 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/asm_bsd_riscv64.s: -------------------------------------------------------------------------------- 1 | // Copyright 2021 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build (darwin || freebsd || netbsd || openbsd) && gc 6 | 7 | #include "textflag.h" 8 | 9 | // System call support for RISCV64 BSD 10 | 11 | // Just jump to package syscall's implementation for all these functions. 12 | // The runtime may know about them. 13 | 14 | TEXT ·Syscall(SB),NOSPLIT,$0-56 15 | JMP syscall·Syscall(SB) 16 | 17 | TEXT ·Syscall6(SB),NOSPLIT,$0-80 18 | JMP syscall·Syscall6(SB) 19 | 20 | TEXT ·Syscall9(SB),NOSPLIT,$0-104 21 | JMP syscall·Syscall9(SB) 22 | 23 | TEXT ·RawSyscall(SB),NOSPLIT,$0-56 24 | JMP syscall·RawSyscall(SB) 25 | 26 | TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 27 | JMP syscall·RawSyscall6(SB) 28 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/asm_openbsd_mips64.s: -------------------------------------------------------------------------------- 1 | // Copyright 2019 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build gc 6 | 7 | #include "textflag.h" 8 | 9 | // 10 | // System call support for mips64, OpenBSD 11 | // 12 | 13 | // Just jump to package syscall's implementation for all these functions. 14 | // The runtime may know about them. 15 | 16 | TEXT ·Syscall(SB),NOSPLIT,$0-56 17 | JMP syscall·Syscall(SB) 18 | 19 | TEXT ·Syscall6(SB),NOSPLIT,$0-80 20 | JMP syscall·Syscall6(SB) 21 | 22 | TEXT ·Syscall9(SB),NOSPLIT,$0-104 23 | JMP syscall·Syscall9(SB) 24 | 25 | TEXT ·RawSyscall(SB),NOSPLIT,$0-56 26 | JMP syscall·RawSyscall(SB) 27 | 28 | TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 29 | JMP syscall·RawSyscall6(SB) 30 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/asm_solaris_amd64.s: -------------------------------------------------------------------------------- 1 | // Copyright 2014 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build gc 6 | 7 | #include "textflag.h" 8 | 9 | // 10 | // System calls for amd64, Solaris are implemented in runtime/syscall_solaris.go 11 | // 12 | 13 | TEXT ·sysvicall6(SB),NOSPLIT,$0-88 14 | JMP syscall·sysvicall6(SB) 15 | 16 | TEXT ·rawSysvicall6(SB),NOSPLIT,$0-88 17 | JMP syscall·rawSysvicall6(SB) 18 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/bluetooth_linux.go: -------------------------------------------------------------------------------- 1 | // Copyright 2016 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // Bluetooth sockets and messages 6 | 7 | package unix 8 | 9 | // Bluetooth Protocols 10 | const ( 11 | BTPROTO_L2CAP = 0 12 | BTPROTO_HCI = 1 13 | BTPROTO_SCO = 2 14 | BTPROTO_RFCOMM = 3 15 | BTPROTO_BNEP = 4 16 | BTPROTO_CMTP = 5 17 | BTPROTO_HIDP = 6 18 | BTPROTO_AVDTP = 7 19 | ) 20 | 21 | const ( 22 | HCI_CHANNEL_RAW = 0 23 | HCI_CHANNEL_USER = 1 24 | HCI_CHANNEL_MONITOR = 2 25 | HCI_CHANNEL_CONTROL = 3 26 | HCI_CHANNEL_LOGGING = 4 27 | ) 28 | 29 | // Socketoption Level 30 | const ( 31 | SOL_BLUETOOTH = 0x112 32 | SOL_HCI = 0x0 33 | SOL_L2CAP = 0x6 34 | SOL_RFCOMM = 0x12 35 | SOL_SCO = 0x11 36 | ) 37 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/constants.go: -------------------------------------------------------------------------------- 1 | // Copyright 2015 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris || zos 6 | 7 | package unix 8 | 9 | const ( 10 | R_OK = 0x4 11 | W_OK = 0x2 12 | X_OK = 0x1 13 | ) 14 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/dev_aix_ppc.go: -------------------------------------------------------------------------------- 1 | // Copyright 2018 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build aix && ppc 6 | 7 | // Functions to access/create device major and minor numbers matching the 8 | // encoding used by AIX. 9 | 10 | package unix 11 | 12 | // Major returns the major component of a Linux device number. 13 | func Major(dev uint64) uint32 { 14 | return uint32((dev >> 16) & 0xffff) 15 | } 16 | 17 | // Minor returns the minor component of a Linux device number. 18 | func Minor(dev uint64) uint32 { 19 | return uint32(dev & 0xffff) 20 | } 21 | 22 | // Mkdev returns a Linux device number generated from the given major and minor 23 | // components. 24 | func Mkdev(major, minor uint32) uint64 { 25 | return uint64(((major) << 16) | (minor)) 26 | } 27 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/dev_aix_ppc64.go: -------------------------------------------------------------------------------- 1 | // Copyright 2018 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build aix && ppc64 6 | 7 | // Functions to access/create device major and minor numbers matching the 8 | // encoding used AIX. 9 | 10 | package unix 11 | 12 | // Major returns the major component of a Linux device number. 13 | func Major(dev uint64) uint32 { 14 | return uint32((dev & 0x3fffffff00000000) >> 32) 15 | } 16 | 17 | // Minor returns the minor component of a Linux device number. 18 | func Minor(dev uint64) uint32 { 19 | return uint32((dev & 0x00000000ffffffff) >> 0) 20 | } 21 | 22 | // Mkdev returns a Linux device number generated from the given major and minor 23 | // components. 24 | func Mkdev(major, minor uint32) uint64 { 25 | var DEVNO64 uint64 26 | DEVNO64 = 0x8000000000000000 27 | return ((uint64(major) << 32) | (uint64(minor) & 0x00000000FFFFFFFF) | DEVNO64) 28 | } 29 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/dev_darwin.go: -------------------------------------------------------------------------------- 1 | // Copyright 2017 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // Functions to access/create device major and minor numbers matching the 6 | // encoding used in Darwin's sys/types.h header. 7 | 8 | package unix 9 | 10 | // Major returns the major component of a Darwin device number. 11 | func Major(dev uint64) uint32 { 12 | return uint32((dev >> 24) & 0xff) 13 | } 14 | 15 | // Minor returns the minor component of a Darwin device number. 16 | func Minor(dev uint64) uint32 { 17 | return uint32(dev & 0xffffff) 18 | } 19 | 20 | // Mkdev returns a Darwin device number generated from the given major and minor 21 | // components. 22 | func Mkdev(major, minor uint32) uint64 { 23 | return (uint64(major) << 24) | uint64(minor) 24 | } 25 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/dev_zos.go: -------------------------------------------------------------------------------- 1 | // Copyright 2020 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build zos && s390x 6 | 7 | // Functions to access/create device major and minor numbers matching the 8 | // encoding used by z/OS. 9 | // 10 | // The information below is extracted and adapted from macros. 11 | 12 | package unix 13 | 14 | // Major returns the major component of a z/OS device number. 15 | func Major(dev uint64) uint32 { 16 | return uint32((dev >> 16) & 0x0000FFFF) 17 | } 18 | 19 | // Minor returns the minor component of a z/OS device number. 20 | func Minor(dev uint64) uint32 { 21 | return uint32(dev & 0x0000FFFF) 22 | } 23 | 24 | // Mkdev returns a z/OS device number generated from the given major and minor 25 | // components. 26 | func Mkdev(major, minor uint32) uint64 { 27 | return (uint64(major) << 16) | uint64(minor) 28 | } 29 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/endian_big.go: -------------------------------------------------------------------------------- 1 | // Copyright 2016 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | // 5 | //go:build armbe || arm64be || m68k || mips || mips64 || mips64p32 || ppc || ppc64 || s390 || s390x || shbe || sparc || sparc64 6 | 7 | package unix 8 | 9 | const isBigEndian = true 10 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/endian_little.go: -------------------------------------------------------------------------------- 1 | // Copyright 2016 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | // 5 | //go:build 386 || amd64 || amd64p32 || alpha || arm || arm64 || loong64 || mipsle || mips64le || mips64p32le || nios2 || ppc64le || riscv || riscv64 || sh 6 | 7 | package unix 8 | 9 | const isBigEndian = false 10 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/env_unix.go: -------------------------------------------------------------------------------- 1 | // Copyright 2010 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris || zos 6 | 7 | // Unix environment variables. 8 | 9 | package unix 10 | 11 | import "syscall" 12 | 13 | func Getenv(key string) (value string, found bool) { 14 | return syscall.Getenv(key) 15 | } 16 | 17 | func Setenv(key, value string) error { 18 | return syscall.Setenv(key, value) 19 | } 20 | 21 | func Clearenv() { 22 | syscall.Clearenv() 23 | } 24 | 25 | func Environ() []string { 26 | return syscall.Environ() 27 | } 28 | 29 | func Unsetenv(key string) error { 30 | return syscall.Unsetenv(key) 31 | } 32 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/fcntl_darwin.go: -------------------------------------------------------------------------------- 1 | // Copyright 2019 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package unix 6 | 7 | import "unsafe" 8 | 9 | // FcntlInt performs a fcntl syscall on fd with the provided command and argument. 10 | func FcntlInt(fd uintptr, cmd, arg int) (int, error) { 11 | return fcntl(int(fd), cmd, arg) 12 | } 13 | 14 | // FcntlFlock performs a fcntl syscall for the F_GETLK, F_SETLK or F_SETLKW command. 15 | func FcntlFlock(fd uintptr, cmd int, lk *Flock_t) error { 16 | _, err := fcntl(int(fd), cmd, int(uintptr(unsafe.Pointer(lk)))) 17 | return err 18 | } 19 | 20 | // FcntlFstore performs a fcntl syscall for the F_PREALLOCATE command. 21 | func FcntlFstore(fd uintptr, cmd int, fstore *Fstore_t) error { 22 | _, err := fcntl(int(fd), cmd, int(uintptr(unsafe.Pointer(fstore)))) 23 | return err 24 | } 25 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/fcntl_linux_32bit.go: -------------------------------------------------------------------------------- 1 | // Copyright 2014 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build (linux && 386) || (linux && arm) || (linux && mips) || (linux && mipsle) || (linux && ppc) 6 | 7 | package unix 8 | 9 | func init() { 10 | // On 32-bit Linux systems, the fcntl syscall that matches Go's 11 | // Flock_t type is SYS_FCNTL64, not SYS_FCNTL. 12 | fcntl64Syscall = SYS_FCNTL64 13 | } 14 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/fdset.go: -------------------------------------------------------------------------------- 1 | // Copyright 2019 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris || zos 6 | 7 | package unix 8 | 9 | // Set adds fd to the set fds. 10 | func (fds *FdSet) Set(fd int) { 11 | fds.Bits[fd/NFDBITS] |= (1 << (uintptr(fd) % NFDBITS)) 12 | } 13 | 14 | // Clear removes fd from the set fds. 15 | func (fds *FdSet) Clear(fd int) { 16 | fds.Bits[fd/NFDBITS] &^= (1 << (uintptr(fd) % NFDBITS)) 17 | } 18 | 19 | // IsSet returns whether fd is in the set fds. 20 | func (fds *FdSet) IsSet(fd int) bool { 21 | return fds.Bits[fd/NFDBITS]&(1<<(uintptr(fd)%NFDBITS)) != 0 22 | } 23 | 24 | // Zero clears the set fds. 25 | func (fds *FdSet) Zero() { 26 | for i := range fds.Bits { 27 | fds.Bits[i] = 0 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/gccgo_linux_amd64.go: -------------------------------------------------------------------------------- 1 | // Copyright 2015 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build gccgo && linux && amd64 6 | 7 | package unix 8 | 9 | import "syscall" 10 | 11 | //extern gettimeofday 12 | func realGettimeofday(*Timeval, *byte) int32 13 | 14 | func gettimeofday(tv *Timeval) (err syscall.Errno) { 15 | r := realGettimeofday(tv, nil) 16 | if r < 0 { 17 | return syscall.GetErrno() 18 | } 19 | return 0 20 | } 21 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/mmap_nomremap.go: -------------------------------------------------------------------------------- 1 | // Copyright 2023 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build aix || darwin || dragonfly || freebsd || openbsd || solaris 6 | 7 | package unix 8 | 9 | var mapper = &mmapper{ 10 | active: make(map[*byte][]byte), 11 | mmap: mmap, 12 | munmap: munmap, 13 | } 14 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/pagesize_unix.go: -------------------------------------------------------------------------------- 1 | // Copyright 2017 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris 6 | 7 | // For Unix, get the pagesize from the runtime. 8 | 9 | package unix 10 | 11 | import "syscall" 12 | 13 | func Getpagesize() int { 14 | return syscall.Getpagesize() 15 | } 16 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/ptrace_darwin.go: -------------------------------------------------------------------------------- 1 | // Copyright 2020 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build darwin && !ios 6 | 7 | package unix 8 | 9 | func ptrace(request int, pid int, addr uintptr, data uintptr) error { 10 | return ptrace1(request, pid, addr, data) 11 | } 12 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/ptrace_ios.go: -------------------------------------------------------------------------------- 1 | // Copyright 2020 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build ios 6 | 7 | package unix 8 | 9 | func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) { 10 | return ENOTSUP 11 | } 12 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/race.go: -------------------------------------------------------------------------------- 1 | // Copyright 2012 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build (darwin && race) || (linux && race) || (freebsd && race) 6 | 7 | package unix 8 | 9 | import ( 10 | "runtime" 11 | "unsafe" 12 | ) 13 | 14 | const raceenabled = true 15 | 16 | func raceAcquire(addr unsafe.Pointer) { 17 | runtime.RaceAcquire(addr) 18 | } 19 | 20 | func raceReleaseMerge(addr unsafe.Pointer) { 21 | runtime.RaceReleaseMerge(addr) 22 | } 23 | 24 | func raceReadRange(addr unsafe.Pointer, len int) { 25 | runtime.RaceReadRange(addr, len) 26 | } 27 | 28 | func raceWriteRange(addr unsafe.Pointer, len int) { 29 | runtime.RaceWriteRange(addr, len) 30 | } 31 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/race0.go: -------------------------------------------------------------------------------- 1 | // Copyright 2012 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build aix || (darwin && !race) || (linux && !race) || (freebsd && !race) || netbsd || openbsd || solaris || dragonfly || zos 6 | 7 | package unix 8 | 9 | import ( 10 | "unsafe" 11 | ) 12 | 13 | const raceenabled = false 14 | 15 | func raceAcquire(addr unsafe.Pointer) { 16 | } 17 | 18 | func raceReleaseMerge(addr unsafe.Pointer) { 19 | } 20 | 21 | func raceReadRange(addr unsafe.Pointer, len int) { 22 | } 23 | 24 | func raceWriteRange(addr unsafe.Pointer, len int) { 25 | } 26 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/readdirent_getdents.go: -------------------------------------------------------------------------------- 1 | // Copyright 2019 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build aix || dragonfly || freebsd || linux || netbsd || openbsd 6 | 7 | package unix 8 | 9 | // ReadDirent reads directory entries from fd and writes them into buf. 10 | func ReadDirent(fd int, buf []byte) (n int, err error) { 11 | return Getdents(fd, buf) 12 | } 13 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/readdirent_getdirentries.go: -------------------------------------------------------------------------------- 1 | // Copyright 2019 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build darwin 6 | 7 | package unix 8 | 9 | import "unsafe" 10 | 11 | // ReadDirent reads directory entries from fd and writes them into buf. 12 | func ReadDirent(fd int, buf []byte) (n int, err error) { 13 | // Final argument is (basep *uintptr) and the syscall doesn't take nil. 14 | // 64 bits should be enough. (32 bits isn't even on 386). Since the 15 | // actual system call is getdirentries64, 64 is a good guess. 16 | // TODO(rsc): Can we use a single global basep for all calls? 17 | var base = (*uintptr)(unsafe.Pointer(new(uint64))) 18 | return Getdirentries(fd, buf, base) 19 | } 20 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/sockcmsg_dragonfly.go: -------------------------------------------------------------------------------- 1 | // Copyright 2019 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package unix 6 | 7 | // Round the length of a raw sockaddr up to align it properly. 8 | func cmsgAlignOf(salen int) int { 9 | salign := SizeofPtr 10 | if SizeofPtr == 8 && !supportsABI(_dragonflyABIChangeVersion) { 11 | // 64-bit Dragonfly before the September 2019 ABI changes still requires 12 | // 32-bit aligned access to network subsystem. 13 | salign = 4 14 | } 15 | return (salen + salign - 1) & ^(salign - 1) 16 | } 17 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/syscall_hurd.go: -------------------------------------------------------------------------------- 1 | // Copyright 2022 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build hurd 6 | 7 | package unix 8 | 9 | /* 10 | #include 11 | int ioctl(int, unsigned long int, uintptr_t); 12 | */ 13 | import "C" 14 | 15 | func ioctl(fd int, req uint, arg uintptr) (err error) { 16 | r0, er := C.ioctl(C.int(fd), C.ulong(req), C.uintptr_t(arg)) 17 | if r0 == -1 && er != nil { 18 | err = er 19 | } 20 | return 21 | } 22 | 23 | func ioctlPtr(fd int, req uint, arg unsafe.Pointer) (err error) { 24 | r0, er := C.ioctl(C.int(fd), C.ulong(req), C.uintptr_t(uintptr(arg))) 25 | if r0 == -1 && er != nil { 26 | err = er 27 | } 28 | return 29 | } 30 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/syscall_hurd_386.go: -------------------------------------------------------------------------------- 1 | // Copyright 2022 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build 386 && hurd 6 | 7 | package unix 8 | 9 | const ( 10 | TIOCGETA = 0x62251713 11 | ) 12 | 13 | type Winsize struct { 14 | Row uint16 15 | Col uint16 16 | Xpixel uint16 17 | Ypixel uint16 18 | } 19 | 20 | type Termios struct { 21 | Iflag uint32 22 | Oflag uint32 23 | Cflag uint32 24 | Lflag uint32 25 | Cc [20]uint8 26 | Ispeed int32 27 | Ospeed int32 28 | } 29 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/syscall_linux_alarm.go: -------------------------------------------------------------------------------- 1 | // Copyright 2022 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build linux && (386 || amd64 || mips || mipsle || mips64 || mipsle || ppc64 || ppc64le || ppc || s390x || sparc64) 6 | 7 | package unix 8 | 9 | // SYS_ALARM is not defined on arm or riscv, but is available for other GOARCH 10 | // values. 11 | 12 | //sys Alarm(seconds uint) (remaining uint, err error) 13 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/syscall_linux_amd64_gc.go: -------------------------------------------------------------------------------- 1 | // Copyright 2016 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build amd64 && linux && gc 6 | 7 | package unix 8 | 9 | import "syscall" 10 | 11 | //go:noescape 12 | func gettimeofday(tv *Timeval) (err syscall.Errno) 13 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/syscall_linux_gc.go: -------------------------------------------------------------------------------- 1 | // Copyright 2018 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build linux && gc 6 | 7 | package unix 8 | 9 | // SyscallNoError may be used instead of Syscall for syscalls that don't fail. 10 | func SyscallNoError(trap, a1, a2, a3 uintptr) (r1, r2 uintptr) 11 | 12 | // RawSyscallNoError may be used instead of RawSyscall for syscalls that don't 13 | // fail. 14 | func RawSyscallNoError(trap, a1, a2, a3 uintptr) (r1, r2 uintptr) 15 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/syscall_linux_gc_386.go: -------------------------------------------------------------------------------- 1 | // Copyright 2018 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build linux && gc && 386 6 | 7 | package unix 8 | 9 | import "syscall" 10 | 11 | // Underlying system call writes to newoffset via pointer. 12 | // Implemented in assembly to avoid allocation. 13 | func seek(fd int, offset int64, whence int) (newoffset int64, err syscall.Errno) 14 | 15 | func socketcall(call int, a0, a1, a2, a3, a4, a5 uintptr) (n int, err syscall.Errno) 16 | func rawsocketcall(call int, a0, a1, a2, a3, a4, a5 uintptr) (n int, err syscall.Errno) 17 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/syscall_linux_gc_arm.go: -------------------------------------------------------------------------------- 1 | // Copyright 2009 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build arm && gc && linux 6 | 7 | package unix 8 | 9 | import "syscall" 10 | 11 | // Underlying system call writes to newoffset via pointer. 12 | // Implemented in assembly to avoid allocation. 13 | func seek(fd int, offset int64, whence int) (newoffset int64, err syscall.Errno) 14 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/syscall_linux_gccgo_arm.go: -------------------------------------------------------------------------------- 1 | // Copyright 2018 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build linux && gccgo && arm 6 | 7 | package unix 8 | 9 | import ( 10 | "syscall" 11 | "unsafe" 12 | ) 13 | 14 | func seek(fd int, offset int64, whence int) (int64, syscall.Errno) { 15 | var newoffset int64 16 | offsetLow := uint32(offset & 0xffffffff) 17 | offsetHigh := uint32((offset >> 32) & 0xffffffff) 18 | _, _, err := Syscall6(SYS__LLSEEK, uintptr(fd), uintptr(offsetHigh), uintptr(offsetLow), uintptr(unsafe.Pointer(&newoffset)), uintptr(whence), 0) 19 | return newoffset, err 20 | } 21 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/syscall_netbsd_386.go: -------------------------------------------------------------------------------- 1 | // Copyright 2009 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build 386 && netbsd 6 | 7 | package unix 8 | 9 | func setTimespec(sec, nsec int64) Timespec { 10 | return Timespec{Sec: sec, Nsec: int32(nsec)} 11 | } 12 | 13 | func setTimeval(sec, usec int64) Timeval { 14 | return Timeval{Sec: sec, Usec: int32(usec)} 15 | } 16 | 17 | func SetKevent(k *Kevent_t, fd, mode, flags int) { 18 | k.Ident = uint32(fd) 19 | k.Filter = uint32(mode) 20 | k.Flags = uint32(flags) 21 | } 22 | 23 | func (iov *Iovec) SetLen(length int) { 24 | iov.Len = uint32(length) 25 | } 26 | 27 | func (msghdr *Msghdr) SetControllen(length int) { 28 | msghdr.Controllen = uint32(length) 29 | } 30 | 31 | func (msghdr *Msghdr) SetIovlen(length int) { 32 | msghdr.Iovlen = int32(length) 33 | } 34 | 35 | func (cmsg *Cmsghdr) SetLen(length int) { 36 | cmsg.Len = uint32(length) 37 | } 38 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/syscall_netbsd_amd64.go: -------------------------------------------------------------------------------- 1 | // Copyright 2009 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build amd64 && netbsd 6 | 7 | package unix 8 | 9 | func setTimespec(sec, nsec int64) Timespec { 10 | return Timespec{Sec: sec, Nsec: nsec} 11 | } 12 | 13 | func setTimeval(sec, usec int64) Timeval { 14 | return Timeval{Sec: sec, Usec: int32(usec)} 15 | } 16 | 17 | func SetKevent(k *Kevent_t, fd, mode, flags int) { 18 | k.Ident = uint64(fd) 19 | k.Filter = uint32(mode) 20 | k.Flags = uint32(flags) 21 | } 22 | 23 | func (iov *Iovec) SetLen(length int) { 24 | iov.Len = uint64(length) 25 | } 26 | 27 | func (msghdr *Msghdr) SetControllen(length int) { 28 | msghdr.Controllen = uint32(length) 29 | } 30 | 31 | func (msghdr *Msghdr) SetIovlen(length int) { 32 | msghdr.Iovlen = int32(length) 33 | } 34 | 35 | func (cmsg *Cmsghdr) SetLen(length int) { 36 | cmsg.Len = uint32(length) 37 | } 38 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/syscall_netbsd_arm.go: -------------------------------------------------------------------------------- 1 | // Copyright 2013 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build arm && netbsd 6 | 7 | package unix 8 | 9 | func setTimespec(sec, nsec int64) Timespec { 10 | return Timespec{Sec: sec, Nsec: int32(nsec)} 11 | } 12 | 13 | func setTimeval(sec, usec int64) Timeval { 14 | return Timeval{Sec: sec, Usec: int32(usec)} 15 | } 16 | 17 | func SetKevent(k *Kevent_t, fd, mode, flags int) { 18 | k.Ident = uint32(fd) 19 | k.Filter = uint32(mode) 20 | k.Flags = uint32(flags) 21 | } 22 | 23 | func (iov *Iovec) SetLen(length int) { 24 | iov.Len = uint32(length) 25 | } 26 | 27 | func (msghdr *Msghdr) SetControllen(length int) { 28 | msghdr.Controllen = uint32(length) 29 | } 30 | 31 | func (msghdr *Msghdr) SetIovlen(length int) { 32 | msghdr.Iovlen = int32(length) 33 | } 34 | 35 | func (cmsg *Cmsghdr) SetLen(length int) { 36 | cmsg.Len = uint32(length) 37 | } 38 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/syscall_netbsd_arm64.go: -------------------------------------------------------------------------------- 1 | // Copyright 2019 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build arm64 && netbsd 6 | 7 | package unix 8 | 9 | func setTimespec(sec, nsec int64) Timespec { 10 | return Timespec{Sec: sec, Nsec: nsec} 11 | } 12 | 13 | func setTimeval(sec, usec int64) Timeval { 14 | return Timeval{Sec: sec, Usec: int32(usec)} 15 | } 16 | 17 | func SetKevent(k *Kevent_t, fd, mode, flags int) { 18 | k.Ident = uint64(fd) 19 | k.Filter = uint32(mode) 20 | k.Flags = uint32(flags) 21 | } 22 | 23 | func (iov *Iovec) SetLen(length int) { 24 | iov.Len = uint64(length) 25 | } 26 | 27 | func (msghdr *Msghdr) SetControllen(length int) { 28 | msghdr.Controllen = uint32(length) 29 | } 30 | 31 | func (msghdr *Msghdr) SetIovlen(length int) { 32 | msghdr.Iovlen = int32(length) 33 | } 34 | 35 | func (cmsg *Cmsghdr) SetLen(length int) { 36 | cmsg.Len = uint32(length) 37 | } 38 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/syscall_solaris_amd64.go: -------------------------------------------------------------------------------- 1 | // Copyright 2009 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build amd64 && solaris 6 | 7 | package unix 8 | 9 | func setTimespec(sec, nsec int64) Timespec { 10 | return Timespec{Sec: sec, Nsec: nsec} 11 | } 12 | 13 | func setTimeval(sec, usec int64) Timeval { 14 | return Timeval{Sec: sec, Usec: usec} 15 | } 16 | 17 | func (iov *Iovec) SetLen(length int) { 18 | iov.Len = uint64(length) 19 | } 20 | 21 | func (msghdr *Msghdr) SetIovlen(length int) { 22 | msghdr.Iovlen = int32(length) 23 | } 24 | 25 | func (cmsg *Cmsghdr) SetLen(length int) { 26 | cmsg.Len = uint32(length) 27 | } 28 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/syscall_unix_gc.go: -------------------------------------------------------------------------------- 1 | // Copyright 2016 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build (darwin || dragonfly || freebsd || (linux && !ppc64 && !ppc64le) || netbsd || openbsd || solaris) && gc 6 | 7 | package unix 8 | 9 | import "syscall" 10 | 11 | func Syscall(trap, a1, a2, a3 uintptr) (r1, r2 uintptr, err syscall.Errno) 12 | func Syscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err syscall.Errno) 13 | func RawSyscall(trap, a1, a2, a3 uintptr) (r1, r2 uintptr, err syscall.Errno) 14 | func RawSyscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err syscall.Errno) 15 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/syscall_unix_gc_ppc64x.go: -------------------------------------------------------------------------------- 1 | // Copyright 2018 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build linux && (ppc64le || ppc64) && gc 6 | 7 | package unix 8 | 9 | import "syscall" 10 | 11 | func Syscall(trap, a1, a2, a3 uintptr) (r1, r2 uintptr, err syscall.Errno) { 12 | return syscall.Syscall(trap, a1, a2, a3) 13 | } 14 | func Syscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err syscall.Errno) { 15 | return syscall.Syscall6(trap, a1, a2, a3, a4, a5, a6) 16 | } 17 | func RawSyscall(trap, a1, a2, a3 uintptr) (r1, r2 uintptr, err syscall.Errno) { 18 | return syscall.RawSyscall(trap, a1, a2, a3) 19 | } 20 | func RawSyscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err syscall.Errno) { 21 | return syscall.RawSyscall6(trap, a1, a2, a3, a4, a5, a6) 22 | } 23 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/sysvshm_linux.go: -------------------------------------------------------------------------------- 1 | // Copyright 2021 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build linux 6 | 7 | package unix 8 | 9 | import "runtime" 10 | 11 | // SysvShmCtl performs control operations on the shared memory segment 12 | // specified by id. 13 | func SysvShmCtl(id, cmd int, desc *SysvShmDesc) (result int, err error) { 14 | if runtime.GOARCH == "arm" || 15 | runtime.GOARCH == "mips64" || runtime.GOARCH == "mips64le" { 16 | cmd |= ipc_64 17 | } 18 | 19 | return shmctl(id, cmd, desc) 20 | } 21 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/sysvshm_unix_other.go: -------------------------------------------------------------------------------- 1 | // Copyright 2021 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build darwin && !ios 6 | 7 | package unix 8 | 9 | // SysvShmCtl performs control operations on the shared memory segment 10 | // specified by id. 11 | func SysvShmCtl(id, cmd int, desc *SysvShmDesc) (result int, err error) { 12 | return shmctl(id, cmd, desc) 13 | } 14 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/zptrace_linux_arm64.go: -------------------------------------------------------------------------------- 1 | // Code generated by linux/mkall.go generatePtraceRegSet("arm64"). DO NOT EDIT. 2 | 3 | package unix 4 | 5 | import "unsafe" 6 | 7 | // PtraceGetRegSetArm64 fetches the registers used by arm64 binaries. 8 | func PtraceGetRegSetArm64(pid, addr int, regsout *PtraceRegsArm64) error { 9 | iovec := Iovec{(*byte)(unsafe.Pointer(regsout)), uint64(unsafe.Sizeof(*regsout))} 10 | return ptracePtr(PTRACE_GETREGSET, pid, uintptr(addr), unsafe.Pointer(&iovec)) 11 | } 12 | 13 | // PtraceSetRegSetArm64 sets the registers used by arm64 binaries. 14 | func PtraceSetRegSetArm64(pid, addr int, regs *PtraceRegsArm64) error { 15 | iovec := Iovec{(*byte)(unsafe.Pointer(regs)), uint64(unsafe.Sizeof(*regs))} 16 | return ptracePtr(PTRACE_SETREGSET, pid, uintptr(addr), unsafe.Pointer(&iovec)) 17 | } 18 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/windows/aliases.go: -------------------------------------------------------------------------------- 1 | // Copyright 2018 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build windows && go1.9 6 | 7 | package windows 8 | 9 | import "syscall" 10 | 11 | type Errno = syscall.Errno 12 | type SysProcAttr = syscall.SysProcAttr 13 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/windows/empty.s: -------------------------------------------------------------------------------- 1 | // Copyright 2019 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build !go1.12 6 | 7 | // This file is here to allow bodyless functions with go:linkname for Go 1.11 8 | // and earlier (see https://golang.org/issue/23311). 9 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/windows/eventlog.go: -------------------------------------------------------------------------------- 1 | // Copyright 2012 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build windows 6 | 7 | package windows 8 | 9 | const ( 10 | EVENTLOG_SUCCESS = 0 11 | EVENTLOG_ERROR_TYPE = 1 12 | EVENTLOG_WARNING_TYPE = 2 13 | EVENTLOG_INFORMATION_TYPE = 4 14 | EVENTLOG_AUDIT_SUCCESS = 8 15 | EVENTLOG_AUDIT_FAILURE = 16 16 | ) 17 | 18 | //sys RegisterEventSource(uncServerName *uint16, sourceName *uint16) (handle Handle, err error) [failretval==0] = advapi32.RegisterEventSourceW 19 | //sys DeregisterEventSource(handle Handle) (err error) = advapi32.DeregisterEventSource 20 | //sys ReportEvent(log Handle, etype uint16, category uint16, eventId uint32, usrSId uintptr, numStrings uint16, dataSize uint32, strings **uint16, rawData *byte) (err error) = advapi32.ReportEventW 21 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/windows/mksyscall.go: -------------------------------------------------------------------------------- 1 | // Copyright 2009 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build generate 6 | 7 | package windows 8 | 9 | //go:generate go run golang.org/x/sys/windows/mkwinsyscall -output zsyscall_windows.go eventlog.go service.go syscall_windows.go security_windows.go setupapi_windows.go 10 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/windows/race.go: -------------------------------------------------------------------------------- 1 | // Copyright 2012 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build windows && race 6 | 7 | package windows 8 | 9 | import ( 10 | "runtime" 11 | "unsafe" 12 | ) 13 | 14 | const raceenabled = true 15 | 16 | func raceAcquire(addr unsafe.Pointer) { 17 | runtime.RaceAcquire(addr) 18 | } 19 | 20 | func raceReleaseMerge(addr unsafe.Pointer) { 21 | runtime.RaceReleaseMerge(addr) 22 | } 23 | 24 | func raceReadRange(addr unsafe.Pointer, len int) { 25 | runtime.RaceReadRange(addr, len) 26 | } 27 | 28 | func raceWriteRange(addr unsafe.Pointer, len int) { 29 | runtime.RaceWriteRange(addr, len) 30 | } 31 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/windows/race0.go: -------------------------------------------------------------------------------- 1 | // Copyright 2012 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build windows && !race 6 | 7 | package windows 8 | 9 | import ( 10 | "unsafe" 11 | ) 12 | 13 | const raceenabled = false 14 | 15 | func raceAcquire(addr unsafe.Pointer) { 16 | } 17 | 18 | func raceReleaseMerge(addr unsafe.Pointer) { 19 | } 20 | 21 | func raceReadRange(addr unsafe.Pointer, len int) { 22 | } 23 | 24 | func raceWriteRange(addr unsafe.Pointer, len int) { 25 | } 26 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/windows/str.go: -------------------------------------------------------------------------------- 1 | // Copyright 2009 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build windows 6 | 7 | package windows 8 | 9 | func itoa(val int) string { // do it here rather than with fmt to avoid dependency 10 | if val < 0 { 11 | return "-" + itoa(-val) 12 | } 13 | var buf [32]byte // big enough for int64 14 | i := len(buf) - 1 15 | for val >= 10 { 16 | buf[i] = byte(val%10 + '0') 17 | i-- 18 | val /= 10 19 | } 20 | buf[i] = byte(val + '0') 21 | return string(buf[i:]) 22 | } 23 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/windows/types_windows_amd64.go: -------------------------------------------------------------------------------- 1 | // Copyright 2011 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package windows 6 | 7 | type WSAData struct { 8 | Version uint16 9 | HighVersion uint16 10 | MaxSockets uint16 11 | MaxUdpDg uint16 12 | VendorInfo *byte 13 | Description [WSADESCRIPTION_LEN + 1]byte 14 | SystemStatus [WSASYS_STATUS_LEN + 1]byte 15 | } 16 | 17 | type Servent struct { 18 | Name *byte 19 | Aliases **byte 20 | Proto *byte 21 | Port uint16 22 | } 23 | 24 | type JOBOBJECT_BASIC_LIMIT_INFORMATION struct { 25 | PerProcessUserTimeLimit int64 26 | PerJobUserTimeLimit int64 27 | LimitFlags uint32 28 | MinimumWorkingSetSize uintptr 29 | MaximumWorkingSetSize uintptr 30 | ActiveProcessLimit uint32 31 | Affinity uintptr 32 | PriorityClass uint32 33 | SchedulingClass uint32 34 | } 35 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/windows/types_windows_arm64.go: -------------------------------------------------------------------------------- 1 | // Copyright 2011 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package windows 6 | 7 | type WSAData struct { 8 | Version uint16 9 | HighVersion uint16 10 | MaxSockets uint16 11 | MaxUdpDg uint16 12 | VendorInfo *byte 13 | Description [WSADESCRIPTION_LEN + 1]byte 14 | SystemStatus [WSASYS_STATUS_LEN + 1]byte 15 | } 16 | 17 | type Servent struct { 18 | Name *byte 19 | Aliases **byte 20 | Proto *byte 21 | Port uint16 22 | } 23 | 24 | type JOBOBJECT_BASIC_LIMIT_INFORMATION struct { 25 | PerProcessUserTimeLimit int64 26 | PerJobUserTimeLimit int64 27 | LimitFlags uint32 28 | MinimumWorkingSetSize uintptr 29 | MaximumWorkingSetSize uintptr 30 | ActiveProcessLimit uint32 31 | Affinity uintptr 32 | PriorityClass uint32 33 | SchedulingClass uint32 34 | } 35 | -------------------------------------------------------------------------------- /vendor/golang.org/x/text/encoding/japanese/all.go: -------------------------------------------------------------------------------- 1 | // Copyright 2015 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package japanese 6 | 7 | import ( 8 | "golang.org/x/text/encoding" 9 | ) 10 | 11 | // All is a list of all defined encodings in this package. 12 | var All = []encoding.Encoding{EUCJP, ISO2022JP, ShiftJIS} 13 | -------------------------------------------------------------------------------- /vendor/golang.org/x/text/encoding/simplifiedchinese/all.go: -------------------------------------------------------------------------------- 1 | // Copyright 2015 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package simplifiedchinese 6 | 7 | import ( 8 | "golang.org/x/text/encoding" 9 | ) 10 | 11 | // All is a list of all defined encodings in this package. 12 | var All = []encoding.Encoding{GB18030, GBK, HZGB2312} 13 | -------------------------------------------------------------------------------- /vendor/golang.org/x/text/internal/language/common.go: -------------------------------------------------------------------------------- 1 | // Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT. 2 | 3 | package language 4 | 5 | // This file contains code common to the maketables.go and the package code. 6 | 7 | // AliasType is the type of an alias in AliasMap. 8 | type AliasType int8 9 | 10 | const ( 11 | Deprecated AliasType = iota 12 | Macro 13 | Legacy 14 | 15 | AliasTypeUnknown AliasType = -1 16 | ) 17 | -------------------------------------------------------------------------------- /vendor/golang.org/x/text/internal/language/compact.go: -------------------------------------------------------------------------------- 1 | // Copyright 2018 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package language 6 | 7 | // CompactCoreInfo is a compact integer with the three core tags encoded. 8 | type CompactCoreInfo uint32 9 | 10 | // GetCompactCore generates a uint32 value that is guaranteed to be unique for 11 | // different language, region, and script values. 12 | func GetCompactCore(t Tag) (cci CompactCoreInfo, ok bool) { 13 | if t.LangID > langNoIndexOffset { 14 | return 0, false 15 | } 16 | cci |= CompactCoreInfo(t.LangID) << (8 + 12) 17 | cci |= CompactCoreInfo(t.ScriptID) << 12 18 | cci |= CompactCoreInfo(t.RegionID) 19 | return cci, true 20 | } 21 | 22 | // Tag generates a tag from c. 23 | func (c CompactCoreInfo) Tag() Tag { 24 | return Tag{ 25 | LangID: Language(c >> 20), 26 | RegionID: Region(c & 0x3ff), 27 | ScriptID: Script(c>>12) & 0xff, 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /vendor/golang.org/x/text/internal/language/coverage.go: -------------------------------------------------------------------------------- 1 | // Copyright 2014 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package language 6 | 7 | // BaseLanguages returns the list of all supported base languages. It generates 8 | // the list by traversing the internal structures. 9 | func BaseLanguages() []Language { 10 | base := make([]Language, 0, NumLanguages) 11 | for i := 0; i < langNoIndexOffset; i++ { 12 | // We included "und" already for the value 0. 13 | if i != nonCanonicalUnd { 14 | base = append(base, Language(i)) 15 | } 16 | } 17 | i := langNoIndexOffset 18 | for _, v := range langNoIndex { 19 | for k := 0; k < 8; k++ { 20 | if v&1 == 1 { 21 | base = append(base, Language(i)) 22 | } 23 | v >>= 1 24 | i++ 25 | } 26 | } 27 | return base 28 | } 29 | -------------------------------------------------------------------------------- /vendor/golang.org/x/text/secure/bidirule/bidirule10.0.0.go: -------------------------------------------------------------------------------- 1 | // Copyright 2016 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build go1.10 6 | 7 | package bidirule 8 | 9 | func (t *Transformer) isFinal() bool { 10 | return t.state == ruleLTRFinal || t.state == ruleRTLFinal || t.state == ruleInitial 11 | } 12 | -------------------------------------------------------------------------------- /vendor/golang.org/x/text/secure/bidirule/bidirule9.0.0.go: -------------------------------------------------------------------------------- 1 | // Copyright 2016 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build !go1.10 6 | 7 | package bidirule 8 | 9 | func (t *Transformer) isFinal() bool { 10 | if !t.isRTL() { 11 | return true 12 | } 13 | return t.state == ruleLTRFinal || t.state == ruleRTLFinal || t.state == ruleInitial 14 | } 15 | -------------------------------------------------------------------------------- /vendor/golang.org/x/text/secure/precis/doc.go: -------------------------------------------------------------------------------- 1 | // Copyright 2015 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // Package precis contains types and functions for the preparation, 6 | // enforcement, and comparison of internationalized strings ("PRECIS") as 7 | // defined in RFC 8264. It also contains several pre-defined profiles for 8 | // passwords, nicknames, and usernames as defined in RFC 8265 and RFC 8266. 9 | // 10 | // BE ADVISED: This package is under construction and the API may change in 11 | // backwards incompatible ways and without notice. 12 | package precis // import "golang.org/x/text/secure/precis" 13 | 14 | //go:generate go run gen.go gen_trieval.go 15 | -------------------------------------------------------------------------------- /vendor/golang.org/x/text/width/kind_string.go: -------------------------------------------------------------------------------- 1 | // Code generated by "stringer -type=Kind"; DO NOT EDIT. 2 | 3 | package width 4 | 5 | import "strconv" 6 | 7 | func _() { 8 | // An "invalid array index" compiler error signifies that the constant values have changed. 9 | // Re-run the stringer command to generate them again. 10 | var x [1]struct{} 11 | _ = x[Neutral-0] 12 | _ = x[EastAsianAmbiguous-1] 13 | _ = x[EastAsianWide-2] 14 | _ = x[EastAsianNarrow-3] 15 | _ = x[EastAsianFullwidth-4] 16 | _ = x[EastAsianHalfwidth-5] 17 | } 18 | 19 | const _Kind_name = "NeutralEastAsianAmbiguousEastAsianWideEastAsianNarrowEastAsianFullwidthEastAsianHalfwidth" 20 | 21 | var _Kind_index = [...]uint8{0, 7, 25, 38, 53, 71, 89} 22 | 23 | func (i Kind) String() string { 24 | if i < 0 || i >= Kind(len(_Kind_index)-1) { 25 | return "Kind(" + strconv.FormatInt(int64(i), 10) + ")" 26 | } 27 | return _Kind_name[_Kind_index[i]:_Kind_index[i+1]] 28 | } 29 | -------------------------------------------------------------------------------- /vendor/golang.org/x/text/width/trieval.go: -------------------------------------------------------------------------------- 1 | // Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT. 2 | 3 | package width 4 | 5 | // elem is an entry of the width trie. The high byte is used to encode the type 6 | // of the rune. The low byte is used to store the index to a mapping entry in 7 | // the inverseData array. 8 | type elem uint16 9 | 10 | const ( 11 | tagNeutral elem = iota << typeShift 12 | tagAmbiguous 13 | tagWide 14 | tagNarrow 15 | tagFullwidth 16 | tagHalfwidth 17 | ) 18 | 19 | const ( 20 | numTypeBits = 3 21 | typeShift = 16 - numTypeBits 22 | 23 | // tagNeedsFold is true for all fullwidth and halfwidth runes except for 24 | // the Won sign U+20A9. 25 | tagNeedsFold = 0x1000 26 | 27 | // The Korean Won sign is halfwidth, but SHOULD NOT be mapped to a wide 28 | // variant. 29 | wonSign rune = 0x20A9 30 | ) 31 | -------------------------------------------------------------------------------- /vendor/google.golang.org/appengine/internal/app_id.go: -------------------------------------------------------------------------------- 1 | // Copyright 2011 Google Inc. All rights reserved. 2 | // Use of this source code is governed by the Apache 2.0 3 | // license that can be found in the LICENSE file. 4 | 5 | package internal 6 | 7 | import ( 8 | "strings" 9 | ) 10 | 11 | func parseFullAppID(appid string) (partition, domain, displayID string) { 12 | if i := strings.Index(appid, "~"); i != -1 { 13 | partition, appid = appid[:i], appid[i+1:] 14 | } 15 | if i := strings.Index(appid, ":"); i != -1 { 16 | domain, appid = appid[:i], appid[i+1:] 17 | } 18 | return partition, domain, appid 19 | } 20 | 21 | // appID returns "appid" or "domain.com:appid". 22 | func appID(fullAppID string) string { 23 | _, dom, dis := parseFullAppID(fullAppID) 24 | if dom != "" { 25 | return dom + ":" + dis 26 | } 27 | return dis 28 | } 29 | -------------------------------------------------------------------------------- /vendor/google.golang.org/appengine/internal/base/api_base.proto: -------------------------------------------------------------------------------- 1 | // Built-in base types for API calls. Primarily useful as return types. 2 | 3 | syntax = "proto2"; 4 | option go_package = "base"; 5 | 6 | package appengine.base; 7 | 8 | message StringProto { 9 | required string value = 1; 10 | } 11 | 12 | message Integer32Proto { 13 | required int32 value = 1; 14 | } 15 | 16 | message Integer64Proto { 17 | required int64 value = 1; 18 | } 19 | 20 | message BoolProto { 21 | required bool value = 1; 22 | } 23 | 24 | message DoubleProto { 25 | required double value = 1; 26 | } 27 | 28 | message BytesProto { 29 | required bytes value = 1 [ctype=CORD]; 30 | } 31 | 32 | message VoidProto { 33 | } 34 | -------------------------------------------------------------------------------- /vendor/google.golang.org/appengine/internal/identity_flex.go: -------------------------------------------------------------------------------- 1 | // Copyright 2018 Google LLC. All rights reserved. 2 | // Use of this source code is governed by the Apache 2.0 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build appenginevm 6 | 7 | package internal 8 | 9 | func init() { 10 | appengineFlex = true 11 | } 12 | -------------------------------------------------------------------------------- /vendor/google.golang.org/appengine/internal/main.go: -------------------------------------------------------------------------------- 1 | // Copyright 2011 Google Inc. All rights reserved. 2 | // Use of this source code is governed by the Apache 2.0 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build appengine 6 | 7 | package internal 8 | 9 | import ( 10 | "appengine_internal" 11 | ) 12 | 13 | func Main() { 14 | MainPath = "" 15 | appengine_internal.Main() 16 | } 17 | -------------------------------------------------------------------------------- /vendor/google.golang.org/appengine/internal/main_common.go: -------------------------------------------------------------------------------- 1 | package internal 2 | 3 | // MainPath stores the file path of the main package. On App Engine Standard 4 | // using Go version 1.9 and below, this will be unset. On App Engine Flex and 5 | // App Engine Standard second-gen (Go 1.11 and above), this will be the 6 | // filepath to package main. 7 | var MainPath string 8 | -------------------------------------------------------------------------------- /vendor/google.golang.org/protobuf/encoding/prototext/doc.go: -------------------------------------------------------------------------------- 1 | // Copyright 2019 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // Package prototext marshals and unmarshals protocol buffer messages as the 6 | // textproto format. 7 | package prototext 8 | -------------------------------------------------------------------------------- /vendor/google.golang.org/protobuf/internal/editiondefaults/defaults.go: -------------------------------------------------------------------------------- 1 | // Copyright 2024 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // Package editiondefaults contains the binary representation of the editions 6 | // defaults. 7 | package editiondefaults 8 | 9 | import _ "embed" 10 | 11 | //go:embed editions_defaults.binpb 12 | var Defaults []byte 13 | -------------------------------------------------------------------------------- /vendor/google.golang.org/protobuf/internal/editiondefaults/editions_defaults.binpb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iudicium/pryingdeep/5cc64c9cdf537e15d80f359d5335c3d2b3a122d7/vendor/google.golang.org/protobuf/internal/editiondefaults/editions_defaults.binpb -------------------------------------------------------------------------------- /vendor/google.golang.org/protobuf/internal/errors/is_go112.go: -------------------------------------------------------------------------------- 1 | // Copyright 2020 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build !go1.13 6 | // +build !go1.13 7 | 8 | package errors 9 | 10 | import "reflect" 11 | 12 | // Is is a copy of Go 1.13's errors.Is for use with older Go versions. 13 | func Is(err, target error) bool { 14 | if target == nil { 15 | return err == target 16 | } 17 | 18 | isComparable := reflect.TypeOf(target).Comparable() 19 | for { 20 | if isComparable && err == target { 21 | return true 22 | } 23 | if x, ok := err.(interface{ Is(error) bool }); ok && x.Is(target) { 24 | return true 25 | } 26 | if err = unwrap(err); err == nil { 27 | return false 28 | } 29 | } 30 | } 31 | 32 | func unwrap(err error) error { 33 | u, ok := err.(interface { 34 | Unwrap() error 35 | }) 36 | if !ok { 37 | return nil 38 | } 39 | return u.Unwrap() 40 | } 41 | -------------------------------------------------------------------------------- /vendor/google.golang.org/protobuf/internal/errors/is_go113.go: -------------------------------------------------------------------------------- 1 | // Copyright 2020 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build go1.13 6 | // +build go1.13 7 | 8 | package errors 9 | 10 | import "errors" 11 | 12 | // Is is errors.Is. 13 | func Is(err, target error) bool { return errors.Is(err, target) } 14 | -------------------------------------------------------------------------------- /vendor/google.golang.org/protobuf/internal/flags/proto_legacy_disable.go: -------------------------------------------------------------------------------- 1 | // Copyright 2018 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build !protolegacy 6 | // +build !protolegacy 7 | 8 | package flags 9 | 10 | const protoLegacy = false 11 | -------------------------------------------------------------------------------- /vendor/google.golang.org/protobuf/internal/flags/proto_legacy_enable.go: -------------------------------------------------------------------------------- 1 | // Copyright 2018 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build protolegacy 6 | // +build protolegacy 7 | 8 | package flags 9 | 10 | const protoLegacy = true 11 | -------------------------------------------------------------------------------- /vendor/google.golang.org/protobuf/internal/genid/doc.go: -------------------------------------------------------------------------------- 1 | // Copyright 2019 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // Package genid contains constants for declarations in descriptor.proto 6 | // and the well-known types. 7 | package genid 8 | 9 | import protoreflect "google.golang.org/protobuf/reflect/protoreflect" 10 | 11 | const GoogleProtobuf_package protoreflect.FullName = "google.protobuf" 12 | -------------------------------------------------------------------------------- /vendor/google.golang.org/protobuf/internal/genid/empty_gen.go: -------------------------------------------------------------------------------- 1 | // Copyright 2019 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // Code generated by generate-protos. DO NOT EDIT. 6 | 7 | package genid 8 | 9 | import ( 10 | protoreflect "google.golang.org/protobuf/reflect/protoreflect" 11 | ) 12 | 13 | const File_google_protobuf_empty_proto = "google/protobuf/empty.proto" 14 | 15 | // Names for google.protobuf.Empty. 16 | const ( 17 | Empty_message_name protoreflect.Name = "Empty" 18 | Empty_message_fullname protoreflect.FullName = "google.protobuf.Empty" 19 | ) 20 | -------------------------------------------------------------------------------- /vendor/google.golang.org/protobuf/internal/genid/goname.go: -------------------------------------------------------------------------------- 1 | // Copyright 2019 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package genid 6 | 7 | // Go names of implementation-specific struct fields in generated messages. 8 | const ( 9 | State_goname = "state" 10 | 11 | SizeCache_goname = "sizeCache" 12 | SizeCacheA_goname = "XXX_sizecache" 13 | 14 | WeakFields_goname = "weakFields" 15 | WeakFieldsA_goname = "XXX_weak" 16 | 17 | UnknownFields_goname = "unknownFields" 18 | UnknownFieldsA_goname = "XXX_unrecognized" 19 | 20 | ExtensionFields_goname = "extensionFields" 21 | ExtensionFieldsA_goname = "XXX_InternalExtensions" 22 | ExtensionFieldsB_goname = "XXX_extensions" 23 | 24 | WeakFieldPrefix_goname = "XXX_weak_" 25 | ) 26 | -------------------------------------------------------------------------------- /vendor/google.golang.org/protobuf/internal/genid/map_entry.go: -------------------------------------------------------------------------------- 1 | // Copyright 2019 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package genid 6 | 7 | import protoreflect "google.golang.org/protobuf/reflect/protoreflect" 8 | 9 | // Generic field names and numbers for synthetic map entry messages. 10 | const ( 11 | MapEntry_Key_field_name protoreflect.Name = "key" 12 | MapEntry_Value_field_name protoreflect.Name = "value" 13 | 14 | MapEntry_Key_field_number protoreflect.FieldNumber = 1 15 | MapEntry_Value_field_number protoreflect.FieldNumber = 2 16 | ) 17 | -------------------------------------------------------------------------------- /vendor/google.golang.org/protobuf/internal/genid/wrappers.go: -------------------------------------------------------------------------------- 1 | // Copyright 2019 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package genid 6 | 7 | import protoreflect "google.golang.org/protobuf/reflect/protoreflect" 8 | 9 | // Generic field name and number for messages in wrappers.proto. 10 | const ( 11 | WrapperValue_Value_field_name protoreflect.Name = "value" 12 | WrapperValue_Value_field_number protoreflect.FieldNumber = 1 13 | ) 14 | -------------------------------------------------------------------------------- /vendor/google.golang.org/protobuf/internal/impl/codec_map_go111.go: -------------------------------------------------------------------------------- 1 | // Copyright 2019 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build !go1.12 6 | // +build !go1.12 7 | 8 | package impl 9 | 10 | import "reflect" 11 | 12 | type mapIter struct { 13 | v reflect.Value 14 | keys []reflect.Value 15 | } 16 | 17 | // mapRange provides a less-efficient equivalent to 18 | // the Go 1.12 reflect.Value.MapRange method. 19 | func mapRange(v reflect.Value) *mapIter { 20 | return &mapIter{v: v} 21 | } 22 | 23 | func (i *mapIter) Next() bool { 24 | if i.keys == nil { 25 | i.keys = i.v.MapKeys() 26 | } else { 27 | i.keys = i.keys[1:] 28 | } 29 | return len(i.keys) > 0 30 | } 31 | 32 | func (i *mapIter) Key() reflect.Value { 33 | return i.keys[0] 34 | } 35 | 36 | func (i *mapIter) Value() reflect.Value { 37 | return i.v.MapIndex(i.keys[0]) 38 | } 39 | -------------------------------------------------------------------------------- /vendor/google.golang.org/protobuf/internal/impl/codec_map_go112.go: -------------------------------------------------------------------------------- 1 | // Copyright 2019 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build go1.12 6 | // +build go1.12 7 | 8 | package impl 9 | 10 | import "reflect" 11 | 12 | func mapRange(v reflect.Value) *reflect.MapIter { return v.MapRange() } 13 | -------------------------------------------------------------------------------- /vendor/google.golang.org/protobuf/internal/impl/codec_unsafe.go: -------------------------------------------------------------------------------- 1 | // Copyright 2019 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build !purego && !appengine 6 | // +build !purego,!appengine 7 | 8 | package impl 9 | 10 | // When using unsafe pointers, we can just treat enum values as int32s. 11 | 12 | var ( 13 | coderEnumNoZero = coderInt32NoZero 14 | coderEnum = coderInt32 15 | coderEnumPtr = coderInt32Ptr 16 | coderEnumSlice = coderInt32Slice 17 | coderEnumPackedSlice = coderInt32PackedSlice 18 | ) 19 | -------------------------------------------------------------------------------- /vendor/google.golang.org/protobuf/internal/impl/enum.go: -------------------------------------------------------------------------------- 1 | // Copyright 2019 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package impl 6 | 7 | import ( 8 | "reflect" 9 | 10 | "google.golang.org/protobuf/reflect/protoreflect" 11 | ) 12 | 13 | type EnumInfo struct { 14 | GoReflectType reflect.Type // int32 kind 15 | Desc protoreflect.EnumDescriptor 16 | } 17 | 18 | func (t *EnumInfo) New(n protoreflect.EnumNumber) protoreflect.Enum { 19 | return reflect.ValueOf(n).Convert(t.GoReflectType).Interface().(protoreflect.Enum) 20 | } 21 | func (t *EnumInfo) Descriptor() protoreflect.EnumDescriptor { return t.Desc } 22 | -------------------------------------------------------------------------------- /vendor/google.golang.org/protobuf/internal/strs/strings_pure.go: -------------------------------------------------------------------------------- 1 | // Copyright 2018 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build purego || appengine 6 | // +build purego appengine 7 | 8 | package strs 9 | 10 | import pref "google.golang.org/protobuf/reflect/protoreflect" 11 | 12 | func UnsafeString(b []byte) string { 13 | return string(b) 14 | } 15 | 16 | func UnsafeBytes(s string) []byte { 17 | return []byte(s) 18 | } 19 | 20 | type Builder struct{} 21 | 22 | func (*Builder) AppendFullName(prefix pref.FullName, name pref.Name) pref.FullName { 23 | return prefix.Append(name) 24 | } 25 | 26 | func (*Builder) MakeString(b []byte) string { 27 | return string(b) 28 | } 29 | -------------------------------------------------------------------------------- /vendor/google.golang.org/protobuf/proto/proto_methods.go: -------------------------------------------------------------------------------- 1 | // Copyright 2019 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // The protoreflect build tag disables use of fast-path methods. 6 | //go:build !protoreflect 7 | // +build !protoreflect 8 | 9 | package proto 10 | 11 | import ( 12 | "google.golang.org/protobuf/reflect/protoreflect" 13 | "google.golang.org/protobuf/runtime/protoiface" 14 | ) 15 | 16 | const hasProtoMethods = true 17 | 18 | func protoMethods(m protoreflect.Message) *protoiface.Methods { 19 | return m.ProtoMethods() 20 | } 21 | -------------------------------------------------------------------------------- /vendor/google.golang.org/protobuf/proto/proto_reflect.go: -------------------------------------------------------------------------------- 1 | // Copyright 2019 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // The protoreflect build tag disables use of fast-path methods. 6 | //go:build protoreflect 7 | // +build protoreflect 8 | 9 | package proto 10 | 11 | import ( 12 | "google.golang.org/protobuf/reflect/protoreflect" 13 | "google.golang.org/protobuf/runtime/protoiface" 14 | ) 15 | 16 | const hasProtoMethods = false 17 | 18 | func protoMethods(m protoreflect.Message) *protoiface.Methods { 19 | return nil 20 | } 21 | -------------------------------------------------------------------------------- /vendor/google.golang.org/protobuf/runtime/protoiface/legacy.go: -------------------------------------------------------------------------------- 1 | // Copyright 2018 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package protoiface 6 | 7 | type MessageV1 interface { 8 | Reset() 9 | String() string 10 | ProtoMessage() 11 | } 12 | 13 | type ExtensionRangeV1 struct { 14 | Start, End int32 // both inclusive 15 | } 16 | -------------------------------------------------------------------------------- /vendor/google.golang.org/protobuf/types/gofeaturespb/go_features.proto: -------------------------------------------------------------------------------- 1 | // Protocol Buffers - Google's data interchange format 2 | // Copyright 2023 Google Inc. All rights reserved. 3 | // 4 | // Use of this source code is governed by a BSD-style 5 | // license that can be found in the LICENSE file or at 6 | // https://developers.google.com/open-source/licenses/bsd 7 | 8 | syntax = "proto2"; 9 | 10 | package google.protobuf; 11 | 12 | import "google/protobuf/descriptor.proto"; 13 | 14 | option go_package = "google.golang.org/protobuf/types/gofeaturespb"; 15 | 16 | extend google.protobuf.FeatureSet { 17 | optional GoFeatures go = 1002; 18 | } 19 | 20 | message GoFeatures { 21 | // Whether or not to generate the deprecated UnmarshalJSON method for enums. 22 | optional bool legacy_unmarshal_json_enum = 1 [ 23 | retention = RETENTION_RUNTIME, 24 | targets = TARGET_TYPE_ENUM, 25 | edition_defaults = { edition: EDITION_PROTO2, value: "true" }, 26 | edition_defaults = { edition: EDITION_PROTO3, value: "false" } 27 | ]; 28 | } 29 | -------------------------------------------------------------------------------- /vendor/gopkg.in/ini.v1/.editorconfig: -------------------------------------------------------------------------------- 1 | # http://editorconfig.org 2 | 3 | root = true 4 | 5 | [*] 6 | charset = utf-8 7 | end_of_line = lf 8 | insert_final_newline = true 9 | trim_trailing_whitespace = true 10 | 11 | [*_test.go] 12 | trim_trailing_whitespace = false 13 | -------------------------------------------------------------------------------- /vendor/gopkg.in/ini.v1/.gitignore: -------------------------------------------------------------------------------- 1 | testdata/conf_out.ini 2 | ini.sublime-project 3 | ini.sublime-workspace 4 | testdata/conf_reflect.ini 5 | .idea 6 | /.vscode 7 | .DS_Store 8 | -------------------------------------------------------------------------------- /vendor/gopkg.in/ini.v1/.golangci.yml: -------------------------------------------------------------------------------- 1 | linters-settings: 2 | staticcheck: 3 | checks: [ 4 | "all", 5 | "-SA1019" # There are valid use cases of strings.Title 6 | ] 7 | nakedret: 8 | max-func-lines: 0 # Disallow any unnamed return statement 9 | 10 | linters: 11 | enable: 12 | - deadcode 13 | - errcheck 14 | - gosimple 15 | - govet 16 | - ineffassign 17 | - staticcheck 18 | - structcheck 19 | - typecheck 20 | - unused 21 | - varcheck 22 | - nakedret 23 | - gofmt 24 | - rowserrcheck 25 | - unconvert 26 | - goimports 27 | - unparam 28 | -------------------------------------------------------------------------------- /vendor/gopkg.in/ini.v1/Makefile: -------------------------------------------------------------------------------- 1 | .PHONY: build test bench vet coverage 2 | 3 | build: vet bench 4 | 5 | test: 6 | go test -v -cover -race 7 | 8 | bench: 9 | go test -v -cover -test.bench=. -test.benchmem 10 | 11 | vet: 12 | go vet 13 | 14 | coverage: 15 | go test -coverprofile=c.out && go tool cover -html=c.out && rm c.out 16 | -------------------------------------------------------------------------------- /vendor/gopkg.in/ini.v1/codecov.yml: -------------------------------------------------------------------------------- 1 | coverage: 2 | range: "60...95" 3 | status: 4 | project: 5 | default: 6 | threshold: 1% 7 | informational: true 8 | patch: 9 | defualt: 10 | only_pulls: true 11 | informational: true 12 | 13 | comment: 14 | layout: 'diff' 15 | 16 | github_checks: false 17 | -------------------------------------------------------------------------------- /vendor/gopkg.in/ini.v1/deprecated.go: -------------------------------------------------------------------------------- 1 | // Copyright 2019 Unknwon 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"): you may 4 | // not use this file except in compliance with the License. You may obtain 5 | // a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 11 | // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 12 | // License for the specific language governing permissions and limitations 13 | // under the License. 14 | 15 | package ini 16 | 17 | var ( 18 | // Deprecated: Use "DefaultSection" instead. 19 | DEFAULT_SECTION = DefaultSection 20 | // Deprecated: AllCapsUnderscore converts to format ALL_CAPS_UNDERSCORE. 21 | AllCapsUnderscore = SnackCase 22 | ) 23 | -------------------------------------------------------------------------------- /vendor/gopkg.in/ini.v1/helper.go: -------------------------------------------------------------------------------- 1 | // Copyright 2019 Unknwon 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"): you may 4 | // not use this file except in compliance with the License. You may obtain 5 | // a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 11 | // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 12 | // License for the specific language governing permissions and limitations 13 | // under the License. 14 | 15 | package ini 16 | 17 | func inSlice(str string, s []string) bool { 18 | for _, v := range s { 19 | if str == v { 20 | return true 21 | } 22 | } 23 | return false 24 | } 25 | -------------------------------------------------------------------------------- /vendor/gopkg.in/yaml.v3/NOTICE: -------------------------------------------------------------------------------- 1 | Copyright 2011-2016 Canonical Ltd. 2 | 3 | Licensed under the Apache License, Version 2.0 (the "License"); 4 | you may not use this file except in compliance with the License. 5 | You may obtain a copy of the License at 6 | 7 | http://www.apache.org/licenses/LICENSE-2.0 8 | 9 | Unless required by applicable law or agreed to in writing, software 10 | distributed under the License is distributed on an "AS IS" BASIS, 11 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | See the License for the specific language governing permissions and 13 | limitations under the License. 14 | -------------------------------------------------------------------------------- /vendor/gorm.io/driver/postgres/.gitignore: -------------------------------------------------------------------------------- 1 | .idea 2 | -------------------------------------------------------------------------------- /vendor/gorm.io/driver/postgres/README.md: -------------------------------------------------------------------------------- 1 | # GORM PostgreSQL Driver 2 | 3 | ## Quick Start 4 | 5 | ```go 6 | import ( 7 | "gorm.io/driver/postgres" 8 | "gorm.io/gorm" 9 | ) 10 | 11 | // https://github.com/jackc/pgx 12 | dsn := "host=localhost user=gorm password=gorm dbname=gorm port=9920 sslmode=disable TimeZone=Asia/Shanghai" 13 | db, err := gorm.Open(postgres.Open(dsn), &gorm.Config{}) 14 | ``` 15 | 16 | ## Configuration 17 | 18 | ```go 19 | import ( 20 | "gorm.io/driver/postgres" 21 | "gorm.io/gorm" 22 | ) 23 | 24 | db, err := gorm.Open(postgres.New(postgres.Config{ 25 | DSN: "host=localhost user=gorm password=gorm dbname=gorm port=9920 sslmode=disable TimeZone=Asia/Shanghai", // data source name, refer https://github.com/jackc/pgx 26 | PreferSimpleProtocol: true, // disables implicit prepared statement usage. By default pgx automatically uses the extended protocol 27 | }), &gorm.Config{}) 28 | ``` 29 | 30 | 31 | Checkout [https://gorm.io](https://gorm.io) for details. 32 | -------------------------------------------------------------------------------- /vendor/gorm.io/gorm/.gitignore: -------------------------------------------------------------------------------- 1 | TODO* 2 | documents 3 | coverage.txt 4 | _book 5 | .idea 6 | vendor 7 | .vscode 8 | -------------------------------------------------------------------------------- /vendor/gorm.io/gorm/.golangci.yml: -------------------------------------------------------------------------------- 1 | linters: 2 | enable: 3 | - cyclop 4 | - exportloopref 5 | - gocritic 6 | - gosec 7 | - ineffassign 8 | - misspell 9 | - prealloc 10 | - unconvert 11 | - unparam 12 | - goimports 13 | - whitespace 14 | 15 | linters-settings: 16 | whitespace: 17 | multi-func: true 18 | goimports: 19 | local-prefixes: gorm.io/gorm 20 | 21 | -------------------------------------------------------------------------------- /vendor/gorm.io/gorm/callbacks/callmethod.go: -------------------------------------------------------------------------------- 1 | package callbacks 2 | 3 | import ( 4 | "reflect" 5 | 6 | "gorm.io/gorm" 7 | ) 8 | 9 | func callMethod(db *gorm.DB, fc func(value interface{}, tx *gorm.DB) bool) { 10 | tx := db.Session(&gorm.Session{NewDB: true}) 11 | if called := fc(db.Statement.ReflectValue.Interface(), tx); !called { 12 | switch db.Statement.ReflectValue.Kind() { 13 | case reflect.Slice, reflect.Array: 14 | db.Statement.CurDestIndex = 0 15 | for i := 0; i < db.Statement.ReflectValue.Len(); i++ { 16 | if value := reflect.Indirect(db.Statement.ReflectValue.Index(i)); value.CanAddr() { 17 | fc(value.Addr().Interface(), tx) 18 | } else { 19 | db.AddError(gorm.ErrInvalidValue) 20 | return 21 | } 22 | db.Statement.CurDestIndex++ 23 | } 24 | case reflect.Struct: 25 | if db.Statement.ReflectValue.CanAddr() { 26 | fc(db.Statement.ReflectValue.Addr().Interface(), tx) 27 | } else { 28 | db.AddError(gorm.ErrInvalidValue) 29 | } 30 | } 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /vendor/gorm.io/gorm/callbacks/interfaces.go: -------------------------------------------------------------------------------- 1 | package callbacks 2 | 3 | import "gorm.io/gorm" 4 | 5 | type BeforeCreateInterface interface { 6 | BeforeCreate(*gorm.DB) error 7 | } 8 | 9 | type AfterCreateInterface interface { 10 | AfterCreate(*gorm.DB) error 11 | } 12 | 13 | type BeforeUpdateInterface interface { 14 | BeforeUpdate(*gorm.DB) error 15 | } 16 | 17 | type AfterUpdateInterface interface { 18 | AfterUpdate(*gorm.DB) error 19 | } 20 | 21 | type BeforeSaveInterface interface { 22 | BeforeSave(*gorm.DB) error 23 | } 24 | 25 | type AfterSaveInterface interface { 26 | AfterSave(*gorm.DB) error 27 | } 28 | 29 | type BeforeDeleteInterface interface { 30 | BeforeDelete(*gorm.DB) error 31 | } 32 | 33 | type AfterDeleteInterface interface { 34 | AfterDelete(*gorm.DB) error 35 | } 36 | 37 | type AfterFindInterface interface { 38 | AfterFind(*gorm.DB) error 39 | } 40 | -------------------------------------------------------------------------------- /vendor/gorm.io/gorm/callbacks/raw.go: -------------------------------------------------------------------------------- 1 | package callbacks 2 | 3 | import ( 4 | "gorm.io/gorm" 5 | ) 6 | 7 | func RawExec(db *gorm.DB) { 8 | if db.Error == nil && !db.DryRun { 9 | result, err := db.Statement.ConnPool.ExecContext(db.Statement.Context, db.Statement.SQL.String(), db.Statement.Vars...) 10 | if err != nil { 11 | db.AddError(err) 12 | return 13 | } 14 | 15 | db.RowsAffected, _ = result.RowsAffected() 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /vendor/gorm.io/gorm/callbacks/row.go: -------------------------------------------------------------------------------- 1 | package callbacks 2 | 3 | import ( 4 | "gorm.io/gorm" 5 | ) 6 | 7 | func RowQuery(db *gorm.DB) { 8 | if db.Error == nil { 9 | BuildQuerySQL(db) 10 | if db.DryRun || db.Error != nil { 11 | return 12 | } 13 | 14 | if isRows, ok := db.Get("rows"); ok && isRows.(bool) { 15 | db.Statement.Settings.Delete("rows") 16 | db.Statement.Dest, db.Error = db.Statement.ConnPool.QueryContext(db.Statement.Context, db.Statement.SQL.String(), db.Statement.Vars...) 17 | } else { 18 | db.Statement.Dest = db.Statement.ConnPool.QueryRowContext(db.Statement.Context, db.Statement.SQL.String(), db.Statement.Vars...) 19 | } 20 | 21 | db.RowsAffected = -1 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /vendor/gorm.io/gorm/callbacks/transaction.go: -------------------------------------------------------------------------------- 1 | package callbacks 2 | 3 | import ( 4 | "gorm.io/gorm" 5 | ) 6 | 7 | func BeginTransaction(db *gorm.DB) { 8 | if !db.Config.SkipDefaultTransaction && db.Error == nil { 9 | if tx := db.Begin(); tx.Error == nil { 10 | db.Statement.ConnPool = tx.Statement.ConnPool 11 | db.InstanceSet("gorm:started_transaction", true) 12 | } else if tx.Error == gorm.ErrInvalidTransaction { 13 | tx.Error = nil 14 | } else { 15 | db.Error = tx.Error 16 | } 17 | } 18 | } 19 | 20 | func CommitOrRollbackTransaction(db *gorm.DB) { 21 | if !db.Config.SkipDefaultTransaction { 22 | if _, ok := db.InstanceGet("gorm:started_transaction"); ok { 23 | if db.Error != nil { 24 | db.Rollback() 25 | } else { 26 | db.Commit() 27 | } 28 | 29 | db.Statement.ConnPool = db.ConnPool 30 | } 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /vendor/gorm.io/gorm/clause/delete.go: -------------------------------------------------------------------------------- 1 | package clause 2 | 3 | type Delete struct { 4 | Modifier string 5 | } 6 | 7 | func (d Delete) Name() string { 8 | return "DELETE" 9 | } 10 | 11 | func (d Delete) Build(builder Builder) { 12 | builder.WriteString("DELETE") 13 | 14 | if d.Modifier != "" { 15 | builder.WriteByte(' ') 16 | builder.WriteString(d.Modifier) 17 | } 18 | } 19 | 20 | func (d Delete) MergeClause(clause *Clause) { 21 | clause.Name = "" 22 | clause.Expression = d 23 | } 24 | -------------------------------------------------------------------------------- /vendor/gorm.io/gorm/clause/from.go: -------------------------------------------------------------------------------- 1 | package clause 2 | 3 | // From from clause 4 | type From struct { 5 | Tables []Table 6 | Joins []Join 7 | } 8 | 9 | // Name from clause name 10 | func (from From) Name() string { 11 | return "FROM" 12 | } 13 | 14 | // Build build from clause 15 | func (from From) Build(builder Builder) { 16 | if len(from.Tables) > 0 { 17 | for idx, table := range from.Tables { 18 | if idx > 0 { 19 | builder.WriteByte(',') 20 | } 21 | 22 | builder.WriteQuoted(table) 23 | } 24 | } else { 25 | builder.WriteQuoted(currentTable) 26 | } 27 | 28 | for _, join := range from.Joins { 29 | builder.WriteByte(' ') 30 | join.Build(builder) 31 | } 32 | } 33 | 34 | // MergeClause merge from clause 35 | func (from From) MergeClause(clause *Clause) { 36 | clause.Expression = from 37 | } 38 | -------------------------------------------------------------------------------- /vendor/gorm.io/gorm/clause/insert.go: -------------------------------------------------------------------------------- 1 | package clause 2 | 3 | type Insert struct { 4 | Table Table 5 | Modifier string 6 | } 7 | 8 | // Name insert clause name 9 | func (insert Insert) Name() string { 10 | return "INSERT" 11 | } 12 | 13 | // Build build insert clause 14 | func (insert Insert) Build(builder Builder) { 15 | if insert.Modifier != "" { 16 | builder.WriteString(insert.Modifier) 17 | builder.WriteByte(' ') 18 | } 19 | 20 | builder.WriteString("INTO ") 21 | if insert.Table.Name == "" { 22 | builder.WriteQuoted(currentTable) 23 | } else { 24 | builder.WriteQuoted(insert.Table) 25 | } 26 | } 27 | 28 | // MergeClause merge insert clause 29 | func (insert Insert) MergeClause(clause *Clause) { 30 | if v, ok := clause.Expression.(Insert); ok { 31 | if insert.Modifier == "" { 32 | insert.Modifier = v.Modifier 33 | } 34 | if insert.Table.Name == "" { 35 | insert.Table = v.Table 36 | } 37 | } 38 | clause.Expression = insert 39 | } 40 | -------------------------------------------------------------------------------- /vendor/gorm.io/gorm/clause/locking.go: -------------------------------------------------------------------------------- 1 | package clause 2 | 3 | type Locking struct { 4 | Strength string 5 | Table Table 6 | Options string 7 | } 8 | 9 | // Name where clause name 10 | func (locking Locking) Name() string { 11 | return "FOR" 12 | } 13 | 14 | // Build build where clause 15 | func (locking Locking) Build(builder Builder) { 16 | builder.WriteString(locking.Strength) 17 | if locking.Table.Name != "" { 18 | builder.WriteString(" OF ") 19 | builder.WriteQuoted(locking.Table) 20 | } 21 | 22 | if locking.Options != "" { 23 | builder.WriteByte(' ') 24 | builder.WriteString(locking.Options) 25 | } 26 | } 27 | 28 | // MergeClause merge order by clauses 29 | func (locking Locking) MergeClause(clause *Clause) { 30 | clause.Expression = locking 31 | } 32 | -------------------------------------------------------------------------------- /vendor/gorm.io/gorm/clause/returning.go: -------------------------------------------------------------------------------- 1 | package clause 2 | 3 | type Returning struct { 4 | Columns []Column 5 | } 6 | 7 | // Name where clause name 8 | func (returning Returning) Name() string { 9 | return "RETURNING" 10 | } 11 | 12 | // Build build where clause 13 | func (returning Returning) Build(builder Builder) { 14 | if len(returning.Columns) > 0 { 15 | for idx, column := range returning.Columns { 16 | if idx > 0 { 17 | builder.WriteByte(',') 18 | } 19 | 20 | builder.WriteQuoted(column) 21 | } 22 | } else { 23 | builder.WriteByte('*') 24 | } 25 | } 26 | 27 | // MergeClause merge order by clauses 28 | func (returning Returning) MergeClause(clause *Clause) { 29 | if v, ok := clause.Expression.(Returning); ok { 30 | returning.Columns = append(v.Columns, returning.Columns...) 31 | } 32 | 33 | clause.Expression = returning 34 | } 35 | -------------------------------------------------------------------------------- /vendor/gorm.io/gorm/clause/update.go: -------------------------------------------------------------------------------- 1 | package clause 2 | 3 | type Update struct { 4 | Modifier string 5 | Table Table 6 | } 7 | 8 | // Name update clause name 9 | func (update Update) Name() string { 10 | return "UPDATE" 11 | } 12 | 13 | // Build build update clause 14 | func (update Update) Build(builder Builder) { 15 | if update.Modifier != "" { 16 | builder.WriteString(update.Modifier) 17 | builder.WriteByte(' ') 18 | } 19 | 20 | if update.Table.Name == "" { 21 | builder.WriteQuoted(currentTable) 22 | } else { 23 | builder.WriteQuoted(update.Table) 24 | } 25 | } 26 | 27 | // MergeClause merge update clause 28 | func (update Update) MergeClause(clause *Clause) { 29 | if v, ok := clause.Expression.(Update); ok { 30 | if update.Modifier == "" { 31 | update.Modifier = v.Modifier 32 | } 33 | if update.Table.Name == "" { 34 | update.Table = v.Table 35 | } 36 | } 37 | clause.Expression = update 38 | } 39 | -------------------------------------------------------------------------------- /vendor/gorm.io/gorm/clause/with.go: -------------------------------------------------------------------------------- 1 | package clause 2 | 3 | type With struct{} 4 | -------------------------------------------------------------------------------- /vendor/gorm.io/gorm/migrator/table_type.go: -------------------------------------------------------------------------------- 1 | package migrator 2 | 3 | import ( 4 | "database/sql" 5 | ) 6 | 7 | // TableType table type implements TableType interface 8 | type TableType struct { 9 | SchemaValue string 10 | NameValue string 11 | TypeValue string 12 | CommentValue sql.NullString 13 | } 14 | 15 | // Schema returns the schema of the table. 16 | func (ct TableType) Schema() string { 17 | return ct.SchemaValue 18 | } 19 | 20 | // Name returns the name of the table. 21 | func (ct TableType) Name() string { 22 | return ct.NameValue 23 | } 24 | 25 | // Type returns the type of the table. 26 | func (ct TableType) Type() string { 27 | return ct.TypeValue 28 | } 29 | 30 | // Comment returns the comment of current table. 31 | func (ct TableType) Comment() (comment string, ok bool) { 32 | return ct.CommentValue.String, ct.CommentValue.Valid 33 | } 34 | -------------------------------------------------------------------------------- /vendor/gorm.io/gorm/model.go: -------------------------------------------------------------------------------- 1 | package gorm 2 | 3 | import "time" 4 | 5 | // Model a basic GoLang struct which includes the following fields: ID, CreatedAt, UpdatedAt, DeletedAt 6 | // It may be embedded into your model or you may build your own model without it 7 | // 8 | // type User struct { 9 | // gorm.Model 10 | // } 11 | type Model struct { 12 | ID uint `gorm:"primarykey"` 13 | CreatedAt time.Time 14 | UpdatedAt time.Time 15 | DeletedAt DeletedAt `gorm:"index"` 16 | } 17 | -------------------------------------------------------------------------------- /vendor/gorm.io/gorm/schema/interfaces.go: -------------------------------------------------------------------------------- 1 | package schema 2 | 3 | import ( 4 | "gorm.io/gorm/clause" 5 | ) 6 | 7 | // GormDataTypeInterface gorm data type interface 8 | type GormDataTypeInterface interface { 9 | GormDataType() string 10 | } 11 | 12 | // FieldNewValuePool field new scan value pool 13 | type FieldNewValuePool interface { 14 | Get() interface{} 15 | Put(interface{}) 16 | } 17 | 18 | // CreateClausesInterface create clauses interface 19 | type CreateClausesInterface interface { 20 | CreateClauses(*Field) []clause.Interface 21 | } 22 | 23 | // QueryClausesInterface query clauses interface 24 | type QueryClausesInterface interface { 25 | QueryClauses(*Field) []clause.Interface 26 | } 27 | 28 | // UpdateClausesInterface update clauses interface 29 | type UpdateClausesInterface interface { 30 | UpdateClauses(*Field) []clause.Interface 31 | } 32 | 33 | // DeleteClausesInterface delete clauses interface 34 | type DeleteClausesInterface interface { 35 | DeleteClauses(*Field) []clause.Interface 36 | } 37 | -------------------------------------------------------------------------------- /vendor/gorm.io/gorm/schema/pool.go: -------------------------------------------------------------------------------- 1 | package schema 2 | 3 | import ( 4 | "reflect" 5 | "sync" 6 | ) 7 | 8 | // sync pools 9 | var ( 10 | normalPool sync.Map 11 | poolInitializer = func(reflectType reflect.Type) FieldNewValuePool { 12 | v, _ := normalPool.LoadOrStore(reflectType, &sync.Pool{ 13 | New: func() interface{} { 14 | return reflect.New(reflectType).Interface() 15 | }, 16 | }) 17 | return v.(FieldNewValuePool) 18 | } 19 | ) 20 | -------------------------------------------------------------------------------- /web/static/data_preview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iudicium/pryingdeep/5cc64c9cdf537e15d80f359d5335c3d2b3a122d7/web/static/data_preview.png -------------------------------------------------------------------------------- /web/static/data_preview2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iudicium/pryingdeep/5cc64c9cdf537e15d80f359d5335c3d2b3a122d7/web/static/data_preview2.png -------------------------------------------------------------------------------- /web/static/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iudicium/pryingdeep/5cc64c9cdf537e15d80f359d5335c3d2b3a122d7/web/static/logo.png -------------------------------------------------------------------------------- /web/static/preview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iudicium/pryingdeep/5cc64c9cdf537e15d80f359d5335c3d2b3a122d7/web/static/preview.png --------------------------------------------------------------------------------