[{"data":1,"prerenderedAt":866},["ShallowReactive",2],{"navigation_docs":3,"trending-repo-etcd-io\u002Fetcd":249,"page-views-\u002Ftrending\u002Fetcd-io\u002Fetcd":864},[4,29,104,124,194],{"title":5,"icon":6,"path":7,"stem":8,"children":9},"Start",false,"\u002Fstart","1.start",[10,14,19,24],{"title":11,"path":7,"stem":12,"icon":13},"What jscpd finds","1.start\u002Findex","i-lucide-house",{"title":15,"path":16,"stem":17,"icon":18},"Installation","\u002Fstart\u002Finstallation","1.start\u002F2.installation","i-lucide-download",{"title":20,"path":21,"stem":22,"icon":23},"Quickstart","\u002Fstart\u002Fquickstart","1.start\u002F3.quickstart","i-lucide-rocket",{"title":25,"path":26,"stem":27,"icon":28},"Configuration basics","\u002Fstart\u002Fconfiguration","1.start\u002F4.configuration","i-lucide-settings-2",{"title":30,"icon":6,"path":31,"stem":32,"children":33,"page":6},"Guides","\u002Fguides","2.guides",[34,39,44,49,54,59,64,69,74,79,84,89,94,99],{"title":35,"path":36,"stem":37,"icon":38},"Use jscpd in CI","\u002Fguides\u002Fci","2.guides\u002F01.ci","i-lucide-github",{"title":40,"path":41,"stem":42,"icon":43},"Pre-commit hooks","\u002Fguides\u002Fpre-commit","2.guides\u002F02.pre-commit","i-lucide-git-commit",{"title":45,"path":46,"stem":47,"icon":48},"Fail only on new duplication","\u002Fguides\u002Fbaseline","2.guides\u002F03.baseline","i-lucide-git-compare",{"title":50,"path":51,"stem":52,"icon":53},"Monorepos","\u002Fguides\u002Fmonorepos","2.guides\u002F04.monorepos","i-lucide-folder-tree",{"title":55,"path":56,"stem":57,"icon":58},"Cross-format detection","\u002Fguides\u002Fcross-format","2.guides\u002F05.cross-format","i-lucide-layers",{"title":60,"path":61,"stem":62,"icon":63},"Agents","\u002Fguides\u002Fagents","2.guides\u002F06.agents","i-lucide-cpu",{"title":65,"path":66,"stem":67,"icon":68},"Editors","\u002Fguides\u002Feditors","2.guides\u002F07.editors","i-lucide-code",{"title":70,"path":71,"stem":72,"icon":73},"Duplication over git history","\u002Fguides\u002Fhistory","2.guides\u002F08.history","i-lucide-chart-no-axes-combined",{"title":75,"path":76,"stem":77,"icon":78},"Dashboard and health score","\u002Fguides\u002Fdashboard","2.guides\u002F09.dashboard","i-lucide-layout-dashboard",{"title":80,"path":81,"stem":82,"icon":83},"Dead code","\u002Fguides\u002Fdead-code","2.guides\u002F10.dead-code","i-lucide-ghost",{"title":85,"path":86,"stem":87,"icon":88},"Comparing two codebases","\u002Fguides\u002Fcompare","2.guides\u002F11.compare","i-lucide-git-compare-arrows",{"title":90,"path":91,"stem":92,"icon":93},"Semantic clones","\u002Fguides\u002Fsemantic-clones","2.guides\u002F12.semantic-clones","i-lucide-brain-circuit",{"title":95,"path":96,"stem":97,"icon":98},"Similar functions","\u002Fguides\u002Fsimilarity","2.guides\u002F13.similarity","i-lucide-list-tree",{"title":100,"path":101,"stem":102,"icon":103},"Boundaries","\u002Fguides\u002Fboundaries","2.guides\u002F14.boundaries","i-lucide-fence",{"title":105,"icon":6,"path":106,"stem":107,"children":108,"page":6},"Concepts","\u002Fconcepts","3.concepts",[109,114,119],{"title":110,"path":111,"stem":112,"icon":113},"Types of code clones","\u002Fconcepts\u002Fclone-types","3.concepts\u002F1.clone-types","i-lucide-copy",{"title":115,"path":116,"stem":117,"icon":118},"How detection works","\u002Fconcepts\u002Fhow-detection-works","3.concepts\u002F2.how-detection-works","i-lucide-scan-search",{"title":120,"path":121,"stem":122,"icon":123},"The health score","\u002Fconcepts\u002Fhealth-score","3.concepts\u002F3.health-score","i-lucide-heart-pulse",{"title":125,"icon":6,"path":126,"stem":127,"children":128,"page":6},"Reference","\u002Freference","4.reference",[129,134,139,144,181,186,190],{"title":130,"path":131,"stem":132,"icon":133},"CLI options","\u002Freference\u002Fcli","4.reference\u002F1.cli","i-lucide-terminal",{"title":135,"path":136,"stem":137,"icon":138},"The config file","\u002Freference\u002Fconfig-file","4.reference\u002F2.config-file","i-lucide-settings",{"title":140,"path":141,"stem":142,"icon":143},"Exit codes","\u002Freference\u002Fexit-codes","4.reference\u002F3.exit-codes","i-lucide-log-out",{"title":145,"icon":6,"path":146,"stem":147,"children":148},"Reporters","\u002Freference\u002Freporters","4.reference\u002F4.reporters\u002Findex",[149,151,156,161,166,171,176],{"title":145,"path":146,"stem":147,"icon":150},"i-lucide-file-chart-column",{"title":152,"path":153,"stem":154,"icon":155},"HTML reporter","\u002Freference\u002Freporters\u002Fhtml","4.reference\u002F4.reporters\u002F2.html","i-lucide-file-code",{"title":157,"path":158,"stem":159,"icon":160},"JSON reporter","\u002Freference\u002Freporters\u002Fjson","4.reference\u002F4.reporters\u002F3.json","i-lucide-braces",{"title":162,"path":163,"stem":164,"icon":165},"Badge reporter","\u002Freference\u002Freporters\u002Fbadge","4.reference\u002F4.reporters\u002F4.badge","i-lucide-award",{"title":167,"path":168,"stem":169,"icon":170},"SARIF reporter","\u002Freference\u002Freporters\u002Fsarif","4.reference\u002F4.reporters\u002F5.sarif","i-lucide-shield-check",{"title":172,"path":173,"stem":174,"icon":175},"CodeClimate reporter","\u002Freference\u002Freporters\u002Fcodeclimate","4.reference\u002F4.reporters\u002F6.codeclimate","i-lucide-flag-triangle-right",{"title":177,"path":178,"stem":179,"icon":180},"OpenMetrics reporter","\u002Freference\u002Freporters\u002Fopenmetrics","4.reference\u002F4.reporters\u002F7.openmetrics","i-lucide-activity",{"title":182,"path":183,"stem":184,"icon":185},"Supported formats","\u002Freference\u002Fsupported-formats","4.reference\u002F5.supported-formats","i-lucide-languages",{"title":187,"path":188,"stem":189,"icon":38},"GitHub Action","\u002Freference\u002Fgithub-action","4.reference\u002F6.github-action",{"title":191,"path":192,"stem":193,"icon":68},"Rust crates","\u002Freference\u002Frust-crates","4.reference\u002F7.rust-crates",{"title":195,"icon":6,"path":196,"stem":197,"children":198,"page":6},"Project","\u002Fproject","5.project",[199,204,209,214,239,244],{"title":200,"path":201,"stem":202,"icon":203},"Changelog","\u002Fproject\u002Fchangelog","5.project\u002F1.changelog","i-lucide-scroll-text",{"title":205,"path":206,"stem":207,"icon":208},"Migrating from v4 to v5","\u002Fproject\u002Fmigration","5.project\u002F2.migration","i-lucide-arrow-right-left",{"title":210,"path":211,"stem":212,"icon":213},"jscpd v4 (TypeScript)","\u002Fproject\u002Fv4","5.project\u002F3.v4","i-simple-icons-typescript",{"title":215,"icon":6,"path":216,"stem":217,"children":218},"Benchmarks","\u002Fproject\u002Fbenchmarks","5.project\u002F4.benchmarks\u002Findex",[219,221,226,230,235],{"title":215,"path":216,"stem":217,"icon":220},"i-lucide-gauge",{"title":222,"path":223,"stem":224,"icon":225},"Detection Speed","\u002Fproject\u002Fbenchmarks\u002Fdetection-speed","5.project\u002F4.benchmarks\u002F2.detection-speed","i-lucide-zap",{"title":227,"path":228,"stem":229,"icon":58},"Multi-Format Detection","\u002Fproject\u002Fbenchmarks\u002Fcross-format","5.project\u002F4.benchmarks\u002F3.cross-format",{"title":231,"path":232,"stem":233,"icon":234},"AI Token Efficiency","\u002Fproject\u002Fbenchmarks\u002Fai-token-efficiency","5.project\u002F4.benchmarks\u002F4.ai-token-efficiency","i-lucide-sparkles",{"title":236,"path":237,"stem":238,"icon":93},"Embedding Models","\u002Fproject\u002Fbenchmarks\u002Fembedding-models","5.project\u002F4.benchmarks\u002F5.embedding-models",{"title":240,"path":241,"stem":242,"icon":243},"Research","\u002Fproject\u002Fresearch","5.project\u002F5.research","i-lucide-graduation-cap",{"title":245,"path":246,"stem":247,"icon":248},"Articles","\u002Fproject\u002Farticles","5.project\u002F6.articles","i-lucide-newspaper",{"name":250,"url":251,"appearances":252,"latest":268},"etcd-io\u002Fetcd","https:\u002F\u002Fgithub.com\u002Fetcd-io\u002Fetcd",[253],{"date":254,"rank":255,"stars":256,"starsToday":257,"headSha":258,"sources":259,"lines":260,"clones":261,"duplicatedLines":262,"percentage":263,"codePercentage":264,"codeSources":265,"healthScore":266,"healthGrade":267},"2026-11-07",9,52634,128,"d622ec57cf46c119f1a550343c34b26327cead0f",1229,250463,1910,19472,7.77,1.26,539,52.7,"D",{"date":254,"generatedAt":269,"name":250,"url":251,"description":270,"language":271,"stars":256,"starsToday":257,"defaultBranch":272,"headSha":258,"durationMs":273,"total":274,"formats":278,"topClones":344,"code":625,"health":789,"complexity":815,"deadCode":863},"2026-11-07T05:21:43.893Z","Distributed reliable key-value store for the most critical data of a distributed system","Go","main",1656,{"sources":259,"lines":260,"tokens":275,"clones":261,"duplicatedLines":262,"duplicatedTokens":276,"percentage":263,"percentageTokens":277},1529449,156024,10.2,[279,286,293,300,306,313,319,325,332,338],{"format":280,"sources":281,"lines":282,"clones":283,"duplicatedLines":284,"percentage":285},"go",1003,218833,1691,16947,7.74,{"format":287,"sources":288,"lines":289,"clones":290,"duplicatedLines":291,"percentage":292},"markdown",60,13063,151,1603,12.27,{"format":294,"sources":295,"lines":296,"clones":297,"duplicatedLines":298,"percentage":299},"go-module",14,927,22,186,20.06,{"format":301,"sources":302,"lines":303,"clones":295,"duplicatedLines":304,"percentage":305},"json",20,5204,374,7.19,{"format":307,"sources":308,"lines":309,"clones":310,"duplicatedLines":311,"percentage":312},"yaml",28,1733,8,75,4.33,{"format":314,"sources":315,"lines":316,"clones":310,"duplicatedLines":317,"percentage":318},"makefile",5,664,54,8.13,{"format":320,"sources":255,"lines":321,"clones":322,"duplicatedLines":323,"percentage":324},"markup",1401,6,127,9.06,{"format":326,"sources":327,"lines":328,"clones":329,"duplicatedLines":330,"percentage":331},"bash",51,5279,4,50,0.95,{"format":333,"sources":334,"lines":335,"clones":329,"duplicatedLines":336,"percentage":337},"text",12,345,40,11.59,{"format":339,"sources":340,"lines":341,"clones":342,"duplicatedLines":255,"percentage":343},"txt",3,583,1,1.54,[345,393,435,479,509,541,571,580,589,596],{"format":280,"lines":346,"tokens":327,"first":347,"others":351,"copies":379,"excerpt":380,"kind":392},10,{"name":348,"start":349,"end":350},"api\u002Fauthpb\u002Fauth.pb.go",95,104,[352,355,358,361,365,369,373,376],{"name":348,"start":353,"end":354},143,152,{"name":348,"start":356,"end":357},211,220,{"name":348,"start":359,"end":360},271,280,{"name":362,"start":363,"end":364},"api\u002Fetcdserverpb\u002Fetcdserver.pb.go",47,56,{"name":366,"start":367,"end":368},"api\u002Fetcdserverpb\u002Fraft_internal.pb.go",52,61,{"name":370,"start":371,"end":372},"api\u002Fetcdserverpb\u002Frpc.pb.go",472,481,{"name":370,"start":374,"end":375},883,892,{"name":370,"start":377,"end":378},944,953,108,{"lines":381,"total":346},[382,383,384,385,386,387,388,389,390,391],"    mi := &file_auth_proto_msgTypes[0]","    if x != nil {","        ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))","        if ms.LoadMessageInfo() == nil {","            ms.StoreMessageInfo(mi)","        }","        return ms","    }","    return mi.MessageOf(x)","}","generated",{"format":280,"lines":255,"tokens":394,"first":395,"others":398,"copies":421,"excerpt":422,"excerptSecond":431,"kind":434},92,{"name":396,"start":397,"end":330},"api\u002Fetcdserverpb\u002Fgw\u002Frpc.pb.gw.go",42,[399,402,404,407,410,412,415,418],{"name":396,"start":400,"end":401},69,77,{"name":396,"start":403,"end":350},96,{"name":396,"start":405,"end":406},123,131,{"name":396,"start":408,"end":409},150,158,{"name":396,"start":357,"end":411},228,{"name":396,"start":413,"end":414},247,255,{"name":396,"start":416,"end":417},344,352,{"name":396,"start":419,"end":420},398,406,44,{"lines":423,"total":255},[424,425,426,427,391,428,429,391,430],"    metadata runtime.ServerMetadata",")","if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) {","    return nil, metadata, status.Errorf(codes.InvalidArgument, \"%v\", err)","if req.Body != nil {","    _, _ = io.Copy(io.Discard, req.Body)","msg, err := client.Range(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD))",{"lines":432,"total":255},[424,425,426,427,391,428,429,391,433],"msg, err := client.Put(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD))","code",{"format":280,"lines":436,"tokens":437,"first":438,"others":441,"copies":363,"excerpt":466,"excerptSecond":475,"kind":434},7,85,{"name":396,"start":439,"end":440},1261,1267,[442,445,448,451,454,457,460,463],{"name":396,"start":443,"end":444},1281,1287,{"name":396,"start":446,"end":447},1301,1307,{"name":396,"start":449,"end":450},1321,1327,{"name":396,"start":452,"end":453},1341,1347,{"name":396,"start":455,"end":456},1387,1393,{"name":396,"start":458,"end":459},1407,1413,{"name":396,"start":461,"end":462},1427,1433,{"name":396,"start":464,"end":465},1454,1460,{"lines":467,"total":436},[468,469,470,471,472,473,474],"mux.Handle(http.MethodPost, pattern_KV_Range_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {","    ctx, cancel := context.WithCancel(req.Context())","    defer cancel()","    var stream runtime.ServerTransportStream","    ctx = grpc.NewContextWithServerTransportStream(ctx, &stream)","    inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req)","    annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, \"\u002Fetcdserverpb.KV\u002FRange\", runtime.WithHTTPPathPattern(\"\u002Fv3\u002Fkv\u002Frange\"))",{"lines":476,"total":436},[477,469,470,471,472,473,478],"mux.Handle(http.MethodPost, pattern_KV_Put_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {","    annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, \"\u002Fetcdserverpb.KV\u002FPut\", runtime.WithHTTPPathPattern(\"\u002Fv3\u002Fkv\u002Fput\"))",{"format":280,"lines":436,"tokens":480,"first":481,"others":484,"copies":363,"kind":434},82,{"name":396,"start":482,"end":483},1272,1278,[485,488,491,494,497,500,503,506],{"name":396,"start":486,"end":487},1292,1298,{"name":396,"start":489,"end":490},1312,1318,{"name":396,"start":492,"end":493},1332,1338,{"name":396,"start":495,"end":496},1352,1358,{"name":396,"start":498,"end":499},1398,1404,{"name":396,"start":501,"end":502},1418,1424,{"name":396,"start":504,"end":505},1438,1444,{"name":396,"start":507,"end":508},1465,1471,{"format":280,"lines":310,"tokens":349,"first":510,"others":514,"copies":539,"kind":540},{"name":511,"start":512,"end":513},"tests\u002Fcommon\u002Fauth_test.go",64,71,[515,518,521,524,527,530,533,536],{"name":511,"start":516,"end":517},98,105,{"name":511,"start":519,"end":520},447,454,{"name":511,"start":522,"end":523},484,491,{"name":511,"start":525,"end":526},511,518,{"name":511,"start":528,"end":529},542,549,{"name":511,"start":531,"end":532},614,621,{"name":511,"start":534,"end":535},632,640,{"name":511,"start":537,"end":538},659,667,15,"tests",{"format":280,"lines":346,"tokens":542,"first":543,"others":545,"copies":334,"kind":540},110,{"name":544,"start":397,"end":327},"tests\u002Fcommon\u002Fkv_test.go",[546,549,550,553,556,560,563,567],{"name":544,"start":547,"end":548},67,76,{"name":544,"start":403,"end":517},{"name":551,"start":552,"end":336},"tests\u002Fcommon\u002Flease_test.go",30,{"name":551,"start":554,"end":555},219,229,{"name":557,"start":558,"end":559},"tests\u002Fcommon\u002Fmember_test.go",33,43,{"name":561,"start":562,"end":336},"tests\u002Fcommon\u002Frole_test.go",31,{"name":564,"start":565,"end":566},"tests\u002Fcommon\u002Fstatus_test.go",29,39,{"name":568,"start":569,"end":570},"tests\u002Fcommon\u002Fuser_test.go",90,99,{"format":320,"lines":572,"tokens":573,"first":574,"others":576,"copies":579,"kind":320},36,969,{"name":575,"start":334,"end":363},"logos\u002Fetcd-stacked-bw.svg",[577],{"name":578,"start":334,"end":363},"logos\u002Fetcd-stacked-color.svg",2,{"format":320,"lines":581,"tokens":582,"first":583,"others":586,"copies":579,"kind":320},35,965,{"name":584,"start":334,"end":585},"logos\u002Fetcd-offset-bw.svg",46,[587],{"name":588,"start":334,"end":585},"logos\u002Fetcd-offset-color.svg",{"format":320,"lines":581,"tokens":590,"first":591,"others":593,"copies":579,"kind":320},961,{"name":592,"start":334,"end":585},"logos\u002Fetcd-horizontal-bw.svg",[594],{"name":595,"start":334,"end":585},"logos\u002Fetcd-horizontal-color.svg",{"format":280,"lines":302,"tokens":597,"first":598,"others":601,"copies":310,"kind":434},136,{"name":396,"start":599,"end":600},2157,2176,[602,605,608,611,614,617,621],{"name":396,"start":603,"end":604},2297,2316,{"name":396,"start":606,"end":607},2361,2380,{"name":396,"start":609,"end":610},2558,2577,{"name":396,"start":612,"end":613},2698,2717,{"name":396,"start":615,"end":616},2895,2914,{"name":618,"start":619,"end":620},"server\u002Fetcdserver\u002Fapi\u002Fv3election\u002Fv3electionpb\u002Fgw\u002Fv3election.pb.gw.go",269,288,{"name":622,"start":623,"end":624},"server\u002Fetcdserver\u002Fapi\u002Fv3lock\u002Fv3lockpb\u002Fgw\u002Fv3lock.pb.gw.go",145,164,{"sources":265,"lines":626,"tokens":627,"clones":628,"duplicatedLines":629,"duplicatedTokens":630,"percentage":264,"percentageTokens":631,"formats":632,"topClones":640,"generated":776},91350,461097,112,1151,7612,1.65,[633,637],{"format":280,"sources":634,"lines":635,"clones":628,"duplicatedLines":629,"percentage":636},503,87139,1.32,{"format":326,"sources":572,"lines":638,"clones":639,"duplicatedLines":639,"percentage":639},4211,0,[641,661,681,703,713,725,733,744,754,763],{"format":280,"lines":642,"tokens":643,"first":644,"others":646,"copies":329,"excerpt":651,"kind":434},11,74,{"name":645,"start":565,"end":566},"etcdctl\u002Fctlv3\u002Fcommand\u002Fprinter_table.go",[647,648,649],{"name":645,"start":336,"end":330},{"name":645,"start":327,"end":368},{"name":650,"start":565,"end":566},"etcdutl\u002Fetcdutl\u002Fprinter_table.go",{"lines":652,"total":642},[653,654,655,656,657,658,389,659,391,660],"    hdr, rows := makeMemberListTable(r)","    cfgBuilder := tablewriter.NewConfigBuilder().WithRowAlignment(tw.AlignRight)","    table := tablewriter.NewTable(os.Stdout, tablewriter.WithConfig(cfgBuilder.Build()))","    table.Header(hdr)","    for _, row := range rows {","        table.Append(row)","    table.Render()","",{"format":280,"lines":662,"tokens":663,"first":664,"others":668,"copies":579,"excerpt":672,"kind":434},27,204,{"name":665,"start":666,"end":667},"tools\u002Frw-heatmaps\u002Fpkg\u002Fchart\u002Fheatmaps.go",134,160,[669],{"name":665,"start":670,"end":671},216,242,{"lines":673,"total":662},[391,660,674,675,676,677,678,679,680,387],"\u002F\u002F Fill the canvas with the plots and legends.","canvases := plot.Align(plots, t, dc)","for i := 0; i \u003C rows; i++ {","    for j := 0; j \u003C cols; j++ {","        \u002F\u002F Continue if there is no plot in the current cell (incomplete data).","        if plots[i][j] == nil {","            continue",{"format":280,"lines":682,"tokens":683,"first":684,"others":688,"copies":579,"excerpt":691,"kind":434},18,138,{"name":685,"start":686,"end":687},"etcdctl\u002Fctlv3\u002Fcommand\u002Fcompletion_command.go",63,80,[689],{"name":690,"start":686,"end":687},"etcdutl\u002Fetcdutl\u002Fcompletion_commmand.go",{"lines":692,"total":682},[693,694,695,696,697,698,699,700,701,702],"  PS> etcdctl completion powershell > etcdctl.ps1","  # and source this file from your PowerShell profile.","`,","        DisableFlagsInUseLine: true,","        ValidArgs:             []string{\"bash\", \"zsh\", \"fish\", \"powershell\"},","        Args:                  cobra.MatchAll(cobra.ExactArgs(1), cobra.OnlyValidArgs),","        Run: func(cmd *cobra.Command, args []string) {","            switch args[0] {","            case \"bash\":","                cmd.Root().GenBashCompletion(os.Stdout)",{"format":280,"lines":255,"tokens":704,"first":705,"others":707,"copies":340,"kind":434},68,{"name":645,"start":565,"end":706},37,[708,711],{"name":645,"start":709,"end":710},62,70,{"name":650,"start":336,"end":712},48,{"format":280,"lines":322,"tokens":714,"first":715,"others":718,"copies":340,"kind":434},66,{"name":716,"start":717,"end":529},"server\u002Fetcdserver\u002Fapi\u002Fmembership\u002Fcluster.go",544,[719,722],{"name":716,"start":720,"end":721},561,566,{"name":716,"start":723,"end":724},570,575,{"format":280,"lines":726,"tokens":323,"first":727,"others":730,"copies":579,"kind":434},23,{"name":728,"start":729,"end":360},"server\u002Fetcdserver\u002Fcluster_util.go",258,[731],{"name":728,"start":419,"end":732},420,{"format":280,"lines":734,"tokens":709,"first":735,"others":737,"copies":340,"kind":434},13,{"name":716,"start":736,"end":537},647,[738,741],{"name":716,"start":739,"end":740},677,689,{"name":716,"start":742,"end":743},703,715,{"format":280,"lines":334,"tokens":709,"first":745,"others":747,"copies":340,"kind":434},{"name":665,"start":403,"end":746},107,[748,751],{"name":665,"start":749,"end":750},174,185,{"name":752,"start":753,"end":710},"tools\u002Frw-heatmaps\u002Fpkg\u002Fchart\u002Fline_chart.go",59,{"format":280,"lines":755,"tokens":756,"first":757,"others":759,"copies":579,"kind":434},17,122,{"name":758,"start":548,"end":394},"etcdctl\u002Fctlv3\u002Fcommand\u002Fdowngrade_command.go",[760],{"name":758,"start":761,"end":762},102,118,{"format":280,"lines":322,"tokens":764,"first":765,"others":769,"copies":340,"kind":434},58,{"name":766,"start":767,"end":768},"server\u002Fetcdserver\u002Fserver.go",1009,1014,[770,773],{"name":766,"start":771,"end":772},1017,1022,{"name":766,"start":774,"end":775},1028,1033,{"files":682,"minified":639,"sample":777},[348,362,396,366,778,370,779,780,781,782,618,783,784,622,785,786,787,788],"api\u002Fetcdserverpb\u002Frpc_grpc.pb.go","api\u002Fmembershippb\u002Fmembership.pb.go","api\u002Fmvccpb\u002Fkv.pb.go","api\u002Fversionpb\u002Fversion.pb.go","server\u002Fetcdserver\u002Fapi\u002Fsnap\u002Fsnappb\u002Fsnap.pb.go","server\u002Fetcdserver\u002Fapi\u002Fv3election\u002Fv3electionpb\u002Fv3election_grpc.pb.go","server\u002Fetcdserver\u002Fapi\u002Fv3election\u002Fv3electionpb\u002Fv3election.pb.go","server\u002Fetcdserver\u002Fapi\u002Fv3lock\u002Fv3lockpb\u002Fv3lock_grpc.pb.go","server\u002Fetcdserver\u002Fapi\u002Fv3lock\u002Fv3lockpb\u002Fv3lock.pb.go","server\u002Flease\u002Fleasepb\u002Flease.pb.go","server\u002Fstorage\u002Fwal\u002Fwalpb\u002Frecord.pb.go",{"score":266,"grade":267,"size":790,"dimensions":794,"skipped":811},{"lines":791,"files":792,"class":793},224134,1051,"L",[795,805],{"id":796,"source":797,"value":798,"adjusted":798,"lines":799,"halfLife":800,"formats":801,"excluded":803,"weight":342,"score":317},"duplication","jscpd",7.6,17041,8.5,[280,326,314,802],"docker",[320,333,804],"data",{"id":806,"source":797,"value":807,"adjusted":808,"lines":809,"halfLife":330,"weight":342,"score":810},"complexity",48.2,47.9,108002,51.4,[812],{"id":813,"reason":814},"dead-code","no JavaScript, TypeScript, Python or compiler-checked Rust files",{"total":816,"mean":817,"files":818},30343,28.9,[819,823,827,831,835,840,845,850,854,858],{"path":370,"complexity":820,"lines":821,"bytes":822},1219,6965,228163,{"path":396,"complexity":824,"lines":825,"bytes":826},636,3259,171389,{"path":766,"complexity":828,"lines":829,"bytes":830},407,2471,76401,{"path":778,"complexity":832,"lines":833,"bytes":834},356,2137,88333,{"path":836,"complexity":837,"lines":838,"bytes":839},"tests\u002Fframework\u002Fe2e\u002Fcluster.go",302,1237,36826,{"path":841,"complexity":842,"lines":843,"bytes":844},"tests\u002Fframework\u002Fintegration\u002Fcluster.go",284,1706,51151,{"path":846,"complexity":847,"lines":848,"bytes":849},"tests\u002Fintegration\u002Fv3_grpc_test.go",277,2481,70552,{"path":851,"complexity":852,"lines":486,"bytes":853},"server\u002Fetcdserver\u002Fv3_server.go",275,39463,{"path":855,"complexity":414,"lines":856,"bytes":857},"tests\u002Fintegration\u002Fcache_test.go",1716,50943,{"path":859,"complexity":860,"lines":861,"bytes":862},"tests\u002Fintegration\u002Fclientv3\u002Fwatch\u002Fwatch_test.go",249,1317,38893,null,{"\u002Ftrending\u002Fetcd-io\u002Fetcd":865},{"views":639,"visits":639},1794034235573]