1<!DOCTYPE html> 2<html> 3<head i18n-values="dir:textdirection;"> 4<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 5<meta charset="utf-8"/> 6<title>Android System Trace</title> 7<style> 8 html, 9 body { 10 height: 100%; 11 } 12 13 body { 14 -webkit-flex-direction: column; 15 display: -webkit-flex; 16 margin: 0; 17 padding: 0; 18 } 19 20 body > tr-ui-timeline-view { 21 -webkit-flex: 1 1 auto; 22 min-height: 0; 23 } 24 body > tr-ui-timeline-view:focus { 25 outline: none; 26 } 27</style> 28<template id="overlay-template"> 29 <style> 30 overlay-mask { 31 left: 0; 32 padding: 8px; 33 position: absolute; 34 top: 0; 35 z-index: 1000; 36 font-family: sans-serif; 37 -webkit-justify-content: center; 38 background: rgba(0, 0, 0, 0.8); 39 display: -webkit-flex; 40 height: 100%; 41 left: 0; 42 position: fixed; 43 top: 0; 44 width: 100%; 45 } 46 overlay-mask:focus { 47 outline: none; 48 } 49 overlay-vertical-centering-container { 50 -webkit-justify-content: center; 51 -webkit-flex-direction: column; 52 display: -webkit-flex; 53 } 54 overlay-frame { 55 z-index: 1100; 56 background: rgb(255, 255, 255); 57 border: 1px solid #ccc; 58 margin: 75px; 59 display: -webkit-flex; 60 -webkit-flex-direction: column; 61 min-height: 0; 62 } 63 title-bar { 64 -webkit-align-items: center; 65 -webkit-flex-direction: row; 66 border-bottom: 1px solid #ccc; 67 background-color: #ddd; 68 display: -webkit-flex; 69 padding: 5px; 70 -webkit-flex: 0 0 auto; 71 } 72 title { 73 display: inline; 74 font-weight: bold; 75 -webkit-box-flex: 1; 76 -webkit-flex: 1 1 auto; 77 } 78 close-button { 79 -webkit-align-self: flex-end; 80 border: 1px solid #eee; 81 background-color: #999; 82 font-size: 10pt; 83 font-weight: bold; 84 padding: 2px; 85 text-align: center; 86 width: 16px; 87 } 88 close-button:hover { 89 background-color: #ddd; 90 border-color: black; 91 cursor: pointer; 92 } 93 overlay-content { 94 display: -webkit-flex; 95 -webkit-flex: 1 1 auto; 96 -webkit-flex-direction: column; 97 overflow-y: auto; 98 padding: 10px; 99 min-width: 300px; 100 min-height: 0; 101 } 102 button-bar { 103 -webkit-align-items: baseline; 104 border-top: 1px solid #ccc; 105 display: -webkit-flex; 106 -webkit-flex: 0 0 auto; 107 -webkit-flex-direction: row-reverse; 108 padding: 4px; 109 } 110 </style> 111 112 <overlay-mask> 113 <overlay-vertical-centering-container> 114 <overlay-frame> 115 <title-bar> 116 <title></title> 117 <close-button>✕</close-button> 118 </title-bar> 119 <overlay-content> 120 <content></content> 121 </overlay-content> 122 <button-bar></button-bar> 123 </overlay-frame> 124 </overlay-vertical-centering-container> 125 </overlay-mask> 126</template><style> 127* /deep/ .labeled-checkbox { 128 display: flex; 129 white-space: nowrap; 130} 131</style><dom-module id="tr-ui-a-analysis-link"> 132 <template> 133 <style> 134 :host { 135 display: inline; 136 cursor: pointer; 137 cursor: pointer; 138 white-space: nowrap; 139 } 140 a { 141 text-decoration: underline; 142 } 143 </style> 144 <a href="{{href}}" on-click="onClicked_" on-mouseenter="onMouseEnter_" on-mouseleave="onMouseLeave_"><content></content></a> 145 146 </template> 147</dom-module><dom-module id="tr-ui-b-table"> 148 <template> 149 <style> 150 :host { 151 display: flex; 152 flex-direction: column; 153 } 154 155 table { 156 flex: 1 1 auto; 157 align-self: stretch; 158 border-collapse: separate; 159 border-spacing: 0; 160 border-width: 0; 161 -webkit-user-select: initial; 162 } 163 164 tr > td { 165 padding: 2px 4px 2px 4px; 166 vertical-align: top; 167 } 168 169 table > tbody:focus { 170 outline: none; 171 } 172 table > tbody:focus[selection-mode="row"] > tr[selected], 173 table > tbody:focus[selection-mode="cell"] > tr > td[selected], 174 table > tbody:focus > tr.empty-row > td { 175 outline: 1px dotted #666666; 176 outline-offset: -1px; 177 } 178 179 button.toggle-button { 180 height: 15px; 181 line-height: 60%; 182 vertical-align: middle; 183 width: 100%; 184 } 185 186 button > * { 187 height: 15px; 188 vertical-align: middle; 189 } 190 191 td.button-column { 192 width: 30px; 193 } 194 195 table > thead > tr > td.sensitive:hover { 196 background-color: #fcfcfc; 197 } 198 199 table > thead > tr > td { 200 font-weight: bold; 201 text-align: left; 202 203 background-color: #eee; 204 white-space: nowrap; 205 overflow: hidden; 206 text-overflow: ellipsis; 207 208 border-top: 1px solid #ffffff; 209 border-bottom: 1px solid #aaa; 210 } 211 212 table > tfoot { 213 background-color: #eee; 214 font-weight: bold; 215 } 216 217 /* Light row and cell highlight. */ 218 table > tbody[row-highlight-style="light"] > tr[selected], 219 table > tbody[cell-highlight-style="light"] > tr > td[selected] { 220 background-color: rgb(213, 236, 229); /* light turquoise */ 221 } 222 table > tbody[row-highlight-style="light"] > 223 tr:not(.empty-row):not([selected]):hover, 224 table > tbody[cell-highlight-style="light"] > 225 tr:not(.empty-row):not([selected]) > td:hover { 226 background-color: #f6f6f6; /* light grey */ 227 } 228 229 /* Dark row and cell highlight. */ 230 table > tbody[row-highlight-style="dark"] > tr[selected], 231 table > tbody[cell-highlight-style="dark"] > tr > td[selected] { 232 background-color: rgb(103, 199, 165); /* turquoise */ 233 } 234 table > tbody[row-highlight-style="dark"] > 235 tr:not(.empty-row):not([selected]):hover, 236 table > tbody[cell-highlight-style="dark"] > 237 tr:not(.empty-row):not([selected]) > td:hover { 238 background-color: #e6e6e6; /* grey */ 239 } 240 table > tbody[row-highlight-style="dark"] > tr:hover[selected], 241 table > tbody[cell-highlight-style="dark"] > tr[selected] > td:hover { 242 background-color: rgb(171, 217, 202); /* semi-light turquoise */ 243 } 244 245 table > colgroup > col[selected] { 246 background-color: #e6e6e6; /* grey */ 247 } 248 249 table > tbody > tr.empty-row > td { 250 color: #666; 251 font-style: italic; 252 text-align: center; 253 } 254 255 table > tbody.has-footer > tr:last-child > td { 256 border-bottom: 1px solid #aaa; 257 } 258 259 table > tfoot > tr:first-child > td { 260 border-top: 1px solid #ffffff; 261 } 262 263 :host([zebra]) table tbody tr:nth-child(even) { 264 background-color: #f4f4f4; 265 } 266 267 expand-button { 268 -webkit-user-select: none; 269 cursor: pointer; 270 margin-right: 3px; 271 font-size: smaller; 272 height: 1rem; 273 } 274 275 expand-button.button-expanded { 276 transform: rotate(90deg); 277 } 278 </style> 279 <table> 280 <colgroup id="cols"> 281 </colgroup> 282 <thead id="head"> 283 </thead> 284 <tbody id="body"> 285 </tbody> 286 <tfoot id="foot"> 287 </tfoot> 288 </table> 289 </template> 290</dom-module><dom-module id="tr-ui-b-table-header-cell"> 291 <template> 292 <style> 293 :host { 294 -webkit-user-select: none; 295 display: flex; 296 } 297 298 span { 299 flex: 0 1 auto; 300 } 301 302 #side { 303 -webkit-user-select: none; 304 flex: 0 0 auto; 305 padding-left: 2px; 306 padding-right: 2px; 307 vertical-align: top; 308 font-size: 15px; 309 font-family: sans-serif; 310 line-height: 85%; 311 margin-left: 5px; 312 } 313 314 #side.disabled { 315 color: rgb(140, 140, 140); 316 } 317 318 #title:empty, #side:empty { 319 display: none; 320 } 321 </style> 322 323 <span id="title"></span> 324 <span id="side"></span> 325 </template> 326</dom-module><dom-module id="tr-v-ui-scalar-context-controller"> 327 <template></template> 328</dom-module><dom-module id="tr-v-ui-scalar-span"> 329 <template> 330 <style> 331 :host { 332 display: flex; 333 flex-direction: row; 334 justify-content: flex-end; 335 position: relative; 336 /* Limit the sparkline's negative z-index to the span only. */ 337 isolation: isolate; 338 } 339 340 :host(.left-align) { 341 justify-content: flex-start; 342 } 343 344 :host(.inline) { 345 display: inline-flex; 346 } 347 348 #sparkline { 349 width: 0%; 350 position: absolute; 351 bottom: 0; 352 display: none; 353 height: 100%; 354 background-color: hsla(216, 100%, 94.5%, .75); 355 border-color: hsl(216, 100%, 89%); 356 box-sizing: border-box; 357 z-index: -1; 358 } 359 #sparkline.positive { 360 border-right-style: solid; 361 /* The border width must be kept in sync with buildSparklineStyle_(). */ 362 border-right-width: 1px; 363 } 364 #sparkline:not(.positive) { 365 border-left-style: solid; 366 /* The border width must be kept in sync with buildSparklineStyle_(). */ 367 border-left-width: 1px; 368 } 369 #sparkline.better { 370 background-color: hsla(115, 100%, 93%, .75); 371 border-color: hsl(118, 60%, 80%); 372 } 373 #sparkline.worse { 374 background-color: hsla(0, 100%, 88%, .75); 375 border-color: hsl(0, 100%, 80%); 376 } 377 378 #content, #significance, #warning { 379 flex-grow: 0; 380 } 381 #content.better { 382 color: green; 383 } 384 #content.worse { 385 color: red; 386 } 387 388 #significance svg { 389 margin-left: 4px; 390 display: none; 391 height: 1em; 392 vertical-align: text-top; 393 stroke-width: 4; 394 fill: rgba(0, 0, 0, 0); 395 } 396 #significance #insignificant { 397 stroke: black; 398 } 399 #significance #significantly_better { 400 stroke: green; 401 } 402 #significance #significantly_worse { 403 stroke: red; 404 } 405 406 #warning { 407 display: none; 408 margin-left: 4px; 409 height: 1em; 410 vertical-align: text-top; 411 stroke-width: 0; 412 } 413 #warning path { 414 fill: rgb(255, 185, 185); 415 } 416 #warning rect { 417 fill: red; 418 } 419 </style> 420 421 <span id="sparkline"></span> 422 423 <span id="content"></span> 424 425 <span id="significance"> 426 427 <svg id="insignificant" viewBox="0 0 128 128"> 428 <circle cx="64" cy="64" r="60"></circle> 429 <circle cx="44" cy="44" r="4"></circle> 430 <circle cx="84" cy="44" r="4"></circle> 431 <line x1="36" x2="92" y1="80" y2="80"></line> 432 </svg> 433 434 435 <svg id="significantly_better" viewBox="0 0 128 128"> 436 <circle cx="64" cy="64" r="60"></circle> 437 <circle cx="44" cy="44" r="4"></circle> 438 <circle cx="84" cy="44" r="4"></circle> 439 <path d="M 28 64 Q 64 128 100 64"></path> 440 </svg> 441 442 443 <svg id="significantly_worse" viewBox="0 0 128 128"> 444 <circle cx="64" cy="64" r="60"></circle> 445 <circle cx="44" cy="44" r="4"></circle> 446 <circle cx="84" cy="44" r="4"></circle> 447 <path d="M 36 96 Q 64 48 92 96"></path> 448 </svg> 449 </span> 450 451 <svg id="warning" viewBox="0 0 128 128"> 452 <path d="M 64 0 L 128 128 L 0 128 L 64 0"></path> 453 <rect height="84" width="8" x="60" y="0"></rect> 454 <rect height="24" width="8" x="60" y="100"></rect> 455 </svg> 456 </template> 457</dom-module><dom-module id="tr-ui-a-generic-object-view"> 458 <template> 459 <style> 460 :host { 461 display: block; 462 font-family: monospace; 463 } 464 </style> 465 <div id="content"> 466 </div> 467 </template> 468</dom-module><dom-module id="tr-ui-a-generic-object-view-with-label"> 469 <template> 470 <style> 471 :host { 472 display: block; 473 } 474 </style> 475 </template> 476</dom-module><dom-module id="tr-ui-b-drag-handle"> 477 <template> 478 <style> 479 :host { 480 -webkit-user-select: none; 481 box-sizing: border-box; 482 display: block; 483 } 484 485 :host(.horizontal-drag-handle) { 486 background-image: -webkit-gradient(linear, 487 0 0, 0 100%, 488 from(#E5E5E5), 489 to(#D1D1D1)); 490 border-bottom: 1px solid #8e8e8e; 491 border-top: 1px solid white; 492 cursor: ns-resize; 493 flex: 0 0 auto; 494 height: 7px; 495 position: relative; 496 } 497 498 :host(.vertical-drag-handle) { 499 background-image: -webkit-gradient(linear, 500 0 0, 100% 0, 501 from(#E5E5E5), 502 to(#D1D1D1)); 503 border-left: 1px solid white; 504 border-right: 1px solid #8e8e8e; 505 cursor: ew-resize; 506 flex: 0 0 auto; 507 position: relative; 508 width: 7px; 509 } 510 </style> 511 <div></div> 512 </template> 513</dom-module><dom-module id="tv-ui-b-hotkey-controller"> 514 <template> 515 <div></div> 516 </template> 517</dom-module><dom-module id="tr-ui-b-info-bar"> 518 <template> 519 <style> 520 :host { 521 align-items: center; 522 flex: 0 0 auto; 523 background-color: rgb(252, 235, 162); 524 border-bottom: 1px solid #A3A3A3; 525 border-left: 1px solid white; 526 border-right: 1px solid #A3A3A3; 527 border-top: 1px solid white; 528 display: flex; 529 height: 26px; 530 padding: 0 3px 0 3px; 531 } 532 533 :host([hidden]) { 534 display: none !important; 535 } 536 537 #message { flex: 1 1 auto; } 538 </style> 539 540 <span id="message"></span> 541 <span id="buttons"></span> 542 </template> 543</dom-module><style> 544* /deep/ .x-list-view{-webkit-user-select:none;display:block}* /deep/ .x-list-view:focus{outline:none}* /deep/ .x-list-view *{-webkit-user-select:none}* /deep/ .x-list-view>.list-item{padding:2px 4px 2px 4px}* /deep/ .x-list-view:focus>.list-item[selected]{background-color:rgb(171,217,202);outline:1px dotted rgba(0,0,0,0.1);outline-offset:0}* /deep/ .x-list-view>.list-item[selected]{background-color:rgb(103,199,165)} 545</style><dom-module id="tr-ui-b-mouse-mode-icon"> 546 <template> 547 <style> 548 :host { 549 display: block; 550 background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAChCAYAAACbBNzvAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAABV0RVh0Q3JlYXRpb24gVGltZQA3LzE2LzEzRNEKUwAAABx0RVh0U29mdHdhcmUAQWRvYmUgRmlyZXdvcmtzIENTNui8sowAAA9aSURBVHic7V1rTFvl//+UrgUmZWMpbLa6cLErwpYxkqLGkjAG88WSbmumGUllvlmAJctMRtybvlHrLXiJUekMIZuYSCL5gS+EuLIXGEGjqCsllCEW6xQECgzWG7S05/+C/zkp9LTn0gsL6ych9JzznOdzPj19Luf5PN/nCN59913ixRdfRFdXFxLx/2GDgCAIYmpqCoWFhUjE/4cNae+99x4AIFH/Hzak7nDqDu+wOyyw2WzEdl9EMpG23ReQbKQE73Q8coJ3bfcFWK1W/Pbbb/D7/UhLi/37DwaDEIvFKC8vR0lJSdjxbRVstVoxPDyMxx9/HAUFBcjMzIRAIOCdXzAYhNvtht1ux/DwMACEid5WwSMjI3jyySdRXFwMsVgMoVAYk2CCIJCZmYns7GyMjo5iZGQkPoKXl5exd+9e3hdGIhgMIj8/H5mZmRCJRIyCyQ5NJBAEgUAgAKFQiIKCAiwsLISl4VxoHA4H+vv74Xa7uZ4aBqFQiOzsbIhEIojFYojFYohEItq/8fFxXLlyBUtLSxHThOaxZ88eCIXC2AWPj48DAH799deYBaelpUEoFLL6++qrrwAAH3zwAav0YrGYthLkJHh6ehpzc3MAgPn5eUxPT8csWiAQMJbboaEhmM1mAIDFYsHQ0BDvPDkJtlgsYdt+v59LFrxw/fr1sG2Xy8UrL06C6+vrw7bFYjEvYi747rvvwrYlEgmvvDjV0g6HI+p2ohBP3qh32OFwoLe3l1VGvb29sNvtvC8kFCMjI9DpdKzS6nQ6mEwm1nnTPg/7/X6MjY1hcnKS/VX+P/bu3YuysjLk5uYypv36669x8uRJZGRkQCQSwev1oqOjAz09PZx5CwsLcenSJRw+fBh+vx+rq6swmUx46aWXNqWjvcMDAwO8xAIbnZKBgQFeNXhzczMvscBGp6S5uRk//vhj1HS0grVaLYqLi3kRy+Vy1NXVRe0RRcKNGzeg0Wh48apUKnR1daG6ujpqOtpKy+VyQa1Wo6SkBLdv38aFCxeoY5988gn1+fLly9TnL774ApWVlXjiiSfgdDqxtrbG+aJ9Ph/0ej3OnDkDvV6PW7duUceOHDlCfR4dHaU+v/DCC7h27RrUajWcTidWV1ejctAKJggCKysryMzMhE6nw+zsLO3Joft1Oh0ePHiApaUlduqi8BYVFaGvr48Vb19fHyfeqM2Sz+dj3QTEs4lKJC+njsfWJoptkxUrtjZRbJssOnASXFtbG3U7UXjrrbeibnMBJ8FZWVkoKysDABQUFCArK4s3MRcoFArqrlZXV0OhUPDOi5Ngn8+Hw4cPQyqV4tlnn4XP5+NNTIIgmH0An8+HV155BUqlEq+++ior3kAgQLuf84jH2toajh8/jvX1da6n0sLj8SAjI4MxHUEQ+PTTT1nlSRAEHjx4QHtsW8e0RCIR7HY79uzZE/GOcEUgEEAgEMDff/8NkUgUdnxbBR85cgRmsxkCgQD5+fkRh2XYIhAI4P79+5iamoLD4cCxY8fC0myr4KeeegoCgQBWqxVzc3NIS0uLedQyGAxi165dKC8vR1FRUVialHu405ESvNPxyAlOuYfJRMo9fFjdw3iBq3vIBDbu4bYK3uoextKtJEH2yWNyD8nyEG8wuYcffvgha3cxru6h3W5Hf39/QoyzaE6fyWRCQ0MDZ+MsLu7h8vIyent7sby8zIk8VkxNTUGn08Fms8UlP04Nn9/vR39/f9w8JLZwu91obGzk5CFFAq+Wfnh4mDKok4mWlha0trbGlAfvrs3k5CQGBgaSYoiHoqenB1evXk2OIb4VDocDJpMp6eXaYrGgsbGRV7mOufPq8XgwMDCQ9HI9NzeHq1evci7XvDseUqkUWq0W6enpCAaDcDqd8Hq9fLNjDaVSiRs3bkAikfDi5XSHxWIxampqAAALCwsYGhrC7Ows5ufnEypWIpHAYDAAACYmJnD9+nXevJwEnzp1CjKZDBUVFQCAsbGxpJTfjz76CFVVVWhqagIAdHR08G6XWQuuqanB7t274fV6UVpaiuzsbAAbTzyJhMFggEKhgNfrRX19PWQyGQDAaDTyyo+V4JqaGshkMsricLlcOH78OICNCWp8p0cwwWAwoKqqahPvG2+8AWDji+7u7uacJyvBMpksrKxkZWVR0yLGxsY4E7NBVVVVGK9CoaCmRXR0dHDOk5VguorB5/OhoqICYrE4YZ2PSLxXrlyBRCLhNcE1pufh1dVVXLx4EWlpaRGnJzCBjXtId87g4GBU3ri5h1uJ5+fnY8mCtXvIhTflHoYg5R4mEyn3MAl45KyWlOCdjkdOcMo9TCZS7mHKPeSGhLmH5LBOrAGXXN1DcliHrgdFgsk95CzYbrfDbDbD7/ejrKwstpmtNO5hJJhMJrS2tsLtdqOpqQlarTZi2mjuIWvBfr8fZrN50/iz2WzG9PQ0nn/+edonEzZgij10uVwwGo2bxp+NRiOGhobw+uuv005hjtk9JENz6AbbyWCuRESp2Ww2NDc30w62WywW6HQ6zoOIrO5wbm4uzp8/j5WVFXR2dm46VldXh3379mF5eTku86dDUVxcjK6uLthstrClqrq6unDo0CHOvKwE+/1+LC4uUqG0oZiYmIhaicQCkvfu3bthxwYGBnhVmpy6NnSD7kxxQvEA3Zo+fIsQJ8F040j379/nRcwFdF4037FwToLphkUXFxd5EXMB3chkUgQ7nc6wfT6fL+Gm+H///Re2z+Vy8TLFGSut/v5+RsPsm2++AbDR84pXLFNDQwPjelxnz54FsBFK+/nnn7PKl/EOa7VaVmHvYrE4au+HK27evMkq7F0ikeDmzZus82UU7HK5qG8yGs6ePct73gUdfD4f2tvbGdO1t7dzaocZBRMEAaFQSBnhdKipqYFQKORlm0TjzcvLo4xwOhgMBuTl5XHiZVVp+f1+yGQy2iDq4uJiyGSyhFRcfr8fVVVVtEHUGo0GVVVVnHlZ19JerxdqtRpSqZTaJ5VKoVarEzrdwev1Qq/XQ6lUUvuUSiX0ej0vXk7N0srKCjQaDbXmjUajwcrKCmfSULD5Oa6srKCtrQ0SiQQSiQRtbW2MvHFzD0MrsXhUUmzdw9BKjKmSiqt7SBBE3Conru4hOa8kWqBnyj3cgl0EQcQ0cMYWW3kIgkiKe7iVV2C1Won09PSYxLCB1+tFZmYmtb22tobt4E1LBimATaQAkiKWjveR85ZSgnc6Uu5hMpFyD1PuITekYg/ZxB52dXXFTMo2n1D38NSpU7zjDEP/yHzisnJpIsBm5dJ45rntgpONuITTJirctqWlJabjdGAUvNUEp0NouxcvtLa2MgZhmUwmzqKjCrbb7aw9HC5pmWAymVivb2kymTgFe0RslrbeNTa1rtlshkgkQn5+PusL2Iqtd42NdWM0GpGVlYWTJ08ypo14h/nGI8Uax8Q3XJbteREFV1ZW8iLmex6Ja9euJfS8iD9puVyOmpoa3L59G8DmVUq3glzNlAzoimVgvrq6GmlpadDr9QA2r1K6FeRqpmRAFxveiIK9Xi8VZ/jLL78whulUVFTELJbkJeMMjUYjI29TUxNrsQBDX5qMM4w0qE2iuLgYpaWlcXMPyThDphWMNRoN6uvrOfGyskvVanXUNGq1Oq5WKclL/qwjQa/Xc+Zl1dNi8nFi9ZeSyZvqS0erjbmAbT6kT7X1lQp8QeYTyasKE8w3aJJvPh6PBwRBYGZmJi68MzMzqdjDUDx67mEsFxwrUrGHSUCqWdrpSAne6dix7uFzzz1HW0s/FO7h/v37UVBQgMceeyxm99DlcsFut2NwcBACgSDsnTHb7h4ePHgQxcXFcTPTMjIyIJFIcOfOHfz+++8Pl2DSPSTftxQv93DXrl0oKirCnTt3wtIwFhq62aputxtms5maCR8pHROEQiEkEgntew/X1tbC3mu4tLSE9vZ2nD9/njZd6Pn79u3jHoo3OTmJsbExnDlzBsDGWLXdbqcNoent7YVCocChQ4dYh+VFij3s7u5GR0cH9YWaTCbcunVr0yMkmfbChQvQarXQarVUWF4wGER6ejp7wdPT0zCbzfB4PJv2R7NT/H4/rFYrJicnUVZWxnowPtTpGxoagtFoDAsIi2anuN1ufPnll+ju7salS5dw4sQJKk+64hH2FTgcDgwPD4eJZQu/3w+bzcZ5JSSLxYL333+fNvqNDdxuN3p6ehjPDxMsl8tjjkw5ceIENfOVLVQqFd58882YeA0GA7WiWiSECfb5fPjpp58AbKyBx/bCpVIp6urqAADff/895wf6tbU1fPbZZwCAjz/+mPHCSSiVSsr3eueddxh5aWtpMrwuJyeH9cuczp07R5UZvktO/fnnnwCAY8eOoa+vj9U5nZ2d1CsH2fhaUZulwcFB1kGNi4uLjK/gYwuDwcCJ9+2332add9RmyW63w+12Q6FQIC8vD5cvX8bCwgI19VcqlcJms8HhcGBycjJuSz6aTCbMzs5Cq9Xi6NGjGB0dxcTEBJxOJyQSCZRKJUZGRjAyMoL//e9/jBFsoaAVLJfLKZvD4XBQ37ZEItlUph0OB238gVwu5ySQhEqlopo+i8VCtbsymWxTmb579y6t46BSqRg5aAXX1tbi22+/DZvY5XQ6aQMuQyGVSlFbW8trgb6WlhY0NDRgYmJi0/6ZmRnGYVylUomWlhbGeGbaMuzxeKDRaKhVDdkgOzsblZWVOHfuHO82fH19HW1tbWhqamL9ul2ZTIbXXnsNnZ2drN7yFfFFjy6XC6WlpVCpVFhaWsK///5LVfnz8/PIy8sDAOzevRu5ubnIycmBx+OJKZ6YIAj4fD7U19ejsbERf/zxB4aHhykrdHx8HE8//TQAYP/+/VAqlVAoFJx4I1ZapGiyrBw4cAD37t2DXC7HgQMHAGx0QXNycrC+vh63VR5Cecnw3J6eHqhUKpSXlwPY6OI+88wzALiHxnN6PPz555/D9h08eJATIR/Qzd9gE/FKh9SYFlvI5XKqPMUCrlFuKpUKp0+fZkwXDAZp93MSLBaLUVJSgqNHjyIjIwNerzfmOR0ul4sx9lAikeD06dN4+eWXIZVKGXnj5h5evHgRXq8XHo+Hd9MTCpFIhHv37iEnJydqp/+HH36A1+uFy+VirKTi6h7Gug7tVpDuIUEQKCwsjOge/vPPP6zyCwQCWF5exl9//YX5+Xla93DbzTSbzQar1Yr19fW4uoclJSUp9xB4BJullOCdjkdO8P8BGCQ0hnF1DxUAAAAASUVORK5CYII=); 551 width: 27px; 552 height: 30px; 553 } 554 :host.active { 555 cursor: auto; 556 } 557 </style> 558 </template> 559</dom-module><dom-module id="tr-ui-b-mouse-mode-selector"> 560 <template> 561 <style> 562 :host { 563 564 -webkit-user-drag: element; 565 -webkit-user-select: none; 566 567 background: #DDD; 568 border: 1px solid #BBB; 569 border-radius: 4px; 570 box-shadow: 0 1px 2px rgba(0,0,0,0.2); 571 left: calc(100% - 120px); 572 position: absolute; 573 top: 100px; 574 user-select: none; 575 width: 29px; 576 z-index: 20; 577 } 578 579 .drag-handle { 580 background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAChCAYAAACbBNzvAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAABV0RVh0Q3JlYXRpb24gVGltZQA3LzE2LzEzRNEKUwAAABx0RVh0U29mdHdhcmUAQWRvYmUgRmlyZXdvcmtzIENTNui8sowAAA9aSURBVHic7V1rTFvl//+UrgUmZWMpbLa6cLErwpYxkqLGkjAG88WSbmumGUllvlmAJctMRtybvlHrLXiJUekMIZuYSCL5gS+EuLIXGEGjqCsllCEW6xQECgzWG7S05/+C/zkp9LTn0gsL6ych9JzznOdzPj19Luf5PN/nCN59913ixRdfRFdXFxLx/2GDgCAIYmpqCoWFhUjE/4cNae+99x4AIFH/Hzak7nDqDu+wOyyw2WzEdl9EMpG23ReQbKQE73Q8coJ3bfcFWK1W/Pbbb/D7/UhLi/37DwaDEIvFKC8vR0lJSdjxbRVstVoxPDyMxx9/HAUFBcjMzIRAIOCdXzAYhNvtht1ux/DwMACEid5WwSMjI3jyySdRXFwMsVgMoVAYk2CCIJCZmYns7GyMjo5iZGQkPoKXl5exd+9e3hdGIhgMIj8/H5mZmRCJRIyCyQ5NJBAEgUAgAKFQiIKCAiwsLISl4VxoHA4H+vv74Xa7uZ4aBqFQiOzsbIhEIojFYojFYohEItq/8fFxXLlyBUtLSxHThOaxZ88eCIXC2AWPj48DAH799deYBaelpUEoFLL6++qrrwAAH3zwAav0YrGYthLkJHh6ehpzc3MAgPn5eUxPT8csWiAQMJbboaEhmM1mAIDFYsHQ0BDvPDkJtlgsYdt+v59LFrxw/fr1sG2Xy8UrL06C6+vrw7bFYjEvYi747rvvwrYlEgmvvDjV0g6HI+p2ohBP3qh32OFwoLe3l1VGvb29sNvtvC8kFCMjI9DpdKzS6nQ6mEwm1nnTPg/7/X6MjY1hcnKS/VX+P/bu3YuysjLk5uYypv36669x8uRJZGRkQCQSwev1oqOjAz09PZx5CwsLcenSJRw+fBh+vx+rq6swmUx46aWXNqWjvcMDAwO8xAIbnZKBgQFeNXhzczMvscBGp6S5uRk//vhj1HS0grVaLYqLi3kRy+Vy1NXVRe0RRcKNGzeg0Wh48apUKnR1daG6ujpqOtpKy+VyQa1Wo6SkBLdv38aFCxeoY5988gn1+fLly9TnL774ApWVlXjiiSfgdDqxtrbG+aJ9Ph/0ej3OnDkDvV6PW7duUceOHDlCfR4dHaU+v/DCC7h27RrUajWcTidWV1ejctAKJggCKysryMzMhE6nw+zsLO3Joft1Oh0ePHiApaUlduqi8BYVFaGvr48Vb19fHyfeqM2Sz+dj3QTEs4lKJC+njsfWJoptkxUrtjZRbJssOnASXFtbG3U7UXjrrbeibnMBJ8FZWVkoKysDABQUFCArK4s3MRcoFArqrlZXV0OhUPDOi5Ngn8+Hw4cPQyqV4tlnn4XP5+NNTIIgmH0An8+HV155BUqlEq+++ior3kAgQLuf84jH2toajh8/jvX1da6n0sLj8SAjI4MxHUEQ+PTTT1nlSRAEHjx4QHtsW8e0RCIR7HY79uzZE/GOcEUgEEAgEMDff/8NkUgUdnxbBR85cgRmsxkCgQD5+fkRh2XYIhAI4P79+5iamoLD4cCxY8fC0myr4KeeegoCgQBWqxVzc3NIS0uLedQyGAxi165dKC8vR1FRUVialHu405ESvNPxyAlOuYfJRMo9fFjdw3iBq3vIBDbu4bYK3uoextKtJEH2yWNyD8nyEG8wuYcffvgha3cxru6h3W5Hf39/QoyzaE6fyWRCQ0MDZ+MsLu7h8vIyent7sby8zIk8VkxNTUGn08Fms8UlP04Nn9/vR39/f9w8JLZwu91obGzk5CFFAq+Wfnh4mDKok4mWlha0trbGlAfvrs3k5CQGBgaSYoiHoqenB1evXk2OIb4VDocDJpMp6eXaYrGgsbGRV7mOufPq8XgwMDCQ9HI9NzeHq1evci7XvDseUqkUWq0W6enpCAaDcDqd8Hq9fLNjDaVSiRs3bkAikfDi5XSHxWIxampqAAALCwsYGhrC7Ows5ufnEypWIpHAYDAAACYmJnD9+nXevJwEnzp1CjKZDBUVFQCAsbGxpJTfjz76CFVVVWhqagIAdHR08G6XWQuuqanB7t274fV6UVpaiuzsbAAbTzyJhMFggEKhgNfrRX19PWQyGQDAaDTyyo+V4JqaGshkMsricLlcOH78OICNCWp8p0cwwWAwoKqqahPvG2+8AWDji+7u7uacJyvBMpksrKxkZWVR0yLGxsY4E7NBVVVVGK9CoaCmRXR0dHDOk5VguorB5/OhoqICYrE4YZ2PSLxXrlyBRCLhNcE1pufh1dVVXLx4EWlpaRGnJzCBjXtId87g4GBU3ri5h1uJ5+fnY8mCtXvIhTflHoYg5R4mEyn3MAl45KyWlOCdjkdOcMo9TCZS7mHKPeSGhLmH5LBOrAGXXN1DcliHrgdFgsk95CzYbrfDbDbD7/ejrKwstpmtNO5hJJhMJrS2tsLtdqOpqQlarTZi2mjuIWvBfr8fZrN50/iz2WzG9PQ0nn/+edonEzZgij10uVwwGo2bxp+NRiOGhobw+uuv005hjtk9JENz6AbbyWCuRESp2Ww2NDc30w62WywW6HQ6zoOIrO5wbm4uzp8/j5WVFXR2dm46VldXh3379mF5eTku86dDUVxcjK6uLthstrClqrq6unDo0CHOvKwE+/1+LC4uUqG0oZiYmIhaicQCkvfu3bthxwYGBnhVmpy6NnSD7kxxQvEA3Zo+fIsQJ8F040j379/nRcwFdF4037FwToLphkUXFxd5EXMB3chkUgQ7nc6wfT6fL+Gm+H///Re2z+Vy8TLFGSut/v5+RsPsm2++AbDR84pXLFNDQwPjelxnz54FsBFK+/nnn7PKl/EOa7VaVmHvYrE4au+HK27evMkq7F0ikeDmzZus82UU7HK5qG8yGs6ePct73gUdfD4f2tvbGdO1t7dzaocZBRMEAaFQSBnhdKipqYFQKORlm0TjzcvLo4xwOhgMBuTl5XHiZVVp+f1+yGQy2iDq4uJiyGSyhFRcfr8fVVVVtEHUGo0GVVVVnHlZ19JerxdqtRpSqZTaJ5VKoVarEzrdwev1Qq/XQ6lUUvuUSiX0ej0vXk7N0srKCjQaDbXmjUajwcrKCmfSULD5Oa6srKCtrQ0SiQQSiQRtbW2MvHFzD0MrsXhUUmzdw9BKjKmSiqt7SBBE3Conru4hOa8kWqBnyj3cgl0EQcQ0cMYWW3kIgkiKe7iVV2C1Won09PSYxLCB1+tFZmYmtb22tobt4E1LBimATaQAkiKWjveR85ZSgnc6Uu5hMpFyD1PuITekYg/ZxB52dXXFTMo2n1D38NSpU7zjDEP/yHzisnJpIsBm5dJ45rntgpONuITTJirctqWlJabjdGAUvNUEp0NouxcvtLa2MgZhmUwmzqKjCrbb7aw9HC5pmWAymVivb2kymTgFe0RslrbeNTa1rtlshkgkQn5+PusL2Iqtd42NdWM0GpGVlYWTJ08ypo14h/nGI8Uax8Q3XJbteREFV1ZW8iLmex6Ja9euJfS8iD9puVyOmpoa3L59G8DmVUq3glzNlAzoimVgvrq6GmlpadDr9QA2r1K6FeRqpmRAFxveiIK9Xi8VZ/jLL78whulUVFTELJbkJeMMjUYjI29TUxNrsQBDX5qMM4w0qE2iuLgYpaWlcXMPyThDphWMNRoN6uvrOfGyskvVanXUNGq1Oq5WKclL/qwjQa/Xc+Zl1dNi8nFi9ZeSyZvqS0erjbmAbT6kT7X1lQp8QeYTyasKE8w3aJJvPh6PBwRBYGZmJi68MzMzqdjDUDx67mEsFxwrUrGHSUCqWdrpSAne6dix7uFzzz1HW0s/FO7h/v37UVBQgMceeyxm99DlcsFut2NwcBACgSDsnTHb7h4ePHgQxcXFcTPTMjIyIJFIcOfOHfz+++8Pl2DSPSTftxQv93DXrl0oKirCnTt3wtIwFhq62aputxtms5maCR8pHROEQiEkEgntew/X1tbC3mu4tLSE9vZ2nD9/njZd6Pn79u3jHoo3OTmJsbExnDlzBsDGWLXdbqcNoent7YVCocChQ4dYh+VFij3s7u5GR0cH9YWaTCbcunVr0yMkmfbChQvQarXQarVUWF4wGER6ejp7wdPT0zCbzfB4PJv2R7NT/H4/rFYrJicnUVZWxnowPtTpGxoagtFoDAsIi2anuN1ufPnll+ju7salS5dw4sQJKk+64hH2FTgcDgwPD4eJZQu/3w+bzcZ5JSSLxYL333+fNvqNDdxuN3p6ehjPDxMsl8tjjkw5ceIENfOVLVQqFd58882YeA0GA7WiWiSECfb5fPjpp58AbKyBx/bCpVIp6urqAADff/895wf6tbU1fPbZZwCAjz/+mPHCSSiVSsr3eueddxh5aWtpMrwuJyeH9cuczp07R5UZvktO/fnnnwCAY8eOoa+vj9U5nZ2d1CsH2fhaUZulwcFB1kGNi4uLjK/gYwuDwcCJ9+2332add9RmyW63w+12Q6FQIC8vD5cvX8bCwgI19VcqlcJms8HhcGBycjJuSz6aTCbMzs5Cq9Xi6NGjGB0dxcTEBJxOJyQSCZRKJUZGRjAyMoL//e9/jBFsoaAVLJfLKZvD4XBQ37ZEItlUph0OB238gVwu5ySQhEqlopo+i8VCtbsymWxTmb579y6t46BSqRg5aAXX1tbi22+/DZvY5XQ6aQMuQyGVSlFbW8trgb6WlhY0NDRgYmJi0/6ZmRnGYVylUomWlhbGeGbaMuzxeKDRaKhVDdkgOzsblZWVOHfuHO82fH19HW1tbWhqamL9ul2ZTIbXXnsNnZ2drN7yFfFFjy6XC6WlpVCpVFhaWsK///5LVfnz8/PIy8sDAOzevRu5ubnIycmBx+OJKZ6YIAj4fD7U19ejsbERf/zxB4aHhykrdHx8HE8//TQAYP/+/VAqlVAoFJx4I1ZapGiyrBw4cAD37t2DXC7HgQMHAGx0QXNycrC+vh63VR5Cecnw3J6eHqhUKpSXlwPY6OI+88wzALiHxnN6PPz555/D9h08eJATIR/Qzd9gE/FKh9SYFlvI5XKqPMUCrlFuKpUKp0+fZkwXDAZp93MSLBaLUVJSgqNHjyIjIwNerzfmOR0ul4sx9lAikeD06dN4+eWXIZVKGXnj5h5evHgRXq8XHo+Hd9MTCpFIhHv37iEnJydqp/+HH36A1+uFy+VirKTi6h7Gug7tVpDuIUEQKCwsjOge/vPPP6zyCwQCWF5exl9//YX5+Xla93DbzTSbzQar1Yr19fW4uoclJSUp9xB4BJullOCdjkdO8P8BGCQ0hnF1DxUAAAAASUVORK5CYII=) 2px 3px no-repeat; 581 background-repeat: no-repeat; 582 border-bottom: 1px solid #BCBCBC; 583 cursor: move; 584 display: block; 585 height: 13px; 586 width: 27px; 587 } 588 589 .tool-button { 590 background-position: center center; 591 background-repeat: no-repeat; 592 border-bottom: 1px solid #BCBCBC; 593 border-top: 1px solid #F1F1F1; 594 cursor: pointer; 595 } 596 597 .buttons > .tool-button:last-child { 598 border-bottom: none; 599 } 600 601 </style> 602 <div class="drag-handle"></div> 603 <div class="buttons"> 604 </div> 605 </template> 606</dom-module><dom-module id="tr-ui-e-chrome-cc-display-item-list-item"> 607 <template> 608 <style> 609 :host { 610 border-bottom: 1px solid #555; 611 display: block; 612 font-size: 12px; 613 padding: 3px 5px; 614 } 615 616 :host(:hover) { 617 background-color: #f0f0f0; 618 cursor: pointer; 619 } 620 621 .header { 622 font-weight: bold; 623 margin: 2px 0; 624 } 625 626 .header > .extra { 627 background-color: #777; 628 border-radius: 4px; 629 color: white; 630 margin: 0 6px; 631 text-decoration: none; 632 padding: 2px 4px; 633 } 634 635 .raw-details { 636 white-space: pre-wrap; 637 } 638 639 .details > dl { 640 margin: 0; 641 } 642 643 :host(:not([selected])) .details { 644 display: none; 645 } 646 </style> 647 <div class="header"> 648 {{name}} 649 <template if="{{_computeIf(richDetails)}}" is="dom-if"> 650 <a class="extra" download="drawing.skp" href$="{{_computeHref(richDetails)}}" on-click="{{stopPropagation}}">SKP</a> 651 </template> 652 </div> 653 <div class="details"> 654 <template if="{{rawDetails}}"> 655 <div class="raw-details">{{rawDetails}}</div> 656 </template> 657 <template bind="{{richDetails}}" if="{{richDetails}}" is="dom-if"> 658 <dl> 659 <template bind="{{cullRect}}" if="{{cullRect}}" is="dom-if"> 660 <dt>Cull rect</dt> 661 <dd>{{x}},{{y}} {{width}}×{{height}}</dd> 662 </template> 663 <template bind="{{visualRect}}" if="{{visualRect}}" is="dom-if"> 664 <dt>Visual rect</dt> 665 <dd>{{x}},{{y}} {{width}}×{{height}}</dd> 666 </template> 667 </dl> 668 </template> 669 </div> 670 </template> 671 672</dom-module><style> 673* * /deep/ tr-ui-e-chrome-cc-picture-ops-list-view{-webkit-flex-direction:column;border-top:1px solid grey;display:-webkit-flex}* /deep/ tr-ui-e-chrome-cc-picture-ops-list-view>.x-list-view{-webkit-flex:1 1 auto;overflow:auto}* /deep/ tr-ui-e-chrome-cc-picture-ops-list-view>.x-list-view .list-item{border-bottom:1px solid #555;font-size:small;font-weight:bold;padding-bottom:5px;padding-left:5px}* /deep/ tr-ui-e-chrome-cc-picture-ops-list-view>.x-list-view .list-item:hover{background-color:#f0f0f0;cursor:pointer}* /deep/ tr-ui-e-chrome-cc-picture-ops-list-view>.x-list-view .list-item>*{color:#777;font-size:x-small;font-weight:normal;margin-left:1em;max-width:300px}* /deep/ tr-ui-e-chrome-cc-picture-ops-list-view>.x-list-view .list-item>.elementInfo{color:purple;font-size:small;font-weight:bold}* /deep/ tr-ui-e-chrome-cc-picture-ops-list-view>.x-list-view .list-item>.time{color:rgb(136,0,0)}* /deep/ tr-ui-e-chrome-cc-picture-ops-list-view .x-list-view:focus>.list-item[beforeSelection]{background-color:rgb(171,217,202);outline:1px dotted rgba(0,0,0,0.1);outline-offset:0}* /deep/ tr-ui-e-chrome-cc-picture-ops-list-view .x-list-view>.list-item[beforeSelection]{background-color:rgb(103,199,165)} 674</style><template id="tr-ui-e-chrome-cc-display-item-debugger-template"> 675 <style> 676 * /deep/ tr-ui-e-chrome-cc-display-item-debugger { 677 -webkit-flex: 1 1 auto; 678 display: -webkit-flex; 679 } 680 681 * /deep/ tr-ui-e-chrome-cc-display-item-debugger > left-panel { 682 -webkit-flex-direction: column; 683 display: -webkit-flex; 684 min-width: 300px; 685 overflow-y: auto; 686 } 687 688 * /deep/ tr-ui-e-chrome-cc-display-item-debugger > left-panel > 689 display-item-info { 690 -webkit-flex: 1 1 auto; 691 padding-top: 2px; 692 } 693 694 * /deep/ tr-ui-e-chrome-cc-display-item-debugger > left-panel > 695 display-item-info .title { 696 font-weight: bold; 697 margin-left: 5px; 698 margin-right: 5px; 699 } 700 701 * /deep/ tr-ui-e-chrome-cc-display-item-debugger > left-panel > 702 display-item-info .export { 703 margin: 5px; 704 } 705 706 * /deep/ tr-ui-e-chrome-cc-display-item-debugger > tr-ui-b-drag-handle { 707 -webkit-flex: 0 0 auto; 708 } 709 710 * /deep/ tr-ui-e-chrome-cc-display-item-debugger > right-panel { 711 -webkit-flex: 1 1 auto; 712 display: -webkit-flex; 713 } 714 715 * /deep/ tr-ui-e-chrome-cc-display-item-debugger > left-panel > 716 display-item-info > header { 717 border-bottom: 1px solid #555; 718 } 719 720 /*************************************************/ 721 722 * /deep/ tr-ui-e-chrome-cc-display-item-debugger > right-panel > 723 tr-ui-e-chrome-cc-picture-ops-list-view.hasPictureOps { 724 display: block; 725 } 726 727 * /deep/ tr-ui-e-chrome-cc-display-item-debugger > right-panel > 728 tr-ui-b-drag-handle.hasPictureOps { 729 display: block; 730 } 731 732 * /deep/ tr-ui-e-chrome-cc-display-item-debugger > right-panel > 733 tr-ui-e-chrome-cc-picture-ops-list-view { 734 display: none; 735 overflow-y: auto; 736 } 737 738 * /deep/ tr-ui-e-chrome-cc-display-item-debugger > right-panel > 739 tr-ui-b-drag-handle { 740 display: none; 741 } 742 743 * /deep/ tr-ui-e-chrome-cc-display-item-debugger raster-area { 744 -webkit-flex: 1 1 auto; 745 background-color: #ddd; 746 min-height: 200px; 747 min-width: 200px; 748 overflow-y: auto; 749 padding-left: 5px; 750 } 751 </style> 752 753 <left-panel> 754 <display-item-info> 755 <header> 756 <span class="title">Display Item List</span> 757 <span class="size"></span> 758 <div class="export"> 759 <input class="dlfilename" type="text" value="displayitemlist.json"/> 760 <button class="dlexport">Export display item list</button> 761 </div> 762 <div class="export"> 763 <input class="skpfilename" type="text" value="skpicture.skp"/> 764 <button class="skpexport">Export list as SkPicture</button> 765 </div> 766 </header> 767 </display-item-info> 768 </left-panel> 769 <right-panel> 770 <raster-area><canvas></canvas></raster-area> 771 </right-panel> 772</template><style> 773* /deep/ .tr-ui-e-chrome-cc-display-item-list-view{-webkit-flex:1 1 auto!important;display:-webkit-flex} 774</style><style> 775* /deep/ tr-ui-e-chrome-cc-layer-picker{-webkit-flex-direction:column;display:-webkit-flex}* /deep/ tr-ui-e-chrome-cc-layer-picker>top-controls{-webkit-flex:0 0 auto;background-image:-webkit-gradient(linear,0 0,100% 0,from(#E5E5E5),to(#D1D1D1));border-bottom:1px solid #8e8e8e;border-top:1px solid white;display:inline;font-size:14px;padding-left:2px}* /deep/ tr-ui-e-chrome-cc-layer-picker>top-controls input[type='checkbox']{vertical-align:-2px}* /deep/ tr-ui-e-chrome-cc-layer-picker>.x-list-view{-webkit-flex:1 1 auto;font-family:monospace;overflow:auto}* /deep/ tr-ui-e-chrome-cc-layer-picker>tr-ui-a-generic-object-view{-webkit-flex:0 0 auto;height:200px;overflow:auto}* /deep/ tr-ui-e-chrome-cc-layer-picker>tr-ui-a-generic-object-view *{-webkit-user-select:text!important;cursor:text} 776</style><style> 777* /deep/ quad-stack-view { 778 display: block; 779 float: left; 780 height: 100%; 781 overflow: hidden; 782 position: relative; /* For the absolute positioned mouse-mode-selector */ 783 width: 100%; 784} 785 786* /deep/ quad-stack-view > #header { 787 position: absolute; 788 font-size: 70%; 789 top: 10px; 790 left: 10px; 791 width: 800px; 792} 793* /deep/ quad-stack-view > #stacking-distance-slider { 794 position: absolute; 795 font-size: 70%; 796 top: 10px; 797 right: 10px; 798} 799 800* /deep/ quad-stack-view > #chrome-left { 801 background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMcAAABICAYAAABC4+HLAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAB3RJTUUH3QcNFyMmV/Pm9QAAIABJREFUeNrtvXmwXdd13vlbe9/7BgzEQAIcQAIEQYKjSAokLVlOW5Fk2nLKmqx0J2Wp0k652h13uiy5XYqdwU7sSnckpZ1yV3U75apU4kos27Elu9NlyRXZjiiRomSTIiWZs0hwHsABJIY33rPX6j/W2ueed3DvAyDKKoGFW0UCeO/ec/fZZ+29v7XWt74lAIuLi7tXV1f/raq+zcy2AogIZsbpvrqfMzNE5IS/1/fVn5sZKaUTrtX9/v7nT+fn9e/1e052X/3r1THWa3R/37+miKCq7c+mjW/a+F/P57vj6/45bayn+wzXs4n+794Q9nP8+PHdS0tL31LVmfpGVQU4YSInGUb/YfZvpn+zp/LQu4Y27X31d933nurkq+qaa08yotO55npG0v2O+r1/XZ9fb2FMWoD9Oe5+pju//e+fdP3u83+j2I+89NJLn11dXf1bdSCTJnnSSpz2+/VWZ/8m+w+g/zD616yT2P9733BOZ5f4dhbCevPQHet63zVtV3y9n1/v/k9nZ562SNY7Gd5o9iPPP//8qxVKrQdL+hOy3qqdNEnTjv1JA+vuRpMGvd7kn8oCqded9B2THuJ6u/Kk7+vuiNOgQH8OX+/np813/376O/CkU2EavDwVWPiGsp9nn33WJt3ItF2ne2xOe2jTHuTJMOS0He1UcG33791JmWQYkzB6dyfp7tynsktPG8/Jdv2TGcLpfH7Sc5m0EKZBsPV+tp4PMe39bwj7efrpp229G5u2O3WPplN1cE/XQZsENybtnNN2pv4x3N1Fpu2S/SO6j6fXgz6n4gRPGmMfR7/ez/cXd/1798Tsfr4PMU52Oq4Hp95I9jPor7ZJ+G7STlEnvN7gesfXpB2tH5lZzynrO07Txtb92aQTY9rv+3i1v4jqv5umOSEq0r9O3/iqEUx6MPXnqjpxrk73812oMQmP968zyUj68zPp+U1bxG80+5GnnnrKpkVxTiWUuN4q7+96/YFXp6pvANN8hD7MmRbF6O7200KR9ed9CDbpSF4v6jIJtnQjQdPGOylK9p34/HowaFL0Z73IUNex7Z5Gk3bkN6L9yBNPPGHdY3fayu3uSP0dqH62uyP0w4XrDWo957gPEfqf78e4p4U8+0Y86R6711pvAUyL3vTvd9ou238Q/Xn4dj4/Cd6d7BlMC532534S9OnO8xvVfuTxxx+39RJlk/DtpAGc6k6hquScp+7EkyIn0+LV60Ufpu2q05zN/sOYFIfvP8CT5VEmGWN/h5w0zm/38+sl7/r3drLntt58rzdXbyT7kccee8z6O2b3JnLO6zpjk47nkyVg1pu07muas9b3CaZh4f5uPMn4Sikn7Jj9RTEJMnQfVHdck4x3Wt5i0qL6dj8/6WQ5GcSYBiEn+STrhT/fqPYzmJYxrRcopax5eH18Oi38WI2ulLImYTPNMavv716z/93rRXUmOZXVgZ5kePX7+hPeN5xJTmx3MdXf9zHyM888w8LCwgn30IUQ0xzWSYvhVD4/LarTzpWBpOl+zqRQ9lqjE2DCtbH2x9MW3XA45JxzzmHnzp0njYp9r9jPoH75Gkekc8SZ2ZpjrH/Ez8wMSSmHMY4YjZp2MDnniVGT/sPvRhxmZ2fJOWHmxj0ajU7AtvV6k4727gSklMg5M4jdq6iyuro69bv799fNptYF0X3vJKjz8MMPMz+/gWuvuYatW7eScgIEwTADEwEUAZDkBgtuYONlCCJgAuZ/N5QkCcP8avFzUH8fsZgNEoJJLAakc+2TjENi90RQjGSCJm1/hwlmgmRFFIwEYoiNxyPxvYZ07gVKUzh8+DD333cfRZXLLrvsBLxfjbl76pyO/ZRS1thq325O137k4YcftvUSOf1Ufdco/uwLX+LOv7ibZ194EYBdF+zkB956C+98+99ARE64ue6XqyqDwaDdGZqm4Qtf/DK3f+UveO7QS2uu944f/IH2WpNwdp2U/oT8+W23c8dX7+K5GN9FF+zkb7zlZt71jh9cswNPw8uTsPU0h19VeeSRR7j55lvYumUzK6MCpqTs9p2AAiRLmChWBBIIiqZEMkVUMAQTJZtQSCCKkDE0/h+7twkKpCSYxrhVMTGyCYogohRLCGvHoYD0xyGKScIUpC5AVSQl/0ACaxeCkJJhakDCTJEEiKAmDMx8XSdAY6lZQjHmZoa89NLL3Pv1r3PVVVeesDH3T+FTtZ/uguhu8v3o36naj4ggjzzyiPXhwtRjOf6+tLjEP//4r3HOuRfw5psPsOeSXQA8+dQz3Pu1ezl2+BC//I9+jvn5uXWjDfW1uLjIr37y19m8/fzJ13vlBf75L/48c3Oza3aWadSP5eUVfuUT/2bd6/3yL/xvbNgwv2Y3qbtOF0J2MfN6ka7nnnuOvZfuZcfO8xitKnloFBXEBHGLc4MTQwVEDeIkyAqa/Pdh9z5vaqgkUuz8akYGVATEHOYYiCSUQtJqkCDJsJJIvXFYNRIzLGWQQqqLEiOhqKS6gnzhqJ9cJplsiiXBSnfBJF957TEoJBKYYskwFUSgWCKnBkmZp59+mpdfepmdO3eu2USn+V/r2c/JWAX9CN/J7KdNiD744IO2nqM0Cff+01/9P7js6gP8d29/C5detJNtmzYC8OrxBZ547kVu/+JfcPDBe/iXv/xPkCnkvHalm/HPTvV6v/SP25vs3mB3fKurI37pX36cfdesf73HHriH//2X/3Fr/NOSTZMyzn0n0sx47LHH+JEf+REWFhd8pzcliRtyBVbFYlcTN0bfpoWEYiaxENTtjOQwByOZ7+r+b/zacY5YICvH/iDmBurjmzQOKMlIWkPThpohkuN0iwWI+YrNGkdeQswwcbhlWEAzw8wXazZDJfsYMP84ghXzxSHip5rB/IY5/sv/+0dc96Y3rdmA2uz0YDA1EHIqDNv1KDAVvk2yn64vOujHlqdlJ+vv/+wLX2JuywVcfOkeXj2ywGtHn0C1Hov+uUsu3cNzzz/Hf7vtdm5959snRknq6wtfvOOUr/fnX7yDH37n29fccBdG5Zy57fYvs2HrqV7vdm59x9vXJeqtx6WqD+T555/nyiv3s7y8TMLhSgLMElkURx+KENi+7uzi0EgtIUCi+OmSwIpjmYTSAIN6uiSDkkAKQgp/IgON+yaGnxIBz/rjcPckj30LU5I5rCsJsiYsafgjCbXEUIwiiqq4e1J9FjVfNCioYMlPC/eJIFuisTiN0oBkhllBcmJlaYnL9+/n0KFD7Nixg5xza6hPP/00S0tLzM7Mho/lfpGicW/hyyCQAv75Nuw+UOwi/o7WmXLfClhYOMaWLVvZtWtXG7TpRibrMx/0V1j34XcdT4DBYMA933yQnRdeymhUOHZsCZFEqrurORRZHRV2XrCLr33jft596zsZjUbtiuzGqQeDAXd//T52Xrj3lK53zzce4G/d+k6WlpfXOF5jSAhf+8YD7DjF8d3zjQf50VvfRdM0LYzqv/pHcH9napqGF154gb/59rdz7PhxTPCdNSliisYuK5rjIRsWPyeJQyGhWhyNCEn9sbrPIGRJmBRfeCb+kEXQwDZG49AFIYmh4kvmhHGYISTEGl9YBimPoZypvx8VJA3R5IurMcdrSTrjLuGjGJCNpJnGlCwWp6CRMLIoMCBhFJPYIAxNxjVXX83v//7vs337dnLONE1DzpmXX36Zt73tB1g8fhwzh3OIObyrp60IWp9XNlBfRtkCPqWIM9T5x+GhDIQN8/O88srLfPWrX+WWW245IeLVPvvubt49biZRMTDj6MISGzdt9i81YTjIzM/OMjc7w3AwANwp27hpM0cWln0iOt9RowruSAlHFpZP43pLJxAB68lnZuSUOXJa41tCIuQ7jYBWf9fnP5kZo9GIlZUVLrzwQpaXVzxihGHJEE1ucdlIkgOwKMncj5Ds0SjfZd2R9re7AeWkGOFUhuOrrd+jFDPMEkJ1XGPhxdY+cRzZARPJfR9Jiqm/P2wONKHJwJRs6jt0Su5nWHJfQj2IYBQIp14xBkI47OE/BVyUFI6/KCk5zJOSGY1W2bFjB03TrOGtzQyHNKNRnTGQghWjWInxGI0phvtyNOZg0GAU86hmlMYw9c9qMYyCjgpHjx9ndmYD3//Wt3LPPfdM9FtUlYGqUko5IbzVdUi7WHw4M8vc3CxzczNsmnejq6HSphSWVlYBWF2ZY2Z2tt2tuwuw/ruUwszs6V2vuxi6TlYd48zM6V+vC8/qYqgnZT861Y+dP/bYo/zoj/4Yo3o8u1PgoVRJiPqJBRkRo6C+oxchSaGIxC5uJHEfwDdqN3xTg+wRKXd2EyRIBppjy/fLY02CWCzTxuHX91MAEfdPNJESqBopFcwyJurAqg3jWpx6DqkExVIiNwIDQa1BAWRAQiE5XExJ/URCyQgFIZlB9rk8cOAAt912G/v3728jiMOZGVQDEShoSUhuEM2U5CecFHWIGbAzlwZJghRDs0AJ2FVdu2wUMxI+XyqFpjF27drF0aNH2bRpU7txt455fcjVuCrE6Ds6DkdW2bF9C1lg49wsG+ZmOWfjHNu3bGL7lk1s2TjPpvlZNszOkMTYsW0LWvSEHbhraDu2nfr1ztu6haa3uLqn0qhpOO+0rncOTWcy+vmMesLVxVgXdimFpmligWbmZgZtLN8vFmFZbbBGHfdSwo9whxot8ZAdMydzTG9aUDGKGlZ8QaiGU6wGVtDSUChIY6j6gqOBTHPScZj5qVHUoAg0DaYlIIWhlj2qFUhBDUwLNH4tMCgKZqRSGMwO+PM//VOGgznPe2jDYGbIvfd8g5mZAapCMcEEv6cK8RpFLLFp06Z2Lqvt7dmzh4cfeRBTQ1E04GXBEG187pLSqNKYbyBm0IQda6MoDUbB1DwQUvyE1tJgKFqM1dJw6Z5Lefzxx1vb7B4EqbtSJjmmXYjVNIXrr7mCI68dZmaQmJ8dsu2cTezYtpkd2zaz9ZyNzM8OmRlkjr52mBuu2c/qaHRCZGcMSxpuuGb/qV/v2isYxfW6GdFqtE3TcMNpjq8mGbs+xyRSX520GhMvpfDC889z7XXXsdKsYMV8t7fA3ChYJmWgGKkIlh3SWeQEwJDkp0UJKKIioGNXW9R3PnKKEK+E32BYDlxvUMTQzEnHIREQSCQaMSRn9+dlvKOmMUr3aFRKcco43JIUicWU+G+3fYHf/c+/x6c+9R+ZGQ6ZmZ3jtz/1Kf7PX/vX3HPvvTHaQsYgKUnFo9C5oBirKytcdeVVvPjii+1zEBGOHTvGxk0bfXGabyxGQ1GHmaYB4YqRLDYIIXyw4vDQ/HoJQ61BTHyPKeZ3aMbxhQXm5+dPSDCaGamPt7pQZRJL8qYbrmP56KscPnwYEZgZJAbZ/5sZZMA4fPgVlo++yoEbrqXCtq4Bdv2bm9/8JpaPvXZq17v+2hNgTXcxN03DzQeuP+Xx3XLg+hNoGN1Togsxu4umnijPv/AC+6/YTxlZZIo1YJIf5yLmBpeFMhCwEg67J8QkVacyRe66eLg1aRtcUVFSgmzFsx3uWSKSkWIUibiSpcD1648DMU/ggTvP6r5PskhrmEMfRFEJKBcZfJPkjq4nQTA13vk338mHfuJDfOXOr/J7v/t7/M7v/A53fvlOfuqnfoqbbjhA8di1/2nZr5kU0YQlhz7XvukannrqqTW2snXrVpYXFrBmBH5+OBnA/CRxP0NJVjySZoo2DrLcbhu0eDTORONnxde3FUQLqoVmtMreS/fwzDPPnOBe5J/+6Z/+F/1dvZ9V7BqHiHDDtVdy51f/ktVRw9ZzNpMkMRo1HD16jAce/hbPPv0k/+N//941Wcr1CoNuvO4q7vjKetd7gr/3t98zkXJ8QpTJjBuuu5IvTxnf/Q9/i+effpIPf/DHJiqO9EPX/Yhd9UuWl5fZMD/ProsupJhDBEniOzaCWMakuNMsjp0znhzTSv0wRbL4yYCQyWgliJhTMzKZRty3cNhDJNgMY0ACz66H333ScRSHVSnCrZbdfzFpc4okFLHsvkEkBE0E6YSPfXxQrHDF/suZnZ3jttu+wHPPPcv73vdefuiHfpiVZrlNbLYJy4Hfm9uSn4jaFF47coScUuvnbd26lccOPsa27eehxXd/JO7LQAZgJRZ84+epZM8JeYwtIaKIRZpGxXNFLTvMIuye2LRxE48++ig7d+5c48/KPffcY5O4+11nvOsj1N/Pz2/ggYe/xaNPPUcTGHc4GLBvz0Vcc8U+VlZXpkrgTCrPrNf71pPPnnC9a6+8gqWlxTUOUx1T/VmfGbphw0buf+gRHn3yudavaMe3/3JWVpZPYOXW+6vX7CYcu9GUpmm47777+OAHP+h4NxYlSdr8gOGOY45TwCpIsRQwxkjqxi7iECCJY3MBj91L8viXKSlFrN7iG6SyrOp1OaVxEAlB1EPFyTzSVCkjmgSp2XGNPALBO2kMy0JW8YhW8VNpODvLp//g03zjG/diCDfeeAN/+8c/yOrqClgOLpZgA8NGKU6vOI0QhMzK8iL/9fOf58orr2QwGJBz5v777+etb/l+jh096rAzCNApbhMqRItTRVKHGBmcF6CYkSUjWlr+pNNrIodiwlNPP8WuXbvWJKoHXew+GAwYjUYnxPS78d9q3EtLi+zfdym3HLiBuVlP1qyurPLakSMsryxPrNfuhnL7hLKFhePs33cpN9/4Jubm58BgeWWFI0eOsLBwfM3i7BrytLrlhYXjXL1/H993043MzsyAwMrKKseOHWNxcWEq6a3PzO0nSFWV0WjE7OwsMzOzLC8teagTQ5w8FVljZ8B6bD/Ig2YkUaz4I1Tx06Sh+E4cxuIZcHdAU8Ak0+T2ihtWzYSj1NThScfhYM4dbne6fVcV8bCx5zpicanvvO2qix+bepSrFMgizM7O8h8/9Z/46p1f4f0f+HEA/ugP/5CVpRU+/KEPsTxa8XAxhpRUM6C+IFViDgqbNp3Tnso153HhhRfyyuGXyGmGOjtJxfliqYbFPX+hpiQKWIoNB1CFQYrTsqGIRLTKT+xk0ChA4Yr9+3ng/vvZu3dvaw+D7mmxsrLCYDBY44TWf3eNsJsPeeWVV9aVdekvvm7Uql88tLq6yksvvzy1sH+aSkh9NU3T+k0iwuLiIouLi+0J2K8zmERP7+Z2qvPdz3EcOnSI6667jtXVZTQZ0pgf81KZrNWgAuNWrlJSSolEWPL9WqWGOt2eJSlaguJhvusnEc/yV0ygRkkpiH+QRSnCScfhnCl1smM44BVIdVnBnnFOEfpMiBVUnMxYeWFZ3FP6/z77x9x5x528//0f4F3vfAdigpbCZ/7wM1yyezdveetbnL8lCbNC5cAUJ7d4SFoSS6Nlrrnmap555ll27tzJcDjk3HPP5eDBg1x2+RU0qytgQol5dNaDopactoLFCVyQLKhCSua+hQTzWD33YwKpcUaA/8ztbBRRs/bk6OPsLkTRoHj3C/Yn1Rv0/ZJJBSarq6troEr3c/XPmvnuQ7FJmfu+sMAkI+/WpPQTndMURGqCr8/6rD8/dOgQ73nPezh27HhEYzzk6Md6pX8bFbAIhonDJKhoxWLXTwFp1NdPY8EgFzT8Dv+AOwbOrjWPgKXKbfLo1CmNo15HPHFmUhgTVQh+lOOWLM641aCFWEtbj+cgyo/+yLvZtnUb3//Wt7G6OkIwfviHb2Xnzgu48c3Xs7K86idNzTGUoLlLxUdOiMwI1159NX/5l3exbdu29jkuLi4yPzvL8dUVSoNDtDjJLKBRI0YmkqXOcEQSFI2cShKkLowSSUlLkU+CZMbi4iLnbt/O8vIyMzMzbkt33nmnTaqK6lZx1aOuX7vcx+yTanq7MKpbfNR1quvu3F8wfQp5d7ev4+v6Al3o0/eX1hMHm1aLPEl8YWFhgZWVZd7+gz/IatOEPzDwya8bdXLoQwnqglR6OBFNcqhDOLbq22dEIiM513iUR8woyZ32XJ3sFDukuPtSKhnxFMbRJgZjx0ymIIM2CWkBO6xS4FNk7cVQC1jia6UNh1rOfgKotgnLFGOWDkFRTZyuUmodSaX1BNoYCF+548vMDGeYn59nZmYGVeXwK4fZef4FqFkEH2owISElnil+X77Ak/PQLBYzYNKQbNDys2rEziJQkFDO2bKVu+6+i71797q9dxNp/d247yfUnMC00Gw3kdNNltXPTitb7VZ91YRQn6zY/96+L1TDq30nvY6l+2fNldSxdU/Mfji3C+1WVlZ45JFHeOtb3sZodTWIbL4raTAKa8UFxTlOTlfxZJRU34DkcXuLRG6p4VdAszu+QZZTBSkOY6zu/MUJWaYRTTuNcfhxlaIOQ+Ik8ARhqZBNPOyMJFLkFDTGX0wpJUCYiI+ztaHY7ASsGRuemS+iZCCqEbiKMKv6ovRxKbccuIWDBw+2lBIR4YVDLzAzHJLQCF1bhzZSPKnZEjiDvqLmi5sCyfMeJpU640466uPT5Pe4PFohDTLD4dARQ3e3rYbdzRB3F0mfqj0pD9CFL12sXiM+1ZDrd9WfdSejv+C6pMWukXezmv3/uhCpe63uoqvjrYuq6WHOetp1v3N+fp65+TnMMpTShjOt3QE9ROvYPI5/83oKlRL1FIrzNSRyAJXFamBNLexzjJ78mqq+YFJxACZ4dvB0xqFBFycpUMhmlBw0k6CxWnJDdlqKnwR+gezcrmD+WkR+tN1/jUJARRM/tSg+1mSU8K80KCGkgiEeoFAfkqkyt2kD8/PzLVlVVbn22mu57YtfYLUUNm7cgBYfmgUb2BduHJfFKBRnAqRIXBZnKIuCNMWTirFo0eKUEwEdGcuLy2MbuP32260LfU6m0zRNm3Q9XdZazDIajRgOh+2C6Auk9X2e9dQpJtU+96HSYDA4IYk5TVh4Te1w+Br9U+PFF1/kyquuYu/eS50KkiQoHtLmCHJEhGosnRrPD6IgOaIl5rAJ8YSYJoWSUSnk5Bwqq5gjJUyLR4tybhm8vkA4rXFIMmiEkqSlswseyclSTxL3XzyRCGLF5QaiZLZSw2t+JuHObaJuAuo8KLF6i/V/Dgu1pk+C1hEOcRLP8D/1zFM89NBDnH/++QyHQy91Hgx44IEHKKUwPz9PaZq4txpVq5WINZIXLoJGwZa4RyZtrNzvQVGSed3LzOwsKQm7du0aEw+7jmyfaDiJRtENuU2Td+z/vMvd6i6++u8uhOpHlyoEqousr3LXvYd+sq7eU9c3miSjWRdJ9WO6i7DuYIcOHeLHP/B+ji0skSWyA6kWKKU2x13LUn3HcuydUoSjgk6NJqwUkNziYMtK1hTwSONKvggk+WJJgbFNGswyScopj6MN+yZjkEAbQwYNlMwwfKKSPN8S9u9JNcmIRj1HkByliEfGRoKm5KzxONMkxpCjTEDw7L1FWUESpWgIX2SLkoKoGMzC/iuu4Mtf/jI7duxobWJ5eZnLLrusjXh2Swb69tO3iYpQuqWw1fftRkyHw+GaIM2gL0ZQv7juntN0nLoZ9a5D3GXdttTfyHr2F0QdcH8xdk+P6kt0F0w3RNyv0OtH37rXn8TA7YsorK6unlBPXEphYWGByy+7jMWlZa+YK8kd5sDqKejfRkNmgBaPubvwgNKUQYxRIZnvxil2VC3+WREnFOILysSDrKoCNAgShU/J687l9MeRygCNYqriTA7PyquzcX0z953fiIRMtnEJbQ7elnrQQHMhaaIBp8cHLPOKkUqV0VYvQsy8ZiVqQ8Tpu2OonmBlZYX9+/dz5MgRtmzZsqaMtm8bw+FwzabaZ23X1+zs7Bok008kT5JYSl0j74ZtR6PRGojV3fFreLOLxfs+S5f+XXfe6mtMKputi6DrVPfpIX1fon5n15/o+g2T9GHrOJaXl9fkbUoprTJJHWddwE3T8MQTT/COH3oXpSmRqnP6tyexvKRUUMQG7luY1GgqiSF5UDynkSzwdZSamkQxj4dXsyWyQE7uvFrUwWrKEIVPOqgV36c/Do3TS6VGsiLWr2PlkAxYKo5zaiYcozHncGlAGEsgJUUdObhn4ZAmp2Acx2JHpBO50tZvMrE2ny1RHKXA277/bRw8eHCNXX237Sd1C4e6cKceMd2sdI3ydJ31SYXsdYDd1djdyfuwqgt3BoPBCSJjNRFZrzccDtes+vWUUvqJwvr+4XC4Jsxcd4+6+6SUGI1GHD16lAcffJD/4e/8HZaPL3nVWXCSPLTpLB1LbqopZGsQT4aliB5pyaTAtwWQQfAhtJCDqaqRlCtBabBhwnKJIiOLTDfQSOQrTn8czsNIHhUL6J0HOGwzJxUWEZJKsDIEy4ZJ9ipDrUojGg67JwuCKxwejuc1LIfJB8YXEY9WRZGXImQN1i+GpuSnWTGWV5b48Ic/zNfvvZejR4+uQTffLfuR27/0pdhCiAL6MUmM4J7Uyq5WmiU0kmqEo2oj1Z9JyLVU3GqRFfU5Cp+ge52uDx+7UJ3kVgFJWPO++pska+Vqqq+FdcbT+S4i4tJqRdXQUCSU3JeTljM1HA64+qorWS4N2VJ8jQYBLpMoQUWHAUKDix9U+ptj/cBI4nymAEvxQBwe+XXjHlJBtdIQ05hwh6JZSPo6xtFm68f3i4IFnZycQhBhnJF3H1yD4hIlsCpjxq6M6+NpqTIhAySKFKfiD5K11A93xI0qFlRTqV42HLkhEyQJDz74wASxD9pn1SGutQteqM+acRBhLBI2wZ7Hw2+t6/lDh2woQhG8drkaazUUBI00ewpqDClR1EXGqiZRq2IR0jE5HM+avZWITzsTMqInEb2oC0BDoCxJ8IoiopCCy+OsS6c1iPiR7xFFI6dQvqhiCjHlLfwQN6Lx/Xssp5iQrBpK5JJbdqrXSYiF1kegDM8ZBDkvplIl5igHLSMoH9XZFIOSa2WdeXVbZGpdWMfxuVRHH39fLFvPVai87nH4JsDaZ6WG5SBFVl6X1PmHsV5QhEQcCZcsAAAWiUlEQVTN/3S+VfIipBosE0FLzWRnf1Z4Vtp9J/WAXcpRvBVUrprIi/vGxpG2yOWf5FkJRdx+Bh6DeN32nCRKFyV2No1Yd12ViguMpZRiB/AEVor4u0VM2+LYN/Hj2LO6cXhGFVjoVDjetnqsBMUnDuVURS1IpOw7TqP12K8Lw5Nm7vA5dUDVs8MSnl8hwpKhzKfqIgWu3RScHgtjSw4l6s6SgtWKuhqHU9OkzbYWMyx1ggPm7FZJyZ1UBIsyToschguG+HcXxZN+kdmuQVdNJRJw1jlVtS2W+k6MQ8W8bDcMMhWjSfgmY8Vza6o+P8Hd0wjFWlQG1mNc8OfqGWev2WgipKzqBuf+T4kyFB9f0TzOktdEqLoWlpl4HQaN86LsVJ+VeaTvO2jPg6B6erRDIIdR13oD/02s+uQTSJvrdfwpUTBjA2sTR9IINlCkyWiuzM/sD0DMSS0mTkqzhKbiANpo2aClEXLc2LhYP7Kfgb/rSSvWtMk2y7G7hbSHVUigtcjIKMUX60iEQQOWa/DU0BIs2ahRdqLOd2aOihZee+UwRYsbQ3a2qmbIxb1hC1U3oQ1ZjRm7GnkFEXKLIYmEn4zRRYp6kXofFYIEydHLB4OK0RmHf5eChOYVY2q81edWhdrCc3B4GBC3as3Fs0rFoaDXllQYowEVfcMiiJh10Yt2TqzkTGE/GeS7OkeDFD5CSfFnOFxSAjRKwKIUxklGvC4TGRSk8aIXk8bLO1NyxuQgao6roYaRWlSEWZhiIlFaAw+tpMANKeHx8Ip5Ww5NPDj1YnpPPDmFuoqMWRz1VfAMgvgnhpVwxIrn5Er2IqEkvjMnySjFT6SUnX/0HZij44tHWVkdccnu3Zx9fe+/Btr4DuvUBW1hjiTfL1IpNAKDyNiqFefN+Kbv8Wp1LaVKoSdi89Iq7/lRlc0jKJqsfW9JNi7cJ3mMPRwlrUzTtoYldokorjZxcKniO4e6DIWvfMVLSXODufU7wcE8yVZq2FDHO3xj1SeSVr0jWUE1ofL65shILC6tsG/fZW3M/ezre/uVkBJVZo5HCacxyDruuJkTzqzSHrK4WFqFKWLkyOWk6kTWLHllZhYP3UXZekRliFj4uHorBSFMzOPdFllaB8w4F0Y8sqJVXdzEaxnCaTXxMkpxBVn/uqSh9FcimuEOutQQRUrOdkU8vBo+kNcCvP45SiI0zejswjiTFodLODaUCJ21YbzgpKSICnn9rbSliCYRprOE5OTOoLg2kJHIUQYq2aMKOVVpRtpoeKoymVLpy0FbSA66UjinxRLJ7RfLGUWcyyMOzCLC6pg4uUaTmKDZa4fropFU2miNk3BaXgdSwqlLige1amVdcvr2654j9zfOvs4gWEVxVW2rNc2iHg7P7qiJiDujppTqtBSw1CDmcXRWidqA8LOtuAYTTlOQKOUZkwIrv8ZFugbqWqzSOulxZBQNOU+HLSkcNi3GAEHzyIPDGkxRF0cKCqpiKaT7i7rwWBX6ipNINbtoQHJGJjmFbEsVFNOWkWq8zjkadRzDs68zBVa5wQ2DgpAkObOsRFSiCsdJxdgZyKHm4OFbBhG4SZW373FzHUR7lKBGWIT2UieLOtTIaUQtmvsblT7txDUlkzRXIqUnk5LnHyQWBknIqDvFklxVQ2sCLBYdCcmGWnJJTvFQoRYhDYKBKhGxyQRPKLVhz29njlxMwDVaObs2zjBYFUmdxqzF3yI1l5DaTKSiaEkgrhhHEmaGmc2bNjM7mHF4o5HOi2qvXEJu3/DC/uAQEU53FokkWxDGUtVX9TLHpDkUx+tWPBYTm8kDl6jJngjy/GotAfUQclRTen11VMah47BdUUgpBJ6DFaCUEAwzJGVmN8yxYdM8m+Y3QM7Vg4kkkTE7nJ06R5VHZHEAnV0bZxysiqysefioiDCIWmQstbyYZMllKkMndX5mA//3b/w//MnnPsett97K//qz/wuriwbZd+IaXUo11m8pdFIjc12MJJGbiOIUzFzvtR1P01bOEUS9lDOPPPQQr7z6Kju2n8cVV1zuSStxaUxyiCfXa5iHgEuQ5VxCMORhUE/IVapQUGFTSqwsL/E7v/uf+eY3v86RI0eYGQ65/PLLee973su1N1xPWVnh2OICn/+jz/P+D3wgAgedOTJXRS8mDCIjXSkjZ19nCqyKrKMUT+J5mt4CK9MamAZRKhnMzczyG//2N3jowQe56aab+PrX7yUxJCWLCJLDnMoZwlwNIqc4naQySR1Mlcp5CQl8SSn8F2lT+W5YnpRqSmHvnktJOfHoY4+ShkFYyzkSSNYqjbcyXuKEEq1Z+6iuz4RAcpw6szNz/Pmf/lf+3k/+JN969GG2bd/Gvn37uPiSSzh+fIGPf/IT/Itf+iWOHDvGRz/yc+Q8OHGOYuJUPNTbWGkTY2dfZ9DiKADFG5aIppYe4KJi2qrsIQ2iwuzcLP/+t/4D9993H9u2bUO1cPPNN6Ml5F5qWNZLgl260Wruo6qMp7arllrxgFHtHyFgxeVUUggwN5W8KL7INm3eiKJs2LQRBQ5+63FyErSx4PxUiFfpGR4CdqFwRTUFT6j4Yo6SycEg8cd//F/49Gf+kBuuvx5B2LZ1G9deey2X7N5N0YZ9+/axuLTEz/7sz7Jnz+4WgnbnyKNmrhiokS23s7DqzINViaalbZQcNGXR0AbKThxIgllhbm6WT/32b3P3XXezY8cOzIwtW7byD3/mH7K4shzdiYxG8IRfKzwfLMiiYeAaxfnFI0ollMilbY4HRaNqLXnmXDJWCkVgzyWX8sSTjzOcmWPzhs0cOX6EJ558kt2790TysJCCJtBUVTypQoBGyRp98ELmrHgTl8OHD/MHf/Bp9u3bx2g04qMf/Qh7du9meWWZLENKafh3/+Hf8/xzz3HFFVcE6zeoJDFHLvDhVBlVF1FGcoSlzxrcmeVz2ABSoYTSRAlYoCl7D4eggc8Mh3zmM3/A7bffwfnnnw/Azp07+djHPkajDefMDUNhI1rwBllNVVlcWvRdNFid3quCwP7aGo5ZioYr3gekcnA8cqWklMMHSly+7woee+IgOQ3YumULh189zLPPPsPFF+9qWxRr66iH6oc60SxriBCrO82ShJQGfPozf8TevXs5duwYv/iLv8imTedw7PhxhEQjixxfXOa+b/4V5+04b1xGGwVHqXK7teZSSnTZqnUTejaSe+YtDu82mkU6HYEyYh5gFVNSHvC5P/kTPv/5P+Oiiy5sDeOhhx7i3e9+d0igyLgntYybtm/cuJFf/79+nXM2nxPKEwnJ2tJKUu0BIerZZIWmKdx11x1ITuOWXLjgGSHfLyS2bN3Cls3nUFTZunUbrx0+zPPPvsCFF1zoY8rR6kqcqGgaogiR6fYwrUfWBnOzPPLwg2zffi6X7buM7du2szJaDSq28OLLr/LRj3yEiy++mKNHj3p8S4RmtQkWLeHZV3GxqvAXGFNbZvnZ15myOEwsIq+1j0EmpdKqSKDG7Pw8n/7MZ9izZ8+a6r9zzz2X8847b90vKKXhi1/8Eu99z4+5+28lEhgS7EpXscgpuzyKKK+8dIiLd+9hkMQ1YtMIs2FIygS1pOo6hR9hZLZu386hFw6x6+JdjJrGe3lHEZEnxx37ayTzarPHJmU2JGNpyWVZLrrgQlaa1SBOehRr1wUX8NnPfg60RPbeN4Dl0QrLxxfbXuKo530oNm4qGYIHdhZXnWGLwxVhnJEq4lDDosREjZShrK5y1VVXsbS0dNpfsLo6YveuXWhxDySJdy8ySSRV1LIr1WlpT565jZs5fuwIaWbW9Y0sk5JGHsPFYES974KKMDDH+0X9NGmaEs0nvejHlFbqsu19h4euNdiBRYW5uVnX2F1aIqsXz2jxSpOl0SrLr7ziaRJlXAVnRm6VA6tgW/FkYuuE51pOefZ1Ri0OCrkMKGmsnySB2ZNAo0JZXuEjH/kon/zkJ9bUY59//vlcffVV3tpM2sLTtrZPzNiydQs33ngTy6tLkSj0uolkng/IOHFPa2mjGlu3biJnf2+tx0gdSYFg/XPs+AJZ1DsUkVhZXuDSSy9DKYg5M9ijYt4FqaiQcnFNpWxYyd5ZVYSiDeeffz5NU7j77rv50E98iIWlBVqhm5JdtsYysxtmKKPG+wCKK3VX9JSTM38tNFqrOksKn+fs68x5ydPPPF116sPochSF+C5emyFIRGQ+8YmPt7W8zz77HH//7/8kb37zAe+akw1TbwxZBbUV7yCkVW81HOycDG0kmh5KW8stVVM1VUHxCO9aFMvgnKnXXn2Nlw4dYtu554IVFldX2Lt7D6Vx/ydngvIuURIqQYyM8leSJzsju52ScMcdt/OlL93O4uIiBw68mb/7d3+C5ZXlqGly3+uVl17iV37lV7nxxhv4n/7B/8xoZTWKZizyi937SO6UR4vjFw49z00HbjprdWdKnsOakFUxjQ6exYnehdDmHtdooIWPfexjlJDc2bXrIn7zN3+Tv/rmN5zuPYrrFHXcrRaG6Ht+MYNSEFXKyHMSpp4LMNShkXmyT83afm+VKFi1/I6+eoRnn3uGrdu3oRiLSyvsufgSmlGlo9decNCkWn9hjKJGo4QAcqNOFUmmFFPe8a53ISJs3ryZ2277Iv/q4/+Kl156iY0bNoHC5z77x/yjX/gFzr/gfP7irr9kNg+pnQHaA7VoKwEKhjVB3bez2fEz7uR48qknLJNbdQ9LtaC4qkDUckZvmSXJM9Sf/OQnWxmUgwcP8lu/9VssLi4g5CASWtCVkq+TWmgURfFAiHpVXaZg9YpHtCza9bbyjeIwaSYP+NrXv8auCy6ClFg8vsieS/d4F9bIp2RxkWLNtLXX0Zpi3M8uKPBaO8DEybi0uMSv/ZtfY252luXlZR5//HEWFhYYDAZccsklbN++nYWFBd73vvdx0803U7Q5YY6INsaVGZ+Sy8+8+PwhDhw4cNbqzqSTo2BRqFOiFtuL8FMIFFA0+jQ03p8tZX7+536e5RWP7uw4b4d/Pqjpg2gmoqqIGk2IhlkqFINGjSZOBFXvEJpKQa2BQqhIBPtcFGu8GaIUb86+aX4TBeP48aPs3rMbbUY0USCF+omgRKticzHjohpL1JeHJqUpTl+36HmtpmyY38A/+6f/hAsvuojRaMT+/fu5+aabuf6GG5ifn2eQB/zMz/wDvu+W76OUZuIcWaijazFUCqWRXlHX2dcZcXI88eTjZpJoJYTa5iJjwYFKwo7MhwscZKGMCnd/7S7edMONbJyb94hTkii2DwVwAaxBZNCWt0rkARSviZBilARZw1hTLcgfh4UsKvEkpPEXFo6zcdNm12K1VjmrrfKr2lOefmg1WECdS+b6JjZuqFgpLHhgYn7DPMeOH+eRRx7m6NGjzM7NcsnFl7D3sr0cO7rg2XCxqXOU1JuqJFwsLQ0yh154nptuOutznDmL44knDPHqORt4Ew/VHPUXIeyg4pSLUK3TkHMPcaiqTeFwJVH14d2g1ZyqHmL1Xq0aelUaurBZooVCrdgLmJNrfTmtTlGKL9boA6HiDUwkh8SPiod9XUCD1EQ31VSbqsQCiSYsYhJtvdplBGY0SRhaFc2JTqbqQoGCYqc4RzUhmtOAF188C6vOLFhFzYr7jq5BIdeooZBUQg3PXD+1lOiyGBhe3dFurGqQatvpE6JKLjXeQ6HVEKoOdpwQxXMY3qXHG40UDGk80lTEe+URkvtaqScWPSrCnyBgVJXsMUtobtqGj973O8iUNCGr0zj3KciNqr7gBhqkkLZ3hYXBW0uzP5U5MhOn47SaT2dfZ8zi0Ej21cahRLzes9niESh1yEEJdZCIHCW1tr2UiF+H6Nmg0RWxrbQTV6zTKmxEkPQ6X1xlHNUKAwnZzuR1TqUEEz3V0m9DdeCD01Atz3jVYTSalOLYvwRd3YoLOlSVESxakdnIGzhqRJWiM5IFrUXR1z1HVb3x7OsMSgIGEhmTG6L/AsGXkoznMGosn+QVdC01PYWyRwqZ+mjxS9u1xHddBMvFdYdLaRuyCDky8jXWFO1QrLiUTklRo+Rqikkt1MktZEejM1UIK9RbkFQV1r1iRC17UZVEaxcpURUYcEqhiPsz0nj0rKr6IfK650gH5ezaONNODqnE1xAIIKIsVVXDosmIR1b94edsnUIoGxtRLm1OoVXwVWtVDnNTF03VeM1eUpqsbdjYRKKvsg0zDmUkKSKlI1Zcuw+NW+VWX8ePIRdSbheLjFwNBD8NBiWa1BOOe/gG5rMShUoBM78Dc+Slv+msxZ1RPkfoQbmYQY3qgI4E1QYzx+Zq3uAU9SyzVawfjd2LetMUxXtEW/SK8B50OT4T6iMaHY5QShVIEPH6h+TizVWlRIMoWFTRIjTi/kkJyCYWbFtTirijXlXNVUucHrX/t2vrWiNOlykuueNhZ1opTO/zEi20NNqhvc450qawYX4Df3XffWsoOGdf38PRqscOPmYpFG1ShlSyc5kyUQvurXSlNBGFicBU1F20WlPquk2VLlLFvzUUsVPrRIdvUCKqU6nudY83acNg1tK9MySvIHRIpeTk6iWErGfkMaM/orcPQ1rdbvdtShrXkVeyjCilqrkXVzqR6NtXhcorn+t1z1HxnNIrr77KyspS9LUIXtkayFUZPbV1g7WdWaPXfCsKYViwVySawXTeYIzJjq3av7Tq7bWPNxEKr+OQWrIs2p6I1umjN+011oSvrSfCyOrvpBaGhSp7R4e3+px0tXbbga+9le/WHMljjx70pHg4qSqCyMhLSU1c87XqzVpoCIbUjSuXgKYQcDbI4vKZskauvmrcgmhGJSRzglflSt/RtsBcMsc0t4TDksbibN4ZKSrwxJCiHnatRVFt96DIrkdttySX1K+ZE4v0dTXmFCdUFonmMcEOiJyMiLbq79+xOZJOo4ToAe6+j7WLX6r5mDe7SUGt8QaQHgk0Fd94skb9irR+XKp6KTIOr0t0lR1InKhrxkGba5LiRNRstZeGz1OTooePpjVtjMfPKuar6kNXKqq6ovugfVZEi4BoU2AaWsUhB0vQ1uJ5EJWX3605annVIkKREp1Ds3cBjRZZIeCHiIuU1V3FzBscinn72kQJ/K2RSIwFIJVHFUVNRNutCN820SvDdbAij5E1yIdGrhQMIWTjSyvCTU7MRqjUhZ4tdi6NZF9oZsVNSLZxf47sLYNTZMyl+hrRMyKpRueMyHN8p+coKqBU1GnuGCWVttNq7R8jql6LbnGaRu9AojamCm1HcUtUZDZutBqSQeoVj2hBtbgGcJETx4GXAljxZ+bs6WjtXIxRSLYq6gvDAqKGwkpSIoEM0gQnwSo1SZgp3tO8RBsJgnemMVduG+NnpbUeJ/Fdn6OBVme0hmKJTp9tljlk4iWq8qLfRirxuTJuQqPRJqgemVrPqugYlELbqf62WHSASuIdf1o2cNDMq9+SQqbexp2anKBo0fsiGMSR3EvW0ERfDRkYTSPef1oEHakLrJVEoYE09Aw+CVd/tKCwZ3IqSBn4Qygh+fnXNEeSBt8T4zj7rMZzNPjKV75KbbLT9idogVhIeNZjrdvaqsrsmESuo9Mjq6NCMq61DvwvXdzr35GihUBtKmNRm60hNh05OMfHMZQkqdN2rYtvg9LRJiSqhm0kO10BoZUBSiYtDBtLhNSuFFVwOnlo+K9xjhLfG+M4+6zGc/T/A8/G/snZpSWJAAAAAElFTkSuQmCC); 802 display: none; 803} 804 805* /deep/ quad-stack-view > #chrome-mid { 806 background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAABICAYAAADRa1RpAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAB3RJTUUH3QcNFycE5v9iFQAAAQtJREFUOMvtkjGSWzEMQx/0eYrM3v8k3vgqycalSwlI8Ufyl3OBFMtGIgUCIEd6PB6RBEASqvfONSrJXrDNbNkQ8ywA2y/SmayW+ZIESTsiyQsxo40xmMS2aUmYbheHpCVd0+UqJGGMsey3mUyldoUvlY3D9rIN0K7Wbe/WbZ+y1yWtaVtrp3VJzAEX6ZVjc2p7b2mtnYhNdl6m05rwtfV/ltx7XypJTpXeO7Y5juOlchzHaWxyrJmuhLapqgIJONv05+srThBgiQpBTSRwGOr3rwccgWHUhJ7P5/YNlbd/2XiL78L/WajP240AQUihfnx84EDJjCHKHjTAbkimQDgBjAJ1/3kHAgEk/gL71AHEWVXPGQAAAABJRU5ErkJggg==); 807 display: none; 808} 809 810* /deep/ quad-stack-view > #chrome-right { 811 background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACYAAABICAYAAACaw4eEAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAB3RJTUUH3QcNFyghKmOqnQAADE1JREFUaN6dmsuyZsdRhb/M2uf07bREYDykPeIleAMibNx92i9BgEPBgyB5xlvgtgI8VDNBI41xhGkpQowERgqw3H0ue1cuBlm1T/3Vu4XNiWj9l12XrMyVK1fWL/v6668lCXdHEt/1Z2YnnyUhCTPbX8dn45pmRkR81z7/XUr59Pz8/K8ePnz47/bVV19pnDhu0t+Pmx0Z+Pv8zWv1/eZnZ2dntw8ePPizZXw4bj5/P3vq6G/eePZiX9fd9/Xng6/reg78/dInzxPG9+/auH83GjEbPUahj6m1Hoa6v1/X9c+XPrlP7INqrfuru7+10WzUkUHvOtTojPF1mPdHSzdqPPXo5vm046bdq0fhGr+bvXZk6OgAM2OZBx7hZD7hnCzbtp149Wid0YOjx+eE6t8tMzb659Ebkg5PPY8ZvXpEQWNCzck2M4H3BWeM1Fr31/6+GziPmTefM3tcYzQoIt4a3+cso2EzhsYTzAAdw9M9M3rviPv683dl/Oi9pdZKKeVk4piVRyDu1NI3mCtARFBKeWeGbtt2yHV9HXdnGUMyGjSfZq4K42ajYbPXx836XjO+jsj3rawcFx5dPgK8bzJ6eGbzI8yO3j4yaMToiWF98fl0c4bNSXBEJ/Ozd1HSEY8BLGOIxlONeCqlnHyWtGNoxteRMX38uP44fkyyPnfpp58zqy/s7jsGj0rOEcvPVaMD/sj4I/zWWllmMB/VviOwHumv+dkRGc9EOtOUu6fHZteOGBtDN/+NeJwPNRsxl54RU3PIO4x827a3wNwfdr45kib92WhAf9+fHem1I7FZa31rr+WIr45kzrjZsixvZWHHYcfqXFHGctM9ta7ridcigmVZWNf1DvyllN2wkatmHIxCby7kYzbPOD2qFCN39efrut55rE8YM3I+8VENHPFVa2VZlkOSdXe2bTuhmHdl+W5ox8T8YCbD/l2t9YQqRiNGjx8l1JEamVXKri56doyTuzfGhWd+OyLJjsNRlo+eHaX63Iy8ldnjQn3hbmA/yagGusfG7JwrxZytcxMyjpnH77VyPEEP65iVs5tntp4ldp8zlrG+x8z2Y9L1f91Jy+zeccGZn0Zv9nFHTH500BGbM6HOojMiWEZQf1cN7Aut68qyLCdeGFN+xuRYJ7tXu5fetU9EZCiPOp8xm8bTzLqpe2jkoDnzxjCOa8/VZByzzG7t8gQ4eT+GdO4Be0kZDTgq5kea/0g0RgS+rushNkbg93o6aqeejUeNR/fcUWmaqWLbtn39MdGWGcRHUrcb17E1jhszq3tvxNCsJuaE6VGZMbeMKTrL6LGelVL2k41jx6zuRbknSS9BI7WMdDRTxLi3z+VkDl3/7vb29oS3xhoZESdZOm4whrW/7/NHT83UtNze3u6c1I06Ozs7wdjc7PaQzsV8JNSOp7k97IDvtDPDYTdsvts6Pz8/MXCsm2PD2g/Tm+Vx0bHZHTNvjMyRyh2pajk/P0cIZEAHLLgXQLg5ckDCAFsKCwtIeHHAQGAmSnEkMAyZMBkin4lc3jBEM4a7MZgo7mBGhLD/+M1/qiCqDJflIjICYbknjlEtQEl81cBDYIaUi3aDwoEQ7mABuFMjcHOMQHLMRLSDhhlFQk4+k9IhLggZBREeVLN+NNwNCAhRwjGMimGyPJlA3owyIwiKEltWjTBHNchIGpLleIS5ITNKQHVDYRiBGUQI/83X/0XUyorhm2EKAsvT1IqFgwusgglCWARV3SuGmdNchwgiRHWQagcHIqCNJ7whJ6AI20AeUJ3A0ilP/vQJ33zzDdvNDbWkO91oAwphrah7wVGG1cHMqSHkggiwDJthmAcgjIIVg5rfWc1h2AZ7AgBLpMElMpQCUyOSX/3rr/j+9/+EGoEQTgKxKnDADRROmCiWySJBeILbMCxENVhwBISCnldm4EBEeiQRk1AJs/Y5ER2q7BX03v17SQnumDeXRqXgDaSA1cSdIExQDM+UgtoArTyMIjABJUPt4S2hRHEIgbdstV5LI4OusDvDMgMNqw3sHqi0HPcMotyRNqp5ArnmRrkLuBm4kHmjDAeEDMICk2PFMwomqjI2xYSHsJIUUnxoeBO7rdQUJ2qeJk8SLfdLGtgWCouEVzFUG7NXMAXVG1YqyDdMhSDgFuTpabUEiUguUw3AiAafbhoR4EtmpJknKArgytMaBHBmIozEIQ41M1dK7ySGEvxQ8NoI1w2WFh0XlsUaFYilJ5zhpuGKwBxXeygIqxlrE6Ih1wKPgi8L799/QGcJo4M5o9oYDfcKUZJmEFdX12zrikh2xwwrQA2KOeqETRlCGaKaUFXLpjQwy5Elu4dzflb4uw8/5MXP/wEsE6ORVX8hbVRzTVcN4ic/ec4HH3zA7XaTC1sQtZUXAm98Z7I7uvjii8+5ePw4pUiwu7TXuogM3cX7j/jhX/yIJz948gf/NPjll1/yy1/+E//z299RCGrL+AxI8krQfhk5Ab+6LmrGyDA1dvfkqOvXNzy7fMonn7w8umjafabmsDuowPPnz3nz5joLiN9VCwIqJDGHweixV59/weNHF4itZSMJbGq61kg3h3N2fs7D9x7jIdTwIzw3tCxrZo560U5U8frNFdu6URWJS8RmRukto3smv07uxwJrMa9uLDJCG1ZKI87AWJBvhEOsG9WEhSVcWBtu1A615da2kboiPaRW4hSRcBGEClhg0cTDycWdJR1XgUdkrN2hRqslGapydo+fffgRL37+Ir1opzrrJHZDAiB49vySv/3gp9zcRiqLCpsrjSLrnpQ27KH8/ItXPHz4PtRbRMoTajrBw6Hk4o8vLvjhj/6SH/w/wf/xx//I629/u9fPjkxLIZfVwmLwWBhQqUqgU1NZlCrkQVRwGW9urrl89pRPXr78gw27vHzO9dVVI2cIOYVIGHkrYXVDUQaPvXrFo4tHbFV7dnkjzGT+5BjXwnK/cPHovcRLI9hME3ZeM2+HtRwQAVdXb1ivr6ldzfYC3sSnPFAUZHW+HE7WtqamZL07avrcnYgKKtR6m/VKQTR9n0JQjZj7KqD2LCLY2h4quqsKNUWA5BQPatjAY1hTpuAO2iqlGLV1EQJ8C87vnfOzjz7ixS8+5vf93y+sFeZnl5f89K//htttw1bAW5d05rAK90awjOD//BUPHtynblmInXStyUHJR3jw3sV7/PjpU548eXJArvZ/gv/Fx7/g9bfftug4NfVKa7byd8pN9ZT5I9rFSM/wSPFXrOn5Tby5vubp0x/z8uU/t1Jx5/H9v3b3/q4YGJfPLrl+c0Pde8lgEWxN0znG1jG6e+zfXnHvwQNETdmMINqlSEeZJ1Dvn93j4uJiL+6jv8TQO9L6lya9f/fta26228wodVwZboFU2gLbqbqglZLarzTbdpvBEhWxNJI1bq5uuV6/SRCHt35AyAwPo5aKZzlIHRb5SqTR1nRSnitQtC4phNlyqvlTppRUlmZEQJizhCErbYSa57J8SNkLRm3s7RV54AHymjK9cYjUyg+wqV8XRCtfdzea+IZiFIoSsFKBEm1SE26SpXZCeDh7g9P64R4SrU2ZkC1btea5TMDsqCJ5UfUuZwO1BlnZ6tkgrWWWqjOgqhJmsLWa2dowsKZK0nuKlMWokWWBoBIeiJpZF6CqhtnMdHSHW6PdZLfijjISu2HX11dEjURrTza3BtymzaLV5NZwEGQYW4ekaLdCkXSDRCkidr2n/XKGUlOKjxc6oXZN0H4ZefXrVxQ3atTsjD1lkJpIDNEwlSCRZ53rp4zViNiQtqwEStHT1YoUOaclSY1MmmjXCelNz2Q1T5L/7LPPYDEePXqYNa0ENHnd7xeKKUFiAO2HBM97DZMoS1prMmQLrqCE8uZHIgVDNAFpFEW7BnGKWQtnYJ6GOmL54+99D0JEzfT1alRzikHtda+1/4nsxk/VqQZmlXXzJMUiqFu7nrJMe8v2LhteteuAvEcrVqk1m+Owdn9h7ZYSE6WAIrkjPCVIFua8s0jhWHfhZ5YZZ6rZNxoplZp3clg2uUSKAcmwYpgqUs1iFI5Z4rr3mliq3IVqVDbwM9CGkao1rN1IR6F4xepCEFht1wAhIKjRNH0Dv6ym5lHrEQw8JSlUtapghHJ+qiK13OyZ6yyf/sunSYqyVuPavVVq3bvSgrKxcKVGU7/s1U5ovXz1W5v9ftPVet68cbSehRo65ZNfUuB/AWHLchVUWJtFAAAAAElFTkSuQmCC); 812 display: none; 813} 814</style><template id="quad-stack-view-template"> 815 <div id="header"></div> 816 <input id="stacking-distance-slider" max="400" min="1" step="1" type="range"/> 817 818 <canvas id="canvas"></canvas> 819 <img id="chrome-left"/> 820 <img id="chrome-mid"/> 821 <img id="chrome-right"/> 822</template><style> 823* /deep/ tr-ui-e-chrome-cc-layer-tree-quad-stack-view { 824 position: relative; 825} 826 827* /deep/ tr-ui-e-chrome-cc-layer-tree-quad-stack-view > top-controls { 828 -webkit-flex: 0 0 auto; 829 background-image: -webkit-gradient(linear, 830 0 0, 100% 0, 831 from(#E5E5E5), 832 to(#D1D1D1)); 833 border-bottom: 1px solid #8e8e8e; 834 border-top: 1px solid white; 835 display: flex; 836 flex-flow: row wrap; 837 flex-direction: row; 838 font-size: 14px; 839 padding-left: 2px; 840 overflow: hidden; 841} 842 843* /deep/ tr-ui-e-chrome-cc-layer-tree-quad-stack-view > 844 top-controls input[type='checkbox'] { 845 vertical-align: -2px; 846} 847 848* /deep/ tr-ui-e-chrome-cc-layer-tree-quad-stack-view > .what-rasterized { 849 color: -webkit-link; 850 cursor: pointer; 851 text-decoration: underline; 852 position: absolute; 853 bottom: 10px; 854 left: 10px; 855} 856 857* /deep/ tr-ui-e-chrome-cc-layer-tree-quad-stack-view > #input-event { 858 background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAYAAABw4pVUAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAMnwAADJ8BPja39wAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAyNSURBVHic7Z1PTCPXHcc/4wWWVbJN2cJSLVqiQJuGpoIGEVWReoBNIlIF5RCRSysOK9EbksUeOHLIIQcULbLEEYk7oqduD6gSRoqUEyK7dCOabOHghCiAE/JntQtesHt4fuM3z2+MZzy2x8ZfaTTjN+Px4/fh9/7Pb6xMJkND4VGk2hloyKkGkJCpASRkagAJmRpAQqYGkJCpASRkaqp2BvzKsizf3w1z38sKc+ZUaQCuAFeB57P7q4AF/Kxsj4GnLrfL+6PDYofQAskCaAJ6gJeB6+QAFOvZpwgwPwOHwCNgN5uu/+H252raJHRALMu6ggDwCtALNAf8E88QUL5AAHqSTVcNUTU4oQBiWVYzMIiA0E3lGhtp4CsEnPtACgFDGqXiYKoKxLKsCPAaMIwojlzV1tZGV1cXHR0ddHR00N7ebh93dHQAcHh4aG/JZNI+3tvb4+jo6LzsPAY+QYA5Ix9KBsoPpmpALMt6BXgTaHe7pre3l5GREUZGRujv7/fdsspkMmxtbRGPx4nH4+zs7BS6/HtgHfgvOW9xeE05bVZxIJZldQNvATf1c5FIhMHBQYaHh7l16xbd3d1lyUMikWBtbY319XU2NzdJp9Omy74B1oAEAoa8yIZTDttVDIhlWZeB94Dfm86Pjo4SjUbLBsFNiUSCWCzG6uqq2yVfAv9CNKHTlNlbKgLEsqxrwF+BX+nnhoaGuHPnDv39/WXPRyFtbW1x9+5dNjY2TKePgBXgOwQUFUyg3lJ2IJZl9QAfAK1qek9PD9PT04yMjJT1970qHo8zPz/P7u6ufuoE+CewQw6Kw2OCsGVZgViW9SdgFNGLBqC1tZWZmRnGx8eJRMI5lJZOp1lZWWFubo7j42P1VAZR4W8gWmJn5KBAAEVYWYBkm7PvIvoWtjo7O1lYWKCvry/w3yyHtre3mZqaYn9/Xz/1EPg3ot+iQslQIpTAgWRh/A0x5GFrYGCAWCxGe7trKzeUSiaTRKNRHjx4oJ/6CvgHoigLDEo5yox30WCMjY2xtLRUczAA2tvbWVpaYmxsTD91E3gbMbTTBFxCFM0WYPntMwXqIdk64x3lM9FolMnJycB+o5paXFwkFovplfcniDrlNLvJXr4vTwnMQ7KtqVE1rZ5gAExOThKNRvXkPyMGQaWXlOQpgQDJ9jM+QGlNjY2N1RUMqcnJSb34shClwnVE8aVCAY9QSi6ysj3wv6N0+gYGBlhaWqKlpaWke4dVqVSK27dv6xX9j8AyYpDyGaL4svsqxdo5CA95DwVGZ2cnsVisbmEAtLS0EIvF6OzsVJNfQIzRlVTJlwQkO1Boj021traysLBQk60pr2pvb2dhYYHWVscAxEuI1pcKJYIHKKV6yFvqh5mZmZrp9AWhvr4+ZmZm9OQ3MAMpSr6BZOcz7CH0np4exsfH/d6uZjU+Pk5Pj6PbdR34LT69xBeQbG/8TTVteno6tGNT5VQkEmF6elpPfh24TK7VFaFIKH4t+BrKTN/Q0FDoRm0rqZGREYaGhtSkXyDqVs9Fl2cg2QUJw2ranTt3vN6m7mSwwR8R68dULzm31eXHQwZRFiSMjo5WfXIpDOrv72d01DFQcQXoQ3hI0V7iB8gr9pcjEdNQwoVVNBrV69EXcanccfEST0Cyi9jsSe/BwcGKz4GHWd3d3QwOOqaAOoDnMFfuRnn1kJfV7wwPD3v8ev1Ls4mF+Ac2FVsW5C8aLxpI9ou/U9Nu3brlOcP1LoNNbuJej+R5ihcPaQJ+Iz/09vY2iiuDuru76e3tVZN+jeiTyFHggsWWFyA9KAufL3K/4zxptrkE3MClYkcDUxQQU3HVAOIug226yHlIXvNXrUe8eEiHPGhra2v0PQqov7+ftrY2NekFzEVWSXWI3Rns6uoq6ZGyepdlWXR1dalJrRTwEFVegFyVB3L5f0Pu0mzUirC1CsPoJcUCuYLyGFkDyPnSbBQhB8VUZNm99nOBZC+8qqZdhBnBUmWw0RXMQHx5iOPpprB5yMbGBp999lm1s+GQwUZXKFBUSRULxOEhYQNy//59Hj58WO1sOOQCpGAfBOoESBhVwENMm61in/cOXRt3f3+f09NTAH766SdaWlrY29sDoLm5mevXr1cze25y9QypYoH8rH44PDwsIU/B6KOPPrLzcXBwQCQS4dNPPwXgxo0bfPzxx9XMnslGJ7h7hkX2GZOaBRKLxezjxcVFLl++zMTERBVz5JTBRseGy3zXIaEDEna5eAgENIX7WP2QTCaL/NrFlcFG0kMKLvIttsh6ilg83ATh85D3338/dGNrmo3SiAXYuvLgeImX9Rj4peHHqq5r165VOwt50mx0gjkqhJT92cvgol2P7O3thSa+VBiVyWTsJnhWsv4wBrZR5QWIjfzo6IitrS0vebxQ2tra0oPdPCbfQ4ze4gXII/VDPB73k9cLIYNtDnACUJ9td8gLkF2UiqkBxF2abc6AJOboD3lQzgWi1BWnCCgA7OzskEgk/Oa5bpVIJPTwT9+RCymoe4jvIkt+8Qs1cW1tzVem61kGm8jiKk1+gIE8eV25+Ihc3CjW19c9fr3+pdkkgwCiwsiL+oDyUKhXIE8QISUA2NzcbBRbihKJBJubm2rSD4h4KLLuOMMQRUiVn9XvdrGVTqcdg3wXXbFYTI9Op3qHuqlQHCoKSNadJNH7KGNbq6urjT4Jou+hRaVLIUoTE4zA6hD5Q5+oCXfv3vVxm/qSwQY7iG6C9BAZByWv6auOevgBIr3ke5mwsbFxofsl8XhcDw34BPgaYXg1KI0p6JlDRQPRiq0zRGQ1W/Pz827RPeta6XSa+fl5Pfl/5LxC3QrCAP9P4WYQcW2/kQm7u7usrKz4vF3tamVlRY/P+CPwLTlvcANiDN/kCYjiJXLv6AXNzc2xvb3t5ZY1re3tbebm5vRk2Vc7JReExgTDqFI8JIMIMvylTDw+PmZqaupCzCgmk0mmpqb0IJkHiLpV9Ypn5MA4oJimMDwD0eqSDCLIsD3WvL+/TzQaJZVKeb11zSiVShGNRvXgmE+Az8kVU8+UrSjvgNKCz8jxmaeIIMNyEoYHDx4wOztbwq3DrdnZWT1W1imi5XmCE0YKlyLLbYLPFxDlZhLKd4ggw/aJe/fusbi46Of2odbi4iL37t1TkzLAfxAzqmc4PcPkIQVVqofIfRrREVpXL4jFYnUFRQbB1PQIMZsqYaSUraiWlaqSQvxlV3rIFd2XEIsm/gL8Qb1ubGyMDz/8sGajzKVSKWZnZ3XPANHs/xxh+BSiyDrObifkirCiiisIDogK5TIwjvY6ijoMpHwEbCJAPCMHQIWhxl4sKmxsEEEwwQmlCQHlbeBV9do6CjX+DbBNDobqHSYYRQfCLDnimKEZfJbN0CpiENLOxf7+PhMTEywvL4d6mCWdTrO8vMzExIQOI4Pod31OPowTzHWHpz80kMjWyqpB6SXSU5oRQYbfARwVSA2+ruIU0ZrSK/ATnEBky8oxqlusnQMLNa4VXRa5Sr4JEYdwDPG8tkM18kKXJ+TmgWQ/Q3qDDsNTJa4r6NjvkA/lEsJTnkdEMX3J9N0Qv/LoAFFEyRaTbFFJGPK4ZBhQntdVgDuUZkTr6w2E1zgUspeC/YjoY3yPczgkZdhk568kGFC+F7qAE4qsU2S90owIpfo6ImCkUVV6bd4TxHzGtzgnmNThEN0rHK0pSngFUtleeeQCRa1XmhHN41eBAcRDka6qwIslU4jRhq/Jn8tQh0HUitttWtb3YvRyv4MKck8MyUeCZRGmeosMGPkiIshNpR72yCCW6hwgFiTI1pE0tDS6abDQ87BIMarEW9rAGUFNNot1MHL/HCIs3k1E8K9LAWfpDDEYepDd5Lopdc5b9Qx9r14nx/EgABhQASCQ109RizAdjApH9vhvIOJNvYCIFyJjhhSjNLlm6WMEgCS5tbbqAjbTlKsKwwTCHmCtmfcY2j/khCL3auwPNXyRGqOwifzQRq2IYk7dwDl8cYwwpjoqrRrSDYYKpdCaqpLrC5Oq8S5c+xCzx+hwTJtbEBdT3aMbUBpVXWvrtsnz+op1CNArVFXlbdEu3mICowJS9+cBsR/Exx2IaQG0af1tHggI1itUVft96vahsi/kOabPxQCRe93IaW3TAVQMhFRVgdiZMIORexOgQiDkXv3DdAObPMYIgAqBkAoFECmtJ+4Gp9Ax2rEORe51w+sQ7OOK17FhAqLKBY567AbBTSY4rsfVsktogagqACfvUpd0tz/SkR4GW9QEEFVBhtAI499ec0DqXf8H8f4X10jf2YAAAAAASUVORK5CYII=); 859 display: none; 860} 861</style><template id="tr-ui-e-chrome-cc-layer-tree-quad-stack-view-template"> 862 <img id="input-event"/> 863</template><style> 864* /deep/ tr-ui-e-chrome-cc-layer-view{-webkit-flex-direction:column;display:-webkit-flex;left:0;position:relative;top:0}* /deep/ tr-ui-e-chrome-cc-layer-view>tr-ui-e-chrome-cc-layer-tree-quad-stack-view{-webkit-flex:1 1 100%;-webkit-flex-direction:column;min-height:0;display:-webkit-flex;width:100%}* /deep/tr-ui-e-chrome-cc- layer-view>tr-ui-e-chrome-cc-layer-view-analysis{height:150px;overflow-y:auto}* /deep/ tr-ui-e-chrome-cc-layer-view>tr-ui-e-chrome-cc-layer-view-analysis *{-webkit-user-select:text} 865</style><style> 866* /deep/ .tr-ui-e-chrome-cc-lthi-s-view{-webkit-flex:1 1 auto!important;-webkit-flex-direction:row;display:-webkit-flex}* /deep/ .tr-ui-e-chrome-cc-lthi-s-view>tr-ui-e-chrome-cc-layer-picker{-webkit-flex:1 1 auto}* /deep/ .tr-ui-e-chrome-cc-lthi-s-view>tr-ui-b-drag-handle{-webkit-flex:0 0 auto} 867</style><style> 868* /deep/ tr-ui-e-chrome-cc-picture-ops-chart-summary-view{-webkit-flex:0 0 auto;font-size:0;margin:0;min-height:200px;min-width:200px;overflow:hidden;padding:0}* /deep/ tr-ui-e-chrome-cc-picture-ops-chart-summary-view.hidden{display:none} 869</style><style> 870* /deep/ tr-ui-e-chrome-cc-picture-ops-chart-view{display:block;height:180px;margin:0;padding:0;position:relative}* /deep/ tr-ui-e-chrome-cc-picture-ops-chart-view>.use-percentile-scale{left:0;position:absolute;top:0} 871</style><template id="tr-ui-e-chrome-cc-picture-debugger-template"> 872 <style> 873 * /deep/ tr-ui-e-chrome-cc-picture-debugger { 874 -webkit-flex: 1 1 auto; 875 -webkit-flex-direction: row; 876 display: -webkit-flex; 877 } 878 879 * /deep/ tr-ui-e-chrome-cc-picture-debugger > tr-ui-a-generic-object-view { 880 -webkit-flex-direction: column; 881 display: -webkit-flex; 882 width: 400px; 883 } 884 885 * /deep/ tr-ui-e-chrome-cc-picture-debugger > left-panel { 886 -webkit-flex-direction: column; 887 display: -webkit-flex; 888 min-width: 300px; 889 } 890 891 * /deep/ tr-ui-e-chrome-cc-picture-debugger > left-panel > picture-info { 892 -webkit-flex: 0 0 auto; 893 padding-top: 2px; 894 } 895 896 * /deep/ tr-ui-e-chrome-cc-picture-debugger > left-panel > 897 picture-info .title { 898 font-weight: bold; 899 margin-left: 5px; 900 margin-right: 5px; 901 } 902 903 * /deep/ tr-ui-e-chrome-cc-picture-debugger > tr-ui-b-drag-handle { 904 -webkit-flex: 0 0 auto; 905 } 906 907 * /deep/ tr-ui-e-chrome-cc-picture-debugger .filename { 908 -webkit-user-select: text; 909 margin-left: 5px; 910 } 911 912 * /deep/ tr-ui-e-chrome-cc-picture-debugger > right-panel { 913 -webkit-flex: 1 1 auto; 914 -webkit-flex-direction: column; 915 display: -webkit-flex; 916 } 917 918 * /deep/ tr-ui-e-chrome-cc-picture-debugger > right-panel > 919 tr-ui-e-chrome-cc-picture-ops-chart-view { 920 min-height: 150px; 921 min-width : 0; 922 overflow-x: auto; 923 overflow-y: hidden; 924 } 925 926 /*************************************************/ 927 928 * /deep/ tr-ui-e-chrome-cc-picture-debugger raster-area { 929 background-color: #ddd; 930 min-height: 200px; 931 min-width: 200px; 932 overflow-y: auto; 933 padding-left: 5px; 934 } 935 </style> 936 937 <left-panel> 938 <picture-info> 939 <div> 940 <span class="title">Skia Picture</span> 941 <span class="size"></span> 942 </div> 943 <div> 944 <input class="filename" type="text" value="skpicture.skp"/> 945 <button class="export">Export</button> 946 </div> 947 </picture-info> 948 </left-panel> 949 <right-panel> 950 <tr-ui-e-chrome-cc-picture-ops-chart-view> 951 </tr-ui-e-chrome-cc-picture-ops-chart-view> 952 <raster-area><canvas></canvas></raster-area> 953 </right-panel> 954</template><style> 955* /deep/ .tr-ui-e-chrome-cc-picture-snapshot-view{-webkit-flex:0 1 auto!important;display:-webkit-flex} 956</style><dom-module id="tr-ui-a-stack-frame"> 957 <template> 958 <style> 959 :host { 960 display: flex; 961 flex-direction: row; 962 align-items: center; 963 font-size: 12px; 964 } 965 </style> 966 <tr-ui-b-table id="table"></tr-ui-b-table> 967 </template> 968</dom-module><dom-module id="tr-ui-a-single-event-sub-view"> 969 <template> 970 <style> 971 :host { 972 display: flex; 973 flex: 0 1; 974 flex-direction: column; 975 } 976 #table { 977 flex: 0 1 auto; 978 align-self: stretch; 979 font-size: 12px; 980 } 981 </style> 982 <tr-ui-b-table id="table"> 983 </tr-ui-b-table> 984 </template> 985</dom-module><dom-module id="tr-ui-e-chrome-cc-raster-task-view"> 986 <template> 987 <style> 988 :host { 989 display: flex; 990 flex-direction: column; 991 } 992 #heading { 993 flex: 0 0 auto; 994 } 995 tr-ui-b-table { 996 font-size: 12px; 997 } 998 </style> 999 1000 <div id="heading"> 1001 Rasterization costs in 1002 <tr-ui-a-analysis-link id="link"></tr-ui-a-analysis-link> 1003 </div> 1004 <tr-ui-b-table id="content"></tr-ui-b-table> 1005 </template> 1006</dom-module><style> 1007.tr-ui-e-chrome-gpu-state-snapshot-view{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAAZiS0dEAEwATABMYqp3KAAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB90JCQsBMCH7ZqYAAAAZdEVYdENvbW1lbnQAQ3JlYXRlZCB3aXRoIEdJTVBXgQ4XAAAAUElEQVRYw+3WwQkAIAiF4Vc0hTO5/wiuURvYIcQOv1cRPhDlDXffSsrMsrYiQi/zU80FAACAVX3nt3lWAABA/x+ovnPyAAAA5AHyAAAA3wMOd34Xd+lsglgAAAAASUVORK5CYII=);display:-webkit-flex;overflow:auto}.tr-ui-e-chrome-gpu-state-snapshot-view img{display:block;margin:16px auto 16px auto} 1008</style><dom-module id="tr-ui-a-layout-tree-sub-view"> 1009 <template> 1010 <style> 1011 tr-ui-b-table { 1012 font-size: 12px; 1013 } 1014 </style> 1015 <div id="content"></div> 1016 </template> 1017</dom-module><dom-module id="tr-ui-e-s-frame-data-side-panel"> 1018 <template> 1019 <style> 1020 :host { 1021 display: flex; 1022 width: 600px; 1023 flex-direction: column; 1024 } 1025 table-container { 1026 display: flex; 1027 overflow: auto; 1028 font-size: 12px; 1029 } 1030 </style> 1031 <div> 1032 Organize by: 1033 <select id="select"> 1034 <option value="none">None</option> 1035 <option value="tree">Frame Tree</option> 1036 </select> 1037 </div> 1038 <table-container> 1039 <tr-ui-b-table id="table"></tr-ui-b-table> 1040 </table-container> 1041 </template> 1042</dom-module><dom-module id="tr-ui-b-chart-legend-key"> 1043 <template> 1044 <style> 1045 #checkbox { 1046 margin: 0; 1047 visibility: hidden; 1048 vertical-align: text-top; 1049 } 1050 #label, #link { 1051 white-space: nowrap; 1052 text-overflow: ellipsis; 1053 overflow: hidden; 1054 display: inline-block; 1055 } 1056 </style> 1057 1058 <input checked="" id="checkbox" type="checkbox"/> 1059 <tr-ui-a-analysis-link id="link"></tr-ui-a-analysis-link> 1060 <label id="label"></label> 1061 </template> 1062</dom-module><style> 1063 * /deep/ .chart-base { 1064 -webkit-user-select: none; 1065 cursor: default; 1066 } 1067 1068 * /deep/ .chart-base .axis path, 1069 * /deep/ .chart-base .axis line { 1070 fill: none; 1071 shape-rendering: crispEdges; 1072 stroke: #000; 1073 } 1074</style><template id="chart-base-template"> 1075 <svg> 1076 <g id="chart-area" xmlns="http://www.w3.org/2000/svg"> 1077 <g class="x axis"></g> 1078 <g class="y axis"></g> 1079 <text id="title"></text> 1080 </g> 1081 </svg> 1082</template><style> 1083 * /deep/ .chart-base-2d.updating-brushing-state #brushes > * { 1084 fill: rgb(103, 199, 165) 1085 } 1086 1087 * /deep/ .chart-base-2d #brushes { 1088 fill: rgb(213, 236, 229) 1089 } 1090</style><dom-module id="tr-ui-e-s-input-latency-side-panel"> 1091 <template> 1092 <style> 1093 :host { 1094 flex-direction: column; 1095 display: flex; 1096 } 1097 toolbar { 1098 flex: 0 0 auto; 1099 border-bottom: 1px solid black; 1100 display: flex; 1101 } 1102 result-area { 1103 flex: 1 1 auto; 1104 display: block; 1105 min-height: 0; 1106 overflow-y: auto; 1107 } 1108 </style> 1109 1110 <toolbar id="toolbar"></toolbar> 1111 <result-area id="result_area"></result-area> 1112 </template> 1113</dom-module><dom-module id="tr-ui-b-heading"> 1114 <template> 1115 <style> 1116 :host { 1117 background-color: rgb(243, 245, 247); 1118 border-right: 1px solid #8e8e8e; 1119 display: block; 1120 height: 100%; 1121 margin: 0; 1122 padding: 0 5px 0 0; 1123 } 1124 1125 heading { 1126 display: block; 1127 overflow-x: hidden; 1128 text-align: left; 1129 text-overflow: ellipsis; 1130 white-space: nowrap; 1131 } 1132 1133 #arrow { 1134 -webkit-flex: 0 0 auto; 1135 font-family: sans-serif; 1136 margin-left: 5px; 1137 margin-right: 5px; 1138 width: 8px; 1139 } 1140 1141 #link, #heading_content { 1142 display: none; 1143 } 1144 </style> 1145 <heading id="heading" on-click="onHeadingDivClicked_"> 1146 <span id="arrow"></span> 1147 <span id="heading_content"></span> 1148 <tr-ui-a-analysis-link id="link"></tr-ui-a-analysis-link> 1149 </heading> 1150 </template> 1151</dom-module><style> 1152.track-button{background-color:rgba(255,255,255,0.5);border:1px solid rgba(0,0,0,0.1);color:rgba(0,0,0,0.2);font-size:10px;height:12px;text-align:center;width:12px}.track-button:hover{background-color:rgba(255,255,255,1.0);border:1px solid rgba(0,0,0,0.5);box-shadow:0 0 .05em rgba(0,0,0,0.4);color:rgba(0,0,0,1)}.track-close-button{left:2px;position:absolute;top:2px}.track-collapse-button{left:3px;position:absolute;top:2px} 1153</style><style> 1154.object-instance-track{height:18px} 1155</style><style> 1156.tr-ui-e-system-stats-instance-track{height:500px}.tr-ui-e-system-stats-instance-track ul{list-style:none;list-style-position:outside;margin:0;overflow:hidden} 1157</style><style> 1158.tr-ui-e-system-stats-snapshot-view .subhead{font-size:small;padding-bottom:10px}.tr-ui-e-system-stats-snapshot-view ul{background-position:0 5px;background-repeat:no-repeat;cursor:pointer;font-family:monospace;list-style:none;margin:0;padding-left:15px}.tr-ui-e-system-stats-snapshot-view li{background-position:0 5px;background-repeat:no-repeat;cursor:pointer;list-style:none;margin:0;padding-left:15px} 1159</style><dom-module id="tr-ui-e-v8-gc-objects-stats-table"> 1160 <template> 1161 <style> 1162 tr-ui-b-table { 1163 flex: 0 0 auto; 1164 align-self: stretch; 1165 margin-top: 1em; 1166 font-size: 12px; 1167 } 1168 .diff { 1169 display: inline-block; 1170 margin-top: 1em; 1171 margin-left: 0.8em; 1172 } 1173 </style> 1174 <div class="diff" id="diffOption"> 1175 Diff 1176 </div> 1177 <tr-ui-b-table id="diffTable"></tr-ui-b-table> 1178 <tr-ui-b-table id="table"></tr-ui-b-table> 1179 </template> 1180</dom-module><dom-module id="tr-ui-e-multi-v8-gc-stats-thread-slice-sub-view"> 1181 <template> 1182 <style> 1183 </style> 1184 <tr-ui-e-v8-gc-objects-stats-table id="gcObjectsStats"> 1185 </tr-ui-e-v8-gc-objects-stats-table> 1186 </template> 1187</dom-module><dom-module id="tr-ui-e-v8-ic-stats-table"> 1188 <template> 1189 <style> 1190 tr-ui-b-table { 1191 flex: 0 0 auto; 1192 align-self: stretch; 1193 margin-top: 1em; 1194 font-size: 12px; 1195 } 1196 #total { 1197 margin-top: 1em; 1198 margin-left: 0.8em; 1199 } 1200 #groupOption { 1201 display: inline-block; 1202 margin-top: 1em; 1203 margin-left: 0.8em; 1204 } 1205 </style> 1206 <div style="padding-right: 200px"> 1207 <div style="float:right; border-style: solid; border-width: 1px; padding:20px"> 1208 0 uninitialized<br/> 1209 . premonomorphic<br/> 1210 1 monomorphic<br/> 1211 ^ recompute handler<br/> 1212 P polymorphic<br/> 1213 N megamorphic<br/> 1214 G generic 1215 </div> 1216 </div> 1217 <div id="total"> 1218 </div> 1219 <div id="groupOption"> 1220 Group Key 1221 </div> 1222 <tr-ui-b-table id="table"></tr-ui-b-table> 1223 </template> 1224</dom-module><dom-module id="tr-ui-e-multi-v8-ic-stats-thread-slice-sub-view"> 1225 <template> 1226 <tr-ui-e-v8-ic-stats-table id="table"> 1227 </tr-ui-e-v8-ic-stats-table> 1228 </template> 1229</dom-module><dom-module id="tr-ui-e-v8-runtime-call-stats-table"> 1230 <template> 1231 <style> 1232 #table { 1233 flex: 0 0 auto; 1234 align-self: stretch; 1235 margin-top: 1em; 1236 font-size: 12px; 1237 } 1238 </style> 1239 <tr-ui-b-table id="table"></tr-ui-b-table> 1240 </template> 1241</dom-module><dom-module id="tr-ui-e-multi-v8-thread-slice-sub-view"> 1242 <template> 1243 <tr-ui-a-multi-thread-slice-sub-view id="content"></tr-ui-a-multi-thread-slice-sub-view> 1244 <tr-ui-e-v8-runtime-call-stats-table id="runtimeCallStats"></tr-ui-e-v8-runtime-call-stats-table> 1245 </template> 1246</dom-module><dom-module id="tr-ui-e-single-v8-gc-stats-thread-slice-sub-view"> 1247 <template> 1248 <tr-ui-a-single-event-sub-view id="content"></tr-ui-a-single-event-sub-view> 1249 <tr-ui-e-v8-gc-objects-stats-table id="gcObjectsStats"></tr-ui-e-v8-gc-objects-stats-table> 1250 </template> 1251</dom-module><dom-module id="tr-ui-e-single-v8-ic-stats-thread-slice-sub-view"> 1252 <template> 1253 <tr-ui-e-v8-ic-stats-table id="table"> 1254 </tr-ui-e-v8-ic-stats-table> 1255 </template> 1256</dom-module><dom-module id="tr-ui-e-single-v8-thread-slice-sub-view"> 1257 <template> 1258 <tr-ui-a-single-thread-slice-sub-view id="content"></tr-ui-a-single-thread-slice-sub-view> 1259 <tr-ui-e-v8-runtime-call-stats-table id="runtimeCallStats"></tr-ui-e-v8-runtime-call-stats-table> 1260 </template> 1261</dom-module><dom-module id="tr-ui-a-alert-sub-view"> 1262 <template> 1263 <style> 1264 :host { 1265 display: flex; 1266 flex-direction: column; 1267 } 1268 #table { 1269 flex: 1 1 auto; 1270 align-self: stretch; 1271 font-size: 12px; 1272 } 1273 </style> 1274 <tr-ui-b-table id="table"> 1275 </tr-ui-b-table> 1276 </template> 1277</dom-module><dom-module id="tr-ui-b-tab-view"> 1278 <template> 1279 <style> 1280 :host { 1281 display: flex; 1282 flex-direction: column; 1283 } 1284 1285 #selection_description, #tabs { 1286 font-size: 12px; 1287 } 1288 1289 #selection_description { 1290 display: inline-block; 1291 font-weight: bold; 1292 margin: 9px 0px 4px 20px; 1293 } 1294 1295 #tabs { 1296 flex: 0 0 auto; 1297 border-top: 1px solid #8e8e8e; 1298 border-bottom: 1px solid #8e8e8e; 1299 background-color: #ececec; 1300 overflow: hidden; 1301 margin: 0; 1302 } 1303 1304 #tabs input[type=radio] { 1305 display: none; 1306 } 1307 1308 #tabs tab label { 1309 cursor: pointer; 1310 display: inline-block; 1311 border: 1px solid #ececec; 1312 margin: 5px 0px 0px 15px; 1313 padding: 3px 10px 3px 10px; 1314 } 1315 1316 #tabs tab label span { 1317 font-weight: bold; 1318 } 1319 1320 #tabs:focus input[type=radio]:checked ~ label { 1321 outline: dotted 1px #8e8e8e; 1322 outline-offset: -2px; 1323 } 1324 1325 #tabs input[type=radio]:checked ~ label { 1326 background-color: white; 1327 border: 1px solid #8e8e8e; 1328 border-bottom: 1px solid white; 1329 } 1330 1331 #subView { 1332 flex: 1 1 auto; 1333 overflow: auto; 1334 } 1335 </style> 1336 <div hidden="[[tabsHidden]]" id="tabs"> 1337 <label id="selection_description">[[label_]]</label> 1338 <template is="dom-repeat" items="[[subViews_]]"> 1339 <tab> 1340 <input checked="[[isChecked_(item)]]" id$="[[computeRadioId_(item)]]" name="tabs" on-change="onTabChanged_" type="radio"/> 1341 <label for$="[[computeRadioId_(item)]]"> 1342 <template if="[[item.tabIcon]]" is="dom-if"> 1343 <span style$="[[item.tabIcon.style]]">[[item.tabIcon.text]]</span> 1344 </template> 1345 [[item.tabLabel]] 1346 </label> 1347 </tab> 1348 </template> 1349 </div> 1350 <div id="subView"></div> 1351 <content> 1352 </content> 1353 </template> 1354</dom-module><dom-module id="tr-ui-a-memory-dump-heap-details-breakdown-view"> 1355 <template> 1356 <tr-ui-b-tab-view id="tabs"></tr-ui-b-tab-view> 1357 </template> 1358</dom-module><dom-module id="tr-ui-a-memory-dump-heap-details-breakdown-view-tab"> 1359 <template> 1360 <tr-v-ui-scalar-context-controller></tr-v-ui-scalar-context-controller> 1361 <tr-ui-b-info-bar hidden="" id="info"></tr-ui-b-info-bar> 1362 <tr-ui-b-table id="table"></tr-ui-b-table> 1363 </template> 1364</dom-module><dom-module id="tr-ui-a-memory-dump-heap-details-path-view"> 1365 <template> 1366 <style> 1367 :host { 1368 display: flex; 1369 flex-direction: column; 1370 } 1371 </style> 1372 <tr-v-ui-scalar-context-controller></tr-v-ui-scalar-context-controller> 1373 <tr-ui-b-table id="table"></tr-ui-b-table> 1374 </template> 1375</dom-module><dom-module id="tr-ui-a-memory-dump-heap-details-pane"> 1376 <template> 1377 <style> 1378 :host { 1379 display: flex; 1380 flex-direction: column; 1381 } 1382 1383 #header { 1384 flex: 0 0 auto; 1385 display: flex; 1386 flex-direction: row; 1387 align-items: center; 1388 1389 background-color: #eee; 1390 border-bottom: 1px solid #8e8e8e; 1391 border-top: 1px solid white; 1392 } 1393 1394 #label { 1395 flex: 1 1 auto; 1396 padding: 8px; 1397 font-size: 15px; 1398 font-weight: bold; 1399 } 1400 1401 #view_mode_container { 1402 display: none; 1403 flex: 0 0 auto; 1404 padding: 5px; 1405 font-size: 15px; 1406 } 1407 1408 #contents { 1409 flex: 1 0 auto; 1410 align-self: stretch; 1411 font-size: 12px; 1412 } 1413 1414 #info_text { 1415 padding: 8px; 1416 color: #666; 1417 font-style: italic; 1418 text-align: center; 1419 } 1420 1421 #split_view { 1422 display: none; /* Hide until memory allocator dumps are set. */ 1423 flex: 1 0 auto; 1424 align-self: stretch; 1425 flex-direction: row; 1426 } 1427 1428 #path_view { 1429 width: 50%; 1430 } 1431 1432 #breakdown_view { 1433 flex: 1 1 auto; 1434 width: 0; 1435 } 1436 1437 #path_view, #breakdown_view { 1438 overflow-x: auto; /* Show scrollbar if necessary. */ 1439 } 1440 </style> 1441 <div id="header"> 1442 <div id="label">Heap details</div> 1443 <div id="view_mode_container"> 1444 <span>View mode:</span> 1445 1446 </div> 1447 </div> 1448 <div id="contents"> 1449 <tr-ui-b-info-bar hidden="" id="info_bar"> 1450 </tr-ui-b-info-bar> 1451 1452 <div id="info_text">No heap dump selected</div> 1453 1454 <div id="split_view"> 1455 <tr-ui-a-memory-dump-heap-details-path-view id="path_view"> 1456 </tr-ui-a-memory-dump-heap-details-path-view> 1457 <tr-ui-b-drag-handle id="drag_handle"></tr-ui-b-drag-handle> 1458 <tr-ui-a-memory-dump-heap-details-breakdown-view id="breakdown_view"> 1459 </tr-ui-a-memory-dump-heap-details-breakdown-view> 1460 </div> 1461 </div> 1462 </template> 1463</dom-module><dom-module id="tr-ui-a-memory-dump-allocator-details-pane"> 1464 <template> 1465 <style> 1466 :host { 1467 display: flex; 1468 flex-direction: column; 1469 } 1470 1471 #label { 1472 flex: 0 0 auto; 1473 padding: 8px; 1474 1475 background-color: #eee; 1476 border-bottom: 1px solid #8e8e8e; 1477 border-top: 1px solid white; 1478 1479 font-size: 15px; 1480 font-weight: bold; 1481 } 1482 1483 #contents { 1484 flex: 1 0 auto; 1485 align-self: stretch; 1486 font-size: 12px; 1487 } 1488 1489 #info_text { 1490 padding: 8px; 1491 color: #666; 1492 font-style: italic; 1493 text-align: center; 1494 } 1495 1496 #table { 1497 display: none; /* Hide until memory allocator dumps are set. */ 1498 flex: 1 0 auto; 1499 align-self: stretch; 1500 font-size: 12px; 1501 } 1502 </style> 1503 <div id="label">Component details</div> 1504 <div id="contents"> 1505 <div id="info_text">No memory allocator dump selected</div> 1506 <tr-ui-b-table id="table"></tr-ui-b-table> 1507 </div> 1508 </template> 1509</dom-module><dom-module id="tr-ui-a-memory-dump-vm-regions-details-pane"> 1510 <template> 1511 <style> 1512 :host { 1513 display: flex; 1514 flex-direction: column; 1515 } 1516 1517 #label { 1518 flex: 0 0 auto; 1519 padding: 8px; 1520 1521 background-color: #eee; 1522 border-bottom: 1px solid #8e8e8e; 1523 border-top: 1px solid white; 1524 1525 font-size: 15px; 1526 font-weight: bold; 1527 } 1528 1529 #contents { 1530 flex: 1 0 auto; 1531 align-self: stretch; 1532 font-size: 12px; 1533 } 1534 1535 #info_text { 1536 padding: 8px; 1537 color: #666; 1538 font-style: italic; 1539 text-align: center; 1540 } 1541 1542 #table { 1543 display: none; /* Hide until memory dumps are set. */ 1544 flex: 1 0 auto; 1545 align-self: stretch; 1546 font-size: 12px; 1547 } 1548 </style> 1549 <div id="label">Memory maps</div> 1550 <div id="contents"> 1551 <div id="info_text">No memory maps selected</div> 1552 <tr-ui-b-table id="table"></tr-ui-b-table> 1553 </div> 1554 </template> 1555</dom-module><dom-module id="tr-ui-b-color-legend"> 1556 <template> 1557 <style> 1558 :host { 1559 display: inline-block; 1560 } 1561 1562 #square { 1563 font-size: 150%; /* Make the square bigger. */ 1564 line-height: 0%; /* Prevent the square from increasing legend height. */ 1565 } 1566 </style> 1567 <span id="square"></span> 1568 <span id="label"></span> 1569 </template> 1570</dom-module><dom-module id="tr-ui-b-view-specific-brushing-state"> 1571 <template></template> 1572</dom-module><dom-module id="tr-ui-a-memory-dump-overview-pane"> 1573 <template> 1574 <style> 1575 :host { 1576 display: flex; 1577 flex-direction: column; 1578 } 1579 1580 #label { 1581 flex: 0 0 auto; 1582 padding: 8px; 1583 1584 background-color: #eee; 1585 border-bottom: 1px solid #8e8e8e; 1586 border-top: 1px solid white; 1587 1588 font-size: 15px; 1589 font-weight: bold; 1590 } 1591 1592 #label a { 1593 font-weight: normal; 1594 float: right; 1595 } 1596 1597 #contents { 1598 flex: 1 0 auto; 1599 align-self: stretch; 1600 font-size: 12px; 1601 overflow: auto; 1602 } 1603 1604 #info_text { 1605 padding: 8px; 1606 color: #666; 1607 font-style: italic; 1608 text-align: center; 1609 } 1610 1611 #table { 1612 display: none; /* Hide until memory dumps are set. */ 1613 flex: 1 0 auto; 1614 align-self: stretch; 1615 font-size: 12px; 1616 } 1617 </style> 1618 <tr-ui-b-view-specific-brushing-state id="state" view-id="analysis.memory_dump_overview_pane"> 1619 </tr-ui-b-view-specific-brushing-state> 1620 <div id="label">Overview <a href="https://chromium.googlesource.com/chromium/src/+/master/docs/memory-infra">Help</a></div> 1621 <div id="contents"> 1622 <div id="info_text">No memory memory dumps selected</div> 1623 <tr-ui-b-table id="table"></tr-ui-b-table> 1624 </div> 1625 </template> 1626</dom-module><dom-module id="tr-ui-a-memory-dump-header-pane"> 1627 <template> 1628 <style> 1629 :host { 1630 display: flex; 1631 flex-direction: row; 1632 align-items: center; 1633 1634 background-color: #d0d0d0; 1635 border-bottom: 1px solid #8e8e8e; 1636 border-top: 1px solid white; 1637 } 1638 1639 #label { 1640 flex: 1 1 auto; 1641 padding: 6px; 1642 font-size: 15px; 1643 } 1644 1645 #aggregation_mode_container { 1646 display: none; 1647 flex: 0 0 auto; 1648 padding: 5px; 1649 font-size: 15px; 1650 } 1651 </style> 1652 1653 <div id="label"></div> 1654 <div id="aggregation_mode_container"> 1655 <span>Metric aggregation:</span> 1656 1657 </div> 1658 </template> 1659</dom-module><dom-module id="tr-ui-a-stacked-pane-view"> 1660 <template> 1661 <style> 1662 :host { 1663 display: flex; 1664 flex-direction: column; 1665 } 1666 1667 #pane_container > * { 1668 flex: 0 0 auto; 1669 } 1670 </style> 1671 <div id="pane_container"> 1672 </div> 1673 </template> 1674</dom-module><dom-module id="tr-ui-a-container-memory-dump-sub-view"> 1675 <template> 1676 <style> 1677 tr-ui-b-table { 1678 font-size: 12px; 1679 } 1680 </style> 1681 <div id="content"></div> 1682 </template> 1683</dom-module><dom-module id="tr-ui-a-counter-sample-sub-view"> 1684 <template> 1685 <style> 1686 :host { 1687 display: flex; 1688 flex-direction: column; 1689 } 1690 tr-ui-b-table { 1691 font-size: 12px; 1692 } 1693 </style> 1694 <tr-ui-b-table id="table"></tr-ui-b-table> 1695 </template> 1696</dom-module><dom-module id="tr-ui-a-multi-event-summary-table"> 1697 <template> 1698 <style> 1699 :host { 1700 display: flex; 1701 } 1702 #table { 1703 flex: 1 1 auto; 1704 align-self: stretch; 1705 font-size: 12px; 1706 } 1707 </style> 1708 <tr-ui-b-table id="table"> 1709 </tr-ui-b-table> 1710 1711 </template> 1712</dom-module><dom-module id="tr-ui-a-selection-summary-table"> 1713 <template> 1714 <style> 1715 :host { 1716 display: flex; 1717 } 1718 #table { 1719 flex: 1 1 auto; 1720 align-self: stretch; 1721 font-size: 12px; 1722 } 1723 </style> 1724 <tr-ui-b-table id="table"> 1725 </tr-ui-b-table> 1726 1727 </template> 1728</dom-module><dom-module id="tr-ui-b-radio-picker"> 1729 <template> 1730 <style> 1731 :host([vertical]) #container { 1732 flex-direction: column; 1733 } 1734 :host(:not[vertical]) #container { 1735 flex-direction: row; 1736 } 1737 #container { 1738 display: flex; 1739 } 1740 #container > div { 1741 padding-left: 1em; 1742 padding-bottom: 0.5em; 1743 } 1744 </style> 1745 <div id="container"></div> 1746 </template> 1747</dom-module><dom-module id="tr-v-ui-breakdown-span"> 1748 <template> 1749 <style> 1750 :host { 1751 display: flex; 1752 flex-direction: column; 1753 } 1754 #table_container { 1755 display: flex; 1756 flex: 0 0 auto; 1757 } 1758 #table { 1759 max-height: 150px; 1760 overflow-y: auto; 1761 } 1762 </style> 1763 1764 <div id="empty">(empty)</div> 1765 <div id="table_container"> 1766 <div id="container"></div> 1767 <span> 1768 <tr-ui-b-table id="table"></tr-ui-b-table> 1769 </span> 1770 </div> 1771 </template> 1772</dom-module><dom-module id="tr-v-ui-buildbot-info-span"> 1773 <template> 1774 <tr-ui-b-table id="table"></tr-ui-b-table> 1775 </template> 1776</dom-module><dom-module id="tr-v-ui-collected-related-event-set-span"> 1777 1778</dom-module><dom-module id="tr-v-ui-device-info-span"> 1779 <template> 1780 <tr-ui-b-table id="table"></tr-ui-b-table> 1781 </template> 1782</dom-module><dom-module id="tr-v-ui-generic-diagnostic-span"> 1783 <template> 1784 <tr-ui-a-generic-object-view id="generic"></tr-ui-a-generic-object-view> 1785 </template> 1786 1787 1788</dom-module><dom-module id="tr-v-ui-merged-buildbot-info-span"> 1789 <template> 1790 <tr-ui-b-table id="table"></tr-ui-b-table> 1791 </template> 1792</dom-module><dom-module id="tr-v-ui-merged-device-info-span"> 1793 <template> 1794 <tr-ui-b-table id="table"></tr-ui-b-table> 1795 </template> 1796</dom-module><dom-module id="tr-v-ui-merged-revision-info-span"> 1797 <template> 1798 <tr-ui-b-table id="table"></tr-ui-b-table> 1799 </template> 1800</dom-module><dom-module id="tr-v-ui-merged-telemetry-info-span"> 1801 <template> 1802 <style> 1803 #hide, #table { 1804 display: none; 1805 } 1806 </style> 1807 <button id="show" on-click="onShow_">Show</button> 1808 <button id="hide" on-click="onHide_">Hide</button> 1809 <tr-ui-b-table id="table"></tr-ui-b-table> 1810 </template> 1811</dom-module><dom-module id="tr-v-ui-related-event-set-span"> 1812 1813</dom-module><dom-module id="tr-v-ui-related-histogram-map-span"> 1814 <template> 1815 <tr-ui-b-table id="table"></tr-ui-b-table> 1816 </template> 1817</dom-module><dom-module id="tr-v-ui-related-histogram-set-span"> 1818 1819</dom-module><dom-module id="tr-v-ui-revision-info-span"> 1820 <template> 1821 <tr-ui-b-table id="table"></tr-ui-b-table> 1822 </template> 1823</dom-module><dom-module id="tr-v-ui-scalar-diagnostic-span"> 1824 <template> 1825 <tr-v-ui-scalar-span id="scalar"></tr-v-ui-scalar-span> 1826 </template> 1827 1828 1829</dom-module><dom-module id="tr-v-ui-telemetry-info-span"> 1830 <template> 1831 <tr-ui-b-table id="table"></tr-ui-b-table> 1832 </template> 1833</dom-module><dom-module id="tr-v-ui-unmergeable-diagnostic-set-span"> 1834 1835</dom-module><dom-module id="tr-v-ui-diagnostic-map-table"> 1836 <template> 1837 <tr-ui-b-table id="table"></tr-ui-b-table> 1838 </template> 1839 1840 1841</dom-module><dom-module name="tr-v-ui-scalar-map-table"> 1842 <template> 1843 <style> 1844 </style> 1845 <tr-ui-b-table id="table"></tr-ui-b-table> 1846 </template> 1847</dom-module><dom-module id="tr-v-ui-histogram-span"> 1848 <template> 1849 <style> 1850 #container { 1851 display: flex; 1852 flex-direction: row; 1853 justify-content: space-between; 1854 } 1855 #chart { 1856 flex-grow: 1; 1857 display: none; 1858 } 1859 #drag_handle, #sample_diagnostics_container { 1860 display: none; 1861 } 1862 #chart svg { 1863 display: block; 1864 } 1865 </style> 1866 1867 <div id="container"> 1868 <div id="chart"></div> 1869 <div id="stats_container"> 1870 <tr-v-ui-scalar-map-table id="stats"></tr-v-ui-scalar-map-table> 1871 </div> 1872 </div> 1873 <tr-ui-b-drag-handle id="drag_handle"></tr-ui-b-drag-handle> 1874 1875 <tr-v-ui-diagnostic-map-table id="histogram_diagnostics"></tr-v-ui-diagnostic-map-table> 1876 1877 <div id="sample_diagnostics_container"> 1878 <div id="merge_sample_diagnostics_container"> 1879 <input checked="" id="merge_sample_diagnostics" on-change="updateDiagnostics_" type="checkbox"/> 1880 <label for="merge_sample_diagnostics">Merge Sample Diagnostics</label> 1881 </div> 1882 <tr-v-ui-diagnostic-map-table id="sample_diagnostics"></tr-v-ui-diagnostic-map-table> 1883 </div> 1884 </template> 1885</dom-module><dom-module id="tr-ui-a-multi-event-sub-view"> 1886 <template> 1887 <style> 1888 :host { 1889 display: flex; 1890 overflow: auto; 1891 } 1892 #content { 1893 display: flex; 1894 flex-direction: column; 1895 flex: 0 1 auto; 1896 align-self: stretch; 1897 } 1898 #content > * { 1899 flex: 0 0 auto; 1900 align-self: stretch; 1901 } 1902 #histogramContainer { 1903 display: flex; 1904 } 1905 1906 tr-ui-a-multi-event-summary-table { 1907 border-bottom: 1px solid #aaa; 1908 } 1909 1910 tr-ui-a-selection-summary-table { 1911 margin-top: 1.25em; 1912 border-top: 1px solid #aaa; 1913 background-color: #eee; 1914 font-weight: bold; 1915 margin-bottom: 1.25em; 1916 border-bottom: 1px solid #aaa; 1917 } 1918 </style> 1919 <div id="content"> 1920 <tr-ui-a-multi-event-summary-table id="eventSummaryTable"> 1921 </tr-ui-a-multi-event-summary-table> 1922 <tr-ui-a-selection-summary-table id="selectionSummaryTable"> 1923 </tr-ui-a-selection-summary-table> 1924 <tr-ui-b-radio-picker id="radioPicker"> 1925 </tr-ui-b-radio-picker> 1926 <div id="histogramContainer"> 1927 <tr-v-ui-histogram-span id="histogramSpan"> 1928 </tr-v-ui-histogram-span> 1929 </div> 1930 </div> 1931 </template> 1932</dom-module><dom-module id="tr-ui-a-related-events"> 1933 <template> 1934 <style> 1935 :host { 1936 display: flex; 1937 flex-direction: column; 1938 } 1939 #table { 1940 flex: 1 1 auto; 1941 align-self: stretch; 1942 font-size: 12px; 1943 } 1944 </style> 1945 <tr-ui-b-table id="table"></tr-ui-b-table> 1946 </template> 1947</dom-module><dom-module id="tr-ui-a-multi-async-slice-sub-view"> 1948 <template> 1949 <style> 1950 :host { 1951 display: flex; 1952 } 1953 #container { 1954 display: flex; 1955 flex: 1 1 auto; 1956 } 1957 #events { 1958 margin-left: 8px; 1959 flex: 0 1 200px; 1960 } 1961 </style> 1962 <div id="container"> 1963 <tr-ui-a-multi-event-sub-view id="content"></tr-ui-a-multi-event-sub-view> 1964 <div id="events"> 1965 <tr-ui-a-related-events id="relatedEvents"></tr-ui-a-related-events> 1966 </div> 1967 </div> 1968 </template> 1969</dom-module><dom-module id="tr-ui-a-multi-cpu-slice-sub-view"> 1970 <template> 1971 <style> 1972 :host { 1973 display: flex; 1974 } 1975 #content { 1976 flex: 1 1 auto; 1977 } 1978 </style> 1979 <tr-ui-a-multi-event-sub-view id="content"></tr-ui-a-multi-event-sub-view> 1980 </template> 1981</dom-module><dom-module id="tr-ui-a-multi-flow-event-sub-view"> 1982 <template> 1983 <style> 1984 :host { 1985 display: flex; 1986 } 1987 </style> 1988 <tr-ui-a-multi-event-sub-view id="content"></tr-ui-a-multi-event-sub-view> 1989 </template> 1990</dom-module><dom-module id="tr-ui-a-multi-instant-event-sub-view"> 1991 <template> 1992 <style> 1993 :host { 1994 display: block; 1995 } 1996 </style> 1997 <div id="content"></div> 1998 </template> 1999</dom-module><dom-module id="tr-ui-a-multi-object-sub-view"> 2000 <template> 2001 <style> 2002 :host { 2003 display: flex; 2004 font-size: 12px; 2005 } 2006 </style> 2007 <tr-ui-b-table id="content"></tr-ui-b-table> 2008 </template> 2009</dom-module><dom-module id="tr-ui-a-frame-power-usage-chart"> 2010 <template> 2011 <div id="content"></div> 2012 </template> 2013</dom-module><dom-module id="tr-ui-a-power-sample-summary-table"> 2014 <template> 2015 <style> 2016 tr-ui-b-table { 2017 font-size: 12px; 2018 } 2019 </style> 2020 <tr-ui-b-table id="table"></tr-ui-b-table> 2021 </template> 2022</dom-module><dom-module id="tr-ui-a-multi-power-sample-sub-view"> 2023 <template> 2024 <style> 2025 :host { 2026 display: flex; 2027 flex-direction: row; 2028 } 2029 #tables { 2030 display: flex; 2031 flex-direction: column; 2032 width: 50%; 2033 } 2034 #chart { 2035 width: 50%; 2036 } 2037 </style> 2038 <div id="tables"> 2039 <tr-ui-a-power-sample-summary-table id="summaryTable"> 2040 </tr-ui-a-power-sample-summary-table> 2041 </div> 2042 <tr-ui-a-frame-power-usage-chart id="chart"> 2043 </tr-ui-a-frame-power-usage-chart> 2044 </template> 2045</dom-module><dom-module id="tr-ui-a-multi-sample-sub-view"> 2046 <template> 2047 <style> 2048 :host { display: block; } 2049 #control { 2050 background-color: #e6e6e6; 2051 background-image: -webkit-gradient(linear, 0 0, 0 100%, 2052 from(#E5E5E5), to(#D1D1D1)); 2053 flex: 0 0 auto; 2054 overflow-x: auto; 2055 } 2056 #control::-webkit-scrollbar { height: 0px; } 2057 #control { 2058 font-size: 12px; 2059 display: flex; 2060 flex-direction: row; 2061 align-items: stretch; 2062 margin: 1px; 2063 margin-right: 2px; 2064 } 2065 tr-ui-b-table { 2066 font-size: 12px; 2067 } 2068 </style> 2069 <div id="control"> 2070 Sample View Option 2071 </div> 2072 <tr-ui-b-table id="table"> 2073 </tr-ui-b-table> 2074 </template> 2075</dom-module><dom-module id="tr-ui-a-multi-thread-slice-sub-view"> 2076 <template> 2077 <style> 2078 :host { 2079 display: flex; 2080 } 2081 #content { 2082 display: flex; 2083 flex: 1 1 auto; 2084 } 2085 #content > tr-ui-a-related-events { 2086 margin-left: 8px; 2087 flex: 0 1 200px; 2088 } 2089 </style> 2090 <div id="content"></div> 2091 </template> 2092</dom-module><dom-module id="tr-ui-a-multi-thread-time-slice-sub-view"> 2093 <template> 2094 <style> 2095 :host { 2096 display: flex; 2097 } 2098 #content { 2099 flex: 1 1 auto; 2100 } 2101 </style> 2102 <tr-ui-a-multi-event-sub-view id="content"></tr-ui-a-multi-event-sub-view> 2103 </template> 2104</dom-module><dom-module id="tr-ui-a-user-expectation-related-samples-table"> 2105 <template> 2106 <style> 2107 #table { 2108 flex: 1 1 auto; 2109 align-self: stretch; 2110 font-size: 12px; 2111 } 2112 </style> 2113 <tr-ui-b-table id="table"></tr-ui-b-table> 2114 </template> 2115</dom-module><dom-module id="tr-ui-a-multi-user-expectation-sub-view"> 2116 <template> 2117 <style> 2118 :host { 2119 display: flex; 2120 flex: 1 1 auto; 2121 } 2122 #events { 2123 margin-left: 8px; 2124 flex: 0 1 200px; 2125 } 2126 </style> 2127 <tr-ui-a-multi-event-sub-view id="realView"></tr-ui-a-multi-event-sub-view> 2128 <div id="events"> 2129 <tr-ui-a-user-expectation-related-samples-table id="relatedSamples"></tr-ui-a-user-expectation-related-samples-table> 2130 </div> 2131 </template> 2132</dom-module><dom-module id="tr-ui-a-single-async-slice-sub-view"> 2133 <template> 2134 <style> 2135 :host { 2136 display: flex; 2137 flex-direction: row; 2138 } 2139 #events { 2140 display:flex; 2141 flex-direction: column; 2142 } 2143 </style> 2144 <tr-ui-a-single-event-sub-view id="content"></tr-ui-a-single-event-sub-view> 2145 <div id="events"> 2146 <tr-ui-a-related-events id="relatedEvents"></tr-ui-a-related-events> 2147 </div> 2148 </template> 2149</dom-module><dom-module id="tr-ui-a-single-cpu-slice-sub-view"> 2150 <template> 2151 <style> 2152 table { 2153 border-collapse: collapse; 2154 border-width: 0; 2155 margin-bottom: 25px; 2156 width: 100%; 2157 } 2158 2159 table tr > td:first-child { 2160 padding-left: 2px; 2161 } 2162 2163 table tr > td { 2164 padding: 2px 4px 2px 4px; 2165 vertical-align: text-top; 2166 width: 150px; 2167 } 2168 2169 table td td { 2170 padding: 0 0 0 0; 2171 width: auto; 2172 } 2173 tr { 2174 vertical-align: top; 2175 } 2176 2177 tr:nth-child(2n+0) { 2178 background-color: #e2e2e2; 2179 } 2180 </style> 2181 <table> 2182 <tbody><tr> 2183 <td>Running process:</td><td id="process-name"></td> 2184 </tr> 2185 <tr> 2186 <td>Running thread:</td><td id="thread-name"></td> 2187 </tr> 2188 <tr> 2189 <td>Start:</td> 2190 <td> 2191 <tr-v-ui-scalar-span id="start"> 2192 </tr-v-ui-scalar-span> 2193 </td> 2194 </tr> 2195 <tr> 2196 <td>Duration:</td> 2197 <td> 2198 <tr-v-ui-scalar-span id="duration"> 2199 </tr-v-ui-scalar-span> 2200 </td> 2201 </tr> 2202 <tr> 2203 <td>Active slices:</td><td id="running-thread"></td> 2204 </tr> 2205 <tr> 2206 <td>Args:</td> 2207 <td> 2208 <tr-ui-a-generic-object-view id="args"> 2209 </tr-ui-a-generic-object-view> 2210 </td> 2211 </tr> 2212 </tbody></table> 2213 </template> 2214</dom-module><dom-module id="tr-ui-a-single-flow-event-sub-view"> 2215 <template> 2216 <style> 2217 :host { 2218 display: block; 2219 } 2220 </style> 2221 <tr-ui-a-single-event-sub-view id="singleEventSubView"> 2222 </tr-ui-a-single-event-sub-view> 2223 </template> 2224</dom-module><dom-module id="tr-ui-a-single-frame-sub-view"> 2225 <template> 2226 <style> 2227 :host { 2228 display: flex; 2229 flex-direction: column; 2230 } 2231 #asv { 2232 flex: 0 0 auto; 2233 align-self: stretch; 2234 } 2235 </style> 2236 <tr-ui-a-alert-sub-view id="asv"> 2237 </tr-ui-a-alert-sub-view> 2238 </template> 2239</dom-module><dom-module id="tr-ui-a-single-instant-event-sub-view"> 2240 <template> 2241 <style> 2242 :host { 2243 display: block; 2244 } 2245 </style> 2246 <div id="content"></div> 2247 </template> 2248</dom-module><dom-module id="tr-ui-a-single-object-instance-sub-view"> 2249 <template> 2250 <style> 2251 :host { 2252 display: block; 2253 } 2254 2255 #snapshots > * { 2256 display: block; 2257 } 2258 2259 :host { 2260 overflow: auto; 2261 display: block; 2262 } 2263 2264 * { 2265 -webkit-user-select: text; 2266 } 2267 2268 .title { 2269 border-bottom: 1px solid rgb(128, 128, 128); 2270 font-size: 110%; 2271 font-weight: bold; 2272 } 2273 2274 td, th { 2275 font-family: monospace; 2276 vertical-align: top; 2277 } 2278 </style> 2279 <div id="content"></div> 2280 </template> 2281</dom-module><dom-module id="tr-ui-a-single-object-snapshot-sub-view"> 2282 <template> 2283 <style> 2284 #args { 2285 white-space: pre; 2286 } 2287 2288 :host { 2289 overflow: auto; 2290 display: flex; 2291 } 2292 2293 ::content * { 2294 -webkit-user-select: text; 2295 } 2296 2297 ::content .title { 2298 border-bottom: 1px solid rgb(128, 128, 128); 2299 font-size: 110%; 2300 font-weight: bold; 2301 } 2302 2303 ::content td, th { 2304 font-family: monospace; 2305 vertical-align: top; 2306 } 2307 </style> 2308 <content></content> 2309 </template> 2310</dom-module><dom-module id="tr-ui-a-power-sample-table"> 2311 <template> 2312 <style> 2313 :host { 2314 display: flex; 2315 font-size: 12px; 2316 } 2317 </style> 2318 <tr-ui-b-table id="table"></tr-ui-b-table> 2319 </template> 2320</dom-module><dom-module id="tr-ui-a-single-power-sample-sub-view"> 2321 <template> 2322 <style> 2323 :host { display: block; } 2324 </style> 2325 <tr-ui-a-power-sample-table id="samplesTable"> 2326 </tr-ui-a-power-sample-table> 2327 </template> 2328</dom-module><dom-module id="tr-ui-a-single-sample-sub-view"> 2329 <template> 2330 <style> 2331 :host { 2332 display: flex; 2333 font-size: 12px; 2334 } 2335 </style> 2336 <tr-ui-b-table id="content"></tr-ui-b-table> 2337 </template> 2338</dom-module><dom-module id="tr-ui-a-single-thread-slice-sub-view"> 2339 <template> 2340 <style> 2341 :host { 2342 display: flex; 2343 flex-direction: row; 2344 } 2345 #events { 2346 display: flex; 2347 flex-direction: column; 2348 } 2349 2350 </style> 2351 <tr-ui-a-single-event-sub-view id="content"></tr-ui-a-single-event-sub-view> 2352 <div id="events"> 2353 <tr-ui-a-related-events id="relatedEvents"> 2354 </tr-ui-a-related-events> 2355 </div> 2356 </template> 2357</dom-module><dom-module id="tr-ui-a-single-thread-time-slice-sub-view"> 2358 <template> 2359 <style> 2360 table { 2361 border-collapse: collapse; 2362 border-width: 0; 2363 margin-bottom: 25px; 2364 width: 100%; 2365 } 2366 2367 table tr > td:first-child { 2368 padding-left: 2px; 2369 } 2370 2371 table tr > td { 2372 padding: 2px 4px 2px 4px; 2373 vertical-align: text-top; 2374 width: 150px; 2375 } 2376 2377 table td td { 2378 padding: 0 0 0 0; 2379 width: auto; 2380 } 2381 tr { 2382 vertical-align: top; 2383 } 2384 2385 tr:nth-child(2n+0) { 2386 background-color: #e2e2e2; 2387 } 2388 </style> 2389 <table> 2390 <tbody><tr> 2391 <td>Running process:</td><td id="process-name"></td> 2392 </tr> 2393 <tr> 2394 <td>Running thread:</td><td id="thread-name"></td> 2395 </tr> 2396 <tr> 2397 <td>State:</td> 2398 <td><b><span id="state"></span></b></td> 2399 </tr> 2400 <tr> 2401 <td>Start:</td> 2402 <td> 2403 <tr-v-ui-scalar-span id="start"> 2404 </tr-v-ui-scalar-span> 2405 </td> 2406 </tr> 2407 <tr> 2408 <td>Duration:</td> 2409 <td> 2410 <tr-v-ui-scalar-span id="duration"> 2411 </tr-v-ui-scalar-span> 2412 </td> 2413 </tr> 2414 2415 <tr> 2416 <td>On CPU:</td><td id="on-cpu"></td> 2417 </tr> 2418 2419 <tr> 2420 <td>Running instead:</td><td id="running-instead"></td> 2421 </tr> 2422 2423 <tr> 2424 <td>Args:</td><td id="args"></td> 2425 </tr> 2426 </tbody></table> 2427 </template> 2428</dom-module><dom-module id="tr-ui-a-single-user-expectation-sub-view"> 2429 <template> 2430 <style> 2431 :host { 2432 display: flex; 2433 flex-direction: row; 2434 } 2435 #events { 2436 display: flex; 2437 flex-direction: column; 2438 } 2439 </style> 2440 <tr-ui-a-single-event-sub-view id="realView"></tr-ui-a-single-event-sub-view> 2441 <div id="events"> 2442 <tr-ui-a-user-expectation-related-samples-table id="relatedSamples"></tr-ui-a-user-expectation-related-samples-table> 2443 </div> 2444 </template> 2445</dom-module><dom-module id="tr-ui-a-analysis-view"> 2446 <template> 2447 <style> 2448 :host { 2449 background-color: white; 2450 display: flex; 2451 flex-direction: column; 2452 height: 275px; 2453 overflow: auto; 2454 } 2455 2456 :host(.tall-mode) { 2457 height: 525px; 2458 } 2459 </style> 2460 <content></content> 2461 </template> 2462</dom-module><dom-module id="tr-ui-b-dropdown"> 2463 <template> 2464 <style> 2465 :host { 2466 position: relative; 2467 display: flex; 2468 } 2469 #outer { 2470 display: flex; 2471 flex: 0 0 auto; 2472 padding: 1px 4px 1px 4px; 2473 -webkit-user-select: none; 2474 cursor: default; 2475 } 2476 2477 #state { 2478 display: flex; 2479 flex: 0 0 auto; 2480 margin-left: 2px; 2481 margin-right: 0px; 2482 flex: 0 0 auto; 2483 } 2484 2485 #icon { 2486 display: flex; 2487 flex: 0 0 auto; 2488 flex: 0 0 auto; 2489 } 2490 dialog { 2491 position: absolute; 2492 padding: 0; 2493 border: 0; 2494 margin: 0; 2495 } 2496 dialog::backdrop { 2497 background: rgba(0,0,0,.05); 2498 } 2499 2500 #dialog-frame { 2501 background-color: #fff; 2502 display: flex; 2503 flex-direction: column; 2504 flex: 1 1 auto; 2505 padding: 6px; 2506 border: 1px solid black; 2507 -webkit-user-select: none; 2508 cursor: default; 2509 } 2510 </style> 2511 <tr-ui-b-toolbar-button id="outer" on-click="onOuterClick_" on-keydown="onOuterKeyDown_"> 2512 <div id="icon">⚙</div> 2513 <div id="state">▾</div> 2514 </tr-ui-b-toolbar-button> 2515 <dialog id="dialog" on-cancel="onDialogCancel_" on-click="onDialogClick_"> 2516 <div id="dialog-frame"> 2517 <content></content> 2518 </div> 2519 </dialog> 2520 </template> 2521</dom-module><dom-module id="tr-ui-b-info-bar-group"> 2522 <template> 2523 <style> 2524 :host { 2525 flex: 0 0 auto; 2526 flex-direction: column; 2527 display: flex; 2528 } 2529 </style> 2530 <div id="messages"></div> 2531 </template> 2532</dom-module><dom-module id="tr-ui-b-toolbar-button"> 2533 <template> 2534 <style> 2535 :host { 2536 display: flex; 2537 background-color: #f8f8f8; 2538 border: 1px solid rgba(0, 0, 0, 0.5); 2539 color: rgba(0,0,0,0.8); 2540 justify-content: center; 2541 align-self: stretch; 2542 min-width: 23px; 2543 } 2544 2545 :host(:hover) { 2546 background-color: rgba(255, 255, 255, 1.0); 2547 border-color: rgba(0, 0, 0, 0.8); 2548 box-shadow: 0 0 .05em rgba(0, 0, 0, 0.4); 2549 color: rgba(0, 0, 0, 1); 2550 } 2551 2552 #aligner { 2553 display: flex; 2554 flex: 0 0 auto; 2555 align-self: center; 2556 } 2557 </style> 2558 <div id="aligner"> 2559 <content></content> 2560 </div> 2561 </template> 2562</dom-module><style> 2563.drawing-container{-webkit-box-flex:1;display:inline;overflow:auto;overflow-x:hidden;position:relative}.drawing-container-canvas{-webkit-box-flex:1;display:block;pointer-events:none;position:absolute;top:0} 2564</style><style> 2565.letter-dot-track { 2566 height: 18px; 2567} 2568</style><style> 2569.chart-track { 2570 height: 30px; 2571 position: relative; 2572} 2573</style><style> 2574.cpu-usage-track { 2575 height: 90px; 2576} 2577</style><style> 2578.power-series-track { 2579 height: 90px; 2580} 2581</style><style> 2582.spacing-track{height:4px} 2583</style><style> 2584.rect-track{height:18px} 2585</style><style> 2586.thread-track{-webkit-box-orient:vertical;display:-webkit-box;position:relative} 2587</style><style> 2588.process-track-header{-webkit-flex:0 0 auto;background-image:-webkit-gradient(linear,0 0,100% 0,from(#E5E5E5),to(#D1D1D1));border-bottom:1px solid #8e8e8e;border-top:1px solid white;font-size:75%}.process-track-name:before{content:'\25B8';padding:0 5px}.process-track-base.expanded .process-track-name:before{content:'\25BE'} 2589</style><style> 2590.model-track { 2591 -webkit-box-flex: 1; 2592} 2593</style><style> 2594.x-axis-track { 2595 height: 12px; 2596} 2597 2598.x-axis-track.tall-mode { 2599 height: 30px; 2600} 2601</style><dom-module id="tr-ui-timeline-track-view"> 2602 <template> 2603 <style> 2604 :host { 2605 -webkit-box-orient: vertical; 2606 display: -webkit-box; 2607 position: relative; 2608 } 2609 2610 :host ::content * { 2611 -webkit-user-select: none; 2612 cursor: default; 2613 } 2614 2615 #drag_box { 2616 background-color: rgba(0, 0, 255, 0.25); 2617 border: 1px solid rgb(0, 0, 96); 2618 font-size: 75%; 2619 position: fixed; 2620 } 2621 2622 #hint_text { 2623 position: absolute; 2624 bottom: 6px; 2625 right: 6px; 2626 font-size: 8pt; 2627 } 2628 </style> 2629 <content></content> 2630 2631 <div id="drag_box"></div> 2632 <div id="hint_text"></div> 2633 2634 <tv-ui-b-hotkey-controller id="hotkey_controller"> 2635 </tv-ui-b-hotkey-controller> 2636 </template> 2637</dom-module><dom-module id="tr-ui-find-control"> 2638 <template> 2639 <style> 2640 :host { 2641 -webkit-user-select: none; 2642 display: -webkit-flex; 2643 position: relative; 2644 } 2645 input { 2646 -webkit-user-select: auto; 2647 background-color: #f8f8f8; 2648 border: 1px solid rgba(0, 0, 0, 0.5); 2649 box-sizing: border-box; 2650 margin: 0; 2651 padding: 0; 2652 width: 170px; 2653 } 2654 input:focus { 2655 background-color: white; 2656 } 2657 tr-ui-b-toolbar-button { 2658 border-left: none; 2659 margin: 0; 2660 } 2661 #hitCount { 2662 left: 0; 2663 opacity: 0.25; 2664 pointer-events: none; 2665 position: absolute; 2666 text-align: right; 2667 top: 2px; 2668 width: 167px; 2669 z-index: 1; 2670 } 2671 #spinner { 2672 visibility: hidden; 2673 width: 8px; 2674 height: 8px; 2675 left: 154px; 2676 pointer-events: none; 2677 position: absolute; 2678 top: 4px; 2679 z-index: 1; 2680 2681 border: 2px solid transparent; 2682 border-bottom: 2px solid rgba(0, 0, 0, 0.5); 2683 border-right: 2px solid rgba(0, 0, 0, 0.5); 2684 border-radius: 50%; 2685 } 2686 @keyframes spin { 100% { transform: rotate(360deg); } } 2687 </style> 2688 2689 <input id="filter" on-blur="filterBlur" on-focus="filterFocus" on-input="filterTextChanged" on-keydown="filterKeyDown" on-mouseup="filterMouseUp" type="text"/> 2690 <div id="spinner"></div> 2691 <tr-ui-b-toolbar-button on-click="findPrevious"> 2692 ← 2693 </tr-ui-b-toolbar-button> 2694 <tr-ui-b-toolbar-button on-click="findNext"> 2695 → 2696 </tr-ui-b-toolbar-button> 2697 <div id="hitCount">0 of 0</div> 2698 </template> 2699</dom-module><dom-module id="tr-ui-scripting-control"> 2700 <template> 2701 <style> 2702 :host { 2703 flex: 1 1 auto; 2704 } 2705 .root { 2706 font-family: monospace; 2707 cursor: text; 2708 2709 padding: 2px; 2710 margin: 2px; 2711 border: 1px solid rgba(0, 0, 0, 0.5); 2712 background: white; 2713 2714 height: 100px; 2715 overflow-y: auto; 2716 2717 transition-property: opacity, height, padding, margin; 2718 transition-duration: .2s; 2719 transition-timing-function: ease-out; 2720 } 2721 .hidden { 2722 margin-top: 0px; 2723 margin-bottom: 0px; 2724 padding-top: 0px; 2725 padding-bottom: 0px; 2726 height: 0px; 2727 opacity: 0; 2728 } 2729 .focused { 2730 outline: auto 5px -webkit-focus-ring-color; 2731 } 2732 #history { 2733 -webkit-user-select: text; 2734 color: #777; 2735 } 2736 #promptContainer { 2737 display: flex; 2738 } 2739 #promptMark { 2740 width: 1em; 2741 color: #468; 2742 } 2743 #prompt { 2744 flex: 1; 2745 width: 100%; 2746 border: none !important; 2747 background-color: inherit !important; 2748 font: inherit !important; 2749 text-overflow: clip !important; 2750 text-decoration: none !important; 2751 } 2752 #prompt:focus { 2753 outline: none; 2754 } 2755 </style> 2756 2757 <div class="root hidden" id="root" on-focus="onConsoleFocus" tabindex="0"> 2758 <div id="history"></div> 2759 <div id="promptContainer"> 2760 <span id="promptMark">></span> 2761 <input id="prompt" on-blur="onConsoleBlur" on-keydown="promptKeyDown" on-keypress="promptKeyPress" type="text"/> 2762 </div> 2763 </div> 2764 </template> 2765</dom-module><dom-module id="tr-ui-side-panel-container"> 2766 <template> 2767 <style> 2768 :host { 2769 align-items: stretch; 2770 display: -webkit-flex; 2771 background-color: white; 2772 } 2773 2774 :host([expanded]) > #side_panel_drag_handle, 2775 :host([expanded]) > active-panel-container { 2776 -webkit-flex: 1 1 auto; 2777 border-left: 1px solid black; 2778 display: -webkit-flex; 2779 } 2780 2781 :host(:not([expanded])) > #side_panel_drag_handle, 2782 :host(:not([expanded])) > active-panel-container { 2783 display: none; 2784 } 2785 2786 active-panel-container { 2787 display: flex; 2788 } 2789 2790 tab-strip { 2791 -webkit-flex: 0 0 auto; 2792 -webkit-flex-direction: column; 2793 -webkit-user-select: none; 2794 background-color: rgb(236, 236, 236); 2795 border-left: 1px solid black; 2796 cursor: default; 2797 display: -webkit-flex; 2798 min-width: 18px; /* workaround for flexbox and writing-mode mixing bug */ 2799 padding: 10px 0 10px 0; 2800 font-size: 12px; 2801 } 2802 2803 tab-strip > tab-strip-label { 2804 -webkit-writing-mode: vertical-rl; 2805 display: inline; 2806 margin-right: 1px; 2807 min-height: 20px; 2808 padding: 15px 3px 15px 1px; 2809 } 2810 2811 tab-strip > 2812 tab-strip-label:not([enabled]) { 2813 color: rgb(128, 128, 128); 2814 } 2815 2816 tab-strip > tab-strip-label[selected] { 2817 background-color: white; 2818 border: 1px solid rgb(163, 163, 163); 2819 border-left: none; 2820 padding: 14px 2px 14px 1px; 2821 } 2822 2823 #active_panel_container { 2824 overflow: auto; 2825 } 2826 </style> 2827 2828 <tr-ui-b-drag-handle id="side_panel_drag_handle"></tr-ui-b-drag-handle> 2829 <active-panel-container id="active_panel_container"> 2830 </active-panel-container> 2831 <tab-strip id="tab_strip"></tab-strip> 2832 </template> 2833</dom-module><dom-module id="tr-ui-timeline-view-help-overlay"> 2834 <template> 2835 <style> 2836 :host { 2837 -webkit-flex: 1 1 auto; 2838 -webkit-flex-direction: row; 2839 display: -webkit-flex; 2840 width: 700px; 2841 } 2842 .column { 2843 width: 50%; 2844 } 2845 h2 { 2846 font-size: 1.2em; 2847 margin: 0; 2848 margin-top: 5px; 2849 text-align: center; 2850 } 2851 h3 { 2852 margin: 0; 2853 margin-left: 126px; 2854 margin-top: 10px; 2855 } 2856 .pair { 2857 -webkit-flex: 1 1 auto; 2858 -webkit-flex-direction: row; 2859 display: -webkit-flex; 2860 } 2861 .command { 2862 font-family: monospace; 2863 margin-right: 5px; 2864 text-align: right; 2865 width: 150px; 2866 } 2867 .action { 2868 font-size: 0.9em; 2869 text-align: left; 2870 width: 200px; 2871 } 2872 tr-ui-b-mouse-mode-icon { 2873 border: 1px solid #888; 2874 border-radius: 3px; 2875 box-shadow: inset 0 0 2px rgba(0,0,0,0.3); 2876 display: inline-block; 2877 margin-right: 1px; 2878 position: relative; 2879 top: 4px; 2880 } 2881 .mouse-mode-icon.pan-mode { 2882 background-position: -1px -11px; 2883 } 2884 .mouse-mode-icon.select-mode { 2885 background-position: -1px -41px; 2886 } 2887 .mouse-mode-icon.zoom-mode { 2888 background-position: -1px -71px; 2889 } 2890 .mouse-mode-icon.timing-mode { 2891 background-position: -1px -101px; 2892 } 2893 </style> 2894 <div class="column left"> 2895 <h2>Navigation</h2> 2896 <div class="pair"> 2897 <div class="command">w/s</div> 2898 <div class="action">Zoom in/out (+shift: faster)</div> 2899 </div> 2900 2901 <div class="pair"> 2902 <div class="command">a/d</div> 2903 <div class="action">Pan left/right (+shift: faster)</div> 2904 </div> 2905 2906 <div class="pair"> 2907 <div class="command">→/shift-TAB</div> 2908 <div class="action">Select previous event</div> 2909 </div> 2910 2911 <div class="pair"> 2912 <div class="command">←/TAB</div> 2913 <div class="action">Select next event</div> 2914 </div> 2915 2916 <h2>Mouse Controls</h2> 2917 <div class="pair"> 2918 <div class="command">click</div> 2919 <div class="action">Select event</div> 2920 </div> 2921 <div class="pair"> 2922 <div class="command">alt-mousewheel</div> 2923 <div class="action">Zoom in/out</div> 2924 </div> 2925 2926 <h3> 2927 <tr-ui-b-mouse-mode-icon mode-name="SELECTION"></tr-ui-b-mouse-mode-icon> 2928 Select mode 2929 </h3> 2930 <div class="pair"> 2931 <div class="command">drag</div> 2932 <div class="action">Box select</div> 2933 </div> 2934 2935 <div class="pair"> 2936 <div class="command"><span class="mod"></span>-click/drag</div> 2937 <div class="action">Add events to the current selection</div> 2938 </div> 2939 2940 <div class="pair"> 2941 <div class="command">double click</div> 2942 <div class="action">Select all events with same title</div> 2943 </div> 2944 2945 <h3> 2946 <tr-ui-b-mouse-mode-icon mode-name="PANSCAN"></tr-ui-b-mouse-mode-icon> 2947 Pan mode 2948 </h3> 2949 <div class="pair"> 2950 <div class="command">drag</div> 2951 <div class="action">Pan the view</div> 2952 </div> 2953 2954 <h3> 2955 <tr-ui-b-mouse-mode-icon mode-name="ZOOM"></tr-ui-b-mouse-mode-icon> 2956 Zoom mode 2957 </h3> 2958 <div class="pair"> 2959 <div class="command">drag</div> 2960 <div class="action">Zoom in/out by dragging up/down</div> 2961 </div> 2962 2963 <h3> 2964 <tr-ui-b-mouse-mode-icon mode-name="TIMING"></tr-ui-b-mouse-mode-icon> 2965 Timing mode 2966 </h3> 2967 <div class="pair"> 2968 <div class="command">drag</div> 2969 <div class="action">Create or move markers</div> 2970 </div> 2971 2972 <div class="pair"> 2973 <div class="command">double click</div> 2974 <div class="action">Set marker range to slice</div> 2975 </div> 2976 </div> 2977 2978 <div class="column right"> 2979 <h2>General</h2> 2980 <div class="pair"> 2981 <div class="command">1-4</div> 2982 <div class="action">Switch mouse mode</div> 2983 </div> 2984 2985 <div class="pair"> 2986 <div class="command">shift</div> 2987 <div class="action">Hold for temporary select</div> 2988 </div> 2989 2990 <div class="pair"> 2991 <div class="command">space</div> 2992 <div class="action">Hold for temporary pan</div> 2993 </div> 2994 2995 <div class="pair"> 2996 <div class="command">/</div> 2997 <div class="action">Search</div> 2998 </div> 2999 3000 <div class="pair"> 3001 <div class="command">enter</div> 3002 <div class="action">Step through search results</div> 3003 </div> 3004 3005 <div class="pair"> 3006 <div class="command">f</div> 3007 <div class="action">Zoom into selection</div> 3008 </div> 3009 3010 <div class="pair"> 3011 <div class="command">z/0</div> 3012 <div class="action">Reset zoom and pan</div> 3013 </div> 3014 3015 <div class="pair"> 3016 <div class="command">g/G</div> 3017 <div class="action">Toggle 60hz grid</div> 3018 </div> 3019 3020 <div class="pair"> 3021 <div class="command">v</div> 3022 <div class="action">Highlight VSync</div> 3023 </div> 3024 3025 <div class="pair"> 3026 <div class="command">h</div> 3027 <div class="action">Toggle low/high details</div> 3028 </div> 3029 3030 <div class="pair"> 3031 <div class="command">m</div> 3032 <div class="action">Mark current selection</div> 3033 </div> 3034 3035 <div class="pair"> 3036 <div class="command">p</div> 3037 <div class="action">Select power samples over current selection interval</div> 3038 </div> 3039 3040 <div class="pair"> 3041 <div class="command">`</div> 3042 <div class="action">Show or hide the scripting console</div> 3043 </div> 3044 3045 <div class="pair"> 3046 <div class="command">?</div> 3047 <div class="action">Show help</div> 3048 </div> 3049 </div> 3050 </template> 3051</dom-module><dom-module id="tr-ui-timeline-view-metadata-overlay"> 3052 <template> 3053 <style> 3054 :host { 3055 width: 700px; 3056 3057 overflow: auto; 3058 } 3059 </style> 3060 <tr-ui-b-table id="table"></tr-ui-b-table> 3061 </template> 3062</dom-module><dom-module id="tr-ui-timeline-view"> 3063 <template> 3064 <style> 3065 :host { 3066 flex-direction: column; 3067 cursor: default; 3068 display: flex; 3069 font-family: sans-serif; 3070 padding: 0; 3071 } 3072 3073 #control { 3074 background-color: #e6e6e6; 3075 background-image: -webkit-gradient(linear, 0 0, 0 100%, 3076 from(#E5E5E5), to(#D1D1D1)); 3077 flex: 0 0 auto; 3078 overflow-x: auto; 3079 } 3080 3081 #control::-webkit-scrollbar { height: 0px; } 3082 3083 #control > #bar { 3084 font-size: 12px; 3085 display: flex; 3086 flex-direction: row; 3087 margin: 1px; 3088 } 3089 3090 #control > #bar > #title { 3091 display: flex; 3092 align-items: center; 3093 padding-left: 8px; 3094 padding-right: 8px; 3095 flex: 1 1 auto; 3096 } 3097 3098 #control > #bar > #left_controls, 3099 #control > #bar > #right_controls { 3100 display: flex; 3101 flex-direction: row; 3102 align-items: stretch; 3103 } 3104 3105 #control > #bar > #left_controls > * { margin-right: 2px; } 3106 #control > #bar > #right_controls > * { margin-left: 2px; } 3107 #control > #collapsing_controls { display: flex; } 3108 3109 middle-container { 3110 flex: 1 1 auto; 3111 flex-direction: row; 3112 border-bottom: 1px solid #8e8e8e; 3113 display: flex; 3114 min-height: 0; 3115 } 3116 3117 middle-container ::content track-view-container { 3118 flex: 1 1 auto; 3119 display: flex; 3120 min-height: 0; 3121 min-width: 0; 3122 overflow-x: hidden; 3123 } 3124 3125 middle-container ::content track-view-container > * { flex: 1 1 auto; } 3126 middle-container > x-timeline-view-side-panel-container { flex: 0 0 auto; } 3127 tr-ui-b-drag-handle { flex: 0 0 auto; } 3128 tr-ui-a-analysis-view { flex: 0 0 auto; } 3129 </style> 3130 3131 <tv-ui-b-hotkey-controller id="hkc"></tv-ui-b-hotkey-controller> 3132 <div id="control"> 3133 <div id="bar"> 3134 <div id="left_controls"></div> 3135 <div id="title">^_^</div> 3136 <div id="right_controls"> 3137 <tr-ui-b-toolbar-button id="view_metadata_button"> 3138 M 3139 </tr-ui-b-toolbar-button> 3140 <tr-ui-b-dropdown id="view_options_dropdown"></tr-ui-b-dropdown> 3141 <tr-ui-find-control id="view_find_control"></tr-ui-find-control> 3142 <tr-ui-b-toolbar-button id="view_console_button"> 3143 » 3144 </tr-ui-b-toolbar-button> 3145 <tr-ui-b-toolbar-button id="view_help_button"> 3146 ? 3147 </tr-ui-b-toolbar-button> 3148 </div> 3149 </div> 3150 <div id="collapsing_controls"></div> 3151 <tr-ui-b-info-bar-group id="import-warnings"> 3152 </tr-ui-b-info-bar-group> 3153 </div> 3154 <middle-container> 3155 <content></content> 3156 3157 <tr-ui-side-panel-container id="side_panel_container"> 3158 </tr-ui-side-panel-container> 3159 </middle-container> 3160 <tr-ui-b-drag-handle id="drag_handle"></tr-ui-b-drag-handle> 3161 <tr-ui-a-analysis-view id="analysis"></tr-ui-a-analysis-view> 3162 3163 <tr-v-ui-preferred-display-unit id="display_unit"> 3164 </tr-v-ui-preferred-display-unit> 3165 </template> 3166</dom-module><dom-module id="tr-ui-b-grouping-table"> 3167 <template> 3168 <style> 3169 :host { 3170 display: flex; 3171 } 3172 #table { 3173 flex: 1 1 auto; 3174 font-size: 12px; 3175 } 3176 </style> 3177 <tr-ui-b-table id="table"></tr-ui-b-table> 3178 </template> 3179</dom-module><dom-module id="tr-ui-b-grouping-table-groupby-picker"> 3180 <template> 3181 <style> 3182 #container { 3183 display: flex; 3184 } 3185 #container *:not(:first-child) { 3186 padding-left: 3px; 3187 border-left: 1px solid black; 3188 margin-left: 3px; 3189 } 3190 </style> 3191 3192 <div id="container"></div> 3193 </template> 3194</dom-module><dom-module id="tr-ui-b-grouping-table-groupby-picker-group"> 3195 <template> 3196 <style> 3197 :host { 3198 white-space: nowrap; 3199 } 3200 #left, #right { 3201 user-select: none; 3202 cursor: pointer; 3203 } 3204 </style> 3205 3206 <span id="left" on-click="moveLeft_">◀</span> 3207 <input id="enabled" on-change="onEnableChanged_" type="checkbox"/> 3208 <label for="enabled" id="label"></label> 3209 <span id="right" on-click="moveRight_">▶</span> 3210 </template> 3211</dom-module><dom-module id="tr-ui-sp-file-size-stats-side-panel"> 3212 <template> 3213 <style> 3214 :host { 3215 display: flex; 3216 flex-direction: column; 3217 } 3218 toolbar { 3219 align-items: center; 3220 background-color: rgb(236, 236, 236); 3221 border-bottom: 1px solid #8e8e8e; 3222 display: flex; 3223 flex-direction: row; 3224 flex-direction: row; 3225 flex: 0 0 auto; 3226 font-size: 12px; 3227 padding: 0 10px 0 10px; 3228 } 3229 table-container { 3230 display: flex; 3231 min-height: 0px; 3232 overflow-y: auto; 3233 } 3234 </style> 3235 3236 <toolbar> 3237 <span><b>Group by:</b></span> 3238 <tr-ui-b-grouping-table-groupby-picker id="picker"> 3239 </tr-ui-b-grouping-table-groupby-picker> 3240 </toolbar> 3241 <table-container> 3242 <tr-ui-b-grouping-table id="table"></tr-ui-b-grouping-table> 3243 </table-container> 3244 </template> 3245</dom-module><dom-module id="tr-v-ui-histogram-set-controls"> 3246 <template> 3247 <style> 3248 :host { 3249 display: block; 3250 } 3251 3252 #help, #feedback { 3253 display: none; 3254 margin-left: 20px; 3255 } 3256 3257 #search { 3258 max-width: 20em; 3259 margin-right: 20px; 3260 } 3261 3262 #controls { 3263 white-space: nowrap; 3264 } 3265 3266 #show_overview, #hide_overview { 3267 height: 1em; 3268 margin-right: 20px; 3269 } 3270 3271 #show_overview { 3272 stroke: blue; 3273 stroke-width: 16; 3274 } 3275 3276 #show_overview:hover { 3277 background: blue; 3278 stroke: white; 3279 } 3280 3281 #hide_overview { 3282 display: none; 3283 stroke-width: 18; 3284 stroke: black; 3285 } 3286 3287 #hide_overview:hover { 3288 background: black; 3289 stroke: white; 3290 } 3291 3292 #reference_display_label { 3293 display: none; 3294 margin-right: 20px; 3295 } 3296 3297 #statistic { 3298 display: none; 3299 margin-right: 20px; 3300 } 3301 3302 #download_csv { 3303 margin-right: 20px; 3304 } 3305 </style> 3306 3307 <div id="controls"> 3308 <input id="search" placeholder="Find Histogram name" value="{{searchQuery::keyup}}"/> 3309 3310 <svg id="show_overview" on-click="toggleOverviewLineCharts_" viewBox="0 0 128 128"> 3311 <line x1="19" x2="49" y1="109" y2="49"></line> 3312 <line x1="49" x2="79" y1="49" y2="79"></line> 3313 <line x1="79" x2="109" y1="79" y2="19"></line> 3314 </svg> 3315 <svg id="hide_overview" on-click="toggleOverviewLineCharts_" viewBox="0 0 128 128"> 3316 <line x1="28" x2="100" y1="28" y2="100"></line> 3317 <line x1="28" x2="100" y1="100" y2="28"></line> 3318 </svg> 3319 3320 <select id="reference_display_label" value="{{referenceDisplayLabel::change}}"> 3321 <option value="">Select a reference column</option> 3322 </select> 3323 3324 <select id="statistic" value="{{displayStatisticName::change}}"> 3325 </select> 3326 3327 <button id="download_csv" on-click="downloadCSV_">⬇ CSV</button> 3328 3329 <input checked="{{showAll::change}}" id="show_all" title="When unchecked, less important histograms are hidden." type="checkbox"/> 3330 <label for="show_all" title="When unchecked, less important histograms are hidden.">Show all</label> 3331 3332 <a id="help">Help</a> 3333 <a id="feedback">Feedback</a> 3334 </div> 3335 3336 <tr-ui-b-grouping-table-groupby-picker id="picker"> 3337 </tr-ui-b-grouping-table-groupby-picker> 3338 </template> 3339</dom-module><dom-module id="tr-v-ui-histogram-set-table-cell"> 3340 <template> 3341 <style> 3342 #histogram_container { 3343 display: flex; 3344 flex-direction: row; 3345 } 3346 3347 #missing, #empty, #unmergeable, #scalar { 3348 flex-grow: 1; 3349 } 3350 3351 #open_histogram, #close_histogram, #open_histogram svg, #close_histogram svg { 3352 height: 1em; 3353 } 3354 3355 #open_histogram svg { 3356 margin-left: 4px; 3357 stroke-width: 0; 3358 stroke: blue; 3359 fill: blue; 3360 } 3361 :host(:hover) #open_histogram svg { 3362 background: blue; 3363 stroke: white; 3364 fill: white; 3365 } 3366 3367 #scalar { 3368 flex-grow: 1; 3369 white-space: nowrap; 3370 } 3371 3372 #histogram { 3373 flex-grow: 1; 3374 } 3375 3376 #close_histogram svg line { 3377 stroke-width: 18; 3378 stroke: black; 3379 } 3380 #close_histogram:hover svg { 3381 background: black; 3382 } 3383 #close_histogram:hover svg line { 3384 stroke: white; 3385 } 3386 3387 #overview_container { 3388 display: none; 3389 } 3390 </style> 3391 3392 <div id="histogram_container"> 3393 <span id="missing">(missing)</span> 3394 <span id="empty">(empty)</span> 3395 <span id="unmergeable">(unmergeable)</span> 3396 3397 <tr-v-ui-scalar-span id="scalar" on-click="openHistogram_"></tr-v-ui-scalar-span> 3398 3399 <span id="open_histogram" on-click="openHistogram_"> 3400 <svg viewBox="0 0 128 128"> 3401 <rect height="16" width="32" x="16" y="24"></rect> 3402 <rect height="16" width="96" x="16" y="56"></rect> 3403 <rect height="16" width="64" x="16" y="88"></rect> 3404 </svg> 3405 </span> 3406 3407 <span id="histogram"></span> 3408 3409 <span id="close_histogram" on-click="closeHistogram_"> 3410 <svg viewBox="0 0 128 128"> 3411 <line x1="28" x2="100" y1="28" y2="100"></line> 3412 <line x1="28" x2="100" y1="100" y2="28"></line> 3413 </svg> 3414 </span> 3415 </div> 3416 3417 <div id="overview_container"> 3418 </div> 3419 </template> 3420</dom-module><dom-module id="tr-v-ui-histogram-set-table-name-cell"> 3421 <template> 3422 <style> 3423 #name_container { 3424 display: flex; 3425 } 3426 3427 #name { 3428 overflow: hidden; 3429 white-space: nowrap; 3430 text-overflow: ellipsis; 3431 } 3432 3433 #show_overview, #hide_overview, #show_overview svg, #hide_overview svg { 3434 height: 1em; 3435 margin-left: 5px; 3436 } 3437 3438 #show_overview svg { 3439 stroke: blue; 3440 stroke-width: 16; 3441 } 3442 3443 #show_overview:hover svg { 3444 background: blue; 3445 stroke: white; 3446 } 3447 3448 #hide_overview { 3449 display: none; 3450 } 3451 3452 #hide_overview svg { 3453 stroke-width: 18; 3454 stroke: black; 3455 } 3456 3457 #hide_overview:hover svg { 3458 background: black; 3459 stroke: white; 3460 } 3461 3462 #open_histograms, #close_histograms, #open_histograms svg, #close_histograms svg { 3463 height: 1em; 3464 } 3465 3466 #close_histograms { 3467 display: none; 3468 } 3469 3470 #open_histograms svg { 3471 margin-left: 4px; 3472 stroke-width: 0; 3473 stroke: blue; 3474 fill: blue; 3475 } 3476 #open_histograms:hover svg { 3477 background: blue; 3478 stroke: white; 3479 fill: white; 3480 } 3481 3482 #close_histograms line { 3483 stroke-width: 18; 3484 stroke: black; 3485 } 3486 #close_histograms:hover { 3487 background: black; 3488 } 3489 #close_histograms:hover line { 3490 stroke: white; 3491 } 3492 3493 #overview_container { 3494 display: none; 3495 } 3496 </style> 3497 3498 <div id="name_container"> 3499 <span id="name"></span> 3500 3501 <span id="show_overview" on-click="showOverview_"> 3502 <svg viewBox="0 0 128 128"> 3503 <line x1="19" x2="49" y1="109" y2="49"></line> 3504 <line x1="49" x2="79" y1="49" y2="79"></line> 3505 <line x1="79" x2="109" y1="79" y2="19"></line> 3506 </svg> 3507 </span> 3508 3509 <span id="hide_overview" on-click="hideOverview_"> 3510 <svg viewBox="0 0 128 128"> 3511 <line x1="28" x2="100" y1="28" y2="100"></line> 3512 <line x1="28" x2="100" y1="100" y2="28"></line> 3513 </svg> 3514 </span> 3515 3516 <span id="open_histograms" on-click="openHistograms_"> 3517 <svg viewBox="0 0 128 128"> 3518 <rect height="16" width="32" x="16" y="24"></rect> 3519 <rect height="16" width="96" x="16" y="56"></rect> 3520 <rect height="16" width="64" x="16" y="88"></rect> 3521 </svg> 3522 </span> 3523 3524 <span id="close_histograms" on-click="closeHistograms_"> 3525 <svg viewBox="0 0 128 128"> 3526 <line x1="28" x2="100" y1="28" y2="100"></line> 3527 <line x1="28" x2="100" y1="100" y2="28"></line> 3528 </svg> 3529 </span> 3530 </div> 3531 3532 <div id="overview_container"> 3533 </div> 3534 </template> 3535</dom-module><dom-module id="tr-v-ui-histogram-set-table"> 3536 <template> 3537 <style> 3538 :host { 3539 min-height: 0px; 3540 overflow: auto; 3541 } 3542 #table { 3543 margin-top: 5px; 3544 } 3545 </style> 3546 3547 <tr-ui-b-table id="table"> 3548 </tr-ui-b-table></template> 3549</dom-module><dom-module id="tr-v-ui-histogram-set-view"> 3550 <template> 3551 <style> 3552 :host { 3553 font-family: sans-serif; 3554 } 3555 3556 #zero { 3557 color: red; 3558 /* histogram-set-table is used by both metrics-side-panel and results2.html. 3559 * This font-size rule has no effect in results2.html, but improves 3560 * legibility in the metrics-side-panel, which sets font-size in order to 3561 * make this table denser. 3562 */ 3563 font-size: initial; 3564 } 3565 3566 #container { 3567 display: none; 3568 } 3569 </style> 3570 3571 <div id="zero">zero Histograms</div> 3572 3573 <div id="container"> 3574 <tr-v-ui-histogram-set-controls id="controls"> 3575 </tr-v-ui-histogram-set-controls> 3576 3577 <tr-v-ui-histogram-set-table id="table"></tr-v-ui-histogram-set-table> 3578 </div> 3579 </template> 3580</dom-module><dom-module id="tr-ui-sp-metrics-side-panel"> 3581 <template> 3582 <style> 3583 :host { 3584 display: flex; 3585 flex-direction: column; 3586 } 3587 div#error { 3588 color: red; 3589 } 3590 #results { 3591 font-size: 12px; 3592 } 3593 </style> 3594 3595 <top-left-controls id="top_left_controls"></top-left-controls> 3596 3597 <tr-v-ui-histogram-set-view id="results"></tr-v-ui-histogram-set-view> 3598 3599 <div id="error"></div> 3600 </template> 3601</dom-module><dom-module id="tr-ui-e-s-alerts-side-panel"> 3602 <template> 3603 <style> 3604 :host { 3605 display: block; 3606 width: 250px; 3607 } 3608 #content { 3609 flex-direction: column; 3610 display: flex; 3611 } 3612 tr-ui-b-table { 3613 font-size: 12px; 3614 } 3615 </style> 3616 3617 <div id="content"> 3618 <toolbar id="toolbar"></toolbar> 3619 <result-area id="result_area"></result-area> 3620 </div> 3621 </template> 3622</dom-module><script> 3623 3624// Copyright 2015 The Chromium Authors. All rights reserved. 3625// Use of this source code is governed by a BSD-style license that can be 3626// found in the LICENSE file. 3627 3628/* WARNING: This file is auto generated. 3629 * 3630 * Do not edit directly. 3631 */ 3632 3633'use strict';if(window.Polymer){throw new Error('Cannot proceed. Polymer already present.');} 3634window.Polymer={};window.Polymer.dom='shadow';(function(){function resolve(){document.body.removeAttribute('unresolved');} 3635if(window.WebComponents){addEventListener('WebComponentsReady',resolve);}else{if(document.readyState==='interactive'||document.readyState==='complete'){resolve();}else{addEventListener('DOMContentLoaded',resolve);}}}());window.Polymer={Settings:function(){var settings=window.Polymer||{};if(!settings.noUrlSettings){var parts=location.search.slice(1).split('&');for(var i=0,o;i<parts.length&&(o=parts[i]);i++){o=o.split('=');o[0]&&(settings[o[0]]=o[1]||true);}} 3636settings.wantShadow=settings.dom==='shadow';settings.hasShadow=Boolean(Element.prototype.createShadowRoot);settings.nativeShadow=settings.hasShadow&&!window.ShadowDOMPolyfill;settings.useShadow=settings.wantShadow&&settings.hasShadow;settings.hasNativeImports=Boolean('import'in document.createElement('link'));settings.useNativeImports=settings.hasNativeImports;settings.useNativeCustomElements=!window.CustomElements||window.CustomElements.useNative;settings.useNativeShadow=settings.useShadow&&settings.nativeShadow;settings.usePolyfillProto=!settings.useNativeCustomElements&&!Object.__proto__;settings.hasNativeCSSProperties=!navigator.userAgent.match('AppleWebKit/601')&&window.CSS&&CSS.supports&&CSS.supports('box-shadow','0 0 0 var(--foo)');settings.useNativeCSSProperties=settings.hasNativeCSSProperties&&settings.lazyRegister&&settings.useNativeCSSProperties;settings.isIE=navigator.userAgent.match('Trident');return settings;}()};(function(){var userPolymer=window.Polymer;window.Polymer=function(prototype){if(typeof prototype==='function'){prototype=prototype.prototype;} 3637if(!prototype){prototype={};} 3638prototype=desugar(prototype);var customCtor=prototype===prototype.constructor.prototype?prototype.constructor:null;var options={prototype:prototype};if(prototype.extends){options.extends=prototype.extends;} 3639Polymer.telemetry._registrate(prototype);var ctor=document.registerElement(prototype.is,options);return customCtor||ctor;};var desugar=function(prototype){var base=Polymer.Base;if(prototype.extends){base=Polymer.Base._getExtendedPrototype(prototype.extends);} 3640prototype=Polymer.Base.chainObject(prototype,base);prototype.registerCallback();return prototype;};if(userPolymer){for(var i in userPolymer){Polymer[i]=userPolymer[i];}} 3641Polymer.Class=function(prototype){if(!prototype.factoryImpl){prototype.factoryImpl=function(){};} 3642return desugar(prototype).constructor;};}());Polymer.telemetry={registrations:[],_regLog:function(prototype){console.log('['+prototype.is+']: registered');},_registrate:function(prototype){this.registrations.push(prototype);Polymer.log&&this._regLog(prototype);},dumpRegistrations:function(){this.registrations.forEach(this._regLog);}};Object.defineProperty(window,'currentImport',{enumerable:true,configurable:true,get:function(){return(document._currentScript||document.currentScript||{}).ownerDocument;}});Polymer.RenderStatus={_ready:false,_callbacks:[],whenReady:function(cb){if(this._ready){cb();}else{this._callbacks.push(cb);}},_makeReady:function(){this._ready=true;for(var i=0;i<this._callbacks.length;i++){this._callbacks[i]();} 3643this._callbacks=[];},_catchFirstRender:function(){requestAnimationFrame(function(){Polymer.RenderStatus._makeReady();});},_afterNextRenderQueue:[],_waitingNextRender:false,afterNextRender:function(element,fn,args){this._watchNextRender();this._afterNextRenderQueue.push([element,fn,args]);},hasRendered:function(){return this._ready;},_watchNextRender:function(){if(!this._waitingNextRender){this._waitingNextRender=true;var fn=function(){Polymer.RenderStatus._flushNextRender();};if(!this._ready){this.whenReady(fn);}else{requestAnimationFrame(fn);}}},_flushNextRender:function(){var self=this;setTimeout(function(){self._flushRenderCallbacks(self._afterNextRenderQueue);self._afterNextRenderQueue=[];self._waitingNextRender=false;});},_flushRenderCallbacks:function(callbacks){for(var i=0,h;i<callbacks.length;i++){h=callbacks[i];h[1].apply(h[0],h[2]||Polymer.nar);}}};if(window.HTMLImports){HTMLImports.whenReady(function(){Polymer.RenderStatus._catchFirstRender();});}else{Polymer.RenderStatus._catchFirstRender();} 3644Polymer.ImportStatus=Polymer.RenderStatus;Polymer.ImportStatus.whenLoaded=Polymer.ImportStatus.whenReady;(function(){'use strict';var settings=Polymer.Settings;Polymer.Base={__isPolymerInstance__:true,_addFeature:function(feature){this.mixin(this,feature);},registerCallback:function(){if(settings.lazyRegister==='max'){if(this.beforeRegister){this.beforeRegister();}}else{this._desugarBehaviors();for(var i=0,b;i<this.behaviors.length;i++){b=this.behaviors[i];if(b.beforeRegister){b.beforeRegister.call(this);}} 3645if(this.beforeRegister){this.beforeRegister();}} 3646this._registerFeatures();if(!settings.lazyRegister){this.ensureRegisterFinished();}},createdCallback:function(){if(settings.disableUpgradeEnabled){if(this.hasAttribute('disable-upgrade')){this._propertySetter=disableUpgradePropertySetter;this._configValue=null;this.__data__={};return;}else{this.__hasInitialized=true;}} 3647this.__initialize();},__initialize:function(){if(!this.__hasRegisterFinished){this._ensureRegisterFinished(this.__proto__);} 3648Polymer.telemetry.instanceCount++;this.root=this;for(var i=0,b;i<this.behaviors.length;i++){b=this.behaviors[i];if(b.created){b.created.call(this);}} 3649if(this.created){this.created();} 3650this._initFeatures();},ensureRegisterFinished:function(){this._ensureRegisterFinished(this);},_ensureRegisterFinished:function(proto){if(proto.__hasRegisterFinished!==proto.is||!proto.is){if(settings.lazyRegister==='max'){proto._desugarBehaviors();for(var i=0,b;i<proto.behaviors.length;i++){b=proto.behaviors[i];if(b.beforeRegister){b.beforeRegister.call(proto);}}} 3651proto.__hasRegisterFinished=proto.is;if(proto._finishRegisterFeatures){proto._finishRegisterFeatures();} 3652for(var j=0,pb;j<proto.behaviors.length;j++){pb=proto.behaviors[j];if(pb.registered){pb.registered.call(proto);}} 3653if(proto.registered){proto.registered();} 3654if(settings.usePolyfillProto&&proto!==this){proto.extend(this,proto);}}},attachedCallback:function(){var self=this;Polymer.RenderStatus.whenReady(function(){self.isAttached=true;for(var i=0,b;i<self.behaviors.length;i++){b=self.behaviors[i];if(b.attached){b.attached.call(self);}} 3655if(self.attached){self.attached();}});},detachedCallback:function(){var self=this;Polymer.RenderStatus.whenReady(function(){self.isAttached=false;for(var i=0,b;i<self.behaviors.length;i++){b=self.behaviors[i];if(b.detached){b.detached.call(self);}} 3656if(self.detached){self.detached();}});},attributeChangedCallback:function(name,oldValue,newValue){this._attributeChangedImpl(name);for(var i=0,b;i<this.behaviors.length;i++){b=this.behaviors[i];if(b.attributeChanged){b.attributeChanged.call(this,name,oldValue,newValue);}} 3657if(this.attributeChanged){this.attributeChanged(name,oldValue,newValue);}},_attributeChangedImpl:function(name){this._setAttributeToProperty(this,name);},extend:function(target,source){if(target&&source){var n$=Object.getOwnPropertyNames(source);for(var i=0,n;i<n$.length&&(n=n$[i]);i++){this.copyOwnProperty(n,source,target);}} 3658return target||source;},mixin:function(target,source){for(var i in source){target[i]=source[i];} 3659return target;},copyOwnProperty:function(name,source,target){var pd=Object.getOwnPropertyDescriptor(source,name);if(pd){Object.defineProperty(target,name,pd);}},_logger:function(level,args){if(args.length===1&&Array.isArray(args[0])){args=args[0];} 3660switch(level){case'log':case'warn':case'error':console[level].apply(console,args);break;}},_log:function(){var args=Array.prototype.slice.call(arguments,0);this._logger('log',args);},_warn:function(){var args=Array.prototype.slice.call(arguments,0);this._logger('warn',args);},_error:function(){var args=Array.prototype.slice.call(arguments,0);this._logger('error',args);},_logf:function(){return this._logPrefix.concat(this.is).concat(Array.prototype.slice.call(arguments,0));}};Polymer.Base._logPrefix=function(){var color=window.chrome&&!/edge/i.test(navigator.userAgent)||/firefox/i.test(navigator.userAgent);return color?['%c[%s::%s]:','font-weight: bold; background-color:#EEEE00;']:['[%s::%s]:'];}();Polymer.Base.chainObject=function(object,inherited){if(object&&inherited&&object!==inherited){if(!Object.__proto__){object=Polymer.Base.extend(Object.create(inherited),object);} 3661object.__proto__=inherited;} 3662return object;};Polymer.Base=Polymer.Base.chainObject(Polymer.Base,HTMLElement.prototype);Polymer.BaseDescriptors={};var disableUpgradePropertySetter;if(settings.disableUpgradeEnabled){disableUpgradePropertySetter=function(property,value){this.__data__[property]=value;};var origAttributeChangedCallback=Polymer.Base.attributeChangedCallback;Polymer.Base.attributeChangedCallback=function(name,oldValue,newValue){if(!this.__hasInitialized&&name==='disable-upgrade'){this.__hasInitialized=true;this._propertySetter=Polymer.Bind._modelApi._propertySetter;this._configValue=Polymer.Base._configValue;this.__initialize();} 3663origAttributeChangedCallback.call(this,name,oldValue,newValue);};} 3664if(window.CustomElements){Polymer.instanceof=CustomElements.instanceof;}else{Polymer.instanceof=function(obj,ctor){return obj instanceof ctor;};} 3665Polymer.isInstance=function(obj){return Boolean(obj&&obj.__isPolymerInstance__);};Polymer.telemetry.instanceCount=0;}());(function(){var modules={};var lcModules={};var findModule=function(id){return modules[id]||lcModules[id.toLowerCase()];};var DomModule=function(){return document.createElement('dom-module');};DomModule.prototype=Object.create(HTMLElement.prototype);Polymer.Base.mixin(DomModule.prototype,{createdCallback:function(){this.register();},register:function(id){id=id||this.id||this.getAttribute('name')||this.getAttribute('is');if(id){this.id=id;modules[id]=this;lcModules[id.toLowerCase()]=this;}},import:function(id,selector){if(id){var m=findModule(id);if(!m){forceDomModulesUpgrade();m=findModule(id);} 3666if(m&&selector){m=m.querySelector(selector);} 3667return m;}}});Object.defineProperty(DomModule.prototype,'constructor',{value:DomModule,configurable:true,writable:true});var cePolyfill=window.CustomElements&&!CustomElements.useNative;document.registerElement('dom-module',DomModule);function forceDomModulesUpgrade(){if(cePolyfill){var script=document._currentScript||document.currentScript;var doc=script&&script.ownerDocument||document;var modules=doc.querySelectorAll('dom-module');for(var i=modules.length-1,m;i>=0&&(m=modules[i]);i--){if(m.__upgraded__){return;}else{CustomElements.upgrade(m);}}}}}());Polymer.Base._addFeature({_prepIs:function(){if(!this.is){var module=(document._currentScript||document.currentScript).parentNode;if(module.localName==='dom-module'){var id=module.id||module.getAttribute('name')||module.getAttribute('is');this.is=id;}} 3668if(this.is){this.is=this.is.toLowerCase();}}});Polymer.Base._addFeature({behaviors:[],_desugarBehaviors:function(){if(this.behaviors.length){this.behaviors=this._desugarSomeBehaviors(this.behaviors);}},_desugarSomeBehaviors:function(behaviors){var behaviorSet=[];behaviors=this._flattenBehaviorsList(behaviors);for(var i=behaviors.length-1;i>=0;i--){var b=behaviors[i];if(behaviorSet.indexOf(b)===-1){this._mixinBehavior(b);behaviorSet.unshift(b);}} 3669return behaviorSet;},_flattenBehaviorsList:function(behaviors){var flat=[];for(var i=0;i<behaviors.length;i++){var b=behaviors[i];if(b instanceof Array){flat=flat.concat(this._flattenBehaviorsList(b));}else if(b){flat.push(b);}else{this._warn(this._logf('_flattenBehaviorsList','behavior is null, check for missing or 404 import'));}} 3670return flat;},_mixinBehavior:function(b){var n$=Object.getOwnPropertyNames(b);var useAssignment=b._noAccessors;for(var i=0,n;i<n$.length&&(n=n$[i]);i++){if(!Polymer.Base._behaviorProperties[n]&&!this.hasOwnProperty(n)){if(useAssignment){this[n]=b[n];}else{this.copyOwnProperty(n,b,this);}}}},_prepBehaviors:function(){this._prepFlattenedBehaviors(this.behaviors);},_prepFlattenedBehaviors:function(behaviors){for(var i=0,l=behaviors.length;i<l;i++){this._prepBehavior(behaviors[i]);} 3671this._prepBehavior(this);},_marshalBehaviors:function(){for(var i=0;i<this.behaviors.length;i++){this._marshalBehavior(this.behaviors[i]);} 3672this._marshalBehavior(this);}});Polymer.Base._behaviorProperties={hostAttributes:true,beforeRegister:true,registered:true,properties:true,observers:true,listeners:true,created:true,attached:true,detached:true,attributeChanged:true,ready:true,_noAccessors:true};Polymer.Base._addFeature({_getExtendedPrototype:function(tag){return this._getExtendedNativePrototype(tag);},_nativePrototypes:{},_getExtendedNativePrototype:function(tag){var p=this._nativePrototypes[tag];if(!p){p=Object.create(this.getNativePrototype(tag));var p$=Object.getOwnPropertyNames(Polymer.Base);for(var i=0,n;i<p$.length&&(n=p$[i]);i++){if(!Polymer.BaseDescriptors[n]){p[n]=Polymer.Base[n];}} 3673Object.defineProperties(p,Polymer.BaseDescriptors);this._nativePrototypes[tag]=p;} 3674return p;},getNativePrototype:function(tag){return Object.getPrototypeOf(document.createElement(tag));}});Polymer.Base._addFeature({_prepConstructor:function(){this._factoryArgs=this.extends?[this.extends,this.is]:[this.is];var ctor=function(){return this._factory(arguments);};if(this.hasOwnProperty('extends')){ctor.extends=this.extends;} 3675Object.defineProperty(this,'constructor',{value:ctor,writable:true,configurable:true});ctor.prototype=this;},_factory:function(args){var elt=document.createElement.apply(document,this._factoryArgs);if(this.factoryImpl){this.factoryImpl.apply(elt,args);} 3676return elt;}});Polymer.nob=Object.create(null);Polymer.Base._addFeature({getPropertyInfo:function(property){var info=this._getPropertyInfo(property,this.properties);if(!info){for(var i=0;i<this.behaviors.length;i++){info=this._getPropertyInfo(property,this.behaviors[i].properties);if(info){return info;}}} 3677return info||Polymer.nob;},_getPropertyInfo:function(property,properties){var p=properties&&properties[property];if(typeof p==='function'){p=properties[property]={type:p};} 3678if(p){p.defined=true;} 3679return p;},_prepPropertyInfo:function(){this._propertyInfo={};for(var i=0;i<this.behaviors.length;i++){this._addPropertyInfo(this._propertyInfo,this.behaviors[i].properties);} 3680this._addPropertyInfo(this._propertyInfo,this.properties);this._addPropertyInfo(this._propertyInfo,this._propertyEffects);},_addPropertyInfo:function(target,source){if(source){var t,s;for(var i in source){t=target[i];s=source[i];if(i[0]==='_'&&!s.readOnly){continue;} 3681if(!target[i]){target[i]={type:typeof s==='function'?s:s.type,readOnly:s.readOnly,attribute:Polymer.CaseMap.camelToDashCase(i)};}else{if(!t.type){t.type=s.type;} 3682if(!t.readOnly){t.readOnly=s.readOnly;}}}}}});(function(){var propertiesDesc={configurable:true,writable:true,enumerable:true,value:{}};Polymer.BaseDescriptors.properties=propertiesDesc;Object.defineProperty(Polymer.Base,'properties',propertiesDesc);}());Polymer.CaseMap={_caseMap:{},_rx:{dashToCamel:/-[a-z]/g,camelToDash:/([A-Z])/g},dashToCamelCase:function(dash){return this._caseMap[dash]||(this._caseMap[dash]=dash.indexOf('-')<0?dash:dash.replace(this._rx.dashToCamel,function(m){return m[1].toUpperCase();}));},camelToDashCase:function(camel){return this._caseMap[camel]||(this._caseMap[camel]=camel.replace(this._rx.camelToDash,'-$1').toLowerCase());}};Polymer.Base._addFeature({_addHostAttributes:function(attributes){if(!this._aggregatedAttributes){this._aggregatedAttributes={};} 3683if(attributes){this.mixin(this._aggregatedAttributes,attributes);}},_marshalHostAttributes:function(){if(this._aggregatedAttributes){this._applyAttributes(this,this._aggregatedAttributes);}},_applyAttributes:function(node,attr$){for(var n in attr$){if(!this.hasAttribute(n)&&n!=='class'){var v=attr$[n];this.serializeValueToAttribute(v,n,this);}}},_marshalAttributes:function(){this._takeAttributesToModel(this);},_takeAttributesToModel:function(model){if(this.hasAttributes()){for(var i in this._propertyInfo){var info=this._propertyInfo[i];if(this.hasAttribute(info.attribute)){this._setAttributeToProperty(model,info.attribute,i,info);}}}},_setAttributeToProperty:function(model,attribute,property,info){if(!this._serializing){property=property||Polymer.CaseMap.dashToCamelCase(attribute);info=info||this._propertyInfo&&this._propertyInfo[property];if(info&&!info.readOnly){var v=this.getAttribute(attribute);model[property]=this.deserialize(v,info.type);}}},_serializing:false,reflectPropertyToAttribute:function(property,attribute,value){this._serializing=true;value=value===undefined?this[property]:value;this.serializeValueToAttribute(value,attribute||Polymer.CaseMap.camelToDashCase(property));this._serializing=false;},serializeValueToAttribute:function(value,attribute,node){var str=this.serialize(value);node=node||this;if(str===undefined){node.removeAttribute(attribute);}else{node.setAttribute(attribute,str);}},deserialize:function(value,type){switch(type){case Number:value=Number(value);break;case Boolean:value=value!=null;break;case Object:try{value=JSON.parse(value);}catch(x){} 3684break;case Array:try{value=JSON.parse(value);}catch(x){value=null;console.warn('Polymer::Attributes: couldn`t decode Array as JSON');} 3685break;case Date:value=new Date(value);break;case String:default:break;} 3686return value;},serialize:function(value){switch(typeof value){case'boolean':return value?'':undefined;case'object':if(value instanceof Date){return value.toString();}else if(value){try{return JSON.stringify(value);}catch(x){return'';}} 3687default:return value!=null?value:undefined;}}});Polymer.version="1.8.1";Polymer.Base._addFeature({_registerFeatures:function(){this._prepIs();this._prepBehaviors();this._prepConstructor();this._prepPropertyInfo();},_prepBehavior:function(b){this._addHostAttributes(b.hostAttributes);},_marshalBehavior:function(b){},_initFeatures:function(){this._marshalHostAttributes();this._marshalBehaviors();}});Polymer.Base._addFeature({_prepTemplate:function(){if(this._template===undefined){this._template=Polymer.DomModule.import(this.is,'template');} 3688if(this._template&&this._template.hasAttribute('is')){this._warn(this._logf('_prepTemplate','top-level Polymer template '+'must not be a type-extension, found',this._template,'Move inside simple <template>.'));} 3689if(this._template&&!this._template.content&&window.HTMLTemplateElement&&HTMLTemplateElement.decorate){HTMLTemplateElement.decorate(this._template);}},_stampTemplate:function(){if(this._template){this.root=this.instanceTemplate(this._template);}},instanceTemplate:function(template){var dom=document.importNode(template._content||template.content,true);return dom;}});(function(){var baseAttachedCallback=Polymer.Base.attachedCallback;Polymer.Base._addFeature({_hostStack:[],ready:function(){},_registerHost:function(host){this.dataHost=host=host||Polymer.Base._hostStack[Polymer.Base._hostStack.length-1];if(host&&host._clients){host._clients.push(this);} 3690this._clients=null;this._clientsReadied=false;},_beginHosting:function(){Polymer.Base._hostStack.push(this);if(!this._clients){this._clients=[];}},_endHosting:function(){Polymer.Base._hostStack.pop();},_tryReady:function(){this._readied=false;if(this._canReady()){this._ready();}},_canReady:function(){return!this.dataHost||this.dataHost._clientsReadied;},_ready:function(){this._beforeClientsReady();if(this._template){this._setupRoot();this._readyClients();} 3691this._clientsReadied=true;this._clients=null;this._afterClientsReady();this._readySelf();},_readyClients:function(){this._beginDistribute();var c$=this._clients;if(c$){for(var i=0,l=c$.length,c;i<l&&(c=c$[i]);i++){c._ready();}} 3692this._finishDistribute();},_readySelf:function(){for(var i=0,b;i<this.behaviors.length;i++){b=this.behaviors[i];if(b.ready){b.ready.call(this);}} 3693if(this.ready){this.ready();} 3694this._readied=true;if(this._attachedPending){this._attachedPending=false;this.attachedCallback();}},_beforeClientsReady:function(){},_afterClientsReady:function(){},_beforeAttached:function(){},attachedCallback:function(){if(this._readied){this._beforeAttached();baseAttachedCallback.call(this);}else{this._attachedPending=true;}}});}());Polymer.ArraySplice=function(){function newSplice(index,removed,addedCount){return{index:index,removed:removed,addedCount:addedCount};} 3695var EDIT_LEAVE=0;var EDIT_UPDATE=1;var EDIT_ADD=2;var EDIT_DELETE=3;function ArraySplice(){} 3696ArraySplice.prototype={calcEditDistances:function(current,currentStart,currentEnd,old,oldStart,oldEnd){var rowCount=oldEnd-oldStart+1;var columnCount=currentEnd-currentStart+1;var distances=new Array(rowCount);for(var i=0;i<rowCount;i++){distances[i]=new Array(columnCount);distances[i][0]=i;} 3697for(var j=0;j<columnCount;j++) 3698distances[0][j]=j;for(i=1;i<rowCount;i++){for(j=1;j<columnCount;j++){if(this.equals(current[currentStart+j-1],old[oldStart+i-1])) 3699distances[i][j]=distances[i-1][j-1];else{var north=distances[i-1][j]+1;var west=distances[i][j-1]+1;distances[i][j]=north<west?north:west;}}} 3700return distances;},spliceOperationsFromEditDistances:function(distances){var i=distances.length-1;var j=distances[0].length-1;var current=distances[i][j];var edits=[];while(i>0||j>0){if(i==0){edits.push(EDIT_ADD);j--;continue;} 3701if(j==0){edits.push(EDIT_DELETE);i--;continue;} 3702var northWest=distances[i-1][j-1];var west=distances[i-1][j];var north=distances[i][j-1];var min;if(west<north) 3703min=west<northWest?west:northWest;else 3704min=north<northWest?north:northWest;if(min==northWest){if(northWest==current){edits.push(EDIT_LEAVE);}else{edits.push(EDIT_UPDATE);current=northWest;} 3705i--;j--;}else if(min==west){edits.push(EDIT_DELETE);i--;current=west;}else{edits.push(EDIT_ADD);j--;current=north;}} 3706edits.reverse();return edits;},calcSplices:function(current,currentStart,currentEnd,old,oldStart,oldEnd){var prefixCount=0;var suffixCount=0;var minLength=Math.min(currentEnd-currentStart,oldEnd-oldStart);if(currentStart==0&&oldStart==0) 3707prefixCount=this.sharedPrefix(current,old,minLength);if(currentEnd==current.length&&oldEnd==old.length) 3708suffixCount=this.sharedSuffix(current,old,minLength-prefixCount);currentStart+=prefixCount;oldStart+=prefixCount;currentEnd-=suffixCount;oldEnd-=suffixCount;if(currentEnd-currentStart==0&&oldEnd-oldStart==0) 3709return[];if(currentStart==currentEnd){var splice=newSplice(currentStart,[],0);while(oldStart<oldEnd) 3710splice.removed.push(old[oldStart++]);return[splice];}else if(oldStart==oldEnd) 3711return[newSplice(currentStart,[],currentEnd-currentStart)];var ops=this.spliceOperationsFromEditDistances(this.calcEditDistances(current,currentStart,currentEnd,old,oldStart,oldEnd));splice=undefined;var splices=[];var index=currentStart;var oldIndex=oldStart;for(var i=0;i<ops.length;i++){switch(ops[i]){case EDIT_LEAVE:if(splice){splices.push(splice);splice=undefined;} 3712index++;oldIndex++;break;case EDIT_UPDATE:if(!splice) 3713splice=newSplice(index,[],0);splice.addedCount++;index++;splice.removed.push(old[oldIndex]);oldIndex++;break;case EDIT_ADD:if(!splice) 3714splice=newSplice(index,[],0);splice.addedCount++;index++;break;case EDIT_DELETE:if(!splice) 3715splice=newSplice(index,[],0);splice.removed.push(old[oldIndex]);oldIndex++;break;}} 3716if(splice){splices.push(splice);} 3717return splices;},sharedPrefix:function(current,old,searchLength){for(var i=0;i<searchLength;i++) 3718if(!this.equals(current[i],old[i])) 3719return i;return searchLength;},sharedSuffix:function(current,old,searchLength){var index1=current.length;var index2=old.length;var count=0;while(count<searchLength&&this.equals(current[--index1],old[--index2])) 3720count++;return count;},calculateSplices:function(current,previous){return this.calcSplices(current,0,current.length,previous,0,previous.length);},equals:function(currentValue,previousValue){return currentValue===previousValue;}};return new ArraySplice();}();Polymer.domInnerHTML=function(){var escapeAttrRegExp=/[&\u00A0"]/g;var escapeDataRegExp=/[&\u00A0<>]/g;function escapeReplace(c){switch(c){case'&':return'&';case'<':return'<';case'>':return'>';case'"':return'"';case'\xA0':return' ';}} 3721function escapeAttr(s){return s.replace(escapeAttrRegExp,escapeReplace);} 3722function escapeData(s){return s.replace(escapeDataRegExp,escapeReplace);} 3723function makeSet(arr){var set={};for(var i=0;i<arr.length;i++){set[arr[i]]=true;} 3724return set;} 3725var voidElements=makeSet(['area','base','br','col','command','embed','hr','img','input','keygen','link','meta','param','source','track','wbr']);var plaintextParents=makeSet(['style','script','xmp','iframe','noembed','noframes','plaintext','noscript']);function getOuterHTML(node,parentNode,composed){switch(node.nodeType){case Node.ELEMENT_NODE:var tagName=node.localName;var s='<'+tagName;var attrs=node.attributes;for(var i=0,attr;attr=attrs[i];i++){s+=' '+attr.name+'="'+escapeAttr(attr.value)+'"';} 3726s+='>';if(voidElements[tagName]){return s;} 3727return s+getInnerHTML(node,composed)+'</'+tagName+'>';case Node.TEXT_NODE:var data=node.data;if(parentNode&&plaintextParents[parentNode.localName]){return data;} 3728return escapeData(data);case Node.COMMENT_NODE:return'<!--'+node.data+'-->';default:console.error(node);throw new Error('not implemented');}} 3729function getInnerHTML(node,composed){if(node instanceof HTMLTemplateElement) 3730node=node.content;var s='';var c$=Polymer.dom(node).childNodes;for(var i=0,l=c$.length,child;i<l&&(child=c$[i]);i++){s+=getOuterHTML(child,node,composed);} 3731return s;} 3732return{getInnerHTML:getInnerHTML};}();(function(){'use strict';var nativeInsertBefore=Element.prototype.insertBefore;var nativeAppendChild=Element.prototype.appendChild;var nativeRemoveChild=Element.prototype.removeChild;Polymer.TreeApi={arrayCopyChildNodes:function(parent){var copy=[],i=0;for(var n=parent.firstChild;n;n=n.nextSibling){copy[i++]=n;} 3733return copy;},arrayCopyChildren:function(parent){var copy=[],i=0;for(var n=parent.firstElementChild;n;n=n.nextElementSibling){copy[i++]=n;} 3734return copy;},arrayCopy:function(a$){var l=a$.length;var copy=new Array(l);for(var i=0;i<l;i++){copy[i]=a$[i];} 3735return copy;}};Polymer.TreeApi.Logical={hasParentNode:function(node){return Boolean(node.__dom&&node.__dom.parentNode);},hasChildNodes:function(node){return Boolean(node.__dom&&node.__dom.childNodes!==undefined);},getChildNodes:function(node){return this.hasChildNodes(node)?this._getChildNodes(node):node.childNodes;},_getChildNodes:function(node){if(!node.__dom.childNodes){node.__dom.childNodes=[];for(var n=node.__dom.firstChild;n;n=n.__dom.nextSibling){node.__dom.childNodes.push(n);}} 3736return node.__dom.childNodes;},getParentNode:function(node){return node.__dom&&node.__dom.parentNode!==undefined?node.__dom.parentNode:node.parentNode;},getFirstChild:function(node){return node.__dom&&node.__dom.firstChild!==undefined?node.__dom.firstChild:node.firstChild;},getLastChild:function(node){return node.__dom&&node.__dom.lastChild!==undefined?node.__dom.lastChild:node.lastChild;},getNextSibling:function(node){return node.__dom&&node.__dom.nextSibling!==undefined?node.__dom.nextSibling:node.nextSibling;},getPreviousSibling:function(node){return node.__dom&&node.__dom.previousSibling!==undefined?node.__dom.previousSibling:node.previousSibling;},getFirstElementChild:function(node){return node.__dom&&node.__dom.firstChild!==undefined?this._getFirstElementChild(node):node.firstElementChild;},_getFirstElementChild:function(node){var n=node.__dom.firstChild;while(n&&n.nodeType!==Node.ELEMENT_NODE){n=n.__dom.nextSibling;} 3737return n;},getLastElementChild:function(node){return node.__dom&&node.__dom.lastChild!==undefined?this._getLastElementChild(node):node.lastElementChild;},_getLastElementChild:function(node){var n=node.__dom.lastChild;while(n&&n.nodeType!==Node.ELEMENT_NODE){n=n.__dom.previousSibling;} 3738return n;},getNextElementSibling:function(node){return node.__dom&&node.__dom.nextSibling!==undefined?this._getNextElementSibling(node):node.nextElementSibling;},_getNextElementSibling:function(node){var n=node.__dom.nextSibling;while(n&&n.nodeType!==Node.ELEMENT_NODE){n=n.__dom.nextSibling;} 3739return n;},getPreviousElementSibling:function(node){return node.__dom&&node.__dom.previousSibling!==undefined?this._getPreviousElementSibling(node):node.previousElementSibling;},_getPreviousElementSibling:function(node){var n=node.__dom.previousSibling;while(n&&n.nodeType!==Node.ELEMENT_NODE){n=n.__dom.previousSibling;} 3740return n;},saveChildNodes:function(node){if(!this.hasChildNodes(node)){node.__dom=node.__dom||{};node.__dom.firstChild=node.firstChild;node.__dom.lastChild=node.lastChild;node.__dom.childNodes=[];for(var n=node.firstChild;n;n=n.nextSibling){n.__dom=n.__dom||{};n.__dom.parentNode=node;node.__dom.childNodes.push(n);n.__dom.nextSibling=n.nextSibling;n.__dom.previousSibling=n.previousSibling;}}},recordInsertBefore:function(node,container,ref_node){container.__dom.childNodes=null;if(node.nodeType===Node.DOCUMENT_FRAGMENT_NODE){for(var n=node.firstChild;n;n=n.nextSibling){this._linkNode(n,container,ref_node);}}else{this._linkNode(node,container,ref_node);}},_linkNode:function(node,container,ref_node){node.__dom=node.__dom||{};container.__dom=container.__dom||{};if(ref_node){ref_node.__dom=ref_node.__dom||{};} 3741node.__dom.previousSibling=ref_node?ref_node.__dom.previousSibling:container.__dom.lastChild;if(node.__dom.previousSibling){node.__dom.previousSibling.__dom.nextSibling=node;} 3742node.__dom.nextSibling=ref_node||null;if(node.__dom.nextSibling){node.__dom.nextSibling.__dom.previousSibling=node;} 3743node.__dom.parentNode=container;if(ref_node){if(ref_node===container.__dom.firstChild){container.__dom.firstChild=node;}}else{container.__dom.lastChild=node;if(!container.__dom.firstChild){container.__dom.firstChild=node;}} 3744container.__dom.childNodes=null;},recordRemoveChild:function(node,container){node.__dom=node.__dom||{};container.__dom=container.__dom||{};if(node===container.__dom.firstChild){container.__dom.firstChild=node.__dom.nextSibling;} 3745if(node===container.__dom.lastChild){container.__dom.lastChild=node.__dom.previousSibling;} 3746var p=node.__dom.previousSibling;var n=node.__dom.nextSibling;if(p){p.__dom.nextSibling=n;} 3747if(n){n.__dom.previousSibling=p;} 3748node.__dom.parentNode=node.__dom.previousSibling=node.__dom.nextSibling=undefined;container.__dom.childNodes=null;}};Polymer.TreeApi.Composed={getChildNodes:function(node){return Polymer.TreeApi.arrayCopyChildNodes(node);},getParentNode:function(node){return node.parentNode;},clearChildNodes:function(node){node.textContent='';},insertBefore:function(parentNode,newChild,refChild){return nativeInsertBefore.call(parentNode,newChild,refChild||null);},appendChild:function(parentNode,newChild){return nativeAppendChild.call(parentNode,newChild);},removeChild:function(parentNode,node){return nativeRemoveChild.call(parentNode,node);}};}());Polymer.DomApi=function(){'use strict';var Settings=Polymer.Settings;var TreeApi=Polymer.TreeApi;var DomApi=function(node){this.node=needsToWrap?DomApi.wrap(node):node;};var needsToWrap=Settings.hasShadow&&!Settings.nativeShadow;DomApi.wrap=window.wrap?window.wrap:function(node){return node;};DomApi.prototype={flush:function(){Polymer.dom.flush();},deepContains:function(node){if(this.node.contains(node)){return true;} 3749var n=node;var doc=node.ownerDocument;while(n&&n!==doc&&n!==this.node){n=Polymer.dom(n).parentNode||n.host;} 3750return n===this.node;},queryDistributedElements:function(selector){var c$=this.getEffectiveChildNodes();var list=[];for(var i=0,l=c$.length,c;i<l&&(c=c$[i]);i++){if(c.nodeType===Node.ELEMENT_NODE&&DomApi.matchesSelector.call(c,selector)){list.push(c);}} 3751return list;},getEffectiveChildNodes:function(){var list=[];var c$=this.childNodes;for(var i=0,l=c$.length,c;i<l&&(c=c$[i]);i++){if(c.localName===CONTENT){var d$=dom(c).getDistributedNodes();for(var j=0;j<d$.length;j++){list.push(d$[j]);}}else{list.push(c);}} 3752return list;},observeNodes:function(callback){if(callback){if(!this.observer){this.observer=this.node.localName===CONTENT?new DomApi.DistributedNodesObserver(this):new DomApi.EffectiveNodesObserver(this);} 3753return this.observer.addListener(callback);}},unobserveNodes:function(handle){if(this.observer){this.observer.removeListener(handle);}},notifyObserver:function(){if(this.observer){this.observer.notify();}},_query:function(matcher,node,halter){node=node||this.node;var list=[];this._queryElements(TreeApi.Logical.getChildNodes(node),matcher,halter,list);return list;},_queryElements:function(elements,matcher,halter,list){for(var i=0,l=elements.length,c;i<l&&(c=elements[i]);i++){if(c.nodeType===Node.ELEMENT_NODE){if(this._queryElement(c,matcher,halter,list)){return true;}}}},_queryElement:function(node,matcher,halter,list){var result=matcher(node);if(result){list.push(node);} 3754if(halter&&halter(result)){return result;} 3755this._queryElements(TreeApi.Logical.getChildNodes(node),matcher,halter,list);}};var CONTENT=DomApi.CONTENT='content';var dom=DomApi.factory=function(node){node=node||document;if(!node.__domApi){node.__domApi=new DomApi.ctor(node);} 3756return node.__domApi;};DomApi.hasApi=function(node){return Boolean(node.__domApi);};DomApi.ctor=DomApi;Polymer.dom=function(obj,patch){if(obj instanceof Event){return Polymer.EventApi.factory(obj);}else{return DomApi.factory(obj,patch);}};var p=Element.prototype;DomApi.matchesSelector=p.matches||p.matchesSelector||p.mozMatchesSelector||p.msMatchesSelector||p.oMatchesSelector||p.webkitMatchesSelector;return DomApi;}();(function(){'use strict';var Settings=Polymer.Settings;var DomApi=Polymer.DomApi;var dom=DomApi.factory;var TreeApi=Polymer.TreeApi;var getInnerHTML=Polymer.domInnerHTML.getInnerHTML;var CONTENT=DomApi.CONTENT;if(Settings.useShadow){return;} 3757var nativeCloneNode=Element.prototype.cloneNode;var nativeImportNode=Document.prototype.importNode;Polymer.Base.mixin(DomApi.prototype,{_lazyDistribute:function(host){if(host.shadyRoot&&host.shadyRoot._distributionClean){host.shadyRoot._distributionClean=false;Polymer.dom.addDebouncer(host.debounce('_distribute',host._distributeContent));}},appendChild:function(node){return this.insertBefore(node);},insertBefore:function(node,ref_node){if(ref_node&&TreeApi.Logical.getParentNode(ref_node)!==this.node){throw Error('The ref_node to be inserted before is not a child '+'of this node');} 3758if(node.nodeType!==Node.DOCUMENT_FRAGMENT_NODE){var parent=TreeApi.Logical.getParentNode(node);if(parent){if(DomApi.hasApi(parent)){dom(parent).notifyObserver();} 3759this._removeNode(node);}else{this._removeOwnerShadyRoot(node);}} 3760if(!this._addNode(node,ref_node)){if(ref_node){ref_node=ref_node.localName===CONTENT?this._firstComposedNode(ref_node):ref_node;} 3761var container=this.node._isShadyRoot?this.node.host:this.node;if(ref_node){TreeApi.Composed.insertBefore(container,node,ref_node);}else{TreeApi.Composed.appendChild(container,node);}} 3762this.notifyObserver();return node;},_addNode:function(node,ref_node){var root=this.getOwnerRoot();if(root){var ipAdded=this._maybeAddInsertionPoint(node,this.node);if(!root._invalidInsertionPoints){root._invalidInsertionPoints=ipAdded;} 3763this._addNodeToHost(root.host,node);} 3764if(TreeApi.Logical.hasChildNodes(this.node)){TreeApi.Logical.recordInsertBefore(node,this.node,ref_node);} 3765var handled=this._maybeDistribute(node)||this.node.shadyRoot;if(handled){if(node.nodeType===Node.DOCUMENT_FRAGMENT_NODE){while(node.firstChild){TreeApi.Composed.removeChild(node,node.firstChild);}}else{var parent=TreeApi.Composed.getParentNode(node);if(parent){TreeApi.Composed.removeChild(parent,node);}}} 3766return handled;},removeChild:function(node){if(TreeApi.Logical.getParentNode(node)!==this.node){throw Error('The node to be removed is not a child of this node: '+node);} 3767if(!this._removeNode(node)){var container=this.node._isShadyRoot?this.node.host:this.node;var parent=TreeApi.Composed.getParentNode(node);if(container===parent){TreeApi.Composed.removeChild(container,node);}} 3768this.notifyObserver();return node;},_removeNode:function(node){var logicalParent=TreeApi.Logical.hasParentNode(node)&&TreeApi.Logical.getParentNode(node);var distributed;var root=this._ownerShadyRootForNode(node);if(logicalParent){distributed=dom(node)._maybeDistributeParent();TreeApi.Logical.recordRemoveChild(node,logicalParent);if(root&&this._removeDistributedChildren(root,node)){root._invalidInsertionPoints=true;this._lazyDistribute(root.host);}} 3769this._removeOwnerShadyRoot(node);if(root){this._removeNodeFromHost(root.host,node);} 3770return distributed;},replaceChild:function(node,ref_node){this.insertBefore(node,ref_node);this.removeChild(ref_node);return node;},_hasCachedOwnerRoot:function(node){return Boolean(node._ownerShadyRoot!==undefined);},getOwnerRoot:function(){return this._ownerShadyRootForNode(this.node);},_ownerShadyRootForNode:function(node){if(!node){return;} 3771var root=node._ownerShadyRoot;if(root===undefined){if(node._isShadyRoot){root=node;}else{var parent=TreeApi.Logical.getParentNode(node);if(parent){root=parent._isShadyRoot?parent:this._ownerShadyRootForNode(parent);}else{root=null;}} 3772if(root||document.documentElement.contains(node)){node._ownerShadyRoot=root;}} 3773return root;},_maybeDistribute:function(node){var fragContent=node.nodeType===Node.DOCUMENT_FRAGMENT_NODE&&!node.__noContent&&dom(node).querySelector(CONTENT);var wrappedContent=fragContent&&TreeApi.Logical.getParentNode(fragContent).nodeType!==Node.DOCUMENT_FRAGMENT_NODE;var hasContent=fragContent||node.localName===CONTENT;if(hasContent){var root=this.getOwnerRoot();if(root){this._lazyDistribute(root.host);}} 3774var needsDist=this._nodeNeedsDistribution(this.node);if(needsDist){this._lazyDistribute(this.node);} 3775return needsDist||hasContent&&!wrappedContent;},_maybeAddInsertionPoint:function(node,parent){var added;if(node.nodeType===Node.DOCUMENT_FRAGMENT_NODE&&!node.__noContent){var c$=dom(node).querySelectorAll(CONTENT);for(var i=0,n,np,na;i<c$.length&&(n=c$[i]);i++){np=TreeApi.Logical.getParentNode(n);if(np===node){np=parent;} 3776na=this._maybeAddInsertionPoint(n,np);added=added||na;}}else if(node.localName===CONTENT){TreeApi.Logical.saveChildNodes(parent);TreeApi.Logical.saveChildNodes(node);added=true;} 3777return added;},_updateInsertionPoints:function(host){var i$=host.shadyRoot._insertionPoints=dom(host.shadyRoot).querySelectorAll(CONTENT);for(var i=0,c;i<i$.length;i++){c=i$[i];TreeApi.Logical.saveChildNodes(c);TreeApi.Logical.saveChildNodes(TreeApi.Logical.getParentNode(c));}},_nodeNeedsDistribution:function(node){return node&&node.shadyRoot&&DomApi.hasInsertionPoint(node.shadyRoot);},_addNodeToHost:function(host,node){if(host._elementAdd){host._elementAdd(node);}},_removeNodeFromHost:function(host,node){if(host._elementRemove){host._elementRemove(node);}},_removeDistributedChildren:function(root,container){var hostNeedsDist;var ip$=root._insertionPoints;for(var i=0;i<ip$.length;i++){var content=ip$[i];if(this._contains(container,content)){var dc$=dom(content).getDistributedNodes();for(var j=0;j<dc$.length;j++){hostNeedsDist=true;var node=dc$[j];var parent=TreeApi.Composed.getParentNode(node);if(parent){TreeApi.Composed.removeChild(parent,node);}}}} 3778return hostNeedsDist;},_contains:function(container,node){while(node){if(node==container){return true;} 3779node=TreeApi.Logical.getParentNode(node);}},_removeOwnerShadyRoot:function(node){if(this._hasCachedOwnerRoot(node)){var c$=TreeApi.Logical.getChildNodes(node);for(var i=0,l=c$.length,n;i<l&&(n=c$[i]);i++){this._removeOwnerShadyRoot(n);}} 3780node._ownerShadyRoot=undefined;},_firstComposedNode:function(content){var n$=dom(content).getDistributedNodes();for(var i=0,l=n$.length,n,p$;i<l&&(n=n$[i]);i++){p$=dom(n).getDestinationInsertionPoints();if(p$[p$.length-1]===content){return n;}}},querySelector:function(selector){var result=this._query(function(n){return DomApi.matchesSelector.call(n,selector);},this.node,function(n){return Boolean(n);})[0];return result||null;},querySelectorAll:function(selector){return this._query(function(n){return DomApi.matchesSelector.call(n,selector);},this.node);},getDestinationInsertionPoints:function(){return this.node._destinationInsertionPoints||[];},getDistributedNodes:function(){return this.node._distributedNodes||[];},_clear:function(){while(this.childNodes.length){this.removeChild(this.childNodes[0]);}},setAttribute:function(name,value){this.node.setAttribute(name,value);this._maybeDistributeParent();},removeAttribute:function(name){this.node.removeAttribute(name);this._maybeDistributeParent();},_maybeDistributeParent:function(){if(this._nodeNeedsDistribution(this.parentNode)){this._lazyDistribute(this.parentNode);return true;}},cloneNode:function(deep){var n=nativeCloneNode.call(this.node,false);if(deep){var c$=this.childNodes;var d=dom(n);for(var i=0,nc;i<c$.length;i++){nc=dom(c$[i]).cloneNode(true);d.appendChild(nc);}} 3781return n;},importNode:function(externalNode,deep){var doc=this.node instanceof Document?this.node:this.node.ownerDocument;var n=nativeImportNode.call(doc,externalNode,false);if(deep){var c$=TreeApi.Logical.getChildNodes(externalNode);var d=dom(n);for(var i=0,nc;i<c$.length;i++){nc=dom(doc).importNode(c$[i],true);d.appendChild(nc);}} 3782return n;},_getComposedInnerHTML:function(){return getInnerHTML(this.node,true);}});Object.defineProperties(DomApi.prototype,{activeElement:{get:function(){var active=document.activeElement;if(!active){return null;} 3783var isShadyRoot=!!this.node._isShadyRoot;if(this.node!==document){if(!isShadyRoot){return null;} 3784if(this.node.host===active||!this.node.host.contains(active)){return null;}} 3785var activeRoot=dom(active).getOwnerRoot();while(activeRoot&&activeRoot!==this.node){active=activeRoot.host;activeRoot=dom(active).getOwnerRoot();} 3786if(this.node===document){return activeRoot?null:active;}else{return activeRoot===this.node?active:null;}},configurable:true},childNodes:{get:function(){var c$=TreeApi.Logical.getChildNodes(this.node);return Array.isArray(c$)?c$:TreeApi.arrayCopyChildNodes(this.node);},configurable:true},children:{get:function(){if(TreeApi.Logical.hasChildNodes(this.node)){return Array.prototype.filter.call(this.childNodes,function(n){return n.nodeType===Node.ELEMENT_NODE;});}else{return TreeApi.arrayCopyChildren(this.node);}},configurable:true},parentNode:{get:function(){return TreeApi.Logical.getParentNode(this.node);},configurable:true},firstChild:{get:function(){return TreeApi.Logical.getFirstChild(this.node);},configurable:true},lastChild:{get:function(){return TreeApi.Logical.getLastChild(this.node);},configurable:true},nextSibling:{get:function(){return TreeApi.Logical.getNextSibling(this.node);},configurable:true},previousSibling:{get:function(){return TreeApi.Logical.getPreviousSibling(this.node);},configurable:true},firstElementChild:{get:function(){return TreeApi.Logical.getFirstElementChild(this.node);},configurable:true},lastElementChild:{get:function(){return TreeApi.Logical.getLastElementChild(this.node);},configurable:true},nextElementSibling:{get:function(){return TreeApi.Logical.getNextElementSibling(this.node);},configurable:true},previousElementSibling:{get:function(){return TreeApi.Logical.getPreviousElementSibling(this.node);},configurable:true},textContent:{get:function(){var nt=this.node.nodeType;if(nt===Node.TEXT_NODE||nt===Node.COMMENT_NODE){return this.node.textContent;}else{var tc=[];for(var i=0,cn=this.childNodes,c;c=cn[i];i++){if(c.nodeType!==Node.COMMENT_NODE){tc.push(c.textContent);}} 3787return tc.join('');}},set:function(text){var nt=this.node.nodeType;if(nt===Node.TEXT_NODE||nt===Node.COMMENT_NODE){this.node.textContent=text;}else{this._clear();if(text){this.appendChild(document.createTextNode(text));}}},configurable:true},innerHTML:{get:function(){var nt=this.node.nodeType;if(nt===Node.TEXT_NODE||nt===Node.COMMENT_NODE){return null;}else{return getInnerHTML(this.node);}},set:function(text){var nt=this.node.nodeType;if(nt!==Node.TEXT_NODE||nt!==Node.COMMENT_NODE){this._clear();var d=document.createElement('div');d.innerHTML=text;var c$=TreeApi.arrayCopyChildNodes(d);for(var i=0;i<c$.length;i++){this.appendChild(c$[i]);}}},configurable:true}});DomApi.hasInsertionPoint=function(root){return Boolean(root&&root._insertionPoints.length);};}());(function(){'use strict';var Settings=Polymer.Settings;var TreeApi=Polymer.TreeApi;var DomApi=Polymer.DomApi;if(!Settings.useShadow){return;} 3788Polymer.Base.mixin(DomApi.prototype,{querySelectorAll:function(selector){return TreeApi.arrayCopy(this.node.querySelectorAll(selector));},getOwnerRoot:function(){var n=this.node;while(n){if(n.nodeType===Node.DOCUMENT_FRAGMENT_NODE&&n.host){return n;} 3789n=n.parentNode;}},importNode:function(externalNode,deep){var doc=this.node instanceof Document?this.node:this.node.ownerDocument;return doc.importNode(externalNode,deep);},getDestinationInsertionPoints:function(){var n$=this.node.getDestinationInsertionPoints&&this.node.getDestinationInsertionPoints();return n$?TreeApi.arrayCopy(n$):[];},getDistributedNodes:function(){var n$=this.node.getDistributedNodes&&this.node.getDistributedNodes();return n$?TreeApi.arrayCopy(n$):[];}});Object.defineProperties(DomApi.prototype,{activeElement:{get:function(){var node=DomApi.wrap(this.node);var activeElement=node.activeElement;return node.contains(activeElement)?activeElement:null;},configurable:true},childNodes:{get:function(){return TreeApi.arrayCopyChildNodes(this.node);},configurable:true},children:{get:function(){return TreeApi.arrayCopyChildren(this.node);},configurable:true},textContent:{get:function(){return this.node.textContent;},set:function(value){return this.node.textContent=value;},configurable:true},innerHTML:{get:function(){return this.node.innerHTML;},set:function(value){return this.node.innerHTML=value;},configurable:true}});var forwardMethods=function(m$){for(var i=0;i<m$.length;i++){forwardMethod(m$[i]);}};var forwardMethod=function(method){DomApi.prototype[method]=function(){return this.node[method].apply(this.node,arguments);};};forwardMethods(['cloneNode','appendChild','insertBefore','removeChild','replaceChild','setAttribute','removeAttribute','querySelector']);var forwardProperties=function(f$){for(var i=0;i<f$.length;i++){forwardProperty(f$[i]);}};var forwardProperty=function(name){Object.defineProperty(DomApi.prototype,name,{get:function(){return this.node[name];},configurable:true});};forwardProperties(['parentNode','firstChild','lastChild','nextSibling','previousSibling','firstElementChild','lastElementChild','nextElementSibling','previousElementSibling']);}());Polymer.Base.mixin(Polymer.dom,{_flushGuard:0,_FLUSH_MAX:100,_needsTakeRecords:!Polymer.Settings.useNativeCustomElements,_debouncers:[],_staticFlushList:[],_finishDebouncer:null,flush:function(){this._flushGuard=0;this._prepareFlush();while(this._debouncers.length&&this._flushGuard<this._FLUSH_MAX){while(this._debouncers.length){this._debouncers.shift().complete();} 3790if(this._finishDebouncer){this._finishDebouncer.complete();} 3791this._prepareFlush();this._flushGuard++;} 3792if(this._flushGuard>=this._FLUSH_MAX){console.warn('Polymer.dom.flush aborted. Flush may not be complete.');}},_prepareFlush:function(){if(this._needsTakeRecords){CustomElements.takeRecords();} 3793for(var i=0;i<this._staticFlushList.length;i++){this._staticFlushList[i]();}},addStaticFlush:function(fn){this._staticFlushList.push(fn);},removeStaticFlush:function(fn){var i=this._staticFlushList.indexOf(fn);if(i>=0){this._staticFlushList.splice(i,1);}},addDebouncer:function(debouncer){this._debouncers.push(debouncer);this._finishDebouncer=Polymer.Debounce(this._finishDebouncer,this._finishFlush);},_finishFlush:function(){Polymer.dom._debouncers=[];}});Polymer.EventApi=function(){'use strict';var DomApi=Polymer.DomApi.ctor;var Settings=Polymer.Settings;DomApi.Event=function(event){this.event=event;};if(Settings.useShadow){DomApi.Event.prototype={get rootTarget(){return this.event.path[0];},get localTarget(){return this.event.target;},get path(){var path=this.event.path;if(!Array.isArray(path)){path=Array.prototype.slice.call(path);} 3794return path;}};}else{DomApi.Event.prototype={get rootTarget(){return this.event.target;},get localTarget(){var current=this.event.currentTarget;var currentRoot=current&&Polymer.dom(current).getOwnerRoot();var p$=this.path;for(var i=0;i<p$.length;i++){if(Polymer.dom(p$[i]).getOwnerRoot()===currentRoot){return p$[i];}}},get path(){if(!this.event._path){var path=[];var current=this.rootTarget;while(current){path.push(current);var insertionPoints=Polymer.dom(current).getDestinationInsertionPoints();if(insertionPoints.length){for(var i=0;i<insertionPoints.length-1;i++){path.push(insertionPoints[i]);} 3795current=insertionPoints[insertionPoints.length-1];}else{current=Polymer.dom(current).parentNode||current.host;}} 3796path.push(window);this.event._path=path;} 3797return this.event._path;}};} 3798var factory=function(event){if(!event.__eventApi){event.__eventApi=new DomApi.Event(event);} 3799return event.__eventApi;};return{factory:factory};}();(function(){'use strict';var DomApi=Polymer.DomApi.ctor;var useShadow=Polymer.Settings.useShadow;Object.defineProperty(DomApi.prototype,'classList',{get:function(){if(!this._classList){this._classList=new DomApi.ClassList(this);} 3800return this._classList;},configurable:true});DomApi.ClassList=function(host){this.domApi=host;this.node=host.node;};DomApi.ClassList.prototype={add:function(){this.node.classList.add.apply(this.node.classList,arguments);this._distributeParent();},remove:function(){this.node.classList.remove.apply(this.node.classList,arguments);this._distributeParent();},toggle:function(){this.node.classList.toggle.apply(this.node.classList,arguments);this._distributeParent();},_distributeParent:function(){if(!useShadow){this.domApi._maybeDistributeParent();}},contains:function(){return this.node.classList.contains.apply(this.node.classList,arguments);}};}());(function(){'use strict';var DomApi=Polymer.DomApi.ctor;var Settings=Polymer.Settings;DomApi.EffectiveNodesObserver=function(domApi){this.domApi=domApi;this.node=this.domApi.node;this._listeners=[];};DomApi.EffectiveNodesObserver.prototype={addListener:function(callback){if(!this._isSetup){this._setup();this._isSetup=true;} 3801var listener={fn:callback,_nodes:[]};this._listeners.push(listener);this._scheduleNotify();return listener;},removeListener:function(handle){var i=this._listeners.indexOf(handle);if(i>=0){this._listeners.splice(i,1);handle._nodes=[];} 3802if(!this._hasListeners()){this._cleanup();this._isSetup=false;}},_setup:function(){this._observeContentElements(this.domApi.childNodes);},_cleanup:function(){this._unobserveContentElements(this.domApi.childNodes);},_hasListeners:function(){return Boolean(this._listeners.length);},_scheduleNotify:function(){if(this._debouncer){this._debouncer.stop();} 3803this._debouncer=Polymer.Debounce(this._debouncer,this._notify);this._debouncer.context=this;Polymer.dom.addDebouncer(this._debouncer);},notify:function(){if(this._hasListeners()){this._scheduleNotify();}},_notify:function(){this._beforeCallListeners();this._callListeners();},_beforeCallListeners:function(){this._updateContentElements();},_updateContentElements:function(){this._observeContentElements(this.domApi.childNodes);},_observeContentElements:function(elements){for(var i=0,n;i<elements.length&&(n=elements[i]);i++){if(this._isContent(n)){n.__observeNodesMap=n.__observeNodesMap||new WeakMap();if(!n.__observeNodesMap.has(this)){n.__observeNodesMap.set(this,this._observeContent(n));}}}},_observeContent:function(content){var self=this;var h=Polymer.dom(content).observeNodes(function(){self._scheduleNotify();});h._avoidChangeCalculation=true;return h;},_unobserveContentElements:function(elements){for(var i=0,n,h;i<elements.length&&(n=elements[i]);i++){if(this._isContent(n)){h=n.__observeNodesMap.get(this);if(h){Polymer.dom(n).unobserveNodes(h);n.__observeNodesMap.delete(this);}}}},_isContent:function(node){return node.localName==='content';},_callListeners:function(){var o$=this._listeners;var nodes=this._getEffectiveNodes();for(var i=0,o;i<o$.length&&(o=o$[i]);i++){var info=this._generateListenerInfo(o,nodes);if(info||o._alwaysNotify){this._callListener(o,info);}}},_getEffectiveNodes:function(){return this.domApi.getEffectiveChildNodes();},_generateListenerInfo:function(listener,newNodes){if(listener._avoidChangeCalculation){return true;} 3804var oldNodes=listener._nodes;var info={target:this.node,addedNodes:[],removedNodes:[]};var splices=Polymer.ArraySplice.calculateSplices(newNodes,oldNodes);for(var i=0,s;i<splices.length&&(s=splices[i]);i++){for(var j=0,n;j<s.removed.length&&(n=s.removed[j]);j++){info.removedNodes.push(n);}} 3805for(i=0,s;i<splices.length&&(s=splices[i]);i++){for(j=s.index;j<s.index+s.addedCount;j++){info.addedNodes.push(newNodes[j]);}} 3806listener._nodes=newNodes;if(info.addedNodes.length||info.removedNodes.length){return info;}},_callListener:function(listener,info){return listener.fn.call(this.node,info);},enableShadowAttributeTracking:function(){}};if(Settings.useShadow){var baseSetup=DomApi.EffectiveNodesObserver.prototype._setup;var baseCleanup=DomApi.EffectiveNodesObserver.prototype._cleanup;Polymer.Base.mixin(DomApi.EffectiveNodesObserver.prototype,{_setup:function(){if(!this._observer){var self=this;this._mutationHandler=function(mxns){if(mxns&&mxns.length){self._scheduleNotify();}};this._observer=new MutationObserver(this._mutationHandler);this._boundFlush=function(){self._flush();};Polymer.dom.addStaticFlush(this._boundFlush);this._observer.observe(this.node,{childList:true});} 3807baseSetup.call(this);},_cleanup:function(){this._observer.disconnect();this._observer=null;this._mutationHandler=null;Polymer.dom.removeStaticFlush(this._boundFlush);baseCleanup.call(this);},_flush:function(){if(this._observer){this._mutationHandler(this._observer.takeRecords());}},enableShadowAttributeTracking:function(){if(this._observer){this._makeContentListenersAlwaysNotify();this._observer.disconnect();this._observer.observe(this.node,{childList:true,attributes:true,subtree:true});var root=this.domApi.getOwnerRoot();var host=root&&root.host;if(host&&Polymer.dom(host).observer){Polymer.dom(host).observer.enableShadowAttributeTracking();}}},_makeContentListenersAlwaysNotify:function(){for(var i=0,h;i<this._listeners.length;i++){h=this._listeners[i];h._alwaysNotify=h._isContentListener;}}});}}());(function(){'use strict';var DomApi=Polymer.DomApi.ctor;var Settings=Polymer.Settings;DomApi.DistributedNodesObserver=function(domApi){DomApi.EffectiveNodesObserver.call(this,domApi);};DomApi.DistributedNodesObserver.prototype=Object.create(DomApi.EffectiveNodesObserver.prototype);Polymer.Base.mixin(DomApi.DistributedNodesObserver.prototype,{_setup:function(){},_cleanup:function(){},_beforeCallListeners:function(){},_getEffectiveNodes:function(){return this.domApi.getDistributedNodes();}});if(Settings.useShadow){Polymer.Base.mixin(DomApi.DistributedNodesObserver.prototype,{_setup:function(){if(!this._observer){var root=this.domApi.getOwnerRoot();var host=root&&root.host;if(host){var self=this;this._observer=Polymer.dom(host).observeNodes(function(){self._scheduleNotify();});this._observer._isContentListener=true;if(this._hasAttrSelect()){Polymer.dom(host).observer.enableShadowAttributeTracking();}}}},_hasAttrSelect:function(){var select=this.node.getAttribute('select');return select&&select.match(/[[.]+/);},_cleanup:function(){var root=this.domApi.getOwnerRoot();var host=root&&root.host;if(host){Polymer.dom(host).unobserveNodes(this._observer);} 3808this._observer=null;}});}}());(function(){var DomApi=Polymer.DomApi;var TreeApi=Polymer.TreeApi;Polymer.Base._addFeature({_prepShady:function(){this._useContent=this._useContent||Boolean(this._template);},_setupShady:function(){this.shadyRoot=null;if(!this.__domApi){this.__domApi=null;} 3809if(!this.__dom){this.__dom=null;} 3810if(!this._ownerShadyRoot){this._ownerShadyRoot=undefined;}},_poolContent:function(){if(this._useContent){TreeApi.Logical.saveChildNodes(this);}},_setupRoot:function(){if(this._useContent){this._createLocalRoot();if(!this.dataHost){upgradeLogicalChildren(TreeApi.Logical.getChildNodes(this));}}},_createLocalRoot:function(){this.shadyRoot=this.root;this.shadyRoot._distributionClean=false;this.shadyRoot._hasDistributed=false;this.shadyRoot._isShadyRoot=true;this.shadyRoot._dirtyRoots=[];var i$=this.shadyRoot._insertionPoints=!this._notes||this._notes._hasContent?this.shadyRoot.querySelectorAll('content'):[];TreeApi.Logical.saveChildNodes(this.shadyRoot);for(var i=0,c;i<i$.length;i++){c=i$[i];TreeApi.Logical.saveChildNodes(c);TreeApi.Logical.saveChildNodes(c.parentNode);} 3811this.shadyRoot.host=this;},distributeContent:function(updateInsertionPoints){if(this.shadyRoot){this.shadyRoot._invalidInsertionPoints=this.shadyRoot._invalidInsertionPoints||updateInsertionPoints;var host=getTopDistributingHost(this);Polymer.dom(this)._lazyDistribute(host);}},_distributeContent:function(){if(this._useContent&&!this.shadyRoot._distributionClean){if(this.shadyRoot._invalidInsertionPoints){Polymer.dom(this)._updateInsertionPoints(this);this.shadyRoot._invalidInsertionPoints=false;} 3812this._beginDistribute();this._distributeDirtyRoots();this._finishDistribute();}},_beginDistribute:function(){if(this._useContent&&DomApi.hasInsertionPoint(this.shadyRoot)){this._resetDistribution();this._distributePool(this.shadyRoot,this._collectPool());}},_distributeDirtyRoots:function(){var c$=this.shadyRoot._dirtyRoots;for(var i=0,l=c$.length,c;i<l&&(c=c$[i]);i++){c._distributeContent();} 3813this.shadyRoot._dirtyRoots=[];},_finishDistribute:function(){if(this._useContent){this.shadyRoot._distributionClean=true;if(DomApi.hasInsertionPoint(this.shadyRoot)){this._composeTree();notifyContentObservers(this.shadyRoot);}else{if(!this.shadyRoot._hasDistributed){TreeApi.Composed.clearChildNodes(this);this.appendChild(this.shadyRoot);}else{var children=this._composeNode(this);this._updateChildNodes(this,children);}} 3814if(!this.shadyRoot._hasDistributed){notifyInitialDistribution(this);} 3815this.shadyRoot._hasDistributed=true;}},elementMatches:function(selector,node){node=node||this;return DomApi.matchesSelector.call(node,selector);},_resetDistribution:function(){var children=TreeApi.Logical.getChildNodes(this);for(var i=0;i<children.length;i++){var child=children[i];if(child._destinationInsertionPoints){child._destinationInsertionPoints=undefined;} 3816if(isInsertionPoint(child)){clearDistributedDestinationInsertionPoints(child);}} 3817var root=this.shadyRoot;var p$=root._insertionPoints;for(var j=0;j<p$.length;j++){p$[j]._distributedNodes=[];}},_collectPool:function(){var pool=[];var children=TreeApi.Logical.getChildNodes(this);for(var i=0;i<children.length;i++){var child=children[i];if(isInsertionPoint(child)){pool.push.apply(pool,child._distributedNodes);}else{pool.push(child);}} 3818return pool;},_distributePool:function(node,pool){var p$=node._insertionPoints;for(var i=0,l=p$.length,p;i<l&&(p=p$[i]);i++){this._distributeInsertionPoint(p,pool);maybeRedistributeParent(p,this);}},_distributeInsertionPoint:function(content,pool){var anyDistributed=false;for(var i=0,l=pool.length,node;i<l;i++){node=pool[i];if(!node){continue;} 3819if(this._matchesContentSelect(node,content)){distributeNodeInto(node,content);pool[i]=undefined;anyDistributed=true;}} 3820if(!anyDistributed){var children=TreeApi.Logical.getChildNodes(content);for(var j=0;j<children.length;j++){distributeNodeInto(children[j],content);}}},_composeTree:function(){this._updateChildNodes(this,this._composeNode(this));var p$=this.shadyRoot._insertionPoints;for(var i=0,l=p$.length,p,parent;i<l&&(p=p$[i]);i++){parent=TreeApi.Logical.getParentNode(p);if(!parent._useContent&&parent!==this&&parent!==this.shadyRoot){this._updateChildNodes(parent,this._composeNode(parent));}}},_composeNode:function(node){var children=[];var c$=TreeApi.Logical.getChildNodes(node.shadyRoot||node);for(var i=0;i<c$.length;i++){var child=c$[i];if(isInsertionPoint(child)){var distributedNodes=child._distributedNodes;for(var j=0;j<distributedNodes.length;j++){var distributedNode=distributedNodes[j];if(isFinalDestination(child,distributedNode)){children.push(distributedNode);}}}else{children.push(child);}} 3821return children;},_updateChildNodes:function(container,children){var composed=TreeApi.Composed.getChildNodes(container);var splices=Polymer.ArraySplice.calculateSplices(children,composed);for(var i=0,d=0,s;i<splices.length&&(s=splices[i]);i++){for(var j=0,n;j<s.removed.length&&(n=s.removed[j]);j++){if(TreeApi.Composed.getParentNode(n)===container){TreeApi.Composed.removeChild(container,n);} 3822composed.splice(s.index+d,1);} 3823d-=s.addedCount;} 3824for(var i=0,s,next;i<splices.length&&(s=splices[i]);i++){next=composed[s.index];for(j=s.index,n;j<s.index+s.addedCount;j++){n=children[j];TreeApi.Composed.insertBefore(container,n,next);composed.splice(j,0,n);}}},_matchesContentSelect:function(node,contentElement){var select=contentElement.getAttribute('select');if(!select){return true;} 3825select=select.trim();if(!select){return true;} 3826if(!(node instanceof Element)){return false;} 3827var validSelectors=/^(:not\()?[*.#[a-zA-Z_|]/;if(!validSelectors.test(select)){return false;} 3828return this.elementMatches(select,node);},_elementAdd:function(){},_elementRemove:function(){}});var domHostDesc={get:function(){var root=Polymer.dom(this).getOwnerRoot();return root&&root.host;},configurable:true};Object.defineProperty(Polymer.Base,'domHost',domHostDesc);Polymer.BaseDescriptors.domHost=domHostDesc;function distributeNodeInto(child,insertionPoint){insertionPoint._distributedNodes.push(child);var points=child._destinationInsertionPoints;if(!points){child._destinationInsertionPoints=[insertionPoint];}else{points.push(insertionPoint);}} 3829function clearDistributedDestinationInsertionPoints(content){var e$=content._distributedNodes;if(e$){for(var i=0;i<e$.length;i++){var d=e$[i]._destinationInsertionPoints;if(d){d.splice(d.indexOf(content)+1,d.length);}}}} 3830function maybeRedistributeParent(content,host){var parent=TreeApi.Logical.getParentNode(content);if(parent&&parent.shadyRoot&&DomApi.hasInsertionPoint(parent.shadyRoot)&&parent.shadyRoot._distributionClean){parent.shadyRoot._distributionClean=false;host.shadyRoot._dirtyRoots.push(parent);}} 3831function isFinalDestination(insertionPoint,node){var points=node._destinationInsertionPoints;return points&&points[points.length-1]===insertionPoint;} 3832function isInsertionPoint(node){return node.localName=='content';} 3833function getTopDistributingHost(host){while(host&&hostNeedsRedistribution(host)){host=host.domHost;} 3834return host;} 3835function hostNeedsRedistribution(host){var c$=TreeApi.Logical.getChildNodes(host);for(var i=0,c;i<c$.length;i++){c=c$[i];if(c.localName&&c.localName==='content'){return host.domHost;}}} 3836function notifyContentObservers(root){for(var i=0,c;i<root._insertionPoints.length;i++){c=root._insertionPoints[i];if(DomApi.hasApi(c)){Polymer.dom(c).notifyObserver();}}} 3837function notifyInitialDistribution(host){if(DomApi.hasApi(host)){Polymer.dom(host).notifyObserver();}} 3838var needsUpgrade=window.CustomElements&&!CustomElements.useNative;function upgradeLogicalChildren(children){if(needsUpgrade&&children){for(var i=0;i<children.length;i++){CustomElements.upgrade(children[i]);}}}}());if(Polymer.Settings.useShadow){Polymer.Base._addFeature({_poolContent:function(){},_beginDistribute:function(){},distributeContent:function(){},_distributeContent:function(){},_finishDistribute:function(){},_createLocalRoot:function(){this.createShadowRoot();this.shadowRoot.appendChild(this.root);this.root=this.shadowRoot;}});}Polymer.Async={_currVal:0,_lastVal:0,_callbacks:[],_twiddleContent:0,_twiddle:document.createTextNode(''),run:function(callback,waitTime){if(waitTime>0){return~setTimeout(callback,waitTime);}else{this._twiddle.textContent=this._twiddleContent++;this._callbacks.push(callback);return this._currVal++;}},cancel:function(handle){if(handle<0){clearTimeout(~handle);}else{var idx=handle-this._lastVal;if(idx>=0){if(!this._callbacks[idx]){throw'invalid async handle: '+handle;} 3839this._callbacks[idx]=null;}}},_atEndOfMicrotask:function(){var len=this._callbacks.length;for(var i=0;i<len;i++){var cb=this._callbacks[i];if(cb){try{cb();}catch(e){i++;this._callbacks.splice(0,i);this._lastVal+=i;this._twiddle.textContent=this._twiddleContent++;throw e;}}} 3840this._callbacks.splice(0,len);this._lastVal+=len;}};new window.MutationObserver(function(){Polymer.Async._atEndOfMicrotask();}).observe(Polymer.Async._twiddle,{characterData:true});Polymer.Debounce=function(){var Async=Polymer.Async;var Debouncer=function(context){this.context=context;var self=this;this.boundComplete=function(){self.complete();};};Debouncer.prototype={go:function(callback,wait){var h;this.finish=function(){Async.cancel(h);};h=Async.run(this.boundComplete,wait);this.callback=callback;},stop:function(){if(this.finish){this.finish();this.finish=null;this.callback=null;}},complete:function(){if(this.finish){var callback=this.callback;this.stop();callback.call(this.context);}}};function debounce(debouncer,callback,wait){if(debouncer){debouncer.stop();}else{debouncer=new Debouncer(this);} 3841debouncer.go(callback,wait);return debouncer;} 3842return debounce;}();Polymer.Base._addFeature({_setupDebouncers:function(){this._debouncers={};},debounce:function(jobName,callback,wait){return this._debouncers[jobName]=Polymer.Debounce.call(this,this._debouncers[jobName],callback,wait);},isDebouncerActive:function(jobName){var debouncer=this._debouncers[jobName];return!!(debouncer&&debouncer.finish);},flushDebouncer:function(jobName){var debouncer=this._debouncers[jobName];if(debouncer){debouncer.complete();}},cancelDebouncer:function(jobName){var debouncer=this._debouncers[jobName];if(debouncer){debouncer.stop();}}});Polymer.DomModule=document.createElement('dom-module');Polymer.Base._addFeature({_registerFeatures:function(){this._prepIs();this._prepBehaviors();this._prepConstructor();this._prepTemplate();this._prepShady();this._prepPropertyInfo();},_prepBehavior:function(b){this._addHostAttributes(b.hostAttributes);},_initFeatures:function(){this._registerHost();if(this._template){this._poolContent();this._beginHosting();this._stampTemplate();this._endHosting();} 3843this._marshalHostAttributes();this._setupDebouncers();this._marshalBehaviors();this._tryReady();},_marshalBehavior:function(b){}});(function(){Polymer.nar=[];var disableUpgradeEnabled=Polymer.Settings.disableUpgradeEnabled;Polymer.Annotations={parseAnnotations:function(template,stripWhiteSpace){var list=[];var content=template._content||template.content;this._parseNodeAnnotations(content,list,stripWhiteSpace||template.hasAttribute('strip-whitespace'));return list;},_parseNodeAnnotations:function(node,list,stripWhiteSpace){return node.nodeType===Node.TEXT_NODE?this._parseTextNodeAnnotation(node,list):this._parseElementAnnotations(node,list,stripWhiteSpace);},_bindingRegex:function(){var IDENT='(?:'+'[a-zA-Z_$][\\w.:$\\-*]*'+')';var NUMBER='(?:'+'[-+]?[0-9]*\\.?[0-9]+(?:[eE][-+]?[0-9]+)?'+')';var SQUOTE_STRING='(?:'+'\'(?:[^\'\\\\]|\\\\.)*\''+')';var DQUOTE_STRING='(?:'+'"(?:[^"\\\\]|\\\\.)*"'+')';var STRING='(?:'+SQUOTE_STRING+'|'+DQUOTE_STRING+')';var ARGUMENT='(?:'+IDENT+'|'+NUMBER+'|'+STRING+'\\s*'+')';var ARGUMENTS='(?:'+ARGUMENT+'(?:,\\s*'+ARGUMENT+')*'+')';var ARGUMENT_LIST='(?:'+'\\(\\s*'+'(?:'+ARGUMENTS+'?'+')'+'\\)\\s*'+')';var BINDING='('+IDENT+'\\s*'+ARGUMENT_LIST+'?'+')';var OPEN_BRACKET='(\\[\\[|{{)'+'\\s*';var CLOSE_BRACKET='(?:]]|}})';var NEGATE='(?:(!)\\s*)?';var EXPRESSION=OPEN_BRACKET+NEGATE+BINDING+CLOSE_BRACKET;return new RegExp(EXPRESSION,'g');}(),_parseBindings:function(text){var re=this._bindingRegex;var parts=[];var lastIndex=0;var m;while((m=re.exec(text))!==null){if(m.index>lastIndex){parts.push({literal:text.slice(lastIndex,m.index)});} 3844var mode=m[1][0];var negate=Boolean(m[2]);var value=m[3].trim();var customEvent,notifyEvent,colon;if(mode=='{'&&(colon=value.indexOf('::'))>0){notifyEvent=value.substring(colon+2);value=value.substring(0,colon);customEvent=true;} 3845parts.push({compoundIndex:parts.length,value:value,mode:mode,negate:negate,event:notifyEvent,customEvent:customEvent});lastIndex=re.lastIndex;} 3846if(lastIndex&&lastIndex<text.length){var literal=text.substring(lastIndex);if(literal){parts.push({literal:literal});}} 3847if(parts.length){return parts;}},_literalFromParts:function(parts){var s='';for(var i=0;i<parts.length;i++){var literal=parts[i].literal;s+=literal||'';} 3848return s;},_parseTextNodeAnnotation:function(node,list){var parts=this._parseBindings(node.textContent);if(parts){node.textContent=this._literalFromParts(parts)||' ';var annote={bindings:[{kind:'text',name:'textContent',parts:parts,isCompound:parts.length!==1}]};list.push(annote);return annote;}},_parseElementAnnotations:function(element,list,stripWhiteSpace){var annote={bindings:[],events:[]};if(element.localName==='content'){list._hasContent=true;} 3849this._parseChildNodesAnnotations(element,annote,list,stripWhiteSpace);if(element.attributes){this._parseNodeAttributeAnnotations(element,annote,list);if(this.prepElement){this.prepElement(element);}} 3850if(annote.bindings.length||annote.events.length||annote.id){list.push(annote);} 3851return annote;},_parseChildNodesAnnotations:function(root,annote,list,stripWhiteSpace){if(root.firstChild){var node=root.firstChild;var i=0;while(node){var next=node.nextSibling;if(node.localName==='template'&&!node.hasAttribute('preserve-content')){this._parseTemplate(node,i,list,annote,stripWhiteSpace);} 3852if(node.localName=='slot'){node=this._replaceSlotWithContent(node);} 3853if(node.nodeType===Node.TEXT_NODE){var n=next;while(n&&n.nodeType===Node.TEXT_NODE){node.textContent+=n.textContent;next=n.nextSibling;root.removeChild(n);n=next;} 3854if(stripWhiteSpace&&!node.textContent.trim()){root.removeChild(node);i--;}} 3855if(node.parentNode){var childAnnotation=this._parseNodeAnnotations(node,list,stripWhiteSpace);if(childAnnotation){childAnnotation.parent=annote;childAnnotation.index=i;}} 3856node=next;i++;}}},_replaceSlotWithContent:function(slot){var content=slot.ownerDocument.createElement('content');while(slot.firstChild){content.appendChild(slot.firstChild);} 3857var attrs=slot.attributes;for(var i=0;i<attrs.length;i++){var attr=attrs[i];content.setAttribute(attr.name,attr.value);} 3858var name=slot.getAttribute('name');if(name){content.setAttribute('select','[slot=\''+name+'\']');} 3859slot.parentNode.replaceChild(content,slot);return content;},_parseTemplate:function(node,index,list,parent,stripWhiteSpace){var content=document.createDocumentFragment();content._notes=this.parseAnnotations(node,stripWhiteSpace);content.appendChild(node.content);list.push({bindings:Polymer.nar,events:Polymer.nar,templateContent:content,parent:parent,index:index});},_parseNodeAttributeAnnotations:function(node,annotation){var attrs=Array.prototype.slice.call(node.attributes);for(var i=attrs.length-1,a;a=attrs[i];i--){var n=a.name;var v=a.value;var b;if(n.slice(0,3)==='on-'){node.removeAttribute(n);annotation.events.push({name:n.slice(3),value:v});}else if(b=this._parseNodeAttributeAnnotation(node,n,v)){annotation.bindings.push(b);}else if(n==='id'){annotation.id=v;}}},_parseNodeAttributeAnnotation:function(node,name,value){var parts=this._parseBindings(value);if(parts){var origName=name;var kind='property';if(name[name.length-1]=='$'){name=name.slice(0,-1);kind='attribute';} 3860var literal=this._literalFromParts(parts);if(literal&&kind=='attribute'){node.setAttribute(name,literal);} 3861if(node.localName==='input'&&origName==='value'){node.setAttribute(origName,'');} 3862if(disableUpgradeEnabled&&origName==='disable-upgrade$'){node.setAttribute(name,'');} 3863node.removeAttribute(origName);var propertyName=Polymer.CaseMap.dashToCamelCase(name);if(kind==='property'){name=propertyName;} 3864return{kind:kind,name:name,propertyName:propertyName,parts:parts,literal:literal,isCompound:parts.length!==1};}},findAnnotatedNode:function(root,annote){var parent=annote.parent&&Polymer.Annotations.findAnnotatedNode(root,annote.parent);if(parent){for(var n=parent.firstChild,i=0;n;n=n.nextSibling){if(annote.index===i++){return n;}}}else{return root;}}};}());(function(){function resolveCss(cssText,ownerDocument){return cssText.replace(CSS_URL_RX,function(m,pre,url,post){return pre+'\''+resolve(url.replace(/["']/g,''),ownerDocument)+'\''+post;});} 3865function resolveAttrs(element,ownerDocument){for(var name in URL_ATTRS){var a$=URL_ATTRS[name];for(var i=0,l=a$.length,a,at,v;i<l&&(a=a$[i]);i++){if(name==='*'||element.localName===name){at=element.attributes[a];v=at&&at.value;if(v&&v.search(BINDING_RX)<0){at.value=a==='style'?resolveCss(v,ownerDocument):resolve(v,ownerDocument);}}}}} 3866function resolve(url,ownerDocument){if(url&&ABS_URL.test(url)){return url;} 3867var resolver=getUrlResolver(ownerDocument);resolver.href=url;return resolver.href||url;} 3868var tempDoc;var tempDocBase;function resolveUrl(url,baseUri){if(!tempDoc){tempDoc=document.implementation.createHTMLDocument('temp');tempDocBase=tempDoc.createElement('base');tempDoc.head.appendChild(tempDocBase);} 3869tempDocBase.href=baseUri;return resolve(url,tempDoc);} 3870function getUrlResolver(ownerDocument){return ownerDocument.body.__urlResolver||(ownerDocument.body.__urlResolver=ownerDocument.createElement('a'));} 3871var CSS_URL_RX=/(url\()([^)]*)(\))/g;var URL_ATTRS={'*':['href','src','style','url'],form:['action']};var ABS_URL=/(^\/)|(^#)|(^[\w-\d]*:)/;var BINDING_RX=/\{\{|\[\[/;Polymer.ResolveUrl={resolveCss:resolveCss,resolveAttrs:resolveAttrs,resolveUrl:resolveUrl};}());Polymer.Path={root:function(path){var dotIndex=path.indexOf('.');if(dotIndex===-1){return path;} 3872return path.slice(0,dotIndex);},isDeep:function(path){return path.indexOf('.')!==-1;},isAncestor:function(base,path){return base.indexOf(path+'.')===0;},isDescendant:function(base,path){return path.indexOf(base+'.')===0;},translate:function(base,newBase,path){return newBase+path.slice(base.length);},matches:function(base,wildcard,path){return base===path||this.isAncestor(base,path)||Boolean(wildcard)&&this.isDescendant(base,path);}};Polymer.Base._addFeature({_prepAnnotations:function(){if(!this._template){this._notes=[];}else{var self=this;Polymer.Annotations.prepElement=function(element){self._prepElement(element);};if(this._template._content&&this._template._content._notes){this._notes=this._template._content._notes;}else{this._notes=Polymer.Annotations.parseAnnotations(this._template);this._processAnnotations(this._notes);} 3873Polymer.Annotations.prepElement=null;}},_processAnnotations:function(notes){for(var i=0;i<notes.length;i++){var note=notes[i];for(var j=0;j<note.bindings.length;j++){var b=note.bindings[j];for(var k=0;k<b.parts.length;k++){var p=b.parts[k];if(!p.literal){var signature=this._parseMethod(p.value);if(signature){p.signature=signature;}else{p.model=Polymer.Path.root(p.value);}}}} 3874if(note.templateContent){this._processAnnotations(note.templateContent._notes);var pp=note.templateContent._parentProps=this._discoverTemplateParentProps(note.templateContent._notes);var bindings=[];for(var prop in pp){var name='_parent_'+prop;bindings.push({index:note.index,kind:'property',name:name,propertyName:name,parts:[{mode:'{',model:prop,value:prop}]});} 3875note.bindings=note.bindings.concat(bindings);}}},_discoverTemplateParentProps:function(notes){var pp={};for(var i=0,n;i<notes.length&&(n=notes[i]);i++){for(var j=0,b$=n.bindings,b;j<b$.length&&(b=b$[j]);j++){for(var k=0,p$=b.parts,p;k<p$.length&&(p=p$[k]);k++){if(p.signature){var args=p.signature.args;for(var kk=0;kk<args.length;kk++){var model=args[kk].model;if(model){pp[model]=true;}} 3876if(p.signature.dynamicFn){pp[p.signature.method]=true;}}else{if(p.model){pp[p.model]=true;}}}} 3877if(n.templateContent){var tpp=n.templateContent._parentProps;Polymer.Base.mixin(pp,tpp);}} 3878return pp;},_prepElement:function(element){Polymer.ResolveUrl.resolveAttrs(element,this._template.ownerDocument);},_findAnnotatedNode:Polymer.Annotations.findAnnotatedNode,_marshalAnnotationReferences:function(){if(this._template){this._marshalIdNodes();this._marshalAnnotatedNodes();this._marshalAnnotatedListeners();}},_configureAnnotationReferences:function(){var notes=this._notes;var nodes=this._nodes;for(var i=0;i<notes.length;i++){var note=notes[i];var node=nodes[i];this._configureTemplateContent(note,node);this._configureCompoundBindings(note,node);}},_configureTemplateContent:function(note,node){if(note.templateContent){node._content=note.templateContent;}},_configureCompoundBindings:function(note,node){var bindings=note.bindings;for(var i=0;i<bindings.length;i++){var binding=bindings[i];if(binding.isCompound){var storage=node.__compoundStorage__||(node.__compoundStorage__={});var parts=binding.parts;var literals=new Array(parts.length);for(var j=0;j<parts.length;j++){literals[j]=parts[j].literal;} 3879var name=binding.name;storage[name]=literals;if(binding.literal&&binding.kind=='property'){if(node._configValue){node._configValue(name,binding.literal);}else{node[name]=binding.literal;}}}}},_marshalIdNodes:function(){this.$={};for(var i=0,l=this._notes.length,a;i<l&&(a=this._notes[i]);i++){if(a.id){this.$[a.id]=this._findAnnotatedNode(this.root,a);}}},_marshalAnnotatedNodes:function(){if(this._notes&&this._notes.length){var r=new Array(this._notes.length);for(var i=0;i<this._notes.length;i++){r[i]=this._findAnnotatedNode(this.root,this._notes[i]);} 3880this._nodes=r;}},_marshalAnnotatedListeners:function(){for(var i=0,l=this._notes.length,a;i<l&&(a=this._notes[i]);i++){if(a.events&&a.events.length){var node=this._findAnnotatedNode(this.root,a);for(var j=0,e$=a.events,e;j<e$.length&&(e=e$[j]);j++){this.listen(node,e.name,e.value);}}}}});Polymer.Base._addFeature({listeners:{},_listenListeners:function(listeners){var node,name,eventName;for(eventName in listeners){if(eventName.indexOf('.')<0){node=this;name=eventName;}else{name=eventName.split('.');node=this.$[name[0]];name=name[1];} 3881this.listen(node,name,listeners[eventName]);}},listen:function(node,eventName,methodName){var handler=this._recallEventHandler(this,eventName,node,methodName);if(!handler){handler=this._createEventHandler(node,eventName,methodName);} 3882if(handler._listening){return;} 3883this._listen(node,eventName,handler);handler._listening=true;},_boundListenerKey:function(eventName,methodName){return eventName+':'+methodName;},_recordEventHandler:function(host,eventName,target,methodName,handler){var hbl=host.__boundListeners;if(!hbl){hbl=host.__boundListeners=new WeakMap();} 3884var bl=hbl.get(target);if(!bl){bl={};if(!Polymer.Settings.isIE||target!=window){hbl.set(target,bl);}} 3885var key=this._boundListenerKey(eventName,methodName);bl[key]=handler;},_recallEventHandler:function(host,eventName,target,methodName){var hbl=host.__boundListeners;if(!hbl){return;} 3886var bl=hbl.get(target);if(!bl){return;} 3887var key=this._boundListenerKey(eventName,methodName);return bl[key];},_createEventHandler:function(node,eventName,methodName){var host=this;var handler=function(e){if(host[methodName]){host[methodName](e,e.detail);}else{host._warn(host._logf('_createEventHandler','listener method `'+methodName+'` not defined'));}};handler._listening=false;this._recordEventHandler(host,eventName,node,methodName,handler);return handler;},unlisten:function(node,eventName,methodName){var handler=this._recallEventHandler(this,eventName,node,methodName);if(handler){this._unlisten(node,eventName,handler);handler._listening=false;}},_listen:function(node,eventName,handler){node.addEventListener(eventName,handler);},_unlisten:function(node,eventName,handler){node.removeEventListener(eventName,handler);}});(function(){'use strict';var wrap=Polymer.DomApi.wrap;var HAS_NATIVE_TA=typeof document.head.style.touchAction==='string';var GESTURE_KEY='__polymerGestures';var HANDLED_OBJ='__polymerGesturesHandled';var TOUCH_ACTION='__polymerGesturesTouchAction';var TAP_DISTANCE=25;var TRACK_DISTANCE=5;var TRACK_LENGTH=2;var MOUSE_TIMEOUT=2500;var MOUSE_EVENTS=['mousedown','mousemove','mouseup','click'];var MOUSE_WHICH_TO_BUTTONS=[0,1,4,2];var MOUSE_HAS_BUTTONS=function(){try{return new MouseEvent('test',{buttons:1}).buttons===1;}catch(e){return false;}}();var SUPPORTS_PASSIVE=false;(function(){try{var opts=Object.defineProperty({},'passive',{get:function(){SUPPORTS_PASSIVE=true;}});window.addEventListener('test',null,opts);window.removeEventListener('test',null,opts);}catch(e){}}());var IS_TOUCH_ONLY=navigator.userAgent.match(/iP(?:[oa]d|hone)|Android/);var mouseCanceller=function(mouseEvent){var sc=mouseEvent.sourceCapabilities;if(sc&&!sc.firesTouchEvents){return;} 3888mouseEvent[HANDLED_OBJ]={skip:true};if(mouseEvent.type==='click'){var path=Polymer.dom(mouseEvent).path;for(var i=0;i<path.length;i++){if(path[i]===POINTERSTATE.mouse.target){return;}} 3889mouseEvent.preventDefault();mouseEvent.stopPropagation();}};function setupTeardownMouseCanceller(setup){var events=IS_TOUCH_ONLY?['click']:MOUSE_EVENTS;for(var i=0,en;i<events.length;i++){en=events[i];if(setup){document.addEventListener(en,mouseCanceller,true);}else{document.removeEventListener(en,mouseCanceller,true);}}} 3890function ignoreMouse(ev){if(!POINTERSTATE.mouse.mouseIgnoreJob){setupTeardownMouseCanceller(true);} 3891var unset=function(){setupTeardownMouseCanceller();POINTERSTATE.mouse.target=null;POINTERSTATE.mouse.mouseIgnoreJob=null;};POINTERSTATE.mouse.target=Polymer.dom(ev).rootTarget;POINTERSTATE.mouse.mouseIgnoreJob=Polymer.Debounce(POINTERSTATE.mouse.mouseIgnoreJob,unset,MOUSE_TIMEOUT);} 3892function hasLeftMouseButton(ev){var type=ev.type;if(MOUSE_EVENTS.indexOf(type)===-1){return false;} 3893if(type==='mousemove'){var buttons=ev.buttons===undefined?1:ev.buttons;if(ev instanceof window.MouseEvent&&!MOUSE_HAS_BUTTONS){buttons=MOUSE_WHICH_TO_BUTTONS[ev.which]||0;} 3894return Boolean(buttons&1);}else{var button=ev.button===undefined?0:ev.button;return button===0;}} 3895function isSyntheticClick(ev){if(ev.type==='click'){if(ev.detail===0){return true;} 3896var t=Gestures.findOriginalTarget(ev);var bcr=t.getBoundingClientRect();var x=ev.pageX,y=ev.pageY;return!(x>=bcr.left&&x<=bcr.right&&(y>=bcr.top&&y<=bcr.bottom));} 3897return false;} 3898var POINTERSTATE={mouse:{target:null,mouseIgnoreJob:null},touch:{x:0,y:0,id:-1,scrollDecided:false}};function firstTouchAction(ev){var path=Polymer.dom(ev).path;var ta='auto';for(var i=0,n;i<path.length;i++){n=path[i];if(n[TOUCH_ACTION]){ta=n[TOUCH_ACTION];break;}} 3899return ta;} 3900function trackDocument(stateObj,movefn,upfn){stateObj.movefn=movefn;stateObj.upfn=upfn;document.addEventListener('mousemove',movefn);document.addEventListener('mouseup',upfn);} 3901function untrackDocument(stateObj){document.removeEventListener('mousemove',stateObj.movefn);document.removeEventListener('mouseup',stateObj.upfn);stateObj.movefn=null;stateObj.upfn=null;} 3902document.addEventListener('touchend',ignoreMouse,SUPPORTS_PASSIVE?{passive:true}:false);var Gestures={gestures:{},recognizers:[],deepTargetFind:function(x,y){var node=document.elementFromPoint(x,y);var next=node;while(next&&next.shadowRoot){next=next.shadowRoot.elementFromPoint(x,y);if(next){node=next;}} 3903return node;},findOriginalTarget:function(ev){if(ev.path){return ev.path[0];} 3904return ev.target;},handleNative:function(ev){var handled;var type=ev.type;var node=wrap(ev.currentTarget);var gobj=node[GESTURE_KEY];if(!gobj){return;} 3905var gs=gobj[type];if(!gs){return;} 3906if(!ev[HANDLED_OBJ]){ev[HANDLED_OBJ]={};if(type.slice(0,5)==='touch'){var t=ev.changedTouches[0];if(type==='touchstart'){if(ev.touches.length===1){POINTERSTATE.touch.id=t.identifier;}} 3907if(POINTERSTATE.touch.id!==t.identifier){return;} 3908if(!HAS_NATIVE_TA){if(type==='touchstart'||type==='touchmove'){Gestures.handleTouchAction(ev);}}}} 3909handled=ev[HANDLED_OBJ];if(handled.skip){return;} 3910var recognizers=Gestures.recognizers;for(var i=0,r;i<recognizers.length;i++){r=recognizers[i];if(gs[r.name]&&!handled[r.name]){if(r.flow&&r.flow.start.indexOf(ev.type)>-1&&r.reset){r.reset();}}} 3911for(i=0,r;i<recognizers.length;i++){r=recognizers[i];if(gs[r.name]&&!handled[r.name]){handled[r.name]=true;r[type](ev);}}},handleTouchAction:function(ev){var t=ev.changedTouches[0];var type=ev.type;if(type==='touchstart'){POINTERSTATE.touch.x=t.clientX;POINTERSTATE.touch.y=t.clientY;POINTERSTATE.touch.scrollDecided=false;}else if(type==='touchmove'){if(POINTERSTATE.touch.scrollDecided){return;} 3912POINTERSTATE.touch.scrollDecided=true;var ta=firstTouchAction(ev);var prevent=false;var dx=Math.abs(POINTERSTATE.touch.x-t.clientX);var dy=Math.abs(POINTERSTATE.touch.y-t.clientY);if(!ev.cancelable){}else if(ta==='none'){prevent=true;}else if(ta==='pan-x'){prevent=dy>dx;}else if(ta==='pan-y'){prevent=dx>dy;} 3913if(prevent){ev.preventDefault();}else{Gestures.prevent('track');}}},add:function(node,evType,handler){node=wrap(node);var recognizer=this.gestures[evType];var deps=recognizer.deps;var name=recognizer.name;var gobj=node[GESTURE_KEY];if(!gobj){node[GESTURE_KEY]=gobj={};} 3914for(var i=0,dep,gd;i<deps.length;i++){dep=deps[i];if(IS_TOUCH_ONLY&&MOUSE_EVENTS.indexOf(dep)>-1&&dep!=='click'){continue;} 3915gd=gobj[dep];if(!gd){gobj[dep]=gd={_count:0};} 3916if(gd._count===0){node.addEventListener(dep,this.handleNative);} 3917gd[name]=(gd[name]||0)+1;gd._count=(gd._count||0)+1;} 3918node.addEventListener(evType,handler);if(recognizer.touchAction){this.setTouchAction(node,recognizer.touchAction);}},remove:function(node,evType,handler){node=wrap(node);var recognizer=this.gestures[evType];var deps=recognizer.deps;var name=recognizer.name;var gobj=node[GESTURE_KEY];if(gobj){for(var i=0,dep,gd;i<deps.length;i++){dep=deps[i];gd=gobj[dep];if(gd&&gd[name]){gd[name]=(gd[name]||1)-1;gd._count=(gd._count||1)-1;if(gd._count===0){node.removeEventListener(dep,this.handleNative);}}}} 3919node.removeEventListener(evType,handler);},register:function(recog){this.recognizers.push(recog);for(var i=0;i<recog.emits.length;i++){this.gestures[recog.emits[i]]=recog;}},findRecognizerByEvent:function(evName){for(var i=0,r;i<this.recognizers.length;i++){r=this.recognizers[i];for(var j=0,n;j<r.emits.length;j++){n=r.emits[j];if(n===evName){return r;}}} 3920return null;},setTouchAction:function(node,value){if(HAS_NATIVE_TA){node.style.touchAction=value;} 3921node[TOUCH_ACTION]=value;},fire:function(target,type,detail){var ev=Polymer.Base.fire(type,detail,{node:target,bubbles:true,cancelable:true});if(ev.defaultPrevented){var preventer=detail.preventer||detail.sourceEvent;if(preventer&&preventer.preventDefault){preventer.preventDefault();}}},prevent:function(evName){var recognizer=this.findRecognizerByEvent(evName);if(recognizer.info){recognizer.info.prevent=true;}},resetMouseCanceller:function(){if(POINTERSTATE.mouse.mouseIgnoreJob){POINTERSTATE.mouse.mouseIgnoreJob.complete();}}};Gestures.register({name:'downup',deps:['mousedown','touchstart','touchend'],flow:{start:['mousedown','touchstart'],end:['mouseup','touchend']},emits:['down','up'],info:{movefn:null,upfn:null},reset:function(){untrackDocument(this.info);},mousedown:function(e){if(!hasLeftMouseButton(e)){return;} 3922var t=Gestures.findOriginalTarget(e);var self=this;var movefn=function movefn(e){if(!hasLeftMouseButton(e)){self.fire('up',t,e);untrackDocument(self.info);}};var upfn=function upfn(e){if(hasLeftMouseButton(e)){self.fire('up',t,e);} 3923untrackDocument(self.info);};trackDocument(this.info,movefn,upfn);this.fire('down',t,e);},touchstart:function(e){this.fire('down',Gestures.findOriginalTarget(e),e.changedTouches[0],e);},touchend:function(e){this.fire('up',Gestures.findOriginalTarget(e),e.changedTouches[0],e);},fire:function(type,target,event,preventer){Gestures.fire(target,type,{x:event.clientX,y:event.clientY,sourceEvent:event,preventer:preventer,prevent:function(e){return Gestures.prevent(e);}});}});Gestures.register({name:'track',touchAction:'none',deps:['mousedown','touchstart','touchmove','touchend'],flow:{start:['mousedown','touchstart'],end:['mouseup','touchend']},emits:['track'],info:{x:0,y:0,state:'start',started:false,moves:[],addMove:function(move){if(this.moves.length>TRACK_LENGTH){this.moves.shift();} 3924this.moves.push(move);},movefn:null,upfn:null,prevent:false},reset:function(){this.info.state='start';this.info.started=false;this.info.moves=[];this.info.x=0;this.info.y=0;this.info.prevent=false;untrackDocument(this.info);},hasMovedEnough:function(x,y){if(this.info.prevent){return false;} 3925if(this.info.started){return true;} 3926var dx=Math.abs(this.info.x-x);var dy=Math.abs(this.info.y-y);return dx>=TRACK_DISTANCE||dy>=TRACK_DISTANCE;},mousedown:function(e){if(!hasLeftMouseButton(e)){return;} 3927var t=Gestures.findOriginalTarget(e);var self=this;var movefn=function movefn(e){var x=e.clientX,y=e.clientY;if(self.hasMovedEnough(x,y)){self.info.state=self.info.started?e.type==='mouseup'?'end':'track':'start';if(self.info.state==='start'){Gestures.prevent('tap');} 3928self.info.addMove({x:x,y:y});if(!hasLeftMouseButton(e)){self.info.state='end';untrackDocument(self.info);} 3929self.fire(t,e);self.info.started=true;}};var upfn=function upfn(e){if(self.info.started){movefn(e);} 3930untrackDocument(self.info);};trackDocument(this.info,movefn,upfn);this.info.x=e.clientX;this.info.y=e.clientY;},touchstart:function(e){var ct=e.changedTouches[0];this.info.x=ct.clientX;this.info.y=ct.clientY;},touchmove:function(e){var t=Gestures.findOriginalTarget(e);var ct=e.changedTouches[0];var x=ct.clientX,y=ct.clientY;if(this.hasMovedEnough(x,y)){if(this.info.state==='start'){Gestures.prevent('tap');} 3931this.info.addMove({x:x,y:y});this.fire(t,ct);this.info.state='track';this.info.started=true;}},touchend:function(e){var t=Gestures.findOriginalTarget(e);var ct=e.changedTouches[0];if(this.info.started){this.info.state='end';this.info.addMove({x:ct.clientX,y:ct.clientY});this.fire(t,ct,e);}},fire:function(target,touch,preventer){var secondlast=this.info.moves[this.info.moves.length-2];var lastmove=this.info.moves[this.info.moves.length-1];var dx=lastmove.x-this.info.x;var dy=lastmove.y-this.info.y;var ddx,ddy=0;if(secondlast){ddx=lastmove.x-secondlast.x;ddy=lastmove.y-secondlast.y;} 3932return Gestures.fire(target,'track',{state:this.info.state,x:touch.clientX,y:touch.clientY,dx:dx,dy:dy,ddx:ddx,ddy:ddy,sourceEvent:touch,preventer:preventer,hover:function(){return Gestures.deepTargetFind(touch.clientX,touch.clientY);}});}});Gestures.register({name:'tap',deps:['mousedown','click','touchstart','touchend'],flow:{start:['mousedown','touchstart'],end:['click','touchend']},emits:['tap'],info:{x:NaN,y:NaN,prevent:false},reset:function(){this.info.x=NaN;this.info.y=NaN;this.info.prevent=false;},save:function(e){this.info.x=e.clientX;this.info.y=e.clientY;},mousedown:function(e){if(hasLeftMouseButton(e)){this.save(e);}},click:function(e){if(hasLeftMouseButton(e)){this.forward(e);}},touchstart:function(e){this.save(e.changedTouches[0],e);},touchend:function(e){this.forward(e.changedTouches[0],e);},forward:function(e,preventer){var dx=Math.abs(e.clientX-this.info.x);var dy=Math.abs(e.clientY-this.info.y);var t=Gestures.findOriginalTarget(e);if(isNaN(dx)||isNaN(dy)||dx<=TAP_DISTANCE&&dy<=TAP_DISTANCE||isSyntheticClick(e)){if(!this.info.prevent){Gestures.fire(t,'tap',{x:e.clientX,y:e.clientY,sourceEvent:e,preventer:preventer});}}}});var DIRECTION_MAP={x:'pan-x',y:'pan-y',none:'none',all:'auto'};Polymer.Base._addFeature({_setupGestures:function(){this.__polymerGestures=null;},_listen:function(node,eventName,handler){if(Gestures.gestures[eventName]){Gestures.add(node,eventName,handler);}else{node.addEventListener(eventName,handler);}},_unlisten:function(node,eventName,handler){if(Gestures.gestures[eventName]){Gestures.remove(node,eventName,handler);}else{node.removeEventListener(eventName,handler);}},setScrollDirection:function(direction,node){node=node||this;Gestures.setTouchAction(node,DIRECTION_MAP[direction]||'auto');}});Polymer.Gestures=Gestures;}());(function(){'use strict';Polymer.Base._addFeature({$$:function(slctr){return Polymer.dom(this.root).querySelector(slctr);},toggleClass:function(name,bool,node){node=node||this;if(arguments.length==1){bool=!node.classList.contains(name);} 3933if(bool){Polymer.dom(node).classList.add(name);}else{Polymer.dom(node).classList.remove(name);}},toggleAttribute:function(name,bool,node){node=node||this;if(arguments.length==1){bool=!node.hasAttribute(name);} 3934if(bool){Polymer.dom(node).setAttribute(name,'');}else{Polymer.dom(node).removeAttribute(name);}},classFollows:function(name,toElement,fromElement){if(fromElement){Polymer.dom(fromElement).classList.remove(name);} 3935if(toElement){Polymer.dom(toElement).classList.add(name);}},attributeFollows:function(name,toElement,fromElement){if(fromElement){Polymer.dom(fromElement).removeAttribute(name);} 3936if(toElement){Polymer.dom(toElement).setAttribute(name,'');}},getEffectiveChildNodes:function(){return Polymer.dom(this).getEffectiveChildNodes();},getEffectiveChildren:function(){var list=Polymer.dom(this).getEffectiveChildNodes();return list.filter(function(n){return n.nodeType===Node.ELEMENT_NODE;});},getEffectiveTextContent:function(){var cn=this.getEffectiveChildNodes();var tc=[];for(var i=0,c;c=cn[i];i++){if(c.nodeType!==Node.COMMENT_NODE){tc.push(Polymer.dom(c).textContent);}} 3937return tc.join('');},queryEffectiveChildren:function(slctr){var e$=Polymer.dom(this).queryDistributedElements(slctr);return e$&&e$[0];},queryAllEffectiveChildren:function(slctr){return Polymer.dom(this).queryDistributedElements(slctr);},getContentChildNodes:function(slctr){var content=Polymer.dom(this.root).querySelector(slctr||'content');return content?Polymer.dom(content).getDistributedNodes():[];},getContentChildren:function(slctr){return this.getContentChildNodes(slctr).filter(function(n){return n.nodeType===Node.ELEMENT_NODE;});},fire:function(type,detail,options){options=options||Polymer.nob;var node=options.node||this;detail=detail===null||detail===undefined?{}:detail;var bubbles=options.bubbles===undefined?true:options.bubbles;var cancelable=Boolean(options.cancelable);var useCache=options._useCache;var event=this._getEvent(type,bubbles,cancelable,useCache);event.detail=detail;if(useCache){this.__eventCache[type]=null;} 3938node.dispatchEvent(event);if(useCache){this.__eventCache[type]=event;} 3939return event;},__eventCache:{},_getEvent:function(type,bubbles,cancelable,useCache){var event=useCache&&this.__eventCache[type];if(!event||(event.bubbles!=bubbles||event.cancelable!=cancelable)){event=new Event(type,{bubbles:Boolean(bubbles),cancelable:cancelable});} 3940return event;},async:function(callback,waitTime){var self=this;return Polymer.Async.run(function(){callback.call(self);},waitTime);},cancelAsync:function(handle){Polymer.Async.cancel(handle);},arrayDelete:function(path,item){var index;if(Array.isArray(path)){index=path.indexOf(item);if(index>=0){return path.splice(index,1);}}else{var arr=this._get(path);index=arr.indexOf(item);if(index>=0){return this.splice(path,index,1);}}},transform:function(transform,node){node=node||this;node.style.webkitTransform=transform;node.style.transform=transform;},translate3d:function(x,y,z,node){node=node||this;this.transform('translate3d('+x+','+y+','+z+')',node);},importHref:function(href,onload,onerror,optAsync){var link=document.createElement('link');link.rel='import';link.href=href;var list=Polymer.Base.importHref.imported=Polymer.Base.importHref.imported||{};var cached=list[link.href];var imprt=cached||link;var self=this;var loadListener=function(e){e.target.__firedLoad=true;e.target.removeEventListener('load',loadListener);e.target.removeEventListener('error',errorListener);return onload.call(self,e);};var errorListener=function(e){e.target.__firedError=true;e.target.removeEventListener('load',loadListener);e.target.removeEventListener('error',errorListener);return onerror.call(self,e);};if(onload){imprt.addEventListener('load',loadListener);} 3941if(onerror){imprt.addEventListener('error',errorListener);} 3942if(cached){if(cached.__firedLoad){cached.dispatchEvent(new Event('load'));} 3943if(cached.__firedError){cached.dispatchEvent(new Event('error'));}}else{list[link.href]=link;optAsync=Boolean(optAsync);if(optAsync){link.setAttribute('async','');} 3944document.head.appendChild(link);} 3945return imprt;},create:function(tag,props){var elt=document.createElement(tag);if(props){for(var n in props){elt[n]=props[n];}} 3946return elt;},isLightDescendant:function(node){return this!==node&&this.contains(node)&&Polymer.dom(this).getOwnerRoot()===Polymer.dom(node).getOwnerRoot();},isLocalDescendant:function(node){return this.root===Polymer.dom(node).getOwnerRoot();}});if(!Polymer.Settings.useNativeCustomElements){var importHref=Polymer.Base.importHref;Polymer.Base.importHref=function(href,onload,onerror,optAsync){CustomElements.ready=false;var loadFn=function(e){CustomElements.upgradeDocumentTree(document);CustomElements.ready=true;if(onload){return onload.call(this,e);}};return importHref.call(this,href,loadFn,onerror,optAsync);};}}());Polymer.Bind={prepareModel:function(model){Polymer.Base.mixin(model,this._modelApi);},_modelApi:{_notifyChange:function(source,event,value){value=value===undefined?this[source]:value;event=event||Polymer.CaseMap.camelToDashCase(source)+'-changed';this.fire(event,{value:value},{bubbles:false,cancelable:false,_useCache:Polymer.Settings.eventDataCache||!Polymer.Settings.isIE});},_propertySetter:function(property,value,effects,fromAbove){var old=this.__data__[property];if(old!==value&&(old===old||value===value)){this.__data__[property]=value;if(typeof value=='object'){this._clearPath(property);} 3947if(this._propertyChanged){this._propertyChanged(property,value,old);} 3948if(effects){this._effectEffects(property,value,effects,old,fromAbove);}} 3949return old;},__setProperty:function(property,value,quiet,node){node=node||this;var effects=node._propertyEffects&&node._propertyEffects[property];if(effects){node._propertySetter(property,value,effects,quiet);}else if(node[property]!==value){node[property]=value;}},_effectEffects:function(property,value,effects,old,fromAbove){for(var i=0,l=effects.length,fx;i<l&&(fx=effects[i]);i++){fx.fn.call(this,property,this[property],fx.effect,old,fromAbove);}},_clearPath:function(path){for(var prop in this.__data__){if(Polymer.Path.isDescendant(path,prop)){this.__data__[prop]=undefined;}}}},ensurePropertyEffects:function(model,property){if(!model._propertyEffects){model._propertyEffects={};} 3950var fx=model._propertyEffects[property];if(!fx){fx=model._propertyEffects[property]=[];} 3951return fx;},addPropertyEffect:function(model,property,kind,effect){var fx=this.ensurePropertyEffects(model,property);var propEffect={kind:kind,effect:effect,fn:Polymer.Bind['_'+kind+'Effect']};fx.push(propEffect);return propEffect;},createBindings:function(model){var fx$=model._propertyEffects;if(fx$){for(var n in fx$){var fx=fx$[n];fx.sort(this._sortPropertyEffects);this._createAccessors(model,n,fx);}}},_sortPropertyEffects:function(){var EFFECT_ORDER={'compute':0,'annotation':1,'annotatedComputation':2,'reflect':3,'notify':4,'observer':5,'complexObserver':6,'function':7};return function(a,b){return EFFECT_ORDER[a.kind]-EFFECT_ORDER[b.kind];};}(),_createAccessors:function(model,property,effects){var defun={get:function(){return this.__data__[property];}};var setter=function(value){this._propertySetter(property,value,effects);};var info=model.getPropertyInfo&&model.getPropertyInfo(property);if(info&&info.readOnly){if(!info.computed){model['_set'+this.upper(property)]=setter;}}else{defun.set=setter;} 3952Object.defineProperty(model,property,defun);},upper:function(name){return name[0].toUpperCase()+name.substring(1);},_addAnnotatedListener:function(model,index,property,path,event,negated){if(!model._bindListeners){model._bindListeners=[];} 3953var fn=this._notedListenerFactory(property,path,Polymer.Path.isDeep(path),negated);var eventName=event||Polymer.CaseMap.camelToDashCase(property)+'-changed';model._bindListeners.push({index:index,property:property,path:path,changedFn:fn,event:eventName});},_isEventBogus:function(e,target){return e.path&&e.path[0]!==target;},_notedListenerFactory:function(property,path,isStructured,negated){return function(target,value,targetPath){if(targetPath){var newPath=Polymer.Path.translate(property,path,targetPath);this._notifyPath(newPath,value);}else{value=target[property];if(negated){value=!value;} 3954if(!isStructured){this[path]=value;}else{if(this.__data__[path]!=value){this.set(path,value);}}}};},prepareInstance:function(inst){inst.__data__=Object.create(null);},setupBindListeners:function(inst){var b$=inst._bindListeners;for(var i=0,l=b$.length,info;i<l&&(info=b$[i]);i++){var node=inst._nodes[info.index];this._addNotifyListener(node,inst,info.event,info.changedFn);}},_addNotifyListener:function(element,context,event,changedFn){element.addEventListener(event,function(e){return context._notifyListener(changedFn,e);});}};Polymer.Base.mixin(Polymer.Bind,{_shouldAddListener:function(effect){return effect.name&&effect.kind!='attribute'&&effect.kind!='text'&&!effect.isCompound&&effect.parts[0].mode==='{';},_annotationEffect:function(source,value,effect){if(source!=effect.value){value=this._get(effect.value);this.__data__[effect.value]=value;} 3955this._applyEffectValue(effect,value);},_reflectEffect:function(source,value,effect){this.reflectPropertyToAttribute(source,effect.attribute,value);},_notifyEffect:function(source,value,effect,old,fromAbove){if(!fromAbove){this._notifyChange(source,effect.event,value);}},_functionEffect:function(source,value,fn,old,fromAbove){fn.call(this,source,value,old,fromAbove);},_observerEffect:function(source,value,effect,old){var fn=this[effect.method];if(fn){fn.call(this,value,old);}else{this._warn(this._logf('_observerEffect','observer method `'+effect.method+'` not defined'));}},_complexObserverEffect:function(source,value,effect){var fn=this[effect.method];if(fn){var args=Polymer.Bind._marshalArgs(this.__data__,effect,source,value);if(args){fn.apply(this,args);}}else if(effect.dynamicFn){}else{this._warn(this._logf('_complexObserverEffect','observer method `'+effect.method+'` not defined'));}},_computeEffect:function(source,value,effect){var fn=this[effect.method];if(fn){var args=Polymer.Bind._marshalArgs(this.__data__,effect,source,value);if(args){var computedvalue=fn.apply(this,args);this.__setProperty(effect.name,computedvalue);}}else if(effect.dynamicFn){}else{this._warn(this._logf('_computeEffect','compute method `'+effect.method+'` not defined'));}},_annotatedComputationEffect:function(source,value,effect){var computedHost=this._rootDataHost||this;var fn=computedHost[effect.method];if(fn){var args=Polymer.Bind._marshalArgs(this.__data__,effect,source,value);if(args){var computedvalue=fn.apply(computedHost,args);this._applyEffectValue(effect,computedvalue);}}else if(effect.dynamicFn){}else{computedHost._warn(computedHost._logf('_annotatedComputationEffect','compute method `'+effect.method+'` not defined'));}},_marshalArgs:function(model,effect,path,value){var values=[];var args=effect.args;var bailoutEarly=args.length>1||effect.dynamicFn;for(var i=0,l=args.length;i<l;i++){var arg=args[i];var name=arg.name;var v;if(arg.literal){v=arg.value;}else if(path===name){v=value;}else{v=model[name];if(v===undefined&&arg.structured){v=Polymer.Base._get(name,model);}} 3956if(bailoutEarly&&v===undefined){return;} 3957if(arg.wildcard){var matches=Polymer.Path.isAncestor(path,name);values[i]={path:matches?path:name,value:matches?value:v,base:v};}else{values[i]=v;}} 3958return values;}});Polymer.Base._addFeature({_addPropertyEffect:function(property,kind,effect){var prop=Polymer.Bind.addPropertyEffect(this,property,kind,effect);prop.pathFn=this['_'+prop.kind+'PathEffect'];},_prepEffects:function(){Polymer.Bind.prepareModel(this);this._addAnnotationEffects(this._notes);},_prepBindings:function(){Polymer.Bind.createBindings(this);},_addPropertyEffects:function(properties){if(properties){for(var p in properties){var prop=properties[p];if(prop.observer){this._addObserverEffect(p,prop.observer);} 3959if(prop.computed){prop.readOnly=true;this._addComputedEffect(p,prop.computed);} 3960if(prop.notify){this._addPropertyEffect(p,'notify',{event:Polymer.CaseMap.camelToDashCase(p)+'-changed'});} 3961if(prop.reflectToAttribute){var attr=Polymer.CaseMap.camelToDashCase(p);if(attr[0]==='-'){this._warn(this._logf('_addPropertyEffects','Property '+p+' cannot be reflected to attribute '+attr+' because "-" is not a valid starting attribute name. Use a lowercase first letter for the property instead.'));}else{this._addPropertyEffect(p,'reflect',{attribute:attr});}} 3962if(prop.readOnly){Polymer.Bind.ensurePropertyEffects(this,p);}}}},_addComputedEffect:function(name,expression){var sig=this._parseMethod(expression);var dynamicFn=sig.dynamicFn;for(var i=0,arg;i<sig.args.length&&(arg=sig.args[i]);i++){this._addPropertyEffect(arg.model,'compute',{method:sig.method,args:sig.args,trigger:arg,name:name,dynamicFn:dynamicFn});} 3963if(dynamicFn){this._addPropertyEffect(sig.method,'compute',{method:sig.method,args:sig.args,trigger:null,name:name,dynamicFn:dynamicFn});}},_addObserverEffect:function(property,observer){this._addPropertyEffect(property,'observer',{method:observer,property:property});},_addComplexObserverEffects:function(observers){if(observers){for(var i=0,o;i<observers.length&&(o=observers[i]);i++){this._addComplexObserverEffect(o);}}},_addComplexObserverEffect:function(observer){var sig=this._parseMethod(observer);if(!sig){throw new Error('Malformed observer expression \''+observer+'\'');} 3964var dynamicFn=sig.dynamicFn;for(var i=0,arg;i<sig.args.length&&(arg=sig.args[i]);i++){this._addPropertyEffect(arg.model,'complexObserver',{method:sig.method,args:sig.args,trigger:arg,dynamicFn:dynamicFn});} 3965if(dynamicFn){this._addPropertyEffect(sig.method,'complexObserver',{method:sig.method,args:sig.args,trigger:null,dynamicFn:dynamicFn});}},_addAnnotationEffects:function(notes){for(var i=0,note;i<notes.length&&(note=notes[i]);i++){var b$=note.bindings;for(var j=0,binding;j<b$.length&&(binding=b$[j]);j++){this._addAnnotationEffect(binding,i);}}},_addAnnotationEffect:function(note,index){if(Polymer.Bind._shouldAddListener(note)){Polymer.Bind._addAnnotatedListener(this,index,note.name,note.parts[0].value,note.parts[0].event,note.parts[0].negate);} 3966for(var i=0;i<note.parts.length;i++){var part=note.parts[i];if(part.signature){this._addAnnotatedComputationEffect(note,part,index);}else if(!part.literal){if(note.kind==='attribute'&¬e.name[0]==='-'){this._warn(this._logf('_addAnnotationEffect','Cannot set attribute '+note.name+' because "-" is not a valid attribute starting character'));}else{this._addPropertyEffect(part.model,'annotation',{kind:note.kind,index:index,name:note.name,propertyName:note.propertyName,value:part.value,isCompound:note.isCompound,compoundIndex:part.compoundIndex,event:part.event,customEvent:part.customEvent,negate:part.negate});}}}},_addAnnotatedComputationEffect:function(note,part,index){var sig=part.signature;if(sig.static){this.__addAnnotatedComputationEffect('__static__',index,note,part,null);}else{for(var i=0,arg;i<sig.args.length&&(arg=sig.args[i]);i++){if(!arg.literal){this.__addAnnotatedComputationEffect(arg.model,index,note,part,arg);}} 3967if(sig.dynamicFn){this.__addAnnotatedComputationEffect(sig.method,index,note,part,null);}}},__addAnnotatedComputationEffect:function(property,index,note,part,trigger){this._addPropertyEffect(property,'annotatedComputation',{index:index,isCompound:note.isCompound,compoundIndex:part.compoundIndex,kind:note.kind,name:note.name,negate:part.negate,method:part.signature.method,args:part.signature.args,trigger:trigger,dynamicFn:part.signature.dynamicFn});},_parseMethod:function(expression){var m=expression.match(/([^\s]+?)\(([\s\S]*)\)/);if(m){var sig={method:m[1],static:true};if(this.getPropertyInfo(sig.method)!==Polymer.nob){sig.static=false;sig.dynamicFn=true;} 3968if(m[2].trim()){var args=m[2].replace(/\\,/g,',').split(',');return this._parseArgs(args,sig);}else{sig.args=Polymer.nar;return sig;}}},_parseArgs:function(argList,sig){sig.args=argList.map(function(rawArg){var arg=this._parseArg(rawArg);if(!arg.literal){sig.static=false;} 3969return arg;},this);return sig;},_parseArg:function(rawArg){var arg=rawArg.trim().replace(/,/g,',').replace(/\\(.)/g,'$1');var a={name:arg};var fc=arg[0];if(fc==='-'){fc=arg[1];} 3970if(fc>='0'&&fc<='9'){fc='#';} 3971switch(fc){case'\'':case'"':a.value=arg.slice(1,-1);a.literal=true;break;case'#':a.value=Number(arg);a.literal=true;break;} 3972if(!a.literal){a.model=Polymer.Path.root(arg);a.structured=Polymer.Path.isDeep(arg);if(a.structured){a.wildcard=arg.slice(-2)=='.*';if(a.wildcard){a.name=arg.slice(0,-2);}}} 3973return a;},_marshalInstanceEffects:function(){Polymer.Bind.prepareInstance(this);if(this._bindListeners){Polymer.Bind.setupBindListeners(this);}},_applyEffectValue:function(info,value){var node=this._nodes[info.index];var property=info.name;value=this._computeFinalAnnotationValue(node,property,value,info);if(info.kind=='attribute'){this.serializeValueToAttribute(value,property,node);}else{var pinfo=node._propertyInfo&&node._propertyInfo[property];if(pinfo&&pinfo.readOnly){return;} 3974this.__setProperty(property,value,Polymer.Settings.suppressBindingNotifications,node);}},_computeFinalAnnotationValue:function(node,property,value,info){if(info.negate){value=!value;} 3975if(info.isCompound){var storage=node.__compoundStorage__[property];storage[info.compoundIndex]=value;value=storage.join('');} 3976if(info.kind!=='attribute'){if(property==='className'){value=this._scopeElementClass(node,value);} 3977if(property==='textContent'||node.localName=='input'&&property=='value'){value=value==undefined?'':value;}} 3978return value;},_executeStaticEffects:function(){if(this._propertyEffects&&this._propertyEffects.__static__){this._effectEffects('__static__',null,this._propertyEffects.__static__);}}});(function(){var usePolyfillProto=Polymer.Settings.usePolyfillProto;var avoidInstanceProperties=Boolean(Object.getOwnPropertyDescriptor(document.documentElement,'properties'));Polymer.Base._addFeature({_setupConfigure:function(initialConfig){this._config={};this._handlers=[];this._aboveConfig=null;if(initialConfig){for(var i in initialConfig){if(initialConfig[i]!==undefined){this._config[i]=initialConfig[i];}}}},_marshalAttributes:function(){this._takeAttributesToModel(this._config);},_attributeChangedImpl:function(name){var model=this._clientsReadied?this:this._config;this._setAttributeToProperty(model,name);},_configValue:function(name,value){var info=this._propertyInfo[name];if(!info||!info.readOnly){this._config[name]=value;}},_beforeClientsReady:function(){this._configure();},_configure:function(){this._configureAnnotationReferences();this._configureInstanceProperties();this._aboveConfig=this.mixin({},this._config);var config={};for(var i=0;i<this.behaviors.length;i++){this._configureProperties(this.behaviors[i].properties,config);} 3979this._configureProperties(avoidInstanceProperties?this.__proto__.properties:this.properties,config);this.mixin(config,this._aboveConfig);this._config=config;if(this._clients&&this._clients.length){this._distributeConfig(this._config);}},_configureInstanceProperties:function(){for(var i in this._propertyEffects){if(!usePolyfillProto&&this.hasOwnProperty(i)){this._configValue(i,this[i]);delete this[i];}}},_configureProperties:function(properties,config){for(var i in properties){var c=properties[i];if(c.value!==undefined){var value=c.value;if(typeof value=='function'){value=value.call(this,this._config);} 3980config[i]=value;}}},_distributeConfig:function(config){var fx$=this._propertyEffects;if(fx$){for(var p in config){var fx=fx$[p];if(fx){for(var i=0,l=fx.length,x;i<l&&(x=fx[i]);i++){if(x.kind==='annotation'){var node=this._nodes[x.effect.index];var name=x.effect.propertyName;var isAttr=x.effect.kind=='attribute';var hasEffect=node._propertyEffects&&node._propertyEffects[name];if(node._configValue&&(hasEffect||!isAttr)){var value=p===x.effect.value?config[p]:this._get(x.effect.value,config);value=this._computeFinalAnnotationValue(node,name,value,x.effect);if(isAttr){value=node.deserialize(this.serialize(value),node._propertyInfo[name].type);} 3981node._configValue(name,value);}}}}}}},_afterClientsReady:function(){this._executeStaticEffects();this._applyConfig(this._config,this._aboveConfig);this._flushHandlers();},_applyConfig:function(config,aboveConfig){for(var n in config){if(this[n]===undefined){this.__setProperty(n,config[n],n in aboveConfig);}}},_notifyListener:function(fn,e){if(!Polymer.Bind._isEventBogus(e,e.target)){var value,path;if(e.detail){value=e.detail.value;path=e.detail.path;} 3982if(!this._clientsReadied){this._queueHandler([fn,e.target,value,path]);}else{return fn.call(this,e.target,value,path);}}},_queueHandler:function(args){this._handlers.push(args);},_flushHandlers:function(){var h$=this._handlers;for(var i=0,l=h$.length,h;i<l&&(h=h$[i]);i++){h[0].call(this,h[1],h[2],h[3]);} 3983this._handlers=[];}});}());(function(){'use strict';var Path=Polymer.Path;Polymer.Base._addFeature({notifyPath:function(path,value,fromAbove){var info={};var v=this._get(path,this,info);if(arguments.length===1){value=v;} 3984if(info.path){this._notifyPath(info.path,value,fromAbove);}},_notifyPath:function(path,value,fromAbove){var old=this._propertySetter(path,value);if(old!==value&&(old===old||value===value)){this._pathEffector(path,value);if(!fromAbove){this._notifyPathUp(path,value);} 3985return true;}},_getPathParts:function(path){if(Array.isArray(path)){var parts=[];for(var i=0;i<path.length;i++){var args=path[i].toString().split('.');for(var j=0;j<args.length;j++){parts.push(args[j]);}} 3986return parts;}else{return path.toString().split('.');}},set:function(path,value,root){var prop=root||this;var parts=this._getPathParts(path);var array;var last=parts[parts.length-1];if(parts.length>1){for(var i=0;i<parts.length-1;i++){var part=parts[i];if(array&&part[0]=='#'){prop=Polymer.Collection.get(array).getItem(part);}else{prop=prop[part];if(array&&parseInt(part,10)==part){parts[i]=Polymer.Collection.get(array).getKey(prop);}} 3987if(!prop){return;} 3988array=Array.isArray(prop)?prop:null;} 3989if(array){var coll=Polymer.Collection.get(array);var old,key;if(last[0]=='#'){key=last;old=coll.getItem(key);last=array.indexOf(old);coll.setItem(key,value);}else if(parseInt(last,10)==last){old=prop[last];key=coll.getKey(old);parts[i]=key;coll.setItem(key,value);}} 3990prop[last]=value;if(!root){this._notifyPath(parts.join('.'),value);}}else{prop[path]=value;}},get:function(path,root){return this._get(path,root);},_get:function(path,root,info){var prop=root||this;var parts=this._getPathParts(path);var array;for(var i=0;i<parts.length;i++){if(!prop){return;} 3991var part=parts[i];if(array&&part[0]=='#'){prop=Polymer.Collection.get(array).getItem(part);}else{prop=prop[part];if(info&&array&&parseInt(part,10)==part){parts[i]=Polymer.Collection.get(array).getKey(prop);}} 3992array=Array.isArray(prop)?prop:null;} 3993if(info){info.path=parts.join('.');} 3994return prop;},_pathEffector:function(path,value){var model=Path.root(path);var fx$=this._propertyEffects&&this._propertyEffects[model];if(fx$){for(var i=0,fx;i<fx$.length&&(fx=fx$[i]);i++){var fxFn=fx.pathFn;if(fxFn){fxFn.call(this,path,value,fx.effect);}}} 3995if(this._boundPaths){this._notifyBoundPaths(path,value);}},_annotationPathEffect:function(path,value,effect){if(Path.matches(effect.value,false,path)){Polymer.Bind._annotationEffect.call(this,path,value,effect);}else if(!effect.negate&&Path.isDescendant(effect.value,path)){var node=this._nodes[effect.index];if(node&&node._notifyPath){var newPath=Path.translate(effect.value,effect.name,path);node._notifyPath(newPath,value,true);}}},_complexObserverPathEffect:function(path,value,effect){if(Path.matches(effect.trigger.name,effect.trigger.wildcard,path)){Polymer.Bind._complexObserverEffect.call(this,path,value,effect);}},_computePathEffect:function(path,value,effect){if(Path.matches(effect.trigger.name,effect.trigger.wildcard,path)){Polymer.Bind._computeEffect.call(this,path,value,effect);}},_annotatedComputationPathEffect:function(path,value,effect){if(Path.matches(effect.trigger.name,effect.trigger.wildcard,path)){Polymer.Bind._annotatedComputationEffect.call(this,path,value,effect);}},linkPaths:function(to,from){this._boundPaths=this._boundPaths||{};if(from){this._boundPaths[to]=from;}else{this.unlinkPaths(to);}},unlinkPaths:function(path){if(this._boundPaths){delete this._boundPaths[path];}},_notifyBoundPaths:function(path,value){for(var a in this._boundPaths){var b=this._boundPaths[a];if(Path.isDescendant(a,path)){this._notifyPath(Path.translate(a,b,path),value);}else if(Path.isDescendant(b,path)){this._notifyPath(Path.translate(b,a,path),value);}}},_notifyPathUp:function(path,value){var rootName=Path.root(path);var dashCaseName=Polymer.CaseMap.camelToDashCase(rootName);var eventName=dashCaseName+this._EVENT_CHANGED;this.fire(eventName,{path:path,value:value},{bubbles:false,_useCache:Polymer.Settings.eventDataCache||!Polymer.Settings.isIE});},_EVENT_CHANGED:'-changed',notifySplices:function(path,splices){var info={};var array=this._get(path,this,info);this._notifySplices(array,info.path,splices);},_notifySplices:function(array,path,splices){var change={keySplices:Polymer.Collection.applySplices(array,splices),indexSplices:splices};var splicesPath=path+'.splices';this._notifyPath(splicesPath,change);this._notifyPath(path+'.length',array.length);this.__data__[splicesPath]={keySplices:null,indexSplices:null};},_notifySplice:function(array,path,index,added,removed){this._notifySplices(array,path,[{index:index,addedCount:added,removed:removed,object:array,type:'splice'}]);},push:function(path){var info={};var array=this._get(path,this,info);var args=Array.prototype.slice.call(arguments,1);var len=array.length;var ret=array.push.apply(array,args);if(args.length){this._notifySplice(array,info.path,len,args.length,[]);} 3996return ret;},pop:function(path){var info={};var array=this._get(path,this,info);var hadLength=Boolean(array.length);var args=Array.prototype.slice.call(arguments,1);var ret=array.pop.apply(array,args);if(hadLength){this._notifySplice(array,info.path,array.length,0,[ret]);} 3997return ret;},splice:function(path,start){var info={};var array=this._get(path,this,info);if(start<0){start=array.length-Math.floor(-start);}else{start=Math.floor(start);} 3998if(!start){start=0;} 3999var args=Array.prototype.slice.call(arguments,1);var ret=array.splice.apply(array,args);var addedCount=Math.max(args.length-2,0);if(addedCount||ret.length){this._notifySplice(array,info.path,start,addedCount,ret);} 4000return ret;},shift:function(path){var info={};var array=this._get(path,this,info);var hadLength=Boolean(array.length);var args=Array.prototype.slice.call(arguments,1);var ret=array.shift.apply(array,args);if(hadLength){this._notifySplice(array,info.path,0,0,[ret]);} 4001return ret;},unshift:function(path){var info={};var array=this._get(path,this,info);var args=Array.prototype.slice.call(arguments,1);var ret=array.unshift.apply(array,args);if(args.length){this._notifySplice(array,info.path,0,args.length,[]);} 4002return ret;},prepareModelNotifyPath:function(model){this.mixin(model,{fire:Polymer.Base.fire,_getEvent:Polymer.Base._getEvent,__eventCache:Polymer.Base.__eventCache,notifyPath:Polymer.Base.notifyPath,_get:Polymer.Base._get,_EVENT_CHANGED:Polymer.Base._EVENT_CHANGED,_notifyPath:Polymer.Base._notifyPath,_notifyPathUp:Polymer.Base._notifyPathUp,_pathEffector:Polymer.Base._pathEffector,_annotationPathEffect:Polymer.Base._annotationPathEffect,_complexObserverPathEffect:Polymer.Base._complexObserverPathEffect,_annotatedComputationPathEffect:Polymer.Base._annotatedComputationPathEffect,_computePathEffect:Polymer.Base._computePathEffect,_notifyBoundPaths:Polymer.Base._notifyBoundPaths,_getPathParts:Polymer.Base._getPathParts});}});}());Polymer.Base._addFeature({resolveUrl:function(url){var module=Polymer.DomModule.import(this.is);var root='';if(module){var assetPath=module.getAttribute('assetpath')||'';root=Polymer.ResolveUrl.resolveUrl(assetPath,module.ownerDocument.baseURI);} 4003return Polymer.ResolveUrl.resolveUrl(url,root);}});Polymer.CssParse=function(){return{parse:function(text){text=this._clean(text);return this._parseCss(this._lex(text),text);},_clean:function(cssText){return cssText.replace(this._rx.comments,'').replace(this._rx.port,'');},_lex:function(text){var root={start:0,end:text.length};var n=root;for(var i=0,l=text.length;i<l;i++){switch(text[i]){case this.OPEN_BRACE:if(!n.rules){n.rules=[];} 4004var p=n;var previous=p.rules[p.rules.length-1];n={start:i+1,parent:p,previous:previous};p.rules.push(n);break;case this.CLOSE_BRACE:n.end=i+1;n=n.parent||root;break;}} 4005return root;},_parseCss:function(node,text){var t=text.substring(node.start,node.end-1);node.parsedCssText=node.cssText=t.trim();if(node.parent){var ss=node.previous?node.previous.end:node.parent.start;t=text.substring(ss,node.start-1);t=this._expandUnicodeEscapes(t);t=t.replace(this._rx.multipleSpaces,' ');t=t.substring(t.lastIndexOf(';')+1);var s=node.parsedSelector=node.selector=t.trim();node.atRule=s.indexOf(this.AT_START)===0;if(node.atRule){if(s.indexOf(this.MEDIA_START)===0){node.type=this.types.MEDIA_RULE;}else if(s.match(this._rx.keyframesRule)){node.type=this.types.KEYFRAMES_RULE;node.keyframesName=node.selector.split(this._rx.multipleSpaces).pop();}}else{if(s.indexOf(this.VAR_START)===0){node.type=this.types.MIXIN_RULE;}else{node.type=this.types.STYLE_RULE;}}} 4006var r$=node.rules;if(r$){for(var i=0,l=r$.length,r;i<l&&(r=r$[i]);i++){this._parseCss(r,text);}} 4007return node;},_expandUnicodeEscapes:function(s){return s.replace(/\\([0-9a-f]{1,6})\s/gi,function(){var code=arguments[1],repeat=6-code.length;while(repeat--){code='0'+code;} 4008return'\\'+code;});},stringify:function(node,preserveProperties,text){text=text||'';var cssText='';if(node.cssText||node.rules){var r$=node.rules;if(r$&&!this._hasMixinRules(r$)){for(var i=0,l=r$.length,r;i<l&&(r=r$[i]);i++){cssText=this.stringify(r,preserveProperties,cssText);}}else{cssText=preserveProperties?node.cssText:this.removeCustomProps(node.cssText);cssText=cssText.trim();if(cssText){cssText=' '+cssText+'\n';}}} 4009if(cssText){if(node.selector){text+=node.selector+' '+this.OPEN_BRACE+'\n';} 4010text+=cssText;if(node.selector){text+=this.CLOSE_BRACE+'\n\n';}} 4011return text;},_hasMixinRules:function(rules){return rules[0].selector.indexOf(this.VAR_START)===0;},removeCustomProps:function(cssText){cssText=this.removeCustomPropAssignment(cssText);return this.removeCustomPropApply(cssText);},removeCustomPropAssignment:function(cssText){return cssText.replace(this._rx.customProp,'').replace(this._rx.mixinProp,'');},removeCustomPropApply:function(cssText){return cssText.replace(this._rx.mixinApply,'').replace(this._rx.varApply,'');},types:{STYLE_RULE:1,KEYFRAMES_RULE:7,MEDIA_RULE:4,MIXIN_RULE:1000},OPEN_BRACE:'{',CLOSE_BRACE:'}',_rx:{comments:/\/\*[^*]*\*+([^\/*][^*]*\*+)*\//gim,port:/@import[^;]*;/gim,customProp:/(?:^[^;\-\s}]+)?--[^;{}]*?:[^{};]*?(?:[;\n]|$)/gim,mixinProp:/(?:^[^;\-\s}]+)?--[^;{}]*?:[^{};]*?{[^}]*?}(?:[;\n]|$)?/gim,mixinApply:/@apply\s*\(?[^);]*\)?\s*(?:[;\n]|$)?/gim,varApply:/[^;:]*?:[^;]*?var\([^;]*\)(?:[;\n]|$)?/gim,keyframesRule:/^@[^\s]*keyframes/,multipleSpaces:/\s+/g},VAR_START:'--',MEDIA_START:'@media',AT_START:'@'};}();Polymer.StyleUtil=function(){var settings=Polymer.Settings;return{NATIVE_VARIABLES:Polymer.Settings.useNativeCSSProperties,MODULE_STYLES_SELECTOR:'style, link[rel=import][type~=css], template',INCLUDE_ATTR:'include',toCssText:function(rules,callback){if(typeof rules==='string'){rules=this.parser.parse(rules);} 4012if(callback){this.forEachRule(rules,callback);} 4013return this.parser.stringify(rules,this.NATIVE_VARIABLES);},forRulesInStyles:function(styles,styleRuleCallback,keyframesRuleCallback){if(styles){for(var i=0,l=styles.length,s;i<l&&(s=styles[i]);i++){this.forEachRuleInStyle(s,styleRuleCallback,keyframesRuleCallback);}}},forActiveRulesInStyles:function(styles,styleRuleCallback,keyframesRuleCallback){if(styles){for(var i=0,l=styles.length,s;i<l&&(s=styles[i]);i++){this.forEachRuleInStyle(s,styleRuleCallback,keyframesRuleCallback,true);}}},rulesForStyle:function(style){if(!style.__cssRules&&style.textContent){style.__cssRules=this.parser.parse(style.textContent);} 4014return style.__cssRules;},isKeyframesSelector:function(rule){return rule.parent&&rule.parent.type===this.ruleTypes.KEYFRAMES_RULE;},forEachRuleInStyle:function(style,styleRuleCallback,keyframesRuleCallback,onlyActiveRules){var rules=this.rulesForStyle(style);var styleCallback,keyframeCallback;if(styleRuleCallback){styleCallback=function(rule){styleRuleCallback(rule,style);};} 4015if(keyframesRuleCallback){keyframeCallback=function(rule){keyframesRuleCallback(rule,style);};} 4016this.forEachRule(rules,styleCallback,keyframeCallback,onlyActiveRules);},forEachRule:function(node,styleRuleCallback,keyframesRuleCallback,onlyActiveRules){if(!node){return;} 4017var skipRules=false;if(onlyActiveRules){if(node.type===this.ruleTypes.MEDIA_RULE){var matchMedia=node.selector.match(this.rx.MEDIA_MATCH);if(matchMedia){if(!window.matchMedia(matchMedia[1]).matches){skipRules=true;}}}} 4018if(node.type===this.ruleTypes.STYLE_RULE){styleRuleCallback(node);}else if(keyframesRuleCallback&&node.type===this.ruleTypes.KEYFRAMES_RULE){keyframesRuleCallback(node);}else if(node.type===this.ruleTypes.MIXIN_RULE){skipRules=true;} 4019var r$=node.rules;if(r$&&!skipRules){for(var i=0,l=r$.length,r;i<l&&(r=r$[i]);i++){this.forEachRule(r,styleRuleCallback,keyframesRuleCallback,onlyActiveRules);}}},applyCss:function(cssText,moniker,target,contextNode){var style=this.createScopeStyle(cssText,moniker);return this.applyStyle(style,target,contextNode);},applyStyle:function(style,target,contextNode){target=target||document.head;var after=contextNode&&contextNode.nextSibling||target.firstChild;this.__lastHeadApplyNode=style;return target.insertBefore(style,after);},createScopeStyle:function(cssText,moniker){var style=document.createElement('style');if(moniker){style.setAttribute('scope',moniker);} 4020style.textContent=cssText;return style;},__lastHeadApplyNode:null,applyStylePlaceHolder:function(moniker){var placeHolder=document.createComment(' Shady DOM styles for '+moniker+' ');var after=this.__lastHeadApplyNode?this.__lastHeadApplyNode.nextSibling:null;var scope=document.head;scope.insertBefore(placeHolder,after||scope.firstChild);this.__lastHeadApplyNode=placeHolder;return placeHolder;},cssFromModules:function(moduleIds,warnIfNotFound){var modules=moduleIds.trim().split(' ');var cssText='';for(var i=0;i<modules.length;i++){cssText+=this.cssFromModule(modules[i],warnIfNotFound);} 4021return cssText;},cssFromModule:function(moduleId,warnIfNotFound){var m=Polymer.DomModule.import(moduleId);if(m&&!m._cssText){m._cssText=this.cssFromElement(m);} 4022if(!m&&warnIfNotFound){console.warn('Could not find style data in module named',moduleId);} 4023return m&&m._cssText||'';},cssFromElement:function(element){var cssText='';var content=element.content||element;var e$=Polymer.TreeApi.arrayCopy(content.querySelectorAll(this.MODULE_STYLES_SELECTOR));for(var i=0,e;i<e$.length;i++){e=e$[i];if(e.localName==='template'){if(!e.hasAttribute('preserve-content')){cssText+=this.cssFromElement(e);}}else{if(e.localName==='style'){var include=e.getAttribute(this.INCLUDE_ATTR);if(include){cssText+=this.cssFromModules(include,true);} 4024e=e.__appliedElement||e;e.parentNode.removeChild(e);cssText+=this.resolveCss(e.textContent,element.ownerDocument);}else if(e.import&&e.import.body){cssText+=this.resolveCss(e.import.body.textContent,e.import);}}} 4025return cssText;},styleIncludesToTemplate:function(targetTemplate){var styles=targetTemplate.content.querySelectorAll('style[include]');for(var i=0,s;i<styles.length;i++){s=styles[i];s.parentNode.insertBefore(this._includesToFragment(s.getAttribute('include')),s);}},_includesToFragment:function(styleIncludes){var includeArray=styleIncludes.trim().split(' ');var frag=document.createDocumentFragment();for(var i=0;i<includeArray.length;i++){var t=Polymer.DomModule.import(includeArray[i],'template');if(t){this._addStylesToFragment(frag,t.content);}} 4026return frag;},_addStylesToFragment:function(frag,source){var s$=source.querySelectorAll('style');for(var i=0,s;i<s$.length;i++){s=s$[i];var include=s.getAttribute('include');if(include){frag.appendChild(this._includesToFragment(include));} 4027if(s.textContent){frag.appendChild(s.cloneNode(true));}}},isTargetedBuild:function(buildType){return settings.useNativeShadow?buildType==='shadow':buildType==='shady';},cssBuildTypeForModule:function(module){var dm=Polymer.DomModule.import(module);if(dm){return this.getCssBuildType(dm);}},getCssBuildType:function(element){return element.getAttribute('css-build');},_findMatchingParen:function(text,start){var level=0;for(var i=start,l=text.length;i<l;i++){switch(text[i]){case'(':level++;break;case')':if(--level===0){return i;} 4028break;}} 4029return-1;},processVariableAndFallback:function(str,callback){var start=str.indexOf('var(');if(start===-1){return callback(str,'','','');} 4030var end=this._findMatchingParen(str,start+3);var inner=str.substring(start+4,end);var prefix=str.substring(0,start);var suffix=this.processVariableAndFallback(str.substring(end+1),callback);var comma=inner.indexOf(',');if(comma===-1){return callback(prefix,inner.trim(),'',suffix);} 4031var value=inner.substring(0,comma).trim();var fallback=inner.substring(comma+1).trim();return callback(prefix,value,fallback,suffix);},rx:{VAR_ASSIGN:/(?:^|[;\s{]\s*)(--[\w-]*?)\s*:\s*(?:([^;{]*)|{([^}]*)})(?:(?=[;\s}])|$)/gi,MIXIN_MATCH:/(?:^|\W+)@apply\s*\(?([^);\n]*)\)?/gi,VAR_CONSUMED:/(--[\w-]+)\s*([:,;)]|$)/gi,ANIMATION_MATCH:/(animation\s*:)|(animation-name\s*:)/,MEDIA_MATCH:/@media[^(]*(\([^)]*\))/,IS_VAR:/^--/,BRACKETED:/\{[^}]*\}/g,HOST_PREFIX:'(?:^|[^.#[:])',HOST_SUFFIX:'($|[.:[\\s>+~])'},resolveCss:Polymer.ResolveUrl.resolveCss,parser:Polymer.CssParse,ruleTypes:Polymer.CssParse.types};}();Polymer.StyleTransformer=function(){var styleUtil=Polymer.StyleUtil;var settings=Polymer.Settings;var api={dom:function(node,scope,useAttr,shouldRemoveScope){this._transformDom(node,scope||'',useAttr,shouldRemoveScope);},_transformDom:function(node,selector,useAttr,shouldRemoveScope){if(node.setAttribute){this.element(node,selector,useAttr,shouldRemoveScope);} 4032var c$=Polymer.dom(node).childNodes;for(var i=0;i<c$.length;i++){this._transformDom(c$[i],selector,useAttr,shouldRemoveScope);}},element:function(element,scope,useAttr,shouldRemoveScope){if(useAttr){if(shouldRemoveScope){element.removeAttribute(SCOPE_NAME);}else{element.setAttribute(SCOPE_NAME,scope);}}else{if(scope){if(element.classList){if(shouldRemoveScope){element.classList.remove(SCOPE_NAME);element.classList.remove(scope);}else{element.classList.add(SCOPE_NAME);element.classList.add(scope);}}else if(element.getAttribute){var c=element.getAttribute(CLASS);if(shouldRemoveScope){if(c){element.setAttribute(CLASS,c.replace(SCOPE_NAME,'').replace(scope,''));}}else{element.setAttribute(CLASS,(c?c+' ':'')+SCOPE_NAME+' '+scope);}}}}},elementStyles:function(element,callback){var styles=element._styles;var cssText='';var cssBuildType=element.__cssBuild;var passthrough=settings.useNativeShadow||cssBuildType==='shady';var cb;if(passthrough){var self=this;cb=function(rule){rule.selector=self._slottedToContent(rule.selector);rule.selector=rule.selector.replace(ROOT,':host > *');if(callback){callback(rule);}};} 4033for(var i=0,l=styles.length,s;i<l&&(s=styles[i]);i++){var rules=styleUtil.rulesForStyle(s);cssText+=passthrough?styleUtil.toCssText(rules,cb):this.css(rules,element.is,element.extends,callback,element._scopeCssViaAttr)+'\n\n';} 4034return cssText.trim();},css:function(rules,scope,ext,callback,useAttr){var hostScope=this._calcHostScope(scope,ext);scope=this._calcElementScope(scope,useAttr);var self=this;return styleUtil.toCssText(rules,function(rule){if(!rule.isScoped){self.rule(rule,scope,hostScope);rule.isScoped=true;} 4035if(callback){callback(rule,scope,hostScope);}});},_calcElementScope:function(scope,useAttr){if(scope){return useAttr?CSS_ATTR_PREFIX+scope+CSS_ATTR_SUFFIX:CSS_CLASS_PREFIX+scope;}else{return'';}},_calcHostScope:function(scope,ext){return ext?'[is='+scope+']':scope;},rule:function(rule,scope,hostScope){this._transformRule(rule,this._transformComplexSelector,scope,hostScope);},_transformRule:function(rule,transformer,scope,hostScope){rule.selector=rule.transformedSelector=this._transformRuleCss(rule,transformer,scope,hostScope);},_transformRuleCss:function(rule,transformer,scope,hostScope){var p$=rule.selector.split(COMPLEX_SELECTOR_SEP);if(!styleUtil.isKeyframesSelector(rule)){for(var i=0,l=p$.length,p;i<l&&(p=p$[i]);i++){p$[i]=transformer.call(this,p,scope,hostScope);}} 4036return p$.join(COMPLEX_SELECTOR_SEP);},_transformComplexSelector:function(selector,scope,hostScope){var stop=false;var hostContext=false;var self=this;selector=selector.trim();selector=this._slottedToContent(selector);selector=selector.replace(ROOT,':host > *');selector=selector.replace(CONTENT_START,HOST+' $1');selector=selector.replace(SIMPLE_SELECTOR_SEP,function(m,c,s){if(!stop){var info=self._transformCompoundSelector(s,c,scope,hostScope);stop=stop||info.stop;hostContext=hostContext||info.hostContext;c=info.combinator;s=info.value;}else{s=s.replace(SCOPE_JUMP,' ');} 4037return c+s;});if(hostContext){selector=selector.replace(HOST_CONTEXT_PAREN,function(m,pre,paren,post){return pre+paren+' '+hostScope+post+COMPLEX_SELECTOR_SEP+' '+pre+hostScope+paren+post;});} 4038return selector;},_transformCompoundSelector:function(selector,combinator,scope,hostScope){var jumpIndex=selector.search(SCOPE_JUMP);var hostContext=false;if(selector.indexOf(HOST_CONTEXT)>=0){hostContext=true;}else if(selector.indexOf(HOST)>=0){selector=this._transformHostSelector(selector,hostScope);}else if(jumpIndex!==0){selector=scope?this._transformSimpleSelector(selector,scope):selector;} 4039if(selector.indexOf(CONTENT)>=0){combinator='';} 4040var stop;if(jumpIndex>=0){selector=selector.replace(SCOPE_JUMP,' ');stop=true;} 4041return{value:selector,combinator:combinator,stop:stop,hostContext:hostContext};},_transformSimpleSelector:function(selector,scope){var p$=selector.split(PSEUDO_PREFIX);p$[0]+=scope;return p$.join(PSEUDO_PREFIX);},_transformHostSelector:function(selector,hostScope){var m=selector.match(HOST_PAREN);var paren=m&&m[2].trim()||'';if(paren){if(!paren[0].match(SIMPLE_SELECTOR_PREFIX)){var typeSelector=paren.split(SIMPLE_SELECTOR_PREFIX)[0];if(typeSelector===hostScope){return paren;}else{return SELECTOR_NO_MATCH;}}else{return selector.replace(HOST_PAREN,function(m,host,paren){return hostScope+paren;});}}else{return selector.replace(HOST,hostScope);}},documentRule:function(rule){rule.selector=rule.parsedSelector;this.normalizeRootSelector(rule);if(!settings.useNativeShadow){this._transformRule(rule,this._transformDocumentSelector);}},normalizeRootSelector:function(rule){rule.selector=rule.selector.replace(ROOT,'html');},_transformDocumentSelector:function(selector){return selector.match(SCOPE_JUMP)?this._transformComplexSelector(selector,SCOPE_DOC_SELECTOR):this._transformSimpleSelector(selector.trim(),SCOPE_DOC_SELECTOR);},_slottedToContent:function(cssText){return cssText.replace(SLOTTED_PAREN,CONTENT+'> $1');},SCOPE_NAME:'style-scope'};var SCOPE_NAME=api.SCOPE_NAME;var SCOPE_DOC_SELECTOR=':not(['+SCOPE_NAME+'])'+':not(.'+SCOPE_NAME+')';var COMPLEX_SELECTOR_SEP=',';var SIMPLE_SELECTOR_SEP=/(^|[\s>+~]+)((?:\[.+?\]|[^\s>+~=\[])+)/g;var SIMPLE_SELECTOR_PREFIX=/[[.:#*]/;var HOST=':host';var ROOT=':root';var HOST_PAREN=/(:host)(?:\(((?:\([^)(]*\)|[^)(]*)+?)\))/;var HOST_CONTEXT=':host-context';var HOST_CONTEXT_PAREN=/(.*)(?::host-context)(?:\(((?:\([^)(]*\)|[^)(]*)+?)\))(.*)/;var CONTENT='::content';var SCOPE_JUMP=/::content|::shadow|\/deep\//;var CSS_CLASS_PREFIX='.';var CSS_ATTR_PREFIX='['+SCOPE_NAME+'~=';var CSS_ATTR_SUFFIX=']';var PSEUDO_PREFIX=':';var CLASS='class';var CONTENT_START=new RegExp('^('+CONTENT+')');var SELECTOR_NO_MATCH='should_not_match';var SLOTTED_PAREN=/(?:::slotted)(?:\(((?:\([^)(]*\)|[^)(]*)+?)\))/g;return api;}();Polymer.StyleExtends=function(){var styleUtil=Polymer.StyleUtil;return{hasExtends:function(cssText){return Boolean(cssText.match(this.rx.EXTEND));},transform:function(style){var rules=styleUtil.rulesForStyle(style);var self=this;styleUtil.forEachRule(rules,function(rule){self._mapRuleOntoParent(rule);if(rule.parent){var m;while(m=self.rx.EXTEND.exec(rule.cssText)){var extend=m[1];var extendor=self._findExtendor(extend,rule);if(extendor){self._extendRule(rule,extendor);}}} 4042rule.cssText=rule.cssText.replace(self.rx.EXTEND,'');});return styleUtil.toCssText(rules,function(rule){if(rule.selector.match(self.rx.STRIP)){rule.cssText='';}},true);},_mapRuleOntoParent:function(rule){if(rule.parent){var map=rule.parent.map||(rule.parent.map={});var parts=rule.selector.split(',');for(var i=0,p;i<parts.length;i++){p=parts[i];map[p.trim()]=rule;} 4043return map;}},_findExtendor:function(extend,rule){return rule.parent&&rule.parent.map&&rule.parent.map[extend]||this._findExtendor(extend,rule.parent);},_extendRule:function(target,source){if(target.parent!==source.parent){this._cloneAndAddRuleToParent(source,target.parent);} 4044target.extends=target.extends||[];target.extends.push(source);source.selector=source.selector.replace(this.rx.STRIP,'');source.selector=(source.selector&&source.selector+',\n')+target.selector;if(source.extends){source.extends.forEach(function(e){this._extendRule(target,e);},this);}},_cloneAndAddRuleToParent:function(rule,parent){rule=Object.create(rule);rule.parent=parent;if(rule.extends){rule.extends=rule.extends.slice();} 4045parent.rules.push(rule);},rx:{EXTEND:/@extends\(([^)]*)\)\s*?;/gim,STRIP:/%[^,]*$/}};}();Polymer.ApplyShim=function(){'use strict';var styleUtil=Polymer.StyleUtil;var MIXIN_MATCH=styleUtil.rx.MIXIN_MATCH;var VAR_ASSIGN=styleUtil.rx.VAR_ASSIGN;var BAD_VAR=/var\(\s*(--[^,]*),\s*(--[^)]*)\)/g;var APPLY_NAME_CLEAN=/;\s*/m;var INITIAL_INHERIT=/^\s*(initial)|(inherit)\s*$/;var MIXIN_VAR_SEP='_-_';var mixinMap={};function mapSet(name,props){name=name.trim();mixinMap[name]={properties:props,dependants:{}};} 4046function mapGet(name){name=name.trim();return mixinMap[name];} 4047function replaceInitialOrInherit(property,value){var match=INITIAL_INHERIT.exec(value);if(match){if(match[1]){value=ApplyShim._getInitialValueForProperty(property);}else{value='apply-shim-inherit';}} 4048return value;} 4049function cssTextToMap(text){var props=text.split(';');var property,value;var out={};for(var i=0,p,sp;i<props.length;i++){p=props[i];if(p){sp=p.split(':');if(sp.length>1){property=sp[0].trim();value=replaceInitialOrInherit(property,sp.slice(1).join(':'));out[property]=value;}}} 4050return out;} 4051function invalidateMixinEntry(mixinEntry){var currentProto=ApplyShim.__currentElementProto;var currentElementName=currentProto&¤tProto.is;for(var elementName in mixinEntry.dependants){if(elementName!==currentElementName){mixinEntry.dependants[elementName].__applyShimInvalid=true;}}} 4052function produceCssProperties(matchText,propertyName,valueProperty,valueMixin){if(valueProperty){styleUtil.processVariableAndFallback(valueProperty,function(prefix,value){if(value&&mapGet(value)){valueMixin='@apply '+value+';';}});} 4053if(!valueMixin){return matchText;} 4054var mixinAsProperties=consumeCssProperties(valueMixin);var prefix=matchText.slice(0,matchText.indexOf('--'));var mixinValues=cssTextToMap(mixinAsProperties);var combinedProps=mixinValues;var mixinEntry=mapGet(propertyName);var oldProps=mixinEntry&&mixinEntry.properties;if(oldProps){combinedProps=Object.create(oldProps);combinedProps=Polymer.Base.mixin(combinedProps,mixinValues);}else{mapSet(propertyName,combinedProps);} 4055var out=[];var p,v;var needToInvalidate=false;for(p in combinedProps){v=mixinValues[p];if(v===undefined){v='initial';} 4056if(oldProps&&!(p in oldProps)){needToInvalidate=true;} 4057out.push(propertyName+MIXIN_VAR_SEP+p+': '+v);} 4058if(needToInvalidate){invalidateMixinEntry(mixinEntry);} 4059if(mixinEntry){mixinEntry.properties=combinedProps;} 4060if(valueProperty){prefix=matchText+';'+prefix;} 4061return prefix+out.join('; ')+';';} 4062function fixVars(matchText,varA,varB){return'var('+varA+','+'var('+varB+'))';} 4063function atApplyToCssProperties(mixinName,fallbacks){mixinName=mixinName.replace(APPLY_NAME_CLEAN,'');var vars=[];var mixinEntry=mapGet(mixinName);if(!mixinEntry){mapSet(mixinName,{});mixinEntry=mapGet(mixinName);} 4064if(mixinEntry){var currentProto=ApplyShim.__currentElementProto;if(currentProto){mixinEntry.dependants[currentProto.is]=currentProto;} 4065var p,parts,f;for(p in mixinEntry.properties){f=fallbacks&&fallbacks[p];parts=[p,': var(',mixinName,MIXIN_VAR_SEP,p];if(f){parts.push(',',f);} 4066parts.push(')');vars.push(parts.join(''));}} 4067return vars.join('; ');} 4068function consumeCssProperties(text){var m;while(m=MIXIN_MATCH.exec(text)){var matchText=m[0];var mixinName=m[1];var idx=m.index;var applyPos=idx+matchText.indexOf('@apply');var afterApplyPos=idx+matchText.length;var textBeforeApply=text.slice(0,applyPos);var textAfterApply=text.slice(afterApplyPos);var defaults=cssTextToMap(textBeforeApply);var replacement=atApplyToCssProperties(mixinName,defaults);text=[textBeforeApply,replacement,textAfterApply].join('');MIXIN_MATCH.lastIndex=idx+replacement.length;} 4069return text;} 4070var ApplyShim={_measureElement:null,_map:mixinMap,_separator:MIXIN_VAR_SEP,transform:function(styles,elementProto){this.__currentElementProto=elementProto;styleUtil.forRulesInStyles(styles,this._boundFindDefinitions);styleUtil.forRulesInStyles(styles,this._boundFindApplications);if(elementProto){elementProto.__applyShimInvalid=false;} 4071this.__currentElementProto=null;},_findDefinitions:function(rule){var cssText=rule.parsedCssText;cssText=cssText.replace(BAD_VAR,fixVars);cssText=cssText.replace(VAR_ASSIGN,produceCssProperties);rule.cssText=cssText;if(rule.selector===':root'){rule.selector=':host > *';}},_findApplications:function(rule){rule.cssText=consumeCssProperties(rule.cssText);},transformRule:function(rule){this._findDefinitions(rule);this._findApplications(rule);},_getInitialValueForProperty:function(property){if(!this._measureElement){this._measureElement=document.createElement('meta');this._measureElement.style.all='initial';document.head.appendChild(this._measureElement);} 4072return window.getComputedStyle(this._measureElement).getPropertyValue(property);}};ApplyShim._boundTransformRule=ApplyShim.transformRule.bind(ApplyShim);ApplyShim._boundFindDefinitions=ApplyShim._findDefinitions.bind(ApplyShim);ApplyShim._boundFindApplications=ApplyShim._findApplications.bind(ApplyShim);return ApplyShim;}();(function(){var prepElement=Polymer.Base._prepElement;var nativeShadow=Polymer.Settings.useNativeShadow;var styleUtil=Polymer.StyleUtil;var styleTransformer=Polymer.StyleTransformer;var styleExtends=Polymer.StyleExtends;var applyShim=Polymer.ApplyShim;var settings=Polymer.Settings;Polymer.Base._addFeature({_prepElement:function(element){if(this._encapsulateStyle&&this.__cssBuild!=='shady'){styleTransformer.element(element,this.is,this._scopeCssViaAttr);} 4073prepElement.call(this,element);},_prepStyles:function(){if(this._encapsulateStyle===undefined){this._encapsulateStyle=!nativeShadow;} 4074if(!nativeShadow){this._scopeStyle=styleUtil.applyStylePlaceHolder(this.is);} 4075this.__cssBuild=styleUtil.cssBuildTypeForModule(this.is);},_prepShimStyles:function(){if(this._template){var hasTargetedCssBuild=styleUtil.isTargetedBuild(this.__cssBuild);if(settings.useNativeCSSProperties&&this.__cssBuild==='shadow'&&hasTargetedCssBuild){if(settings.preserveStyleIncludes){styleUtil.styleIncludesToTemplate(this._template);} 4076return;} 4077this._styles=this._styles||this._collectStyles();if(settings.useNativeCSSProperties&&!this.__cssBuild){applyShim.transform(this._styles,this);} 4078var cssText=settings.useNativeCSSProperties&&hasTargetedCssBuild?this._styles.length&&this._styles[0].textContent.trim():styleTransformer.elementStyles(this);this._prepStyleProperties();if(!this._needsStyleProperties()&&cssText){styleUtil.applyCss(cssText,this.is,nativeShadow?this._template.content:null,this._scopeStyle);}}else{this._styles=[];}},_collectStyles:function(){var styles=[];var cssText='',m$=this.styleModules;if(m$){for(var i=0,l=m$.length,m;i<l&&(m=m$[i]);i++){cssText+=styleUtil.cssFromModule(m);}} 4079cssText+=styleUtil.cssFromModule(this.is);var p=this._template&&this._template.parentNode;if(this._template&&(!p||p.id.toLowerCase()!==this.is)){cssText+=styleUtil.cssFromElement(this._template);} 4080if(cssText){var style=document.createElement('style');style.textContent=cssText;if(styleExtends.hasExtends(style.textContent)){cssText=styleExtends.transform(style);} 4081styles.push(style);} 4082return styles;},_elementAdd:function(node){if(this._encapsulateStyle){if(node.__styleScoped){node.__styleScoped=false;}else{styleTransformer.dom(node,this.is,this._scopeCssViaAttr);}}},_elementRemove:function(node){if(this._encapsulateStyle){styleTransformer.dom(node,this.is,this._scopeCssViaAttr,true);}},scopeSubtree:function(container,shouldObserve){if(nativeShadow){return;} 4083var self=this;var scopify=function(node){if(node.nodeType===Node.ELEMENT_NODE){var className=node.getAttribute('class');node.setAttribute('class',self._scopeElementClass(node,className));var n$=node.querySelectorAll('*');for(var i=0,n;i<n$.length&&(n=n$[i]);i++){className=n.getAttribute('class');n.setAttribute('class',self._scopeElementClass(n,className));}}};scopify(container);if(shouldObserve){var mo=new MutationObserver(function(mxns){for(var i=0,m;i<mxns.length&&(m=mxns[i]);i++){if(m.addedNodes){for(var j=0;j<m.addedNodes.length;j++){scopify(m.addedNodes[j]);}}}});mo.observe(container,{childList:true,subtree:true});return mo;}}});}());Polymer.StyleProperties=function(){'use strict';var matchesSelector=Polymer.DomApi.matchesSelector;var styleUtil=Polymer.StyleUtil;var styleTransformer=Polymer.StyleTransformer;var IS_IE=navigator.userAgent.match('Trident');var settings=Polymer.Settings;return{decorateStyles:function(styles,scope){var self=this,props={},keyframes=[],ruleIndex=0;var scopeSelector=styleTransformer._calcHostScope(scope.is,scope.extends);styleUtil.forRulesInStyles(styles,function(rule,style){self.decorateRule(rule);rule.index=ruleIndex++;self.whenHostOrRootRule(scope,rule,style,function(info){if(rule.parent.type===styleUtil.ruleTypes.MEDIA_RULE){scope.__notStyleScopeCacheable=true;} 4084if(info.isHost){var hostContextOrFunction=info.selector.split(' ').some(function(s){return s.indexOf(scopeSelector)===0&&s.length!==scopeSelector.length;});scope.__notStyleScopeCacheable=scope.__notStyleScopeCacheable||hostContextOrFunction;}});self.collectPropertiesInCssText(rule.propertyInfo.cssText,props);},function onKeyframesRule(rule){keyframes.push(rule);});styles._keyframes=keyframes;var names=[];for(var i in props){names.push(i);} 4085return names;},decorateRule:function(rule){if(rule.propertyInfo){return rule.propertyInfo;} 4086var info={},properties={};var hasProperties=this.collectProperties(rule,properties);if(hasProperties){info.properties=properties;rule.rules=null;} 4087info.cssText=this.collectCssText(rule);rule.propertyInfo=info;return info;},collectProperties:function(rule,properties){var info=rule.propertyInfo;if(info){if(info.properties){Polymer.Base.mixin(properties,info.properties);return true;}}else{var m,rx=this.rx.VAR_ASSIGN;var cssText=rule.parsedCssText;var value;var any;while(m=rx.exec(cssText)){value=(m[2]||m[3]).trim();if(value!=='inherit'){properties[m[1].trim()]=value;} 4088any=true;} 4089return any;}},collectCssText:function(rule){return this.collectConsumingCssText(rule.parsedCssText);},collectConsumingCssText:function(cssText){return cssText.replace(this.rx.BRACKETED,'').replace(this.rx.VAR_ASSIGN,'');},collectPropertiesInCssText:function(cssText,props){var m;while(m=this.rx.VAR_CONSUMED.exec(cssText)){var name=m[1];if(m[2]!==':'){props[name]=true;}}},reify:function(props){var names=Object.getOwnPropertyNames(props);for(var i=0,n;i<names.length;i++){n=names[i];props[n]=this.valueForProperty(props[n],props);}},valueForProperty:function(property,props){if(property){if(property.indexOf(';')>=0){property=this.valueForProperties(property,props);}else{var self=this;var fn=function(prefix,value,fallback,suffix){var propertyValue=self.valueForProperty(props[value],props);if(!propertyValue||propertyValue==='initial'){propertyValue=self.valueForProperty(props[fallback]||fallback,props)||fallback;}else if(propertyValue==='apply-shim-inherit'){propertyValue='inherit';} 4090return prefix+(propertyValue||'')+suffix;};property=styleUtil.processVariableAndFallback(property,fn);}} 4091return property&&property.trim()||'';},valueForProperties:function(property,props){var parts=property.split(';');for(var i=0,p,m;i<parts.length;i++){if(p=parts[i]){this.rx.MIXIN_MATCH.lastIndex=0;m=this.rx.MIXIN_MATCH.exec(p);if(m){p=this.valueForProperty(props[m[1]],props);}else{var colon=p.indexOf(':');if(colon!==-1){var pp=p.substring(colon);pp=pp.trim();pp=this.valueForProperty(pp,props)||pp;p=p.substring(0,colon)+pp;}} 4092parts[i]=p&&p.lastIndexOf(';')===p.length-1?p.slice(0,-1):p||'';}} 4093return parts.join(';');},applyProperties:function(rule,props){var output='';if(!rule.propertyInfo){this.decorateRule(rule);} 4094if(rule.propertyInfo.cssText){output=this.valueForProperties(rule.propertyInfo.cssText,props);} 4095rule.cssText=output;},applyKeyframeTransforms:function(rule,keyframeTransforms){var input=rule.cssText;var output=rule.cssText;if(rule.hasAnimations==null){rule.hasAnimations=this.rx.ANIMATION_MATCH.test(input);} 4096if(rule.hasAnimations){var transform;if(rule.keyframeNamesToTransform==null){rule.keyframeNamesToTransform=[];for(var keyframe in keyframeTransforms){transform=keyframeTransforms[keyframe];output=transform(input);if(input!==output){input=output;rule.keyframeNamesToTransform.push(keyframe);}}}else{for(var i=0;i<rule.keyframeNamesToTransform.length;++i){transform=keyframeTransforms[rule.keyframeNamesToTransform[i]];input=transform(input);} 4097output=input;}} 4098rule.cssText=output;},propertyDataFromStyles:function(styles,element){var props={},self=this;var o=[];styleUtil.forActiveRulesInStyles(styles,function(rule){if(!rule.propertyInfo){self.decorateRule(rule);} 4099var selectorToMatch=rule.transformedSelector||rule.parsedSelector;if(element&&rule.propertyInfo.properties&&selectorToMatch){if(matchesSelector.call(element,selectorToMatch)){self.collectProperties(rule,props);addToBitMask(rule.index,o);}}});return{properties:props,key:o};},_rootSelector:/:root|:host\s*>\s*\*/,_checkRoot:function(hostScope,selector){return Boolean(selector.match(this._rootSelector))||hostScope==='html'&&selector.indexOf('html')>-1;},whenHostOrRootRule:function(scope,rule,style,callback){if(!rule.propertyInfo){self.decorateRule(rule);} 4100if(!rule.propertyInfo.properties){return;} 4101var hostScope=scope.is?styleTransformer._calcHostScope(scope.is,scope.extends):'html';var parsedSelector=rule.parsedSelector;var isRoot=this._checkRoot(hostScope,parsedSelector);var isHost=!isRoot&&parsedSelector.indexOf(':host')===0;var cssBuild=scope.__cssBuild||style.__cssBuild;if(cssBuild==='shady'){isRoot=parsedSelector===hostScope+' > *.'+hostScope||parsedSelector.indexOf('html')>-1;isHost=!isRoot&&parsedSelector.indexOf(hostScope)===0;} 4102if(!isRoot&&!isHost){return;} 4103var selectorToMatch=hostScope;if(isHost){if(settings.useNativeShadow&&!rule.transformedSelector){rule.transformedSelector=styleTransformer._transformRuleCss(rule,styleTransformer._transformComplexSelector,scope.is,hostScope);} 4104selectorToMatch=rule.transformedSelector||rule.parsedSelector;} 4105if(isRoot&&hostScope==='html'){selectorToMatch=rule.transformedSelector||rule.parsedSelector;} 4106callback({selector:selectorToMatch,isHost:isHost,isRoot:isRoot});},hostAndRootPropertiesForScope:function(scope){var hostProps={},rootProps={},self=this;styleUtil.forActiveRulesInStyles(scope._styles,function(rule,style){self.whenHostOrRootRule(scope,rule,style,function(info){var element=scope._element||scope;if(matchesSelector.call(element,info.selector)){if(info.isHost){self.collectProperties(rule,hostProps);}else{self.collectProperties(rule,rootProps);}}});});return{rootProps:rootProps,hostProps:hostProps};},transformStyles:function(element,properties,scopeSelector){var self=this;var hostSelector=styleTransformer._calcHostScope(element.is,element.extends);var rxHostSelector=element.extends?'\\'+hostSelector.slice(0,-1)+'\\]':hostSelector;var hostRx=new RegExp(this.rx.HOST_PREFIX+rxHostSelector+this.rx.HOST_SUFFIX);var keyframeTransforms=this._elementKeyframeTransforms(element,scopeSelector);return styleTransformer.elementStyles(element,function(rule){self.applyProperties(rule,properties);if(!settings.useNativeShadow&&!Polymer.StyleUtil.isKeyframesSelector(rule)&&rule.cssText){self.applyKeyframeTransforms(rule,keyframeTransforms);self._scopeSelector(rule,hostRx,hostSelector,element._scopeCssViaAttr,scopeSelector);}});},_elementKeyframeTransforms:function(element,scopeSelector){var keyframesRules=element._styles._keyframes;var keyframeTransforms={};if(!settings.useNativeShadow&&keyframesRules){for(var i=0,keyframesRule=keyframesRules[i];i<keyframesRules.length;keyframesRule=keyframesRules[++i]){this._scopeKeyframes(keyframesRule,scopeSelector);keyframeTransforms[keyframesRule.keyframesName]=this._keyframesRuleTransformer(keyframesRule);}} 4107return keyframeTransforms;},_keyframesRuleTransformer:function(keyframesRule){return function(cssText){return cssText.replace(keyframesRule.keyframesNameRx,keyframesRule.transformedKeyframesName);};},_scopeKeyframes:function(rule,scopeId){rule.keyframesNameRx=new RegExp(rule.keyframesName,'g');rule.transformedKeyframesName=rule.keyframesName+'-'+scopeId;rule.transformedSelector=rule.transformedSelector||rule.selector;rule.selector=rule.transformedSelector.replace(rule.keyframesName,rule.transformedKeyframesName);},_scopeSelector:function(rule,hostRx,hostSelector,viaAttr,scopeId){rule.transformedSelector=rule.transformedSelector||rule.selector;var selector=rule.transformedSelector;var scope=viaAttr?'['+styleTransformer.SCOPE_NAME+'~='+scopeId+']':'.'+scopeId;var parts=selector.split(',');for(var i=0,l=parts.length,p;i<l&&(p=parts[i]);i++){parts[i]=p.match(hostRx)?p.replace(hostSelector,scope):scope+' '+p;} 4108rule.selector=parts.join(',');},applyElementScopeSelector:function(element,selector,old,viaAttr){var c=viaAttr?element.getAttribute(styleTransformer.SCOPE_NAME):element.getAttribute('class')||'';var v=old?c.replace(old,selector):(c?c+' ':'')+this.XSCOPE_NAME+' '+selector;if(c!==v){if(viaAttr){element.setAttribute(styleTransformer.SCOPE_NAME,v);}else{element.setAttribute('class',v);}}},applyElementStyle:function(element,properties,selector,style){var cssText=style?style.textContent||'':this.transformStyles(element,properties,selector);var s=element._customStyle;if(s&&!settings.useNativeShadow&&s!==style){s._useCount--;if(s._useCount<=0&&s.parentNode){s.parentNode.removeChild(s);}} 4109if(settings.useNativeShadow){if(element._customStyle){element._customStyle.textContent=cssText;style=element._customStyle;}else if(cssText){style=styleUtil.applyCss(cssText,selector,element.root,element._scopeStyle);}}else{if(!style){if(cssText){style=styleUtil.applyCss(cssText,selector,null,element._scopeStyle);}}else if(!style.parentNode){if(IS_IE&&cssText.indexOf('@media')>-1){style.textContent=cssText;} 4110styleUtil.applyStyle(style,null,element._scopeStyle);}} 4111if(style){style._useCount=style._useCount||0;if(element._customStyle!=style){style._useCount++;} 4112element._customStyle=style;} 4113return style;},mixinCustomStyle:function(props,customStyle){var v;for(var i in customStyle){v=customStyle[i];if(v||v===0){props[i]=v;}}},updateNativeStyleProperties:function(element,properties){var oldPropertyNames=element.__customStyleProperties;if(oldPropertyNames){for(var i=0;i<oldPropertyNames.length;i++){element.style.removeProperty(oldPropertyNames[i]);}} 4114var propertyNames=[];for(var p in properties){if(properties[p]!==null){element.style.setProperty(p,properties[p]);propertyNames.push(p);}} 4115element.__customStyleProperties=propertyNames;},rx:styleUtil.rx,XSCOPE_NAME:'x-scope'};function addToBitMask(n,bits){var o=parseInt(n/32);var v=1<<n%32;bits[o]=(bits[o]||0)|v;}}();(function(){Polymer.StyleCache=function(){this.cache={};};Polymer.StyleCache.prototype={MAX:100,store:function(is,data,keyValues,keyStyles){data.keyValues=keyValues;data.styles=keyStyles;var s$=this.cache[is]=this.cache[is]||[];s$.push(data);if(s$.length>this.MAX){s$.shift();}},retrieve:function(is,keyValues,keyStyles){var cache=this.cache[is];if(cache){for(var i=cache.length-1,data;i>=0;i--){data=cache[i];if(keyStyles===data.styles&&this._objectsEqual(keyValues,data.keyValues)){return data;}}}},clear:function(){this.cache={};},_objectsEqual:function(target,source){var t,s;for(var i in target){t=target[i],s=source[i];if(!(typeof t==='object'&&t?this._objectsStrictlyEqual(t,s):t===s)){return false;}} 4116if(Array.isArray(target)){return target.length===source.length;} 4117return true;},_objectsStrictlyEqual:function(target,source){return this._objectsEqual(target,source)&&this._objectsEqual(source,target);}};}());Polymer.StyleDefaults=function(){var styleProperties=Polymer.StyleProperties;var StyleCache=Polymer.StyleCache;var nativeVariables=Polymer.Settings.useNativeCSSProperties;var api={_styles:[],_properties:null,customStyle:{},_styleCache:new StyleCache(),_element:Polymer.DomApi.wrap(document.documentElement),addStyle:function(style){this._styles.push(style);this._properties=null;},get _styleProperties(){if(!this._properties){styleProperties.decorateStyles(this._styles,this);this._styles._scopeStyleProperties=null;this._properties=styleProperties.hostAndRootPropertiesForScope(this).rootProps;styleProperties.mixinCustomStyle(this._properties,this.customStyle);styleProperties.reify(this._properties);} 4118return this._properties;},hasStyleProperties:function(){return Boolean(this._properties);},_needsStyleProperties:function(){},_computeStyleProperties:function(){return this._styleProperties;},updateStyles:function(properties){this._properties=null;if(properties){Polymer.Base.mixin(this.customStyle,properties);} 4119this._styleCache.clear();for(var i=0,s;i<this._styles.length;i++){s=this._styles[i];s=s.__importElement||s;s._apply();} 4120if(nativeVariables){styleProperties.updateNativeStyleProperties(document.documentElement,this.customStyle);}}};return api;}();(function(){'use strict';var serializeValueToAttribute=Polymer.Base.serializeValueToAttribute;var propertyUtils=Polymer.StyleProperties;var styleTransformer=Polymer.StyleTransformer;var styleDefaults=Polymer.StyleDefaults;var nativeShadow=Polymer.Settings.useNativeShadow;var nativeVariables=Polymer.Settings.useNativeCSSProperties;Polymer.Base._addFeature({_prepStyleProperties:function(){if(!nativeVariables){this._ownStylePropertyNames=this._styles&&this._styles.length?propertyUtils.decorateStyles(this._styles,this):null;}},customStyle:null,getComputedStyleValue:function(property){if(!nativeVariables&&!this._styleProperties){this._computeStyleProperties();} 4121return!nativeVariables&&this._styleProperties&&this._styleProperties[property]||getComputedStyle(this).getPropertyValue(property);},_setupStyleProperties:function(){this.customStyle={};this._styleCache=null;this._styleProperties=null;this._scopeSelector=null;this._ownStyleProperties=null;this._customStyle=null;},_needsStyleProperties:function(){return Boolean(!nativeVariables&&this._ownStylePropertyNames&&this._ownStylePropertyNames.length);},_validateApplyShim:function(){if(this.__applyShimInvalid){Polymer.ApplyShim.transform(this._styles,this.__proto__);var cssText=styleTransformer.elementStyles(this);if(nativeShadow){var templateStyle=this._template.content.querySelector('style');if(templateStyle){templateStyle.textContent=cssText;}}else{var shadyStyle=this._scopeStyle&&this._scopeStyle.nextSibling;if(shadyStyle){shadyStyle.textContent=cssText;}}}},_beforeAttached:function(){if((!this._scopeSelector||this.__stylePropertiesInvalid)&&this._needsStyleProperties()){this.__stylePropertiesInvalid=false;this._updateStyleProperties();}},_findStyleHost:function(){var e=this,root;while(root=Polymer.dom(e).getOwnerRoot()){if(Polymer.isInstance(root.host)){return root.host;} 4122e=root.host;} 4123return styleDefaults;},_updateStyleProperties:function(){var info,scope=this._findStyleHost();if(!scope._styleProperties){scope._computeStyleProperties();} 4124if(!scope._styleCache){scope._styleCache=new Polymer.StyleCache();} 4125var scopeData=propertyUtils.propertyDataFromStyles(scope._styles,this);var scopeCacheable=!this.__notStyleScopeCacheable;if(scopeCacheable){scopeData.key.customStyle=this.customStyle;info=scope._styleCache.retrieve(this.is,scopeData.key,this._styles);} 4126var scopeCached=Boolean(info);if(scopeCached){this._styleProperties=info._styleProperties;}else{this._computeStyleProperties(scopeData.properties);} 4127this._computeOwnStyleProperties();if(!scopeCached){info=styleCache.retrieve(this.is,this._ownStyleProperties,this._styles);} 4128var globalCached=Boolean(info)&&!scopeCached;var style=this._applyStyleProperties(info);if(!scopeCached){style=style&&nativeShadow?style.cloneNode(true):style;info={style:style,_scopeSelector:this._scopeSelector,_styleProperties:this._styleProperties};if(scopeCacheable){scopeData.key.customStyle={};this.mixin(scopeData.key.customStyle,this.customStyle);scope._styleCache.store(this.is,info,scopeData.key,this._styles);} 4129if(!globalCached){styleCache.store(this.is,Object.create(info),this._ownStyleProperties,this._styles);}}},_computeStyleProperties:function(scopeProps){var scope=this._findStyleHost();if(!scope._styleProperties){scope._computeStyleProperties();} 4130var props=Object.create(scope._styleProperties);var hostAndRootProps=propertyUtils.hostAndRootPropertiesForScope(this);this.mixin(props,hostAndRootProps.hostProps);scopeProps=scopeProps||propertyUtils.propertyDataFromStyles(scope._styles,this).properties;this.mixin(props,scopeProps);this.mixin(props,hostAndRootProps.rootProps);propertyUtils.mixinCustomStyle(props,this.customStyle);propertyUtils.reify(props);this._styleProperties=props;},_computeOwnStyleProperties:function(){var props={};for(var i=0,n;i<this._ownStylePropertyNames.length;i++){n=this._ownStylePropertyNames[i];props[n]=this._styleProperties[n];} 4131this._ownStyleProperties=props;},_scopeCount:0,_applyStyleProperties:function(info){var oldScopeSelector=this._scopeSelector;this._scopeSelector=info?info._scopeSelector:this.is+'-'+this.__proto__._scopeCount++;var style=propertyUtils.applyElementStyle(this,this._styleProperties,this._scopeSelector,info&&info.style);if(!nativeShadow){propertyUtils.applyElementScopeSelector(this,this._scopeSelector,oldScopeSelector,this._scopeCssViaAttr);} 4132return style;},serializeValueToAttribute:function(value,attribute,node){node=node||this;if(attribute==='class'&&!nativeShadow){var host=node===this?this.domHost||this.dataHost:this;if(host){value=host._scopeElementClass(node,value);}} 4133node=this.shadyRoot&&this.shadyRoot._hasDistributed?Polymer.dom(node):node;serializeValueToAttribute.call(this,value,attribute,node);},_scopeElementClass:function(element,selector){if(!nativeShadow&&!this._scopeCssViaAttr){selector=(selector?selector+' ':'')+SCOPE_NAME+' '+this.is+(element._scopeSelector?' '+XSCOPE_NAME+' '+element._scopeSelector:'');} 4134return selector;},updateStyles:function(properties){if(properties){this.mixin(this.customStyle,properties);} 4135if(nativeVariables){propertyUtils.updateNativeStyleProperties(this,this.customStyle);}else{if(this.isAttached){if(this._needsStyleProperties()){this._updateStyleProperties();}else{this._styleProperties=null;}}else{this.__stylePropertiesInvalid=true;} 4136if(this._styleCache){this._styleCache.clear();} 4137this._updateRootStyles();}},_updateRootStyles:function(root){root=root||this.root;var c$=Polymer.dom(root)._query(function(e){return e.shadyRoot||e.shadowRoot;});for(var i=0,l=c$.length,c;i<l&&(c=c$[i]);i++){if(c.updateStyles){c.updateStyles();}}}});Polymer.updateStyles=function(properties){styleDefaults.updateStyles(properties);Polymer.Base._updateRootStyles(document);};var styleCache=new Polymer.StyleCache();Polymer.customStyleCache=styleCache;var SCOPE_NAME=styleTransformer.SCOPE_NAME;var XSCOPE_NAME=propertyUtils.XSCOPE_NAME;}());Polymer.Base._addFeature({_registerFeatures:function(){this._prepIs();if(this.factoryImpl){this._prepConstructor();} 4138this._prepStyles();},_finishRegisterFeatures:function(){this._prepTemplate();this._prepShimStyles();this._prepAnnotations();this._prepEffects();this._prepBehaviors();this._prepPropertyInfo();this._prepBindings();this._prepShady();},_prepBehavior:function(b){this._addPropertyEffects(b.properties);this._addComplexObserverEffects(b.observers);this._addHostAttributes(b.hostAttributes);},_initFeatures:function(){this._setupGestures();this._setupConfigure(this.__data__);this._setupStyleProperties();this._setupDebouncers();this._setupShady();this._registerHost();if(this._template){this._validateApplyShim();this._poolContent();this._beginHosting();this._stampTemplate();this._endHosting();this._marshalAnnotationReferences();} 4139this._marshalInstanceEffects();this._marshalBehaviors();this._marshalHostAttributes();this._marshalAttributes();this._tryReady();},_marshalBehavior:function(b){if(b.listeners){this._listenListeners(b.listeners);}}});(function(){var propertyUtils=Polymer.StyleProperties;var styleUtil=Polymer.StyleUtil;var cssParse=Polymer.CssParse;var styleDefaults=Polymer.StyleDefaults;var styleTransformer=Polymer.StyleTransformer;var applyShim=Polymer.ApplyShim;var debounce=Polymer.Debounce;var settings=Polymer.Settings;var updateDebouncer;Polymer({is:'custom-style',extends:'style',_template:null,properties:{include:String},ready:function(){this.__appliedElement=this.__appliedElement||this;this.__cssBuild=styleUtil.getCssBuildType(this);if(this.__appliedElement!==this){this.__appliedElement.__cssBuild=this.__cssBuild;} 4140this._tryApply();},attached:function(){this._tryApply();},_tryApply:function(){if(!this._appliesToDocument){if(this.parentNode&&this.parentNode.localName!=='dom-module'){this._appliesToDocument=true;var e=this.__appliedElement;if(!settings.useNativeCSSProperties){this.__needsUpdateStyles=styleDefaults.hasStyleProperties();styleDefaults.addStyle(e);} 4141if(e.textContent||this.include){this._apply(true);}else{var self=this;var observer=new MutationObserver(function(){observer.disconnect();self._apply(true);});observer.observe(e,{childList:true});}}}},_updateStyles:function(){Polymer.updateStyles();},_apply:function(initialApply){var e=this.__appliedElement;if(this.include){e.textContent=styleUtil.cssFromModules(this.include,true)+e.textContent;} 4142if(!e.textContent){return;} 4143var buildType=this.__cssBuild;var targetedBuild=styleUtil.isTargetedBuild(buildType);if(settings.useNativeCSSProperties&&targetedBuild){return;} 4144var styleRules=styleUtil.rulesForStyle(e);if(!targetedBuild){styleUtil.forEachRule(styleRules,function(rule){styleTransformer.documentRule(rule);});if(settings.useNativeCSSProperties&&!buildType){applyShim.transform([e]);}} 4145if(settings.useNativeCSSProperties){e.textContent=styleUtil.toCssText(styleRules);}else{var self=this;var fn=function fn(){self._flushCustomProperties();};if(initialApply){Polymer.RenderStatus.whenReady(fn);}else{fn();}}},_flushCustomProperties:function(){if(this.__needsUpdateStyles){this.__needsUpdateStyles=false;updateDebouncer=debounce(updateDebouncer,this._updateStyles);}else{this._applyCustomProperties();}},_applyCustomProperties:function(){var element=this.__appliedElement;this._computeStyleProperties();var props=this._styleProperties;var rules=styleUtil.rulesForStyle(element);if(!rules){return;} 4146element.textContent=styleUtil.toCssText(rules,function(rule){var css=rule.cssText=rule.parsedCssText;if(rule.propertyInfo&&rule.propertyInfo.cssText){css=cssParse.removeCustomPropAssignment(css);rule.cssText=propertyUtils.valueForProperties(css,props);}});}});}());Polymer.Templatizer={properties:{__hideTemplateChildren__:{observer:'_showHideChildren'}},_instanceProps:Polymer.nob,_parentPropPrefix:'_parent_',templatize:function(template){this._templatized=template;if(!template._content){template._content=template.content;} 4147if(template._content._ctor){this.ctor=template._content._ctor;this._prepParentProperties(this.ctor.prototype,template);return;} 4148var archetype=Object.create(Polymer.Base);this._customPrepAnnotations(archetype,template);this._prepParentProperties(archetype,template);archetype._prepEffects();this._customPrepEffects(archetype);archetype._prepBehaviors();archetype._prepPropertyInfo();archetype._prepBindings();archetype._notifyPathUp=this._notifyPathUpImpl;archetype._scopeElementClass=this._scopeElementClassImpl;archetype.listen=this._listenImpl;archetype._showHideChildren=this._showHideChildrenImpl;archetype.__setPropertyOrig=this.__setProperty;archetype.__setProperty=this.__setPropertyImpl;var _constructor=this._constructorImpl;var ctor=function TemplateInstance(model,host){_constructor.call(this,model,host);};ctor.prototype=archetype;archetype.constructor=ctor;template._content._ctor=ctor;this.ctor=ctor;},_getRootDataHost:function(){return this.dataHost&&this.dataHost._rootDataHost||this.dataHost;},_showHideChildrenImpl:function(hide){var c=this._children;for(var i=0;i<c.length;i++){var n=c[i];if(Boolean(hide)!=Boolean(n.__hideTemplateChildren__)){if(n.nodeType===Node.TEXT_NODE){if(hide){n.__polymerTextContent__=n.textContent;n.textContent='';}else{n.textContent=n.__polymerTextContent__;}}else if(n.style){if(hide){n.__polymerDisplay__=n.style.display;n.style.display='none';}else{n.style.display=n.__polymerDisplay__;}}} 4149n.__hideTemplateChildren__=hide;}},__setPropertyImpl:function(property,value,fromAbove,node){if(node&&node.__hideTemplateChildren__&&property=='textContent'){property='__polymerTextContent__';} 4150this.__setPropertyOrig(property,value,fromAbove,node);},_debounceTemplate:function(fn){Polymer.dom.addDebouncer(this.debounce('_debounceTemplate',fn));},_flushTemplates:function(){Polymer.dom.flush();},_customPrepEffects:function(archetype){var parentProps=archetype._parentProps;for(var prop in parentProps){archetype._addPropertyEffect(prop,'function',this._createHostPropEffector(prop));} 4151for(prop in this._instanceProps){archetype._addPropertyEffect(prop,'function',this._createInstancePropEffector(prop));}},_customPrepAnnotations:function(archetype,template){archetype._template=template;var c=template._content;if(!c._notes){var rootDataHost=archetype._rootDataHost;if(rootDataHost){Polymer.Annotations.prepElement=function(){rootDataHost._prepElement();};} 4152c._notes=Polymer.Annotations.parseAnnotations(template);Polymer.Annotations.prepElement=null;this._processAnnotations(c._notes);} 4153archetype._notes=c._notes;archetype._parentProps=c._parentProps;},_prepParentProperties:function(archetype,template){var parentProps=this._parentProps=archetype._parentProps;if(this._forwardParentProp&&parentProps){var proto=archetype._parentPropProto;var prop;if(!proto){for(prop in this._instanceProps){delete parentProps[prop];} 4154proto=archetype._parentPropProto=Object.create(null);if(template!=this){Polymer.Bind.prepareModel(proto);Polymer.Base.prepareModelNotifyPath(proto);} 4155for(prop in parentProps){var parentProp=this._parentPropPrefix+prop;var effects=[{kind:'function',effect:this._createForwardPropEffector(prop),fn:Polymer.Bind._functionEffect},{kind:'notify',fn:Polymer.Bind._notifyEffect,effect:{event:Polymer.CaseMap.camelToDashCase(parentProp)+'-changed'}}];proto._propertyEffects=proto._propertyEffects||{};proto._propertyEffects[parentProp]=effects;Polymer.Bind._createAccessors(proto,parentProp,effects);}} 4156var self=this;if(template!=this){Polymer.Bind.prepareInstance(template);template._forwardParentProp=function(source,value){self._forwardParentProp(source,value);};} 4157this._extendTemplate(template,proto);template._pathEffector=function(path,value,fromAbove){return self._pathEffectorImpl(path,value,fromAbove);};}},_createForwardPropEffector:function(prop){return function(source,value){this._forwardParentProp(prop,value);};},_createHostPropEffector:function(prop){var prefix=this._parentPropPrefix;return function(source,value){this.dataHost._templatized[prefix+prop]=value;};},_createInstancePropEffector:function(prop){return function(source,value,old,fromAbove){if(!fromAbove){this.dataHost._forwardInstanceProp(this,prop,value);}};},_extendTemplate:function(template,proto){var n$=Object.getOwnPropertyNames(proto);if(proto._propertySetter){template._propertySetter=proto._propertySetter;} 4158for(var i=0,n;i<n$.length&&(n=n$[i]);i++){var val=template[n];if(val&&n=='_propertyEffects'){var pe=Polymer.Base.mixin({},val);template._propertyEffects=Polymer.Base.mixin(pe,proto._propertyEffects);}else{var pd=Object.getOwnPropertyDescriptor(proto,n);Object.defineProperty(template,n,pd);if(val!==undefined){template._propertySetter(n,val);}}}},_showHideChildren:function(hidden){},_forwardInstancePath:function(inst,path,value){},_forwardInstanceProp:function(inst,prop,value){},_notifyPathUpImpl:function(path,value){var dataHost=this.dataHost;var root=Polymer.Path.root(path);dataHost._forwardInstancePath.call(dataHost,this,path,value);if(root in dataHost._parentProps){dataHost._templatized._notifyPath(dataHost._parentPropPrefix+path,value);}},_pathEffectorImpl:function(path,value,fromAbove){if(this._forwardParentPath){if(path.indexOf(this._parentPropPrefix)===0){var subPath=path.substring(this._parentPropPrefix.length);var model=Polymer.Path.root(subPath);if(model in this._parentProps){this._forwardParentPath(subPath,value);}}} 4159Polymer.Base._pathEffector.call(this._templatized,path,value,fromAbove);},_constructorImpl:function(model,host){this._rootDataHost=host._getRootDataHost();this._setupConfigure(model);this._registerHost(host);this._beginHosting();this.root=this.instanceTemplate(this._template);this.root.__noContent=!this._notes._hasContent;this.root.__styleScoped=true;this._endHosting();this._marshalAnnotatedNodes();this._marshalInstanceEffects();this._marshalAnnotatedListeners();var children=[];for(var n=this.root.firstChild;n;n=n.nextSibling){children.push(n);n._templateInstance=this;} 4160this._children=children;if(host.__hideTemplateChildren__){this._showHideChildren(true);} 4161this._tryReady();},_listenImpl:function(node,eventName,methodName){var model=this;var host=this._rootDataHost;var handler=host._createEventHandler(node,eventName,methodName);var decorated=function(e){e.model=model;handler(e);};host._listen(node,eventName,decorated);},_scopeElementClassImpl:function(node,value){var host=this._rootDataHost;if(host){return host._scopeElementClass(node,value);} 4162return value;},stamp:function(model){model=model||{};if(this._parentProps){var templatized=this._templatized;for(var prop in this._parentProps){if(model[prop]===undefined){model[prop]=templatized[this._parentPropPrefix+prop];}}} 4163return new this.ctor(model,this);},modelForElement:function(el){var model;while(el){if(model=el._templateInstance){if(model.dataHost!=this){el=model.dataHost;}else{return model;}}else{el=el.parentNode;}}}};Polymer({is:'dom-template',extends:'template',_template:null,behaviors:[Polymer.Templatizer],ready:function(){this.templatize(this);}});Polymer._collections=new WeakMap();Polymer.Collection=function(userArray){Polymer._collections.set(userArray,this);this.userArray=userArray;this.store=userArray.slice();this.initMap();};Polymer.Collection.prototype={constructor:Polymer.Collection,initMap:function(){var omap=this.omap=new WeakMap();var pmap=this.pmap={};var s=this.store;for(var i=0;i<s.length;i++){var item=s[i];if(item&&typeof item=='object'){omap.set(item,i);}else{pmap[item]=i;}}},add:function(item){var key=this.store.push(item)-1;if(item&&typeof item=='object'){this.omap.set(item,key);}else{this.pmap[item]=key;} 4164return'#'+key;},removeKey:function(key){if(key=this._parseKey(key)){this._removeFromMap(this.store[key]);delete this.store[key];}},_removeFromMap:function(item){if(item&&typeof item=='object'){this.omap.delete(item);}else{delete this.pmap[item];}},remove:function(item){var key=this.getKey(item);this.removeKey(key);return key;},getKey:function(item){var key;if(item&&typeof item=='object'){key=this.omap.get(item);}else{key=this.pmap[item];} 4165if(key!=undefined){return'#'+key;}},getKeys:function(){return Object.keys(this.store).map(function(key){return'#'+key;});},_parseKey:function(key){if(key&&key[0]=='#'){return key.slice(1);}},setItem:function(key,item){if(key=this._parseKey(key)){var old=this.store[key];if(old){this._removeFromMap(old);} 4166if(item&&typeof item=='object'){this.omap.set(item,key);}else{this.pmap[item]=key;} 4167this.store[key]=item;}},getItem:function(key){if(key=this._parseKey(key)){return this.store[key];}},getItems:function(){var items=[],store=this.store;for(var key in store){items.push(store[key]);} 4168return items;},_applySplices:function(splices){var keyMap={},key;for(var i=0,s;i<splices.length&&(s=splices[i]);i++){s.addedKeys=[];for(var j=0;j<s.removed.length;j++){key=this.getKey(s.removed[j]);keyMap[key]=keyMap[key]?null:-1;} 4169for(j=0;j<s.addedCount;j++){var item=this.userArray[s.index+j];key=this.getKey(item);key=key===undefined?this.add(item):key;keyMap[key]=keyMap[key]?null:1;s.addedKeys.push(key);}} 4170var removed=[];var added=[];for(key in keyMap){if(keyMap[key]<0){this.removeKey(key);removed.push(key);} 4171if(keyMap[key]>0){added.push(key);}} 4172return[{removed:removed,added:added}];}};Polymer.Collection.get=function(userArray){return Polymer._collections.get(userArray)||new Polymer.Collection(userArray);};Polymer.Collection.applySplices=function(userArray,splices){var coll=Polymer._collections.get(userArray);return coll?coll._applySplices(splices):null;};Polymer({is:'dom-repeat',extends:'template',_template:null,properties:{items:{type:Array},as:{type:String,value:'item'},indexAs:{type:String,value:'index'},sort:{type:Function,observer:'_sortChanged'},filter:{type:Function,observer:'_filterChanged'},observe:{type:String,observer:'_observeChanged'},delay:Number,renderedItemCount:{type:Number,notify:!Polymer.Settings.suppressTemplateNotifications,readOnly:true},initialCount:{type:Number,observer:'_initializeChunking'},targetFramerate:{type:Number,value:20},notifyDomChange:{type:Boolean},_targetFrameTime:{type:Number,computed:'_computeFrameTime(targetFramerate)'}},behaviors:[Polymer.Templatizer],observers:['_itemsChanged(items.*)'],created:function(){this._instances=[];this._pool=[];this._limit=Infinity;var self=this;this._boundRenderChunk=function(){self._renderChunk();};},detached:function(){this.__isDetached=true;for(var i=0;i<this._instances.length;i++){this._detachInstance(i);}},attached:function(){if(this.__isDetached){this.__isDetached=false;var parent=Polymer.dom(Polymer.dom(this).parentNode);for(var i=0;i<this._instances.length;i++){this._attachInstance(i,parent);}}},ready:function(){this._instanceProps={__key__:true};this._instanceProps[this.as]=true;this._instanceProps[this.indexAs]=true;if(!this.ctor){this.templatize(this);}},_sortChanged:function(sort){var dataHost=this._getRootDataHost();this._sortFn=sort&&(typeof sort=='function'?sort:function(){return dataHost[sort].apply(dataHost,arguments);});this._needFullRefresh=true;if(this.items){this._debounceTemplate(this._render);}},_filterChanged:function(filter){var dataHost=this._getRootDataHost();this._filterFn=filter&&(typeof filter=='function'?filter:function(){return dataHost[filter].apply(dataHost,arguments);});this._needFullRefresh=true;if(this.items){this._debounceTemplate(this._render);}},_computeFrameTime:function(rate){return Math.ceil(1000/rate);},_initializeChunking:function(){if(this.initialCount){this._limit=this.initialCount;this._chunkCount=this.initialCount;this._lastChunkTime=performance.now();}},_tryRenderChunk:function(){if(this.items&&this._limit<this.items.length){this.debounce('renderChunk',this._requestRenderChunk);}},_requestRenderChunk:function(){requestAnimationFrame(this._boundRenderChunk);},_renderChunk:function(){var currChunkTime=performance.now();var ratio=this._targetFrameTime/(currChunkTime-this._lastChunkTime);this._chunkCount=Math.round(this._chunkCount*ratio)||1;this._limit+=this._chunkCount;this._lastChunkTime=currChunkTime;this._debounceTemplate(this._render);},_observeChanged:function(){this._observePaths=this.observe&&this.observe.replace('.*','.').split(' ');},_itemsChanged:function(change){if(change.path=='items'){if(Array.isArray(this.items)){this.collection=Polymer.Collection.get(this.items);}else if(!this.items){this.collection=null;}else{this._error(this._logf('dom-repeat','expected array for `items`,'+' found',this.items));} 4173this._keySplices=[];this._indexSplices=[];this._needFullRefresh=true;this._initializeChunking();this._debounceTemplate(this._render);}else if(change.path=='items.splices'){this._keySplices=this._keySplices.concat(change.value.keySplices);this._indexSplices=this._indexSplices.concat(change.value.indexSplices);this._debounceTemplate(this._render);}else{var subpath=change.path.slice(6);this._forwardItemPath(subpath,change.value);this._checkObservedPaths(subpath);}},_checkObservedPaths:function(path){if(this._observePaths){path=path.substring(path.indexOf('.')+1);var paths=this._observePaths;for(var i=0;i<paths.length;i++){if(path.indexOf(paths[i])===0){this._needFullRefresh=true;if(this.delay){this.debounce('render',this._render,this.delay);}else{this._debounceTemplate(this._render);} 4174return;}}}},render:function(){this._needFullRefresh=true;this._debounceTemplate(this._render);this._flushTemplates();},_render:function(){if(this._needFullRefresh){this._applyFullRefresh();this._needFullRefresh=false;}else if(this._keySplices.length){if(this._sortFn){this._applySplicesUserSort(this._keySplices);}else{if(this._filterFn){this._applyFullRefresh();}else{this._applySplicesArrayOrder(this._indexSplices);}}}else{} 4175this._keySplices=[];this._indexSplices=[];var keyToIdx=this._keyToInstIdx={};for(var i=this._instances.length-1;i>=0;i--){var inst=this._instances[i];if(inst.isPlaceholder&&i<this._limit){inst=this._insertInstance(i,inst.__key__);}else if(!inst.isPlaceholder&&i>=this._limit){inst=this._downgradeInstance(i,inst.__key__);} 4176keyToIdx[inst.__key__]=i;if(!inst.isPlaceholder){inst.__setProperty(this.indexAs,i,true);}} 4177this._pool.length=0;this._setRenderedItemCount(this._instances.length);if(!Polymer.Settings.suppressTemplateNotifications||this.notifyDomChange){this.fire('dom-change');} 4178this._tryRenderChunk();},_applyFullRefresh:function(){var c=this.collection;var keys;if(this._sortFn){keys=c?c.getKeys():[];}else{keys=[];var items=this.items;if(items){for(var i=0;i<items.length;i++){keys.push(c.getKey(items[i]));}}} 4179var self=this;if(this._filterFn){keys=keys.filter(function(a){return self._filterFn(c.getItem(a));});} 4180if(this._sortFn){keys.sort(function(a,b){return self._sortFn(c.getItem(a),c.getItem(b));});} 4181for(i=0;i<keys.length;i++){var key=keys[i];var inst=this._instances[i];if(inst){inst.__key__=key;if(!inst.isPlaceholder&&i<this._limit){inst.__setProperty(this.as,c.getItem(key),true);}}else if(i<this._limit){this._insertInstance(i,key);}else{this._insertPlaceholder(i,key);}} 4182for(var j=this._instances.length-1;j>=i;j--){this._detachAndRemoveInstance(j);}},_numericSort:function(a,b){return a-b;},_applySplicesUserSort:function(splices){var c=this.collection;var keyMap={};var key;for(var i=0,s;i<splices.length&&(s=splices[i]);i++){for(var j=0;j<s.removed.length;j++){key=s.removed[j];keyMap[key]=keyMap[key]?null:-1;} 4183for(j=0;j<s.added.length;j++){key=s.added[j];keyMap[key]=keyMap[key]?null:1;}} 4184var removedIdxs=[];var addedKeys=[];for(key in keyMap){if(keyMap[key]===-1){removedIdxs.push(this._keyToInstIdx[key]);} 4185if(keyMap[key]===1){addedKeys.push(key);}} 4186if(removedIdxs.length){removedIdxs.sort(this._numericSort);for(i=removedIdxs.length-1;i>=0;i--){var idx=removedIdxs[i];if(idx!==undefined){this._detachAndRemoveInstance(idx);}}} 4187var self=this;if(addedKeys.length){if(this._filterFn){addedKeys=addedKeys.filter(function(a){return self._filterFn(c.getItem(a));});} 4188addedKeys.sort(function(a,b){return self._sortFn(c.getItem(a),c.getItem(b));});var start=0;for(i=0;i<addedKeys.length;i++){start=this._insertRowUserSort(start,addedKeys[i]);}}},_insertRowUserSort:function(start,key){var c=this.collection;var item=c.getItem(key);var end=this._instances.length-1;var idx=-1;while(start<=end){var mid=start+end>>1;var midKey=this._instances[mid].__key__;var cmp=this._sortFn(c.getItem(midKey),item);if(cmp<0){start=mid+1;}else if(cmp>0){end=mid-1;}else{idx=mid;break;}} 4189if(idx<0){idx=end+1;} 4190this._insertPlaceholder(idx,key);return idx;},_applySplicesArrayOrder:function(splices){for(var i=0,s;i<splices.length&&(s=splices[i]);i++){for(var j=0;j<s.removed.length;j++){this._detachAndRemoveInstance(s.index);} 4191for(j=0;j<s.addedKeys.length;j++){this._insertPlaceholder(s.index+j,s.addedKeys[j]);}}},_detachInstance:function(idx){var inst=this._instances[idx];if(!inst.isPlaceholder){for(var i=0;i<inst._children.length;i++){var el=inst._children[i];Polymer.dom(inst.root).appendChild(el);} 4192return inst;}},_attachInstance:function(idx,parent){var inst=this._instances[idx];if(!inst.isPlaceholder){parent.insertBefore(inst.root,this);}},_detachAndRemoveInstance:function(idx){var inst=this._detachInstance(idx);if(inst){this._pool.push(inst);} 4193this._instances.splice(idx,1);},_insertPlaceholder:function(idx,key){this._instances.splice(idx,0,{isPlaceholder:true,__key__:key});},_stampInstance:function(idx,key){var model={__key__:key};model[this.as]=this.collection.getItem(key);model[this.indexAs]=idx;return this.stamp(model);},_insertInstance:function(idx,key){var inst=this._pool.pop();if(inst){inst.__setProperty(this.as,this.collection.getItem(key),true);inst.__setProperty('__key__',key,true);}else{inst=this._stampInstance(idx,key);} 4194var beforeRow=this._instances[idx+1];var beforeNode=beforeRow&&!beforeRow.isPlaceholder?beforeRow._children[0]:this;var parentNode=Polymer.dom(this).parentNode;Polymer.dom(parentNode).insertBefore(inst.root,beforeNode);this._instances[idx]=inst;return inst;},_downgradeInstance:function(idx,key){var inst=this._detachInstance(idx);if(inst){this._pool.push(inst);} 4195inst={isPlaceholder:true,__key__:key};this._instances[idx]=inst;return inst;},_showHideChildren:function(hidden){for(var i=0;i<this._instances.length;i++){if(!this._instances[i].isPlaceholder) 4196this._instances[i]._showHideChildren(hidden);}},_forwardInstanceProp:function(inst,prop,value){if(prop==this.as){var idx;if(this._sortFn||this._filterFn){idx=this.items.indexOf(this.collection.getItem(inst.__key__));}else{idx=inst[this.indexAs];} 4197this.set('items.'+idx,value);}},_forwardInstancePath:function(inst,path,value){if(path.indexOf(this.as+'.')===0){this._notifyPath('items.'+inst.__key__+'.'+path.slice(this.as.length+1),value);}},_forwardParentProp:function(prop,value){var i$=this._instances;for(var i=0,inst;i<i$.length&&(inst=i$[i]);i++){if(!inst.isPlaceholder){inst.__setProperty(prop,value,true);}}},_forwardParentPath:function(path,value){var i$=this._instances;for(var i=0,inst;i<i$.length&&(inst=i$[i]);i++){if(!inst.isPlaceholder){inst._notifyPath(path,value,true);}}},_forwardItemPath:function(path,value){if(this._keyToInstIdx){var dot=path.indexOf('.');var key=path.substring(0,dot<0?path.length:dot);var idx=this._keyToInstIdx[key];var inst=this._instances[idx];if(inst&&!inst.isPlaceholder){if(dot>=0){path=this.as+'.'+path.substring(dot+1);inst._notifyPath(path,value,true);}else{inst.__setProperty(this.as,value,true);}}}},itemForElement:function(el){var instance=this.modelForElement(el);return instance&&instance[this.as];},keyForElement:function(el){var instance=this.modelForElement(el);return instance&&instance.__key__;},indexForElement:function(el){var instance=this.modelForElement(el);return instance&&instance[this.indexAs];}});Polymer({is:'array-selector',_template:null,properties:{items:{type:Array,observer:'clearSelection'},multi:{type:Boolean,value:false,observer:'clearSelection'},selected:{type:Object,notify:true},selectedItem:{type:Object,notify:true},toggle:{type:Boolean,value:false}},clearSelection:function(){if(Array.isArray(this.selected)){for(var i=0;i<this.selected.length;i++){this.unlinkPaths('selected.'+i);}}else{this.unlinkPaths('selected');this.unlinkPaths('selectedItem');} 4198if(this.multi){if(!this.selected||this.selected.length){this.selected=[];this._selectedColl=Polymer.Collection.get(this.selected);}}else{this.selected=null;this._selectedColl=null;} 4199this.selectedItem=null;},isSelected:function(item){if(this.multi){return this._selectedColl.getKey(item)!==undefined;}else{return this.selected==item;}},deselect:function(item){if(this.multi){if(this.isSelected(item)){var skey=this._selectedColl.getKey(item);this.arrayDelete('selected',item);this.unlinkPaths('selected.'+skey);}}else{this.selected=null;this.selectedItem=null;this.unlinkPaths('selected');this.unlinkPaths('selectedItem');}},select:function(item){var icol=Polymer.Collection.get(this.items);var key=icol.getKey(item);if(this.multi){if(this.isSelected(item)){if(this.toggle){this.deselect(item);}}else{this.push('selected',item);var skey=this._selectedColl.getKey(item);this.linkPaths('selected.'+skey,'items.'+key);}}else{if(this.toggle&&item==this.selected){this.deselect();}else{this.selected=item;this.selectedItem=item;this.linkPaths('selected','items.'+key);this.linkPaths('selectedItem','items.'+key);}}}});Polymer({is:'dom-if',extends:'template',_template:null,properties:{'if':{type:Boolean,value:false,observer:'_queueRender'},restamp:{type:Boolean,value:false,observer:'_queueRender'},notifyDomChange:{type:Boolean}},behaviors:[Polymer.Templatizer],_queueRender:function(){this._debounceTemplate(this._render);},detached:function(){if(!this.parentNode||this.parentNode.nodeType==Node.DOCUMENT_FRAGMENT_NODE&&(!Polymer.Settings.hasShadow||!(this.parentNode instanceof ShadowRoot))){this._teardownInstance();}},attached:function(){if(this.if&&this.ctor){this.async(this._ensureInstance);}},render:function(){this._flushTemplates();},_render:function(){if(this.if){if(!this.ctor){this.templatize(this);} 4200this._ensureInstance();this._showHideChildren();}else if(this.restamp){this._teardownInstance();} 4201if(!this.restamp&&this._instance){this._showHideChildren();} 4202if(this.if!=this._lastIf){if(!Polymer.Settings.suppressTemplateNotifications||this.notifyDomChange){this.fire('dom-change');} 4203this._lastIf=this.if;}},_ensureInstance:function(){var parentNode=Polymer.dom(this).parentNode;if(parentNode){var parent=Polymer.dom(parentNode);if(!this._instance){this._instance=this.stamp();var root=this._instance.root;parent.insertBefore(root,this);}else{var c$=this._instance._children;if(c$&&c$.length){var lastChild=Polymer.dom(this).previousSibling;if(lastChild!==c$[c$.length-1]){for(var i=0,n;i<c$.length&&(n=c$[i]);i++){parent.insertBefore(n,this);}}}}}},_teardownInstance:function(){if(this._instance){var c$=this._instance._children;if(c$&&c$.length){var parent=Polymer.dom(Polymer.dom(c$[0]).parentNode);for(var i=0,n;i<c$.length&&(n=c$[i]);i++){parent.removeChild(n);}} 4204this._instance=null;}},_showHideChildren:function(){var hidden=this.__hideTemplateChildren__||!this.if;if(this._instance){this._instance._showHideChildren(hidden);}},_forwardParentProp:function(prop,value){if(this._instance){this._instance.__setProperty(prop,value,true);}},_forwardParentPath:function(path,value){if(this._instance){this._instance._notifyPath(path,value,true);}}});Polymer({is:'dom-bind',properties:{notifyDomChange:{type:Boolean}},extends:'template',_template:null,created:function(){var self=this;Polymer.RenderStatus.whenReady(function(){if(document.readyState=='loading'){document.addEventListener('DOMContentLoaded',function(){self._markImportsReady();});}else{self._markImportsReady();}});},_ensureReady:function(){if(!this._readied){this._readySelf();}},_markImportsReady:function(){this._importsReady=true;this._ensureReady();},_registerFeatures:function(){this._prepConstructor();},_insertChildren:function(){var parentDom=Polymer.dom(Polymer.dom(this).parentNode);parentDom.insertBefore(this.root,this);},_removeChildren:function(){if(this._children){for(var i=0;i<this._children.length;i++){this.root.appendChild(this._children[i]);}}},_initFeatures:function(){},_scopeElementClass:function(element,selector){if(this.dataHost){return this.dataHost._scopeElementClass(element,selector);}else{return selector;}},_configureInstanceProperties:function(){},_prepConfigure:function(){var config={};for(var prop in this._propertyEffects){config[prop]=this[prop];} 4205var setupConfigure=this._setupConfigure;this._setupConfigure=function(){setupConfigure.call(this,config);};},attached:function(){if(this._importsReady){this.render();}},detached:function(){this._removeChildren();},render:function(){this._ensureReady();if(!this._children){this._template=this;this._prepAnnotations();this._prepEffects();this._prepBehaviors();this._prepConfigure();this._prepBindings();this._prepPropertyInfo();Polymer.Base._initFeatures.call(this);this._children=Polymer.TreeApi.arrayCopyChildNodes(this.root);} 4206this._insertChildren();if(!Polymer.Settings.suppressTemplateNotifications||this.notifyDomChange){this.fire('dom-change');}}});'use strict';if(!Polymer.Settings.useNativeShadow){tr.b.showPanic('Polymer error','base only works in shadow mode');}'use strict';const global=this.window||this.global;this.tr=(function(){if(global.tr)return global.tr;function exportPath(name){const parts=name.split('.');let cur=global;for(let part;parts.length&&(part=parts.shift());){if(part in cur){cur=cur[part];}else{cur=cur[part]={};}} 4207return cur;} 4208function isExported(name){const parts=name.split('.');let cur=global;for(let part;parts.length&&(part=parts.shift());){if(part in cur){cur=cur[part];}else{return false;}} 4209return true;} 4210function isDefined(name){const parts=name.split('.');let curObject=global;for(let i=0;i<parts.length;i++){const partName=parts[i];const nextObject=curObject[partName];if(nextObject===undefined)return false;curObject=nextObject;} 4211return true;} 4212let panicElement=undefined;const rawPanicMessages=[];function showPanicElementIfNeeded(){if(panicElement)return;const panicOverlay=document.createElement('div');panicOverlay.style.backgroundColor='white';panicOverlay.style.border='3px solid red';panicOverlay.style.boxSizing='border-box';panicOverlay.style.color='black';panicOverlay.style.display='-webkit-flex';panicOverlay.style.height='100%';panicOverlay.style.left=0;panicOverlay.style.padding='8px';panicOverlay.style.position='fixed';panicOverlay.style.top=0;panicOverlay.style.webkitFlexDirection='column';panicOverlay.style.width='100%';panicElement=document.createElement('div');panicElement.style.webkitFlex='1 1 auto';panicElement.style.overflow='auto';panicOverlay.appendChild(panicElement);if(!document.body){setTimeout(function(){document.body.appendChild(panicOverlay);},150);}else{document.body.appendChild(panicOverlay);}} 4213function showPanic(panicTitle,panicDetails){if(tr.isHeadless){if(panicDetails instanceof Error)throw panicDetails;throw new Error('Panic: '+panicTitle+':\n'+panicDetails);} 4214if(panicDetails instanceof Error){panicDetails=panicDetails.stack;} 4215showPanicElementIfNeeded();const panicMessageEl=document.createElement('div');panicMessageEl.innerHTML='<h2 id="message"></h2>'+'<pre id="details"></pre>';panicMessageEl.querySelector('#message').textContent=panicTitle;panicMessageEl.querySelector('#details').textContent=panicDetails;panicElement.appendChild(panicMessageEl);rawPanicMessages.push({title:panicTitle,details:panicDetails});} 4216function hasPanic(){return rawPanicMessages.length!==0;} 4217function getPanicText(){return rawPanicMessages.map(function(msg){return msg.title;}).join(', ');} 4218function exportTo(namespace,fn){const obj=exportPath(namespace);const exports=fn();for(const propertyName in exports){const propertyDescriptor=Object.getOwnPropertyDescriptor(exports,propertyName);if(propertyDescriptor){Object.defineProperty(obj,propertyName,propertyDescriptor);}}} 4219function initialize(){if(global.isVinn){tr.isVinn=true;}else if(global.process&&global.process.versions.node){tr.isNode=true;}else{tr.isVinn=false;tr.isNode=false;tr.doc=document;tr.isMac=/Mac/.test(navigator.platform);tr.isWindows=/Win/.test(navigator.platform);tr.isChromeOS=/CrOS/.test(navigator.userAgent);tr.isLinux=/Linux/.test(navigator.userAgent);} 4220tr.isHeadless=tr.isVinn||tr.isNode;} 4221return{initialize,exportTo,isExported,isDefined,showPanic,hasPanic,getPanicText,};})();tr.initialize();'use strict';tr.exportTo('tr.b',function(){function EventTarget(){} 4222EventTarget.decorate=function(target){for(const k in EventTarget.prototype){if(k==='decorate')continue;const v=EventTarget.prototype[k];if(typeof v!=='function')continue;target[k]=v;}};EventTarget.prototype={addEventListener(type,handler){if(!this.listeners_){this.listeners_=Object.create(null);} 4223if(!(type in this.listeners_)){this.listeners_[type]=[handler];}else{const handlers=this.listeners_[type];if(handlers.indexOf(handler)<0){handlers.push(handler);}}},removeEventListener(type,handler){if(!this.listeners_)return;if(type in this.listeners_){const handlers=this.listeners_[type];const index=handlers.indexOf(handler);if(index>=0){if(handlers.length===1){delete this.listeners_[type];}else{handlers.splice(index,1);}}}},dispatchEvent(event){if(!this.listeners_)return true;event.__defineGetter__('target',()=>this);const realPreventDefault=event.preventDefault;event.preventDefault=function(){realPreventDefault.call(this);this.rawReturnValue=false;};const type=event.type;let prevented=0;if(type in this.listeners_){const handlers=this.listeners_[type].concat();for(let i=0,handler;handler=handlers[i];i++){if(handler.handleEvent){prevented|=handler.handleEvent.call(handler,event)===false;}else{prevented|=handler.call(this,event)===false;}}} 4224return!prevented&&event.rawReturnValue;},async dispatchAsync(event){if(!this.listeners_)return true;const listeners=this.listeners_[event.type];if(listeners===undefined)return;await Promise.all(listeners.slice().map(listener=>{if(listener.handleEvent){return listener.handleEvent.call(listener,event);} 4225return listener.call(this,event);}));},hasEventListener(type){return(this.listeners_!==undefined&&this.listeners_[type]!==undefined);}};return{EventTarget,};});'use strict';tr.exportTo('tr.b',function(){function RegisteredTypeInfo(constructor,metadata){this.constructor=constructor;this.metadata=metadata;} 4226const BASIC_REGISTRY_MODE='BASIC_REGISTRY_MODE';const TYPE_BASED_REGISTRY_MODE='TYPE_BASED_REGISTRY_MODE';const ALL_MODES={BASIC_REGISTRY_MODE:true,TYPE_BASED_REGISTRY_MODE:true};function ExtensionRegistryOptions(mode){if(mode===undefined){throw new Error('Mode is required');} 4227if(!ALL_MODES[mode]){throw new Error('Not a mode.');} 4228this.mode_=mode;this.defaultMetadata_={};this.defaultConstructor_=undefined;this.defaultTypeInfo_=undefined;this.frozen_=false;} 4229ExtensionRegistryOptions.prototype={freeze(){if(this.frozen_){throw new Error('Frozen');} 4230this.frozen_=true;},get mode(){return this.mode_;},get defaultMetadata(){return this.defaultMetadata_;},set defaultMetadata(defaultMetadata){if(this.frozen_){throw new Error('Frozen');} 4231this.defaultMetadata_=defaultMetadata;this.defaultTypeInfo_=undefined;},get defaultConstructor(){return this.defaultConstructor_;},set defaultConstructor(defaultConstructor){if(this.frozen_){throw new Error('Frozen');} 4232this.defaultConstructor_=defaultConstructor;this.defaultTypeInfo_=undefined;},get defaultTypeInfo(){if(this.defaultTypeInfo_===undefined&&this.defaultConstructor_){this.defaultTypeInfo_=new RegisteredTypeInfo(this.defaultConstructor,this.defaultMetadata);} 4233return this.defaultTypeInfo_;},validateConstructor(constructor){if(!this.mandatoryBaseClass)return;let curProto=constructor.prototype.__proto__;let ok=false;while(curProto){if(curProto===this.mandatoryBaseClass.prototype){ok=true;break;} 4234curProto=curProto.__proto__;} 4235if(!ok){throw new Error(constructor+'must be subclass of '+registry);}}};return{BASIC_REGISTRY_MODE,TYPE_BASED_REGISTRY_MODE,ExtensionRegistryOptions,RegisteredTypeInfo,};});'use strict';tr.exportTo('tr.b',function(){let Event;if(tr.isHeadless){function HeadlessEvent(type,opt_bubbles,opt_preventable){this.type=type;this.bubbles=(opt_bubbles!==undefined?!!opt_bubbles:false);this.cancelable=(opt_preventable!==undefined?!!opt_preventable:false);this.defaultPrevented=false;this.cancelBubble=false;} 4236HeadlessEvent.prototype={preventDefault(){this.defaultPrevented=true;},stopPropagation(){this.cancelBubble=true;}};Event=HeadlessEvent;}else{function TrEvent(type,opt_bubbles,opt_preventable){const e=tr.doc.createEvent('Event');e.initEvent(type,!!opt_bubbles,!!opt_preventable);e.__proto__=global.Event.prototype;return e;} 4237TrEvent.prototype={__proto__:global.Event.prototype};Event=TrEvent;} 4238function dispatchSimpleEvent(target,type,opt_bubbles,opt_cancelable,opt_fields){const e=new tr.b.Event(type,opt_bubbles,opt_cancelable);Object.assign(e,opt_fields);return target.dispatchEvent(e);} 4239async function dispatchSimpleEventAsync(target,type,opt_fields){const e=new tr.b.Event(type,false,false);Object.assign(e,opt_fields);return await target.dispatchAsync(e);} 4240return{Event,dispatchSimpleEvent,dispatchSimpleEventAsync,};});'use strict';tr.exportTo('tr.b',function(){const RegisteredTypeInfo=tr.b.RegisteredTypeInfo;const ExtensionRegistryOptions=tr.b.ExtensionRegistryOptions;function decorateBasicExtensionRegistry(registry,extensionRegistryOptions){const savedStateStack=[];registry.registeredTypeInfos_=[];registry.register=function(constructor,opt_metadata){if(registry.findIndexOfRegisteredConstructor(constructor)!==undefined){throw new Error('Handler already registered for '+constructor);} 4241extensionRegistryOptions.validateConstructor(constructor);const metadata={};for(const k in extensionRegistryOptions.defaultMetadata){metadata[k]=extensionRegistryOptions.defaultMetadata[k];} 4242if(opt_metadata){for(const k in opt_metadata){metadata[k]=opt_metadata[k];}} 4243const typeInfo=new RegisteredTypeInfo(constructor,metadata);let e=new tr.b.Event('will-register');e.typeInfo=typeInfo;registry.dispatchEvent(e);registry.registeredTypeInfos_.push(typeInfo);e=new tr.b.Event('registry-changed');registry.dispatchEvent(e);};registry.pushCleanStateBeforeTest=function(){savedStateStack.push(registry.registeredTypeInfos_);registry.registeredTypeInfos_=[];const e=new tr.b.Event('registry-changed');registry.dispatchEvent(e);};registry.popCleanStateAfterTest=function(){registry.registeredTypeInfos_=savedStateStack[0];savedStateStack.splice(0,1);const e=new tr.b.Event('registry-changed');registry.dispatchEvent(e);};registry.findIndexOfRegisteredConstructor=function(constructor){for(let i=0;i<registry.registeredTypeInfos_.length;i++){if(registry.registeredTypeInfos_[i].constructor===constructor){return i;}} 4244return undefined;};registry.unregister=function(constructor){const foundIndex=registry.findIndexOfRegisteredConstructor(constructor);if(foundIndex===undefined){throw new Error(constructor+' not registered');} 4245registry.registeredTypeInfos_.splice(foundIndex,1);const e=new tr.b.Event('registry-changed');registry.dispatchEvent(e);};registry.getAllRegisteredTypeInfos=function(){return registry.registeredTypeInfos_;};registry.findTypeInfo=function(constructor){const foundIndex=this.findIndexOfRegisteredConstructor(constructor);if(foundIndex!==undefined){return this.registeredTypeInfos_[foundIndex];} 4246return undefined;};registry.findTypeInfoMatching=function(predicate,opt_this){opt_this=opt_this?opt_this:undefined;for(let i=0;i<registry.registeredTypeInfos_.length;++i){const typeInfo=registry.registeredTypeInfos_[i];if(predicate.call(opt_this,typeInfo)){return typeInfo;}} 4247return extensionRegistryOptions.defaultTypeInfo;};registry.findTypeInfoWithName=function(name){if(typeof(name)!=='string'){throw new Error('Name is not a string.');} 4248const typeInfo=registry.findTypeInfoMatching(function(ti){return ti.constructor.name===name;});if(typeInfo)return typeInfo;return undefined;};} 4249return{_decorateBasicExtensionRegistry:decorateBasicExtensionRegistry};});'use strict';tr.exportTo('tr.b',function(){const categoryPartsFor={};function getCategoryParts(category){let parts=categoryPartsFor[category];if(parts!==undefined)return parts;parts=category.split(',');categoryPartsFor[category]=parts;return parts;} 4250return{getCategoryParts,};});'use strict';tr.exportTo('tr.b',function(){const getCategoryParts=tr.b.getCategoryParts;const RegisteredTypeInfo=tr.b.RegisteredTypeInfo;const ExtensionRegistryOptions=tr.b.ExtensionRegistryOptions;function decorateTypeBasedExtensionRegistry(registry,extensionRegistryOptions){const savedStateStack=[];registry.registeredTypeInfos_=[];registry.categoryPartToTypeInfoMap_=new Map();registry.typeNameToTypeInfoMap_=new Map();registry.register=function(constructor,metadata){extensionRegistryOptions.validateConstructor(constructor);const typeInfo=new RegisteredTypeInfo(constructor,metadata||extensionRegistryOptions.defaultMetadata);typeInfo.typeNames=[];typeInfo.categoryParts=[];if(metadata&&metadata.typeName){typeInfo.typeNames.push(metadata.typeName);} 4251if(metadata&&metadata.typeNames){typeInfo.typeNames.push.apply(typeInfo.typeNames,metadata.typeNames);} 4252if(metadata&&metadata.categoryParts){typeInfo.categoryParts.push.apply(typeInfo.categoryParts,metadata.categoryParts);} 4253if(typeInfo.typeNames.length===0&&typeInfo.categoryParts.length===0){throw new Error('typeName or typeNames must be provided');} 4254typeInfo.typeNames.forEach(function(typeName){if(registry.typeNameToTypeInfoMap_.has(typeName)){throw new Error('typeName '+typeName+' already registered');}});typeInfo.categoryParts.forEach(function(categoryPart){if(registry.categoryPartToTypeInfoMap_.has(categoryPart)){throw new Error('categoryPart '+categoryPart+' already registered');}});let e=new tr.b.Event('will-register');e.typeInfo=typeInfo;registry.dispatchEvent(e);typeInfo.typeNames.forEach(function(typeName){registry.typeNameToTypeInfoMap_.set(typeName,typeInfo);});typeInfo.categoryParts.forEach(function(categoryPart){registry.categoryPartToTypeInfoMap_.set(categoryPart,typeInfo);});registry.registeredTypeInfos_.push(typeInfo);e=new tr.b.Event('registry-changed');registry.dispatchEvent(e);};registry.pushCleanStateBeforeTest=function(){savedStateStack.push({registeredTypeInfos:registry.registeredTypeInfos_,typeNameToTypeInfoMap:registry.typeNameToTypeInfoMap_,categoryPartToTypeInfoMap:registry.categoryPartToTypeInfoMap_});registry.registeredTypeInfos_=[];registry.typeNameToTypeInfoMap_=new Map();registry.categoryPartToTypeInfoMap_=new Map();const e=new tr.b.Event('registry-changed');registry.dispatchEvent(e);};registry.popCleanStateAfterTest=function(){const state=savedStateStack[0];savedStateStack.splice(0,1);registry.registeredTypeInfos_=state.registeredTypeInfos;registry.typeNameToTypeInfoMap_=state.typeNameToTypeInfoMap;registry.categoryPartToTypeInfoMap_=state.categoryPartToTypeInfoMap;const e=new tr.b.Event('registry-changed');registry.dispatchEvent(e);};registry.unregister=function(constructor){let typeInfoIndex=-1;for(let i=0;i<registry.registeredTypeInfos_.length;i++){if(registry.registeredTypeInfos_[i].constructor===constructor){typeInfoIndex=i;break;}} 4255if(typeInfoIndex===-1){throw new Error(constructor+' not registered');} 4256const typeInfo=registry.registeredTypeInfos_[typeInfoIndex];registry.registeredTypeInfos_.splice(typeInfoIndex,1);typeInfo.typeNames.forEach(function(typeName){registry.typeNameToTypeInfoMap_.delete(typeName);});typeInfo.categoryParts.forEach(function(categoryPart){registry.categoryPartToTypeInfoMap_.delete(categoryPart);});const e=new tr.b.Event('registry-changed');registry.dispatchEvent(e);};registry.getTypeInfo=function(category,typeName){if(category){const categoryParts=getCategoryParts(category);for(let i=0;i<categoryParts.length;i++){const categoryPart=categoryParts[i];const typeInfo=registry.categoryPartToTypeInfoMap_.get(categoryPart);if(typeInfo!==undefined)return typeInfo;}} 4257const typeInfo=registry.typeNameToTypeInfoMap_.get(typeName);if(typeInfo!==undefined)return typeInfo;return extensionRegistryOptions.defaultTypeInfo;};registry.getConstructor=function(category,typeName){const typeInfo=registry.getTypeInfo(category,typeName);if(typeInfo)return typeInfo.constructor;return undefined;};} 4258return{_decorateTypeBasedExtensionRegistry:decorateTypeBasedExtensionRegistry};});'use strict';tr.exportTo('tr.b',function(){function asArray(x){const values=[];if(x[Symbol.iterator]){for(const value of x){values.push(value);}}else{for(let i=0;i<x.length;i++){values.push(x[i]);}} 4259return values;} 4260function getOnlyElement(iterable){const iterator=iterable[Symbol.iterator]();const firstIteration=iterator.next();if(firstIteration.done){throw new Error('getOnlyElement was passed an empty iterable.');} 4261const secondIteration=iterator.next();if(!secondIteration.done){throw new Error('getOnlyElement was passed an iterable with multiple elements.');} 4262return firstIteration.value;} 4263function getFirstElement(iterable){const iterator=iterable[Symbol.iterator]();const result=iterator.next();if(result.done){throw new Error('getFirstElement was passed an empty iterable.');} 4264return result.value;} 4265function compareArrays(x,y,elementCmp){const minLength=Math.min(x.length,y.length);let i;for(i=0;i<minLength;i++){const tmp=elementCmp(x[i],y[i]);if(tmp)return tmp;} 4266if(x.length===y.length)return 0;if(x[i]===undefined)return-1;return 1;} 4267function comparePossiblyUndefinedValues(x,y,cmp,opt_this){if(x!==undefined&&y!==undefined){return cmp.call(opt_this,x,y);} 4268if(x!==undefined)return-1;if(y!==undefined)return 1;return 0;} 4269function concatenateObjects(){const result={};for(let i=0;i<arguments.length;i++){const object=arguments[i];for(const j in object){result[j]=object[j];}} 4270return result;} 4271function dictionaryContainsValue(dict,value){for(const key in dict){if(dict[key]===value){return true;}} 4272return false;} 4273function groupIntoMap(ary,callback,opt_this,opt_arrayConstructor){const arrayConstructor=opt_arrayConstructor||Array;const results=new Map();for(const element of ary){const key=callback.call(opt_this,element);let items=results.get(key);if(items===undefined){items=new arrayConstructor();results.set(key,items);} 4274items.push(element);} 4275return results;} 4276function mapItems(dict,fn,opt_this){opt_this=opt_this||this;const result={};const keys=Object.keys(dict);for(let i=0;i<keys.length;i++){const key=keys[i];result[key]=fn.call(opt_this,key,dict[key]);} 4277return result;} 4278function filterItems(dict,predicate,opt_this){opt_this=opt_this||this;const result={};const keys=Object.keys(dict);for(let i=0;i<keys.length;i++){const key=keys[i];const value=dict[key];if(predicate.call(opt_this,key,value)){result[key]=value;}} 4279return result;} 4280function inPlaceFilter(array,predicate,opt_this){opt_this=opt_this||this;let nextPosition=0;for(let i=0;i<array.length;i++){if(!predicate.call(opt_this,array[i],i))continue;if(nextPosition<i){array[nextPosition]=array[i];} 4281nextPosition++;} 4282if(nextPosition<array.length){array.length=nextPosition;}} 4283function iterObjectFieldsRecursively(object,func){if(!(object instanceof Object))return;if(object instanceof Array){for(let i=0;i<object.length;i++){func(object,i,object[i]);iterObjectFieldsRecursively(object[i],func);} 4284return;} 4285for(const key in object){const value=object[key];func(object,key,value);iterObjectFieldsRecursively(value,func);}} 4286function invertArrayOfDicts(array,opt_dictGetter,opt_this){opt_this=opt_this||this;const result={};for(let i=0;i<array.length;i++){const item=array[i];if(item===undefined)continue;const dict=opt_dictGetter?opt_dictGetter.call(opt_this,item):item;if(dict===undefined)continue;for(const key in dict){let valueList=result[key];if(valueList===undefined){result[key]=valueList=new Array(array.length);} 4287valueList[i]=dict[key];}} 4288return result;} 4289function arrayToDict(array,valueToKeyFn,opt_this){opt_this=opt_this||this;const result={};const length=array.length;for(let i=0;i<length;i++){const value=array[i];const key=valueToKeyFn.call(opt_this,value);result[key]=value;} 4290return result;} 4291function identity(d){return d;} 4292function findFirstIndexInArray(ary,opt_func,opt_this){const func=opt_func||identity;for(let i=0;i<ary.length;i++){if(func.call(opt_this,ary[i],i))return i;} 4293return-1;} 4294function findFirstInArray(ary,opt_func,opt_this){const i=findFirstIndexInArray(ary,opt_func,opt_func);if(i===-1)return undefined;return ary[i];} 4295function findFirstKeyInDictMatching(dict,opt_func,opt_this){const func=opt_func||identity;for(const key in dict){if(func.call(opt_this,key,dict[key])){return key;}} 4296return undefined;} 4297function mapValues(map){const values=[];for(const value of map.values()){values.push(value);} 4298return values;} 4299function setsEqual(a,b){if(!(a instanceof Set)||!(b instanceof Set))return false;if(a.size!==b.size)return false;for(const x of a){if(!b.has(x))return false;} 4300return true;} 4301return{asArray,concatenateObjects,compareArrays,comparePossiblyUndefinedValues,dictionaryContainsValue,getOnlyElement,getFirstElement,groupIntoMap,mapItems,filterItems,inPlaceFilter,iterObjectFieldsRecursively,invertArrayOfDicts,arrayToDict,identity,findFirstIndexInArray,findFirstInArray,findFirstKeyInDictMatching,mapValues,setsEqual,};});'use strict';tr.exportTo('tr.b',function(){function decorateExtensionRegistry(registry,registryOptions){if(registry.register){throw new Error('Already has registry');} 4302registryOptions.freeze();if(registryOptions.mode===tr.b.BASIC_REGISTRY_MODE){tr.b._decorateBasicExtensionRegistry(registry,registryOptions);}else if(registryOptions.mode===tr.b.TYPE_BASED_REGISTRY_MODE){tr.b._decorateTypeBasedExtensionRegistry(registry,registryOptions);}else{throw new Error('Unrecognized mode');} 4303if(registry.addEventListener===undefined){tr.b.EventTarget.decorate(registry);}} 4304return{decorateExtensionRegistry,};});'use strict';tr.exportTo('tr.importer',function(){function Importer(){} 4305Importer.prototype={__proto__:Object.prototype,get importerName(){return'Importer';},isTraceDataContainer(){return false;},extractSubtraces(){return[];},importClockSyncMarkers(){},importEvents(){},importSampleData(){},finalizeImport(){}};const options=new tr.b.ExtensionRegistryOptions(tr.b.BASIC_REGISTRY_MODE);options.defaultMetadata={};options.mandatoryBaseClass=Importer;tr.b.decorateExtensionRegistry(Importer,options);Importer.findImporterFor=function(eventData){const typeInfo=Importer.findTypeInfoMatching(function(ti){return ti.constructor.canImport(eventData);});if(typeInfo){return typeInfo.constructor;} 4306return undefined;};return{Importer,};});'use strict';tr.exportTo('tr.e.importer.gcloud_trace',function(){function GcloudTraceImporter(model,eventData){this.importPriority=2;this.eventData_=eventData;} 4307GcloudTraceImporter.canImport=function(eventData){if(typeof(eventData)!=='string'&&!(eventData instanceof String)){return false;} 4308const normalizedEventData=eventData.slice(0,20).replace(/\s/g,'');if(normalizedEventData.length<14)return false;return normalizedEventData.slice(0,14)==='{"projectId":"';};GcloudTraceImporter.prototype={__proto__:tr.importer.Importer.prototype,get importerName(){return'GcloudTraceImporter';},extractSubtraces(){const traceEvents=this.createEventsForTrace();return traceEvents?[traceEvents]:[];},createEventsForTrace(){const events=[];const trace=JSON.parse(this.eventData_);const spanLength=trace.spans.length;for(let i=0;i<spanLength;i++){events.push(this.createEventForSpan(trace.traceId,trace.spans[i]));} 4309return{'traceEvents':events};},createEventForSpan(traceId,span){let newArgs={};if(span.labels){newArgs=JSON.parse(JSON.stringify(span.labels));} 4310newArgs['Span ID']=span.spanId;newArgs['Start Time']=span.startTime;newArgs['End Time']=span.endTime;if(span.parentSpanId){newArgs['Parent Span ID']=span.parentSpanId;} 4311return{name:span.name,args:newArgs,pid:traceId,ts:Date.parse(span.startTime)*1000,dur:(Date.parse(span.endTime)-Date.parse(span.startTime))*1000,cat:'tracespan',tid:traceId,ph:'X'};}};tr.importer.Importer.register(GcloudTraceImporter);return{GcloudTraceImporter,};});'use strict';tr.exportTo('tr.b.math',function(){function convertEventsToRanges(events){return events.map(function(event){return tr.b.math.Range.fromExplicitRange(event.start,event.end);});} 4312function mergeRanges(inRanges,mergeThreshold,mergeFunction){const remainingEvents=inRanges.slice();remainingEvents.sort(function(x,y){return x.min-y.min;});if(remainingEvents.length<=1){const merged=[];if(remainingEvents.length===1){merged.push(mergeFunction(remainingEvents));} 4313return merged;} 4314const mergedEvents=[];let currentMergeBuffer=[];let rightEdge;function beginMerging(){currentMergeBuffer.push(remainingEvents[0]);remainingEvents.splice(0,1);rightEdge=currentMergeBuffer[0].max;} 4315function flushCurrentMergeBuffer(){if(currentMergeBuffer.length===0)return;mergedEvents.push(mergeFunction(currentMergeBuffer));currentMergeBuffer=[];if(remainingEvents.length!==0)beginMerging();} 4316beginMerging();while(remainingEvents.length){const currentEvent=remainingEvents[0];const distanceFromRightEdge=currentEvent.min-rightEdge;if(distanceFromRightEdge<mergeThreshold){rightEdge=Math.max(rightEdge,currentEvent.max);remainingEvents.splice(0,1);currentMergeBuffer.push(currentEvent);continue;} 4317flushCurrentMergeBuffer();} 4318flushCurrentMergeBuffer();return mergedEvents;} 4319function findEmptyRangesBetweenRanges(inRanges,opt_totalRange){if(opt_totalRange&&opt_totalRange.isEmpty)opt_totalRange=undefined;const emptyRanges=[];if(!inRanges.length){if(opt_totalRange)emptyRanges.push(opt_totalRange);return emptyRanges;} 4320inRanges=inRanges.slice();inRanges.sort(function(x,y){return x.min-y.min;});if(opt_totalRange&&(opt_totalRange.min<inRanges[0].min)){emptyRanges.push(tr.b.math.Range.fromExplicitRange(opt_totalRange.min,inRanges[0].min));} 4321inRanges.forEach(function(range,index){for(let otherIndex=0;otherIndex<inRanges.length;++otherIndex){if(index===otherIndex)continue;const other=inRanges[otherIndex];if(other.min>range.max){emptyRanges.push(tr.b.math.Range.fromExplicitRange(range.max,other.min));return;} 4322if(other.max>range.max){return;}} 4323if(opt_totalRange&&(range.max<opt_totalRange.max)){emptyRanges.push(tr.b.math.Range.fromExplicitRange(range.max,opt_totalRange.max));}});return emptyRanges;} 4324return{convertEventsToRanges,findEmptyRangesBetweenRanges,mergeRanges,};});!function(t,n){if("object"==typeof exports&&"object"==typeof module)module.exports=n();else if("function"==typeof define&&define.amd)define(n);else{var r=n();for(var a in r)("object"==typeof exports?exports:t)[a]=r[a]}}(this,function(){return function(t){function n(a){if(r[a])return r[a].exports;var e=r[a]={exports:{},id:a,loaded:!1};return t[a].call(e.exports,e,e.exports,n),e.loaded=!0,e.exports}var r={};return n.m=t,n.c=r,n.p="",n(0)}([function(t,n,r){n.glMatrix=r(1),n.mat2=r(2),n.mat2d=r(3),n.mat3=r(4),n.mat4=r(5),n.quat=r(6),n.vec2=r(9),n.vec3=r(7),n.vec4=r(8)},function(t,n,r){var a={};a.EPSILON=1e-6,a.ARRAY_TYPE="undefined"!=typeof Float32Array?Float32Array:Array,a.RANDOM=Math.random,a.setMatrixArrayType=function(t){GLMAT_ARRAY_TYPE=t};var e=Math.PI/180;a.toRadian=function(t){return t*e},t.exports=a},function(t,n,r){var a=r(1),e={};e.create=function(){var t=new a.ARRAY_TYPE(4);return t[0]=1,t[1]=0,t[2]=0,t[3]=1,t},e.clone=function(t){var n=new a.ARRAY_TYPE(4);return n[0]=t[0],n[1]=t[1],n[2]=t[2],n[3]=t[3],n},e.copy=function(t,n){return t[0]=n[0],t[1]=n[1],t[2]=n[2],t[3]=n[3],t},e.identity=function(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=1,t},e.transpose=function(t,n){if(t===n){var r=n[1];t[1]=n[2],t[2]=r}else t[0]=n[0],t[1]=n[2],t[2]=n[1],t[3]=n[3];return t},e.invert=function(t,n){var r=n[0],a=n[1],e=n[2],u=n[3],o=r*u-e*a;return o?(o=1/o,t[0]=u*o,t[1]=-a*o,t[2]=-e*o,t[3]=r*o,t):null},e.adjoint=function(t,n){var r=n[0];return t[0]=n[3],t[1]=-n[1],t[2]=-n[2],t[3]=r,t},e.determinant=function(t){return t[0]*t[3]-t[2]*t[1]},e.multiply=function(t,n,r){var a=n[0],e=n[1],u=n[2],o=n[3],i=r[0],c=r[1],f=r[2],s=r[3];return t[0]=a*i+u*c,t[1]=e*i+o*c,t[2]=a*f+u*s,t[3]=e*f+o*s,t},e.mul=e.multiply,e.rotate=function(t,n,r){var a=n[0],e=n[1],u=n[2],o=n[3],i=Math.sin(r),c=Math.cos(r);return t[0]=a*c+u*i,t[1]=e*c+o*i,t[2]=a*-i+u*c,t[3]=e*-i+o*c,t},e.scale=function(t,n,r){var a=n[0],e=n[1],u=n[2],o=n[3],i=r[0],c=r[1];return t[0]=a*i,t[1]=e*i,t[2]=u*c,t[3]=o*c,t},e.fromRotation=function(t,n){var r=Math.sin(n),a=Math.cos(n);return t[0]=a,t[1]=r,t[2]=-r,t[3]=a,t},e.fromScaling=function(t,n){return t[0]=n[0],t[1]=0,t[2]=0,t[3]=n[1],t},e.str=function(t){return"mat2("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+")"},e.frob=function(t){return Math.sqrt(Math.pow(t[0],2)+Math.pow(t[1],2)+Math.pow(t[2],2)+Math.pow(t[3],2))},e.LDU=function(t,n,r,a){return t[2]=a[2]/a[0],r[0]=a[0],r[1]=a[1],r[3]=a[3]-t[2]*r[1],[t,n,r]},t.exports=e},function(t,n,r){var a=r(1),e={};e.create=function(){var t=new a.ARRAY_TYPE(6);return t[0]=1,t[1]=0,t[2]=0,t[3]=1,t[4]=0,t[5]=0,t},e.clone=function(t){var n=new a.ARRAY_TYPE(6);return n[0]=t[0],n[1]=t[1],n[2]=t[2],n[3]=t[3],n[4]=t[4],n[5]=t[5],n},e.copy=function(t,n){return t[0]=n[0],t[1]=n[1],t[2]=n[2],t[3]=n[3],t[4]=n[4],t[5]=n[5],t},e.identity=function(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=1,t[4]=0,t[5]=0,t},e.invert=function(t,n){var r=n[0],a=n[1],e=n[2],u=n[3],o=n[4],i=n[5],c=r*u-a*e;return c?(c=1/c,t[0]=u*c,t[1]=-a*c,t[2]=-e*c,t[3]=r*c,t[4]=(e*i-u*o)*c,t[5]=(a*o-r*i)*c,t):null},e.determinant=function(t){return t[0]*t[3]-t[1]*t[2]},e.multiply=function(t,n,r){var a=n[0],e=n[1],u=n[2],o=n[3],i=n[4],c=n[5],f=r[0],s=r[1],h=r[2],M=r[3],l=r[4],v=r[5];return t[0]=a*f+u*s,t[1]=e*f+o*s,t[2]=a*h+u*M,t[3]=e*h+o*M,t[4]=a*l+u*v+i,t[5]=e*l+o*v+c,t},e.mul=e.multiply,e.rotate=function(t,n,r){var a=n[0],e=n[1],u=n[2],o=n[3],i=n[4],c=n[5],f=Math.sin(r),s=Math.cos(r);return t[0]=a*s+u*f,t[1]=e*s+o*f,t[2]=a*-f+u*s,t[3]=e*-f+o*s,t[4]=i,t[5]=c,t},e.scale=function(t,n,r){var a=n[0],e=n[1],u=n[2],o=n[3],i=n[4],c=n[5],f=r[0],s=r[1];return t[0]=a*f,t[1]=e*f,t[2]=u*s,t[3]=o*s,t[4]=i,t[5]=c,t},e.translate=function(t,n,r){var a=n[0],e=n[1],u=n[2],o=n[3],i=n[4],c=n[5],f=r[0],s=r[1];return t[0]=a,t[1]=e,t[2]=u,t[3]=o,t[4]=a*f+u*s+i,t[5]=e*f+o*s+c,t},e.fromRotation=function(t,n){var r=Math.sin(n),a=Math.cos(n);return t[0]=a,t[1]=r,t[2]=-r,t[3]=a,t[4]=0,t[5]=0,t},e.fromScaling=function(t,n){return t[0]=n[0],t[1]=0,t[2]=0,t[3]=n[1],t[4]=0,t[5]=0,t},e.fromTranslation=function(t,n){return t[0]=1,t[1]=0,t[2]=0,t[3]=1,t[4]=n[0],t[5]=n[1],t},e.str=function(t){return"mat2d("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+", "+t[4]+", "+t[5]+")"},e.frob=function(t){return Math.sqrt(Math.pow(t[0],2)+Math.pow(t[1],2)+Math.pow(t[2],2)+Math.pow(t[3],2)+Math.pow(t[4],2)+Math.pow(t[5],2)+1)},t.exports=e},function(t,n,r){var a=r(1),e={};e.create=function(){var t=new a.ARRAY_TYPE(9);return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=1,t[5]=0,t[6]=0,t[7]=0,t[8]=1,t},e.fromMat4=function(t,n){return t[0]=n[0],t[1]=n[1],t[2]=n[2],t[3]=n[4],t[4]=n[5],t[5]=n[6],t[6]=n[8],t[7]=n[9],t[8]=n[10],t},e.clone=function(t){var n=new a.ARRAY_TYPE(9);return n[0]=t[0],n[1]=t[1],n[2]=t[2],n[3]=t[3],n[4]=t[4],n[5]=t[5],n[6]=t[6],n[7]=t[7],n[8]=t[8],n},e.copy=function(t,n){return t[0]=n[0],t[1]=n[1],t[2]=n[2],t[3]=n[3],t[4]=n[4],t[5]=n[5],t[6]=n[6],t[7]=n[7],t[8]=n[8],t},e.identity=function(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=1,t[5]=0,t[6]=0,t[7]=0,t[8]=1,t},e.transpose=function(t,n){if(t===n){var r=n[1],a=n[2],e=n[5];t[1]=n[3],t[2]=n[6],t[3]=r,t[5]=n[7],t[6]=a,t[7]=e}else t[0]=n[0],t[1]=n[3],t[2]=n[6],t[3]=n[1],t[4]=n[4],t[5]=n[7],t[6]=n[2],t[7]=n[5],t[8]=n[8];return t},e.invert=function(t,n){var r=n[0],a=n[1],e=n[2],u=n[3],o=n[4],i=n[5],c=n[6],f=n[7],s=n[8],h=s*o-i*f,M=-s*u+i*c,l=f*u-o*c,v=r*h+a*M+e*l;return v?(v=1/v,t[0]=h*v,t[1]=(-s*a+e*f)*v,t[2]=(i*a-e*o)*v,t[3]=M*v,t[4]=(s*r-e*c)*v,t[5]=(-i*r+e*u)*v,t[6]=l*v,t[7]=(-f*r+a*c)*v,t[8]=(o*r-a*u)*v,t):null},e.adjoint=function(t,n){var r=n[0],a=n[1],e=n[2],u=n[3],o=n[4],i=n[5],c=n[6],f=n[7],s=n[8];return t[0]=o*s-i*f,t[1]=e*f-a*s,t[2]=a*i-e*o,t[3]=i*c-u*s,t[4]=r*s-e*c,t[5]=e*u-r*i,t[6]=u*f-o*c,t[7]=a*c-r*f,t[8]=r*o-a*u,t},e.determinant=function(t){var n=t[0],r=t[1],a=t[2],e=t[3],u=t[4],o=t[5],i=t[6],c=t[7],f=t[8];return n*(f*u-o*c)+r*(-f*e+o*i)+a*(c*e-u*i)},e.multiply=function(t,n,r){var a=n[0],e=n[1],u=n[2],o=n[3],i=n[4],c=n[5],f=n[6],s=n[7],h=n[8],M=r[0],l=r[1],v=r[2],m=r[3],p=r[4],d=r[5],A=r[6],R=r[7],w=r[8];return t[0]=M*a+l*o+v*f,t[1]=M*e+l*i+v*s,t[2]=M*u+l*c+v*h,t[3]=m*a+p*o+d*f,t[4]=m*e+p*i+d*s,t[5]=m*u+p*c+d*h,t[6]=A*a+R*o+w*f,t[7]=A*e+R*i+w*s,t[8]=A*u+R*c+w*h,t},e.mul=e.multiply,e.translate=function(t,n,r){var a=n[0],e=n[1],u=n[2],o=n[3],i=n[4],c=n[5],f=n[6],s=n[7],h=n[8],M=r[0],l=r[1];return t[0]=a,t[1]=e,t[2]=u,t[3]=o,t[4]=i,t[5]=c,t[6]=M*a+l*o+f,t[7]=M*e+l*i+s,t[8]=M*u+l*c+h,t},e.rotate=function(t,n,r){var a=n[0],e=n[1],u=n[2],o=n[3],i=n[4],c=n[5],f=n[6],s=n[7],h=n[8],M=Math.sin(r),l=Math.cos(r);return t[0]=l*a+M*o,t[1]=l*e+M*i,t[2]=l*u+M*c,t[3]=l*o-M*a,t[4]=l*i-M*e,t[5]=l*c-M*u,t[6]=f,t[7]=s,t[8]=h,t},e.scale=function(t,n,r){var a=r[0],e=r[1];return t[0]=a*n[0],t[1]=a*n[1],t[2]=a*n[2],t[3]=e*n[3],t[4]=e*n[4],t[5]=e*n[5],t[6]=n[6],t[7]=n[7],t[8]=n[8],t},e.fromTranslation=function(t,n){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=1,t[5]=0,t[6]=n[0],t[7]=n[1],t[8]=1,t},e.fromRotation=function(t,n){var r=Math.sin(n),a=Math.cos(n);return t[0]=a,t[1]=r,t[2]=0,t[3]=-r,t[4]=a,t[5]=0,t[6]=0,t[7]=0,t[8]=1,t},e.fromScaling=function(t,n){return t[0]=n[0],t[1]=0,t[2]=0,t[3]=0,t[4]=n[1],t[5]=0,t[6]=0,t[7]=0,t[8]=1,t},e.fromMat2d=function(t,n){return t[0]=n[0],t[1]=n[1],t[2]=0,t[3]=n[2],t[4]=n[3],t[5]=0,t[6]=n[4],t[7]=n[5],t[8]=1,t},e.fromQuat=function(t,n){var r=n[0],a=n[1],e=n[2],u=n[3],o=r+r,i=a+a,c=e+e,f=r*o,s=a*o,h=a*i,M=e*o,l=e*i,v=e*c,m=u*o,p=u*i,d=u*c;return t[0]=1-h-v,t[3]=s-d,t[6]=M+p,t[1]=s+d,t[4]=1-f-v,t[7]=l-m,t[2]=M-p,t[5]=l+m,t[8]=1-f-h,t},e.normalFromMat4=function(t,n){var r=n[0],a=n[1],e=n[2],u=n[3],o=n[4],i=n[5],c=n[6],f=n[7],s=n[8],h=n[9],M=n[10],l=n[11],v=n[12],m=n[13],p=n[14],d=n[15],A=r*i-a*o,R=r*c-e*o,w=r*f-u*o,q=a*c-e*i,Y=a*f-u*i,g=e*f-u*c,y=s*m-h*v,x=s*p-M*v,P=s*d-l*v,E=h*p-M*m,T=h*d-l*m,b=M*d-l*p,D=A*b-R*T+w*E+q*P-Y*x+g*y;return D?(D=1/D,t[0]=(i*b-c*T+f*E)*D,t[1]=(c*P-o*b-f*x)*D,t[2]=(o*T-i*P+f*y)*D,t[3]=(e*T-a*b-u*E)*D,t[4]=(r*b-e*P+u*x)*D,t[5]=(a*P-r*T-u*y)*D,t[6]=(m*g-p*Y+d*q)*D,t[7]=(p*w-v*g-d*R)*D,t[8]=(v*Y-m*w+d*A)*D,t):null},e.str=function(t){return"mat3("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+", "+t[4]+", "+t[5]+", "+t[6]+", "+t[7]+", "+t[8]+")"},e.frob=function(t){return Math.sqrt(Math.pow(t[0],2)+Math.pow(t[1],2)+Math.pow(t[2],2)+Math.pow(t[3],2)+Math.pow(t[4],2)+Math.pow(t[5],2)+Math.pow(t[6],2)+Math.pow(t[7],2)+Math.pow(t[8],2))},t.exports=e},function(t,n,r){var a=r(1),e={};e.create=function(){var t=new a.ARRAY_TYPE(16);return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},e.clone=function(t){var n=new a.ARRAY_TYPE(16);return n[0]=t[0],n[1]=t[1],n[2]=t[2],n[3]=t[3],n[4]=t[4],n[5]=t[5],n[6]=t[6],n[7]=t[7],n[8]=t[8],n[9]=t[9],n[10]=t[10],n[11]=t[11],n[12]=t[12],n[13]=t[13],n[14]=t[14],n[15]=t[15],n},e.copy=function(t,n){return t[0]=n[0],t[1]=n[1],t[2]=n[2],t[3]=n[3],t[4]=n[4],t[5]=n[5],t[6]=n[6],t[7]=n[7],t[8]=n[8],t[9]=n[9],t[10]=n[10],t[11]=n[11],t[12]=n[12],t[13]=n[13],t[14]=n[14],t[15]=n[15],t},e.identity=function(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},e.transpose=function(t,n){if(t===n){var r=n[1],a=n[2],e=n[3],u=n[6],o=n[7],i=n[11];t[1]=n[4],t[2]=n[8],t[3]=n[12],t[4]=r,t[6]=n[9],t[7]=n[13],t[8]=a,t[9]=u,t[11]=n[14],t[12]=e,t[13]=o,t[14]=i}else t[0]=n[0],t[1]=n[4],t[2]=n[8],t[3]=n[12],t[4]=n[1],t[5]=n[5],t[6]=n[9],t[7]=n[13],t[8]=n[2],t[9]=n[6],t[10]=n[10],t[11]=n[14],t[12]=n[3],t[13]=n[7],t[14]=n[11],t[15]=n[15];return t},e.invert=function(t,n){var r=n[0],a=n[1],e=n[2],u=n[3],o=n[4],i=n[5],c=n[6],f=n[7],s=n[8],h=n[9],M=n[10],l=n[11],v=n[12],m=n[13],p=n[14],d=n[15],A=r*i-a*o,R=r*c-e*o,w=r*f-u*o,q=a*c-e*i,Y=a*f-u*i,g=e*f-u*c,y=s*m-h*v,x=s*p-M*v,P=s*d-l*v,E=h*p-M*m,T=h*d-l*m,b=M*d-l*p,D=A*b-R*T+w*E+q*P-Y*x+g*y;return D?(D=1/D,t[0]=(i*b-c*T+f*E)*D,t[1]=(e*T-a*b-u*E)*D,t[2]=(m*g-p*Y+d*q)*D,t[3]=(M*Y-h*g-l*q)*D,t[4]=(c*P-o*b-f*x)*D,t[5]=(r*b-e*P+u*x)*D,t[6]=(p*w-v*g-d*R)*D,t[7]=(s*g-M*w+l*R)*D,t[8]=(o*T-i*P+f*y)*D,t[9]=(a*P-r*T-u*y)*D,t[10]=(v*Y-m*w+d*A)*D,t[11]=(h*w-s*Y-l*A)*D,t[12]=(i*x-o*E-c*y)*D,t[13]=(r*E-a*x+e*y)*D,t[14]=(m*R-v*q-p*A)*D,t[15]=(s*q-h*R+M*A)*D,t):null},e.adjoint=function(t,n){var r=n[0],a=n[1],e=n[2],u=n[3],o=n[4],i=n[5],c=n[6],f=n[7],s=n[8],h=n[9],M=n[10],l=n[11],v=n[12],m=n[13],p=n[14],d=n[15];return t[0]=i*(M*d-l*p)-h*(c*d-f*p)+m*(c*l-f*M),t[1]=-(a*(M*d-l*p)-h*(e*d-u*p)+m*(e*l-u*M)),t[2]=a*(c*d-f*p)-i*(e*d-u*p)+m*(e*f-u*c),t[3]=-(a*(c*l-f*M)-i*(e*l-u*M)+h*(e*f-u*c)),t[4]=-(o*(M*d-l*p)-s*(c*d-f*p)+v*(c*l-f*M)),t[5]=r*(M*d-l*p)-s*(e*d-u*p)+v*(e*l-u*M),t[6]=-(r*(c*d-f*p)-o*(e*d-u*p)+v*(e*f-u*c)),t[7]=r*(c*l-f*M)-o*(e*l-u*M)+s*(e*f-u*c),t[8]=o*(h*d-l*m)-s*(i*d-f*m)+v*(i*l-f*h),t[9]=-(r*(h*d-l*m)-s*(a*d-u*m)+v*(a*l-u*h)),t[10]=r*(i*d-f*m)-o*(a*d-u*m)+v*(a*f-u*i),t[11]=-(r*(i*l-f*h)-o*(a*l-u*h)+s*(a*f-u*i)),t[12]=-(o*(h*p-M*m)-s*(i*p-c*m)+v*(i*M-c*h)),t[13]=r*(h*p-M*m)-s*(a*p-e*m)+v*(a*M-e*h),t[14]=-(r*(i*p-c*m)-o*(a*p-e*m)+v*(a*c-e*i)),t[15]=r*(i*M-c*h)-o*(a*M-e*h)+s*(a*c-e*i),t},e.determinant=function(t){var n=t[0],r=t[1],a=t[2],e=t[3],u=t[4],o=t[5],i=t[6],c=t[7],f=t[8],s=t[9],h=t[10],M=t[11],l=t[12],v=t[13],m=t[14],p=t[15],d=n*o-r*u,A=n*i-a*u,R=n*c-e*u,w=r*i-a*o,q=r*c-e*o,Y=a*c-e*i,g=f*v-s*l,y=f*m-h*l,x=f*p-M*l,P=s*m-h*v,E=s*p-M*v,T=h*p-M*m;return d*T-A*E+R*P+w*x-q*y+Y*g},e.multiply=function(t,n,r){var a=n[0],e=n[1],u=n[2],o=n[3],i=n[4],c=n[5],f=n[6],s=n[7],h=n[8],M=n[9],l=n[10],v=n[11],m=n[12],p=n[13],d=n[14],A=n[15],R=r[0],w=r[1],q=r[2],Y=r[3];return t[0]=R*a+w*i+q*h+Y*m,t[1]=R*e+w*c+q*M+Y*p,t[2]=R*u+w*f+q*l+Y*d,t[3]=R*o+w*s+q*v+Y*A,R=r[4],w=r[5],q=r[6],Y=r[7],t[4]=R*a+w*i+q*h+Y*m,t[5]=R*e+w*c+q*M+Y*p,t[6]=R*u+w*f+q*l+Y*d,t[7]=R*o+w*s+q*v+Y*A,R=r[8],w=r[9],q=r[10],Y=r[11],t[8]=R*a+w*i+q*h+Y*m,t[9]=R*e+w*c+q*M+Y*p,t[10]=R*u+w*f+q*l+Y*d,t[11]=R*o+w*s+q*v+Y*A,R=r[12],w=r[13],q=r[14],Y=r[15],t[12]=R*a+w*i+q*h+Y*m,t[13]=R*e+w*c+q*M+Y*p,t[14]=R*u+w*f+q*l+Y*d,t[15]=R*o+w*s+q*v+Y*A,t},e.mul=e.multiply,e.translate=function(t,n,r){var a,e,u,o,i,c,f,s,h,M,l,v,m=r[0],p=r[1],d=r[2];return n===t?(t[12]=n[0]*m+n[4]*p+n[8]*d+n[12],t[13]=n[1]*m+n[5]*p+n[9]*d+n[13],t[14]=n[2]*m+n[6]*p+n[10]*d+n[14],t[15]=n[3]*m+n[7]*p+n[11]*d+n[15]):(a=n[0],e=n[1],u=n[2],o=n[3],i=n[4],c=n[5],f=n[6],s=n[7],h=n[8],M=n[9],l=n[10],v=n[11],t[0]=a,t[1]=e,t[2]=u,t[3]=o,t[4]=i,t[5]=c,t[6]=f,t[7]=s,t[8]=h,t[9]=M,t[10]=l,t[11]=v,t[12]=a*m+i*p+h*d+n[12],t[13]=e*m+c*p+M*d+n[13],t[14]=u*m+f*p+l*d+n[14],t[15]=o*m+s*p+v*d+n[15]),t},e.scale=function(t,n,r){var a=r[0],e=r[1],u=r[2];return t[0]=n[0]*a,t[1]=n[1]*a,t[2]=n[2]*a,t[3]=n[3]*a,t[4]=n[4]*e,t[5]=n[5]*e,t[6]=n[6]*e,t[7]=n[7]*e,t[8]=n[8]*u,t[9]=n[9]*u,t[10]=n[10]*u,t[11]=n[11]*u,t[12]=n[12],t[13]=n[13],t[14]=n[14],t[15]=n[15],t},e.rotate=function(t,n,r,e){var u,o,i,c,f,s,h,M,l,v,m,p,d,A,R,w,q,Y,g,y,x,P,E,T,b=e[0],D=e[1],L=e[2],_=Math.sqrt(b*b+D*D+L*L);return Math.abs(_)<a.EPSILON?null:(_=1/_,b*=_,D*=_,L*=_,u=Math.sin(r),o=Math.cos(r),i=1-o,c=n[0],f=n[1],s=n[2],h=n[3],M=n[4],l=n[5],v=n[6],m=n[7],p=n[8],d=n[9],A=n[10],R=n[11],w=b*b*i+o,q=D*b*i+L*u,Y=L*b*i-D*u,g=b*D*i-L*u,y=D*D*i+o,x=L*D*i+b*u,P=b*L*i+D*u,E=D*L*i-b*u,T=L*L*i+o,t[0]=c*w+M*q+p*Y,t[1]=f*w+l*q+d*Y,t[2]=s*w+v*q+A*Y,t[3]=h*w+m*q+R*Y,t[4]=c*g+M*y+p*x,t[5]=f*g+l*y+d*x,t[6]=s*g+v*y+A*x,t[7]=h*g+m*y+R*x,t[8]=c*P+M*E+p*T,t[9]=f*P+l*E+d*T,t[10]=s*P+v*E+A*T,t[11]=h*P+m*E+R*T,n!==t&&(t[12]=n[12],t[13]=n[13],t[14]=n[14],t[15]=n[15]),t)},e.rotateX=function(t,n,r){var a=Math.sin(r),e=Math.cos(r),u=n[4],o=n[5],i=n[6],c=n[7],f=n[8],s=n[9],h=n[10],M=n[11];return n!==t&&(t[0]=n[0],t[1]=n[1],t[2]=n[2],t[3]=n[3],t[12]=n[12],t[13]=n[13],t[14]=n[14],t[15]=n[15]),t[4]=u*e+f*a,t[5]=o*e+s*a,t[6]=i*e+h*a,t[7]=c*e+M*a,t[8]=f*e-u*a,t[9]=s*e-o*a,t[10]=h*e-i*a,t[11]=M*e-c*a,t},e.rotateY=function(t,n,r){var a=Math.sin(r),e=Math.cos(r),u=n[0],o=n[1],i=n[2],c=n[3],f=n[8],s=n[9],h=n[10],M=n[11];return n!==t&&(t[4]=n[4],t[5]=n[5],t[6]=n[6],t[7]=n[7],t[12]=n[12],t[13]=n[13],t[14]=n[14],t[15]=n[15]),t[0]=u*e-f*a,t[1]=o*e-s*a,t[2]=i*e-h*a,t[3]=c*e-M*a,t[8]=u*a+f*e,t[9]=o*a+s*e,t[10]=i*a+h*e,t[11]=c*a+M*e,t},e.rotateZ=function(t,n,r){var a=Math.sin(r),e=Math.cos(r),u=n[0],o=n[1],i=n[2],c=n[3],f=n[4],s=n[5],h=n[6],M=n[7];return n!==t&&(t[8]=n[8],t[9]=n[9],t[10]=n[10],t[11]=n[11],t[12]=n[12],t[13]=n[13],t[14]=n[14],t[15]=n[15]),t[0]=u*e+f*a,t[1]=o*e+s*a,t[2]=i*e+h*a,t[3]=c*e+M*a,t[4]=f*e-u*a,t[5]=s*e-o*a,t[6]=h*e-i*a,t[7]=M*e-c*a,t},e.fromTranslation=function(t,n){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=n[0],t[13]=n[1],t[14]=n[2],t[15]=1,t},e.fromScaling=function(t,n){return t[0]=n[0],t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=n[1],t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=n[2],t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},e.fromRotation=function(t,n,r){var e,u,o,i=r[0],c=r[1],f=r[2],s=Math.sqrt(i*i+c*c+f*f);return Math.abs(s)<a.EPSILON?null:(s=1/s,i*=s,c*=s,f*=s,e=Math.sin(n),u=Math.cos(n),o=1-u,t[0]=i*i*o+u,t[1]=c*i*o+f*e,t[2]=f*i*o-c*e,t[3]=0,t[4]=i*c*o-f*e,t[5]=c*c*o+u,t[6]=f*c*o+i*e,t[7]=0,t[8]=i*f*o+c*e,t[9]=c*f*o-i*e,t[10]=f*f*o+u,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t)},e.fromXRotation=function(t,n){var r=Math.sin(n),a=Math.cos(n);return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=a,t[6]=r,t[7]=0,t[8]=0,t[9]=-r,t[10]=a,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},e.fromYRotation=function(t,n){var r=Math.sin(n),a=Math.cos(n);return t[0]=a,t[1]=0,t[2]=-r,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=r,t[9]=0,t[10]=a,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},e.fromZRotation=function(t,n){var r=Math.sin(n),a=Math.cos(n);return t[0]=a,t[1]=r,t[2]=0,t[3]=0,t[4]=-r,t[5]=a,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},e.fromRotationTranslation=function(t,n,r){var a=n[0],e=n[1],u=n[2],o=n[3],i=a+a,c=e+e,f=u+u,s=a*i,h=a*c,M=a*f,l=e*c,v=e*f,m=u*f,p=o*i,d=o*c,A=o*f;return t[0]=1-(l+m),t[1]=h+A,t[2]=M-d,t[3]=0,t[4]=h-A,t[5]=1-(s+m),t[6]=v+p,t[7]=0,t[8]=M+d,t[9]=v-p,t[10]=1-(s+l),t[11]=0,t[12]=r[0],t[13]=r[1],t[14]=r[2],t[15]=1,t},e.fromRotationTranslationScale=function(t,n,r,a){var e=n[0],u=n[1],o=n[2],i=n[3],c=e+e,f=u+u,s=o+o,h=e*c,M=e*f,l=e*s,v=u*f,m=u*s,p=o*s,d=i*c,A=i*f,R=i*s,w=a[0],q=a[1],Y=a[2];return t[0]=(1-(v+p))*w,t[1]=(M+R)*w,t[2]=(l-A)*w,t[3]=0,t[4]=(M-R)*q,t[5]=(1-(h+p))*q,t[6]=(m+d)*q,t[7]=0,t[8]=(l+A)*Y,t[9]=(m-d)*Y,t[10]=(1-(h+v))*Y,t[11]=0,t[12]=r[0],t[13]=r[1],t[14]=r[2],t[15]=1,t},e.fromRotationTranslationScaleOrigin=function(t,n,r,a,e){var u=n[0],o=n[1],i=n[2],c=n[3],f=u+u,s=o+o,h=i+i,M=u*f,l=u*s,v=u*h,m=o*s,p=o*h,d=i*h,A=c*f,R=c*s,w=c*h,q=a[0],Y=a[1],g=a[2],y=e[0],x=e[1],P=e[2];return t[0]=(1-(m+d))*q,t[1]=(l+w)*q,t[2]=(v-R)*q,t[3]=0,t[4]=(l-w)*Y,t[5]=(1-(M+d))*Y,t[6]=(p+A)*Y,t[7]=0,t[8]=(v+R)*g,t[9]=(p-A)*g,t[10]=(1-(M+m))*g,t[11]=0,t[12]=r[0]+y-(t[0]*y+t[4]*x+t[8]*P),t[13]=r[1]+x-(t[1]*y+t[5]*x+t[9]*P),t[14]=r[2]+P-(t[2]*y+t[6]*x+t[10]*P),t[15]=1,t},e.fromQuat=function(t,n){var r=n[0],a=n[1],e=n[2],u=n[3],o=r+r,i=a+a,c=e+e,f=r*o,s=a*o,h=a*i,M=e*o,l=e*i,v=e*c,m=u*o,p=u*i,d=u*c;return t[0]=1-h-v,t[1]=s+d,t[2]=M-p,t[3]=0,t[4]=s-d,t[5]=1-f-v,t[6]=l+m,t[7]=0,t[8]=M+p,t[9]=l-m,t[10]=1-f-h,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},e.frustum=function(t,n,r,a,e,u,o){var i=1/(r-n),c=1/(e-a),f=1/(u-o);return t[0]=2*u*i,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=2*u*c,t[6]=0,t[7]=0,t[8]=(r+n)*i,t[9]=(e+a)*c,t[10]=(o+u)*f,t[11]=-1,t[12]=0,t[13]=0,t[14]=o*u*2*f,t[15]=0,t},e.perspective=function(t,n,r,a,e){var u=1/Math.tan(n/2),o=1/(a-e);return t[0]=u/r,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=u,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=(e+a)*o,t[11]=-1,t[12]=0,t[13]=0,t[14]=2*e*a*o,t[15]=0,t},e.perspectiveFromFieldOfView=function(t,n,r,a){var e=Math.tan(n.upDegrees*Math.PI/180),u=Math.tan(n.downDegrees*Math.PI/180),o=Math.tan(n.leftDegrees*Math.PI/180),i=Math.tan(n.rightDegrees*Math.PI/180),c=2/(o+i),f=2/(e+u);return t[0]=c,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=f,t[6]=0,t[7]=0,t[8]=-((o-i)*c*.5),t[9]=(e-u)*f*.5,t[10]=a/(r-a),t[11]=-1,t[12]=0,t[13]=0,t[14]=a*r/(r-a),t[15]=0,t},e.ortho=function(t,n,r,a,e,u,o){var i=1/(n-r),c=1/(a-e),f=1/(u-o);return t[0]=-2*i,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=-2*c,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=2*f,t[11]=0,t[12]=(n+r)*i,t[13]=(e+a)*c,t[14]=(o+u)*f,t[15]=1,t},e.lookAt=function(t,n,r,u){var o,i,c,f,s,h,M,l,v,m,p=n[0],d=n[1],A=n[2],R=u[0],w=u[1],q=u[2],Y=r[0],g=r[1],y=r[2];return Math.abs(p-Y)<a.EPSILON&&Math.abs(d-g)<a.EPSILON&&Math.abs(A-y)<a.EPSILON?e.identity(t):(M=p-Y,l=d-g,v=A-y,m=1/Math.sqrt(M*M+l*l+v*v),M*=m,l*=m,v*=m,o=w*v-q*l,i=q*M-R*v,c=R*l-w*M,m=Math.sqrt(o*o+i*i+c*c),m?(m=1/m,o*=m,i*=m,c*=m):(o=0,i=0,c=0),f=l*c-v*i,s=v*o-M*c,h=M*i-l*o,m=Math.sqrt(f*f+s*s+h*h),m?(m=1/m,f*=m,s*=m,h*=m):(f=0,s=0,h=0),t[0]=o,t[1]=f,t[2]=M,t[3]=0,t[4]=i,t[5]=s,t[6]=l,t[7]=0,t[8]=c,t[9]=h,t[10]=v,t[11]=0,t[12]=-(o*p+i*d+c*A),t[13]=-(f*p+s*d+h*A),t[14]=-(M*p+l*d+v*A),t[15]=1,t)},e.str=function(t){return"mat4("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+", "+t[4]+", "+t[5]+", "+t[6]+", "+t[7]+", "+t[8]+", "+t[9]+", "+t[10]+", "+t[11]+", "+t[12]+", "+t[13]+", "+t[14]+", "+t[15]+")"},e.frob=function(t){return Math.sqrt(Math.pow(t[0],2)+Math.pow(t[1],2)+Math.pow(t[2],2)+Math.pow(t[3],2)+Math.pow(t[4],2)+Math.pow(t[5],2)+Math.pow(t[6],2)+Math.pow(t[7],2)+Math.pow(t[8],2)+Math.pow(t[9],2)+Math.pow(t[10],2)+Math.pow(t[11],2)+Math.pow(t[12],2)+Math.pow(t[13],2)+Math.pow(t[14],2)+Math.pow(t[15],2))},t.exports=e},function(t,n,r){var a=r(1),e=r(4),u=r(7),o=r(8),i={};i.create=function(){var t=new a.ARRAY_TYPE(4);return t[0]=0,t[1]=0,t[2]=0,t[3]=1,t},i.rotationTo=function(){var t=u.create(),n=u.fromValues(1,0,0),r=u.fromValues(0,1,0);return function(a,e,o){var c=u.dot(e,o);return-.999999>c?(u.cross(t,n,e),u.length(t)<1e-6&&u.cross(t,r,e),u.normalize(t,t),i.setAxisAngle(a,t,Math.PI),a):c>.999999?(a[0]=0,a[1]=0,a[2]=0,a[3]=1,a):(u.cross(t,e,o),a[0]=t[0],a[1]=t[1],a[2]=t[2],a[3]=1+c,i.normalize(a,a))}}(),i.setAxes=function(){var t=e.create();return function(n,r,a,e){return t[0]=a[0],t[3]=a[1],t[6]=a[2],t[1]=e[0],t[4]=e[1],t[7]=e[2],t[2]=-r[0],t[5]=-r[1],t[8]=-r[2],i.normalize(n,i.fromMat3(n,t))}}(),i.clone=o.clone,i.fromValues=o.fromValues,i.copy=o.copy,i.set=o.set,i.identity=function(t){return t[0]=0,t[1]=0,t[2]=0,t[3]=1,t},i.setAxisAngle=function(t,n,r){r=.5*r;var a=Math.sin(r);return t[0]=a*n[0],t[1]=a*n[1],t[2]=a*n[2],t[3]=Math.cos(r),t},i.add=o.add,i.multiply=function(t,n,r){var a=n[0],e=n[1],u=n[2],o=n[3],i=r[0],c=r[1],f=r[2],s=r[3];return t[0]=a*s+o*i+e*f-u*c,t[1]=e*s+o*c+u*i-a*f,t[2]=u*s+o*f+a*c-e*i,t[3]=o*s-a*i-e*c-u*f,t},i.mul=i.multiply,i.scale=o.scale,i.rotateX=function(t,n,r){r*=.5;var a=n[0],e=n[1],u=n[2],o=n[3],i=Math.sin(r),c=Math.cos(r);return t[0]=a*c+o*i,t[1]=e*c+u*i,t[2]=u*c-e*i,t[3]=o*c-a*i,t},i.rotateY=function(t,n,r){r*=.5;var a=n[0],e=n[1],u=n[2],o=n[3],i=Math.sin(r),c=Math.cos(r);return t[0]=a*c-u*i,t[1]=e*c+o*i,t[2]=u*c+a*i,t[3]=o*c-e*i,t},i.rotateZ=function(t,n,r){r*=.5;var a=n[0],e=n[1],u=n[2],o=n[3],i=Math.sin(r),c=Math.cos(r);return t[0]=a*c+e*i,t[1]=e*c-a*i,t[2]=u*c+o*i,t[3]=o*c-u*i,t},i.calculateW=function(t,n){var r=n[0],a=n[1],e=n[2];return t[0]=r,t[1]=a,t[2]=e,t[3]=Math.sqrt(Math.abs(1-r*r-a*a-e*e)),t},i.dot=o.dot,i.lerp=o.lerp,i.slerp=function(t,n,r,a){var e,u,o,i,c,f=n[0],s=n[1],h=n[2],M=n[3],l=r[0],v=r[1],m=r[2],p=r[3];return u=f*l+s*v+h*m+M*p,0>u&&(u=-u,l=-l,v=-v,m=-m,p=-p),1-u>1e-6?(e=Math.acos(u),o=Math.sin(e),i=Math.sin((1-a)*e)/o,c=Math.sin(a*e)/o):(i=1-a,c=a),t[0]=i*f+c*l,t[1]=i*s+c*v,t[2]=i*h+c*m,t[3]=i*M+c*p,t},i.sqlerp=function(){var t=i.create(),n=i.create();return function(r,a,e,u,o,c){return i.slerp(t,a,o,c),i.slerp(n,e,u,c),i.slerp(r,t,n,2*c*(1-c)),r}}(),i.invert=function(t,n){var r=n[0],a=n[1],e=n[2],u=n[3],o=r*r+a*a+e*e+u*u,i=o?1/o:0;return t[0]=-r*i,t[1]=-a*i,t[2]=-e*i,t[3]=u*i,t},i.conjugate=function(t,n){return t[0]=-n[0],t[1]=-n[1],t[2]=-n[2],t[3]=n[3],t},i.length=o.length,i.len=i.length,i.squaredLength=o.squaredLength,i.sqrLen=i.squaredLength,i.normalize=o.normalize,i.fromMat3=function(t,n){var r,a=n[0]+n[4]+n[8];if(a>0)r=Math.sqrt(a+1),t[3]=.5*r,r=.5/r,t[0]=(n[5]-n[7])*r,t[1]=(n[6]-n[2])*r,t[2]=(n[1]-n[3])*r;else{var e=0;n[4]>n[0]&&(e=1),n[8]>n[3*e+e]&&(e=2);var u=(e+1)%3,o=(e+2)%3;r=Math.sqrt(n[3*e+e]-n[3*u+u]-n[3*o+o]+1),t[e]=.5*r,r=.5/r,t[3]=(n[3*u+o]-n[3*o+u])*r,t[u]=(n[3*u+e]+n[3*e+u])*r,t[o]=(n[3*o+e]+n[3*e+o])*r}return t},i.str=function(t){return"quat("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+")"},t.exports=i},function(t,n,r){var a=r(1),e={};e.create=function(){var t=new a.ARRAY_TYPE(3);return t[0]=0,t[1]=0,t[2]=0,t},e.clone=function(t){var n=new a.ARRAY_TYPE(3);return n[0]=t[0],n[1]=t[1],n[2]=t[2],n},e.fromValues=function(t,n,r){var e=new a.ARRAY_TYPE(3);return e[0]=t,e[1]=n,e[2]=r,e},e.copy=function(t,n){return t[0]=n[0],t[1]=n[1],t[2]=n[2],t},e.set=function(t,n,r,a){return t[0]=n,t[1]=r,t[2]=a,t},e.add=function(t,n,r){return t[0]=n[0]+r[0],t[1]=n[1]+r[1],t[2]=n[2]+r[2],t},e.subtract=function(t,n,r){return t[0]=n[0]-r[0],t[1]=n[1]-r[1],t[2]=n[2]-r[2],t},e.sub=e.subtract,e.multiply=function(t,n,r){return t[0]=n[0]*r[0],t[1]=n[1]*r[1],t[2]=n[2]*r[2],t},e.mul=e.multiply,e.divide=function(t,n,r){return t[0]=n[0]/r[0],t[1]=n[1]/r[1],t[2]=n[2]/r[2],t},e.div=e.divide,e.min=function(t,n,r){return t[0]=Math.min(n[0],r[0]),t[1]=Math.min(n[1],r[1]),t[2]=Math.min(n[2],r[2]),t},e.max=function(t,n,r){return t[0]=Math.max(n[0],r[0]),t[1]=Math.max(n[1],r[1]),t[2]=Math.max(n[2],r[2]),t},e.scale=function(t,n,r){return t[0]=n[0]*r,t[1]=n[1]*r,t[2]=n[2]*r,t},e.scaleAndAdd=function(t,n,r,a){return t[0]=n[0]+r[0]*a,t[1]=n[1]+r[1]*a,t[2]=n[2]+r[2]*a,t},e.distance=function(t,n){var r=n[0]-t[0],a=n[1]-t[1],e=n[2]-t[2];return Math.sqrt(r*r+a*a+e*e)},e.dist=e.distance,e.squaredDistance=function(t,n){var r=n[0]-t[0],a=n[1]-t[1],e=n[2]-t[2];return r*r+a*a+e*e},e.sqrDist=e.squaredDistance,e.length=function(t){var n=t[0],r=t[1],a=t[2];return Math.sqrt(n*n+r*r+a*a)},e.len=e.length,e.squaredLength=function(t){var n=t[0],r=t[1],a=t[2];return n*n+r*r+a*a},e.sqrLen=e.squaredLength,e.negate=function(t,n){return t[0]=-n[0],t[1]=-n[1],t[2]=-n[2],t},e.inverse=function(t,n){return t[0]=1/n[0],t[1]=1/n[1],t[2]=1/n[2],t},e.normalize=function(t,n){var r=n[0],a=n[1],e=n[2],u=r*r+a*a+e*e;return u>0&&(u=1/Math.sqrt(u),t[0]=n[0]*u,t[1]=n[1]*u,t[2]=n[2]*u),t},e.dot=function(t,n){return t[0]*n[0]+t[1]*n[1]+t[2]*n[2]},e.cross=function(t,n,r){var a=n[0],e=n[1],u=n[2],o=r[0],i=r[1],c=r[2];return t[0]=e*c-u*i,t[1]=u*o-a*c,t[2]=a*i-e*o,t},e.lerp=function(t,n,r,a){var e=n[0],u=n[1],o=n[2];return t[0]=e+a*(r[0]-e),t[1]=u+a*(r[1]-u),t[2]=o+a*(r[2]-o),t},e.hermite=function(t,n,r,a,e,u){var o=u*u,i=o*(2*u-3)+1,c=o*(u-2)+u,f=o*(u-1),s=o*(3-2*u);return t[0]=n[0]*i+r[0]*c+a[0]*f+e[0]*s,t[1]=n[1]*i+r[1]*c+a[1]*f+e[1]*s,t[2]=n[2]*i+r[2]*c+a[2]*f+e[2]*s,t},e.bezier=function(t,n,r,a,e,u){var o=1-u,i=o*o,c=u*u,f=i*o,s=3*u*i,h=3*c*o,M=c*u;return t[0]=n[0]*f+r[0]*s+a[0]*h+e[0]*M,t[1]=n[1]*f+r[1]*s+a[1]*h+e[1]*M,t[2]=n[2]*f+r[2]*s+a[2]*h+e[2]*M,t},e.random=function(t,n){n=n||1;var r=2*a.RANDOM()*Math.PI,e=2*a.RANDOM()-1,u=Math.sqrt(1-e*e)*n;return t[0]=Math.cos(r)*u,t[1]=Math.sin(r)*u,t[2]=e*n,t},e.transformMat4=function(t,n,r){var a=n[0],e=n[1],u=n[2],o=r[3]*a+r[7]*e+r[11]*u+r[15];return o=o||1,t[0]=(r[0]*a+r[4]*e+r[8]*u+r[12])/o,t[1]=(r[1]*a+r[5]*e+r[9]*u+r[13])/o,t[2]=(r[2]*a+r[6]*e+r[10]*u+r[14])/o,t},e.transformMat3=function(t,n,r){var a=n[0],e=n[1],u=n[2];return t[0]=a*r[0]+e*r[3]+u*r[6],t[1]=a*r[1]+e*r[4]+u*r[7],t[2]=a*r[2]+e*r[5]+u*r[8],t},e.transformQuat=function(t,n,r){var a=n[0],e=n[1],u=n[2],o=r[0],i=r[1],c=r[2],f=r[3],s=f*a+i*u-c*e,h=f*e+c*a-o*u,M=f*u+o*e-i*a,l=-o*a-i*e-c*u;return t[0]=s*f+l*-o+h*-c-M*-i,t[1]=h*f+l*-i+M*-o-s*-c,t[2]=M*f+l*-c+s*-i-h*-o,t},e.rotateX=function(t,n,r,a){var e=[],u=[];return e[0]=n[0]-r[0],e[1]=n[1]-r[1],e[2]=n[2]-r[2],u[0]=e[0],u[1]=e[1]*Math.cos(a)-e[2]*Math.sin(a),u[2]=e[1]*Math.sin(a)+e[2]*Math.cos(a),t[0]=u[0]+r[0],t[1]=u[1]+r[1],t[2]=u[2]+r[2],t},e.rotateY=function(t,n,r,a){var e=[],u=[];return e[0]=n[0]-r[0],e[1]=n[1]-r[1],e[2]=n[2]-r[2],u[0]=e[2]*Math.sin(a)+e[0]*Math.cos(a),u[1]=e[1],u[2]=e[2]*Math.cos(a)-e[0]*Math.sin(a),t[0]=u[0]+r[0],t[1]=u[1]+r[1],t[2]=u[2]+r[2],t},e.rotateZ=function(t,n,r,a){var e=[],u=[];return e[0]=n[0]-r[0],e[1]=n[1]-r[1],e[2]=n[2]-r[2],u[0]=e[0]*Math.cos(a)-e[1]*Math.sin(a),u[1]=e[0]*Math.sin(a)+e[1]*Math.cos(a),u[2]=e[2],t[0]=u[0]+r[0],t[1]=u[1]+r[1],t[2]=u[2]+r[2],t},e.forEach=function(){var t=e.create();return function(n,r,a,e,u,o){var i,c;for(r||(r=3),a||(a=0),c=e?Math.min(e*r+a,n.length):n.length,i=a;c>i;i+=r)t[0]=n[i],t[1]=n[i+1],t[2]=n[i+2],u(t,t,o),n[i]=t[0],n[i+1]=t[1],n[i+2]=t[2];return n}}(),e.angle=function(t,n){var r=e.fromValues(t[0],t[1],t[2]),a=e.fromValues(n[0],n[1],n[2]);e.normalize(r,r),e.normalize(a,a);var u=e.dot(r,a);return u>1?0:Math.acos(u)},e.str=function(t){return"vec3("+t[0]+", "+t[1]+", "+t[2]+")"},t.exports=e},function(t,n,r){var a=r(1),e={};e.create=function(){var t=new a.ARRAY_TYPE(4);return t[0]=0,t[1]=0,t[2]=0,t[3]=0,t},e.clone=function(t){var n=new a.ARRAY_TYPE(4);return n[0]=t[0],n[1]=t[1],n[2]=t[2],n[3]=t[3],n},e.fromValues=function(t,n,r,e){var u=new a.ARRAY_TYPE(4);return u[0]=t,u[1]=n,u[2]=r,u[3]=e,u},e.copy=function(t,n){return t[0]=n[0],t[1]=n[1],t[2]=n[2],t[3]=n[3],t},e.set=function(t,n,r,a,e){return t[0]=n,t[1]=r,t[2]=a,t[3]=e,t},e.add=function(t,n,r){return t[0]=n[0]+r[0],t[1]=n[1]+r[1],t[2]=n[2]+r[2],t[3]=n[3]+r[3],t},e.subtract=function(t,n,r){return t[0]=n[0]-r[0],t[1]=n[1]-r[1],t[2]=n[2]-r[2],t[3]=n[3]-r[3],t},e.sub=e.subtract,e.multiply=function(t,n,r){return t[0]=n[0]*r[0],t[1]=n[1]*r[1],t[2]=n[2]*r[2],t[3]=n[3]*r[3],t},e.mul=e.multiply,e.divide=function(t,n,r){return t[0]=n[0]/r[0],t[1]=n[1]/r[1],t[2]=n[2]/r[2],t[3]=n[3]/r[3],t},e.div=e.divide,e.min=function(t,n,r){return t[0]=Math.min(n[0],r[0]),t[1]=Math.min(n[1],r[1]),t[2]=Math.min(n[2],r[2]),t[3]=Math.min(n[3],r[3]),t},e.max=function(t,n,r){return t[0]=Math.max(n[0],r[0]),t[1]=Math.max(n[1],r[1]),t[2]=Math.max(n[2],r[2]),t[3]=Math.max(n[3],r[3]),t},e.scale=function(t,n,r){return t[0]=n[0]*r,t[1]=n[1]*r,t[2]=n[2]*r,t[3]=n[3]*r,t},e.scaleAndAdd=function(t,n,r,a){return t[0]=n[0]+r[0]*a,t[1]=n[1]+r[1]*a,t[2]=n[2]+r[2]*a,t[3]=n[3]+r[3]*a,t},e.distance=function(t,n){var r=n[0]-t[0],a=n[1]-t[1],e=n[2]-t[2],u=n[3]-t[3];return Math.sqrt(r*r+a*a+e*e+u*u)},e.dist=e.distance,e.squaredDistance=function(t,n){var r=n[0]-t[0],a=n[1]-t[1],e=n[2]-t[2],u=n[3]-t[3];return r*r+a*a+e*e+u*u},e.sqrDist=e.squaredDistance,e.length=function(t){var n=t[0],r=t[1],a=t[2],e=t[3];return Math.sqrt(n*n+r*r+a*a+e*e)},e.len=e.length,e.squaredLength=function(t){var n=t[0],r=t[1],a=t[2],e=t[3];return n*n+r*r+a*a+e*e},e.sqrLen=e.squaredLength,e.negate=function(t,n){return t[0]=-n[0],t[1]=-n[1],t[2]=-n[2],t[3]=-n[3],t},e.inverse=function(t,n){return t[0]=1/n[0],t[1]=1/n[1],t[2]=1/n[2],t[3]=1/n[3],t},e.normalize=function(t,n){var r=n[0],a=n[1],e=n[2],u=n[3],o=r*r+a*a+e*e+u*u;return o>0&&(o=1/Math.sqrt(o),t[0]=r*o,t[1]=a*o,t[2]=e*o,t[3]=u*o),t},e.dot=function(t,n){return t[0]*n[0]+t[1]*n[1]+t[2]*n[2]+t[3]*n[3]},e.lerp=function(t,n,r,a){var e=n[0],u=n[1],o=n[2],i=n[3];return t[0]=e+a*(r[0]-e),t[1]=u+a*(r[1]-u),t[2]=o+a*(r[2]-o),t[3]=i+a*(r[3]-i),t},e.random=function(t,n){return n=n||1,t[0]=a.RANDOM(),t[1]=a.RANDOM(),t[2]=a.RANDOM(),t[3]=a.RANDOM(),e.normalize(t,t),e.scale(t,t,n),t},e.transformMat4=function(t,n,r){var a=n[0],e=n[1],u=n[2],o=n[3];return t[0]=r[0]*a+r[4]*e+r[8]*u+r[12]*o,t[1]=r[1]*a+r[5]*e+r[9]*u+r[13]*o,t[2]=r[2]*a+r[6]*e+r[10]*u+r[14]*o,t[3]=r[3]*a+r[7]*e+r[11]*u+r[15]*o,t},e.transformQuat=function(t,n,r){var a=n[0],e=n[1],u=n[2],o=r[0],i=r[1],c=r[2],f=r[3],s=f*a+i*u-c*e,h=f*e+c*a-o*u,M=f*u+o*e-i*a,l=-o*a-i*e-c*u;return t[0]=s*f+l*-o+h*-c-M*-i,t[1]=h*f+l*-i+M*-o-s*-c,t[2]=M*f+l*-c+s*-i-h*-o,t[3]=n[3],t},e.forEach=function(){var t=e.create();return function(n,r,a,e,u,o){var i,c;for(r||(r=4),a||(a=0),c=e?Math.min(e*r+a,n.length):n.length,i=a;c>i;i+=r)t[0]=n[i],t[1]=n[i+1],t[2]=n[i+2],t[3]=n[i+3],u(t,t,o),n[i]=t[0],n[i+1]=t[1],n[i+2]=t[2],n[i+3]=t[3];return n}}(),e.str=function(t){return"vec4("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+")"},t.exports=e},function(t,n,r){var a=r(1),e={};e.create=function(){var t=new a.ARRAY_TYPE(2);return t[0]=0,t[1]=0,t},e.clone=function(t){var n=new a.ARRAY_TYPE(2);return n[0]=t[0],n[1]=t[1],n},e.fromValues=function(t,n){var r=new a.ARRAY_TYPE(2);return r[0]=t,r[1]=n,r},e.copy=function(t,n){return t[0]=n[0],t[1]=n[1],t},e.set=function(t,n,r){return t[0]=n,t[1]=r,t},e.add=function(t,n,r){return t[0]=n[0]+r[0],t[1]=n[1]+r[1],t},e.subtract=function(t,n,r){return t[0]=n[0]-r[0],t[1]=n[1]-r[1],t},e.sub=e.subtract,e.multiply=function(t,n,r){return t[0]=n[0]*r[0],t[1]=n[1]*r[1],t},e.mul=e.multiply,e.divide=function(t,n,r){return t[0]=n[0]/r[0],t[1]=n[1]/r[1],t},e.div=e.divide,e.min=function(t,n,r){return t[0]=Math.min(n[0],r[0]),t[1]=Math.min(n[1],r[1]),t},e.max=function(t,n,r){return t[0]=Math.max(n[0],r[0]),t[1]=Math.max(n[1],r[1]),t},e.scale=function(t,n,r){return t[0]=n[0]*r,t[1]=n[1]*r,t},e.scaleAndAdd=function(t,n,r,a){return t[0]=n[0]+r[0]*a,t[1]=n[1]+r[1]*a,t},e.distance=function(t,n){var r=n[0]-t[0],a=n[1]-t[1];return Math.sqrt(r*r+a*a)},e.dist=e.distance,e.squaredDistance=function(t,n){var r=n[0]-t[0],a=n[1]-t[1];return r*r+a*a},e.sqrDist=e.squaredDistance,e.length=function(t){var n=t[0],r=t[1];return Math.sqrt(n*n+r*r)},e.len=e.length,e.squaredLength=function(t){var n=t[0],r=t[1];return n*n+r*r},e.sqrLen=e.squaredLength,e.negate=function(t,n){return t[0]=-n[0],t[1]=-n[1],t},e.inverse=function(t,n){return t[0]=1/n[0],t[1]=1/n[1],t},e.normalize=function(t,n){var r=n[0],a=n[1],e=r*r+a*a;return e>0&&(e=1/Math.sqrt(e),t[0]=n[0]*e,t[1]=n[1]*e),t},e.dot=function(t,n){return t[0]*n[0]+t[1]*n[1]},e.cross=function(t,n,r){var a=n[0]*r[1]-n[1]*r[0];return t[0]=t[1]=0,t[2]=a,t},e.lerp=function(t,n,r,a){var e=n[0],u=n[1];return t[0]=e+a*(r[0]-e),t[1]=u+a*(r[1]-u),t},e.random=function(t,n){n=n||1;var r=2*a.RANDOM()*Math.PI;return t[0]=Math.cos(r)*n,t[1]=Math.sin(r)*n,t},e.transformMat2=function(t,n,r){var a=n[0],e=n[1];return t[0]=r[0]*a+r[2]*e,t[1]=r[1]*a+r[3]*e,t},e.transformMat2d=function(t,n,r){var a=n[0],e=n[1];return t[0]=r[0]*a+r[2]*e+r[4],t[1]=r[1]*a+r[3]*e+r[5],t},e.transformMat3=function(t,n,r){var a=n[0],e=n[1];return t[0]=r[0]*a+r[3]*e+r[6],t[1]=r[1]*a+r[4]*e+r[7],t},e.transformMat4=function(t,n,r){var a=n[0],e=n[1];return t[0]=r[0]*a+r[4]*e+r[12],t[1]=r[1]*a+r[5]*e+r[13],t},e.forEach=function(){var t=e.create();return function(n,r,a,e,u,o){var i,c;for(r||(r=2),a||(a=0),c=e?Math.min(e*r+a,n.length):n.length,i=a;c>i;i+=r)t[0]=n[i],t[1]=n[i+1],u(t,t,o),n[i]=t[0],n[i+1]=t[1];return n}}(),e.str=function(t){return"vec2("+t[0]+", "+t[1]+")"},t.exports=e}])});'use strict';(function(global){if(tr.isNode){const glMatrixAbsPath=HTMLImportsLoader.hrefToAbsolutePath('/gl-matrix-min.js');const glMatrixModule=require(glMatrixAbsPath);for(const exportName in glMatrixModule){global[exportName]=glMatrixModule[exportName];}}})(this);'use strict';tr.exportTo('tr.b.math',function(){const PREFERRED_NUMBER_SERIES_MULTIPLIERS=[1,2,5,10];function approximately(x,y,delta){if(delta===undefined)delta=1e-9;return Math.abs(x-y)<delta;} 4325function clamp(x,lo,hi){return Math.min(Math.max(x,lo),hi);} 4326function lerp(percentage,lo,hi){const range=hi-lo;return lo+percentage*range;} 4327function normalize(value,lo,hi){return(value-lo)/(hi-lo);} 4328function deg2rad(deg){return(Math.PI*deg)/180.0;} 4329function erf(x){const sign=(x>=0)?1:-1;x=Math.abs(x);const a1=0.254829592;const a2=-0.284496736;const a3=1.421413741;const a4=-1.453152027;const a5=1.061405429;const p=0.3275911;const t=1.0/(1.0+p*x);const y=1.0-(((((a5*t+a4)*t)+a3)*t+a2)*t+a1)*t*Math.exp(-x*x);return sign*y;} 4330const tmpVec2=vec2.create();const tmpVec2b=vec2.create();const tmpVec4=vec4.create();const tmpMat2d=mat2d.create();vec2.createFromArray=function(arr){if(arr.length!==2)throw new Error('Should be length 2');const v=vec2.create();vec2.set(v,arr[0],arr[1]);return v;};vec2.createXY=function(x,y){const v=vec2.create();vec2.set(v,x,y);return v;};vec2.toString=function(a){return'['+a[0]+', '+a[1]+']';};vec2.addTwoScaledUnitVectors=function(out,u1,scale1,u2,scale2){vec2.scale(tmpVec2,u1,scale1);vec2.scale(tmpVec2b,u2,scale2);vec2.add(out,tmpVec2,tmpVec2b);};vec2.interpolatePiecewiseFunction=function(points,x){if(x<points[0][0])return points[0][1];for(let i=1;i<points.length;++i){if(x<points[i][0]){const percent=normalize(x,points[i-1][0],points[i][0]);return lerp(percent,points[i-1][1],points[i][1]);}} 4331return points[points.length-1][1];};vec3.createXYZ=function(x,y,z){const v=vec3.create();vec3.set(v,x,y,z);return v;};vec3.toString=function(a){return'vec3('+a[0]+', '+a[1]+', '+a[2]+')';};mat2d.translateXY=function(out,x,y){vec2.set(tmpVec2,x,y);mat2d.translate(out,out,tmpVec2);};mat2d.scaleXY=function(out,x,y){vec2.set(tmpVec2,x,y);mat2d.scale(out,out,tmpVec2);};vec4.unitize=function(out,a){out[0]=a[0]/a[3];out[1]=a[1]/a[3];out[2]=a[2]/a[3];out[3]=1;return out;};vec2.copyFromVec4=function(out,a){vec4.unitize(tmpVec4,a);vec2.copy(out,tmpVec4);};function logOrLog10(x,base){if(base===10)return Math.log10(x);return Math.log(x)/Math.log(base);} 4332function lesserPower(x,opt_base){const base=opt_base||10;return Math.pow(base,Math.floor(logOrLog10(x,base)));} 4333function greaterPower(x,opt_base){const base=opt_base||10;return Math.pow(base,Math.ceil(logOrLog10(x,base)));} 4334function lesserWholeNumber(x){if(x===0)return 0;const pow10=(x<0)?-lesserPower(-x):lesserPower(x);return pow10*Math.floor(x/pow10);} 4335function greaterWholeNumber(x){if(x===0)return 0;const pow10=(x<0)?-lesserPower(-x):lesserPower(x);return pow10*Math.ceil(x/pow10);} 4336function preferredNumberLargerThanMin(min){const absMin=Math.abs(min);const conservativeGuess=tr.b.math.lesserPower(absMin);let minPreferedNumber=undefined;for(const multiplier of PREFERRED_NUMBER_SERIES_MULTIPLIERS){const tightenedGuess=conservativeGuess*multiplier;if(tightenedGuess>=absMin){minPreferedNumber=tightenedGuess;break;}} 4337if(minPreferedNumber===undefined){throw new Error('Could not compute preferred number for '+min);} 4338if(min<0)minPreferedNumber*=-1;return minPreferedNumber;} 4339return{approximately,clamp,lerp,normalize,deg2rad,erf,lesserPower,greaterPower,lesserWholeNumber,greaterWholeNumber,preferredNumberLargerThanMin,};});'use strict';tr.exportTo('tr.b.math',function(){function Range(){this.isEmpty_=true;this.min_=undefined;this.max_=undefined;} 4340Range.prototype={__proto__:Object.prototype,clone(){if(this.isEmpty)return new Range();return Range.fromExplicitRange(this.min_,this.max_);},reset(){this.isEmpty_=true;this.min_=undefined;this.max_=undefined;},get isEmpty(){return this.isEmpty_;},addRange(range){if(range.isEmpty)return;this.addValue(range.min);this.addValue(range.max);},addValue(value){if(this.isEmpty_){this.max_=value;this.min_=value;this.isEmpty_=false;return;} 4341this.max_=Math.max(this.max_,value);this.min_=Math.min(this.min_,value);},set min(min){this.isEmpty_=false;this.min_=min;},get min(){if(this.isEmpty_)return undefined;return this.min_;},get max(){if(this.isEmpty_)return undefined;return this.max_;},set max(max){this.isEmpty_=false;this.max_=max;},get range(){if(this.isEmpty_)return undefined;return this.max_-this.min_;},get center(){return(this.min_+this.max_)*0.5;},get duration(){if(this.isEmpty_)return 0;return this.max_-this.min_;},enclosingPowers(opt_base){if(this.isEmpty)return new Range();return Range.fromExplicitRange(tr.b.math.lesserPower(this.min_,opt_base),tr.b.math.greaterPower(this.max_,opt_base));},normalize(x){return tr.b.math.normalize(x,this.min,this.max);},lerp(x){return tr.b.math.lerp(x,this.min,this.max);},clamp(x){return tr.b.math.clamp(x,this.min,this.max);},equals(that){if(this.isEmpty&&that.isEmpty)return true;if(this.isEmpty!==that.isEmpty)return false;return(tr.b.math.approximately(this.min,that.min)&&tr.b.math.approximately(this.max,that.max));},containsExplicitRangeInclusive(min,max){if(this.isEmpty)return false;return this.min_<=min&&max<=this.max_;},containsExplicitRangeExclusive(min,max){if(this.isEmpty)return false;return this.min_<min&&max<this.max_;},intersectsExplicitRangeInclusive(min,max){if(this.isEmpty)return false;return this.min_<=max&&min<=this.max_;},intersectsExplicitRangeExclusive(min,max){if(this.isEmpty)return false;return this.min_<max&&min<this.max_;},containsRangeInclusive(range){if(range.isEmpty)return false;return this.containsExplicitRangeInclusive(range.min_,range.max_);},containsRangeExclusive(range){if(range.isEmpty)return false;return this.containsExplicitRangeExclusive(range.min_,range.max_);},intersectsRangeInclusive(range){if(range.isEmpty)return false;return this.intersectsExplicitRangeInclusive(range.min_,range.max_);},intersectsRangeExclusive(range){if(range.isEmpty)return false;return this.intersectsExplicitRangeExclusive(range.min_,range.max_);},findExplicitIntersectionDuration(min,max){min=Math.max(this.min,min);max=Math.min(this.max,max);if(max<min)return 0;return max-min;},findIntersection(range){if(this.isEmpty||range.isEmpty)return new Range();const min=Math.max(this.min,range.min);const max=Math.min(this.max,range.max);if(max<min)return new Range();return Range.fromExplicitRange(min,max);},toJSON(){if(this.isEmpty_)return{isEmpty:true};return{isEmpty:false,max:this.max,min:this.min};},filterArray(array,opt_keyFunc,opt_this){if(this.isEmpty_)return[];function binSearch(test){let i0=0;let i1=array.length;while(i0<i1){const i=Math.trunc((i0+i1)/2);if(test(i)){i1=i;}else{i0=i+1;}} 4342return i1;} 4343const keyFunc=opt_keyFunc||tr.b.identity;function getValue(index){return keyFunc.call(opt_this,array[index]);} 4344const first=binSearch(function(i){return this.min_===undefined||this.min_<=getValue(i);}.bind(this));const last=binSearch(function(i){return this.max_!==undefined&&this.max_<getValue(i);}.bind(this));return array.slice(first,last);}};Range.fromDict=function(d){if(d.isEmpty===true)return new Range();if(d.isEmpty===false){const range=new Range();range.min=d.min;range.max=d.max;return range;} 4345throw new Error('Not a range');};Range.fromExplicitRange=function(min,max){const range=new Range();range.min=min;range.max=max;return range;};Range.compareByMinTimes=function(a,b){if(!a.isEmpty&&!b.isEmpty)return a.min_-b.min_;if(a.isEmpty&&!b.isEmpty)return-1;if(!a.isEmpty&&b.isEmpty)return 1;return 0;};Range.findDifference=function(rangeA,rangeB){if(!rangeA||rangeA.duration<0||!rangeB||rangeB.duration<0){throw new Error(`Couldn't subtract ranges`);} 4346const resultRanges=[];if(rangeA.isEmpty)return resultRanges;if(rangeB.isEmpty)return[rangeA.clone()];const intersection=rangeA.findIntersection(rangeB);if(intersection.isEmpty){return[rangeA.clone()];} 4347if(rangeA.duration===0&&rangeB.duration===0){if(intersection.empty)return[rangeA.clone()];else if(intersection.duration===0)return resultRanges;throw new Error(`Two points' intersection can only be a point or empty`);} 4348const leftRange=tr.b.math.Range.fromExplicitRange(rangeA.min,intersection.min);if(leftRange.duration>0){resultRanges.push(leftRange);} 4349const rightRange=tr.b.math.Range.fromExplicitRange(intersection.max,rangeA.max);if(rightRange.duration>0){resultRanges.push(rightRange);} 4350return resultRanges;};Range.PERCENT_RANGE=Range.fromExplicitRange(0,1);Object.freeze(Range.PERCENT_RANGE);return{Range,};});'use strict';(function(exports){var rank={standard:function(array,key){array=array.sort(function(a,b){var x=a[key];var y=b[key];return((x<y)?-1:((x>y)?1:0));});for(var i=1;i<array.length+1;i++){array[i-1]['rank']=i;} 4351return array;},fractional:function(array,key){array=this.standard(array,key);var pos=0;while(pos<array.length){var sum=0;var i=0;for(i=0;array[pos+i+1]&&(array[pos+i][key]===array[pos+i+1][key]);i++){sum+=array[pos+i]['rank'];} 4352sum+=array[pos+i]['rank'];var endPos=pos+i+1;for(pos;pos<endPos;pos++){array[pos]['rank']=sum/(i+1);} 4353pos=endPos;} 4354return array;},rank:function(x,y){var nx=x.length,ny=y.length,combined=[],ranked;while(nx--){combined.push({set:'x',val:x[nx]});} 4355while(ny--){combined.push({set:'y',val:y[ny]});} 4356ranked=this.fractional(combined,'val');return ranked}};var erf=function erf(x){var cof=[-1.3026537197817094,6.4196979235649026e-1,1.9476473204185836e-2,-9.561514786808631e-3,-9.46595344482036e-4,3.66839497852761e-4,4.2523324806907e-5,-2.0278578112534e-5,-1.624290004647e-6,1.303655835580e-6,1.5626441722e-8,-8.5238095915e-8,6.529054439e-9,5.059343495e-9,-9.91364156e-10,-2.27365122e-10,9.6467911e-11,2.394038e-12,-6.886027e-12,8.94487e-13,3.13092e-13,-1.12708e-13,3.81e-16,7.106e-15,-1.523e-15,-9.4e-17,1.21e-16,-2.8e-17];var j=cof.length-1;var isneg=false;var d=0;var dd=0;var t,ty,tmp,res;if(x<0){x=-x;isneg=true;} 4357t=2/(2+x);ty=4*t-2;for(;j>0;j--){tmp=d;d=ty*d-dd+cof[j];dd=tmp;} 4358res=t*Math.exp(-x*x+0.5*(cof[0]+ty*d)-dd);return isneg?res-1:1-res;};var dnorm=function(x,mean,std){return 0.5*(1+erf((x-mean)/Math.sqrt(2*std*std)));} 4359var statistic=function(x,y){var ranked=rank.rank(x,y),nr=ranked.length,nx=x.length,ny=y.length,ranksums={x:0,y:0},i=0,t=0,nt=1,tcf,ux,uy;while(i<nr){if(i>0){if(ranked[i].val==ranked[i-1].val){nt++;}else{if(nt>1){t+=Math.pow(nt,3)-nt 4360nt=1;}}} 4361ranksums[ranked[i].set]+=ranked[i].rank 4362i++;} 4363tcf=1-(t/(Math.pow(nr,3)-nr)) 4364ux=nx*ny+(nx*(nx+1)/2)-ranksums.x;uy=nx*ny-ux;return{tcf:tcf,ux:ux,uy:uy,big:Math.max(ux,uy),small:Math.min(ux,uy)}} 4365exports.test=function(x,y,alt,corr){alt=typeof alt!=='undefined'?alt:'two-sided';corr=typeof corr!=='undefined'?corr:true;var nx=x.length,ny=y.length,f=1,u,mu,std,z,p;u=statistic(x,y);if(corr){mu=(nx*ny/2)+0.5;}else{mu=nx*ny/2;} 4366std=Math.sqrt(u.tcf*nx*ny*(nx+ny+1)/12);if(alt=='less'){z=(u.ux-mu)/std;}else if(alt=='greater'){z=(u.uy-mu)/std;}else if(alt=='two-sided'){z=Math.abs((u.big-mu)/std);}else{console.log('Unknown alternative argument');} 4367if(alt=='two-sided'){f=2;} 4368p=dnorm(-z,0,1)*f;return{U:u.small,p:p};}})(typeof exports==='undefined'?this['mannwhitneyu']={}:exports);'use strict';(function(global){if(tr.isNode){const mwuAbsPath=HTMLImportsLoader.hrefToAbsolutePath('/mannwhitneyu.js');const mwuModule=require(mwuAbsPath);for(const exportName in mwuModule){global[exportName]=mwuModule[exportName];}}})(this);'use strict';tr.exportTo('tr.b.math',function(){const identity=x=>x;const Statistics={};Statistics.divideIfPossibleOrZero=function(numerator,denominator){if(denominator===0)return 0;return numerator/denominator;};Statistics.sum=function(ary,opt_func,opt_this){const func=opt_func||identity;let ret=0;let i=0;for(const elt of ary){ret+=func.call(opt_this,elt,i++);} 4369return ret;};Statistics.mean=function(ary,opt_func,opt_this){const func=opt_func||identity;let sum=0;let i=0;for(const elt of ary){sum+=func.call(opt_this,elt,i++);} 4370if(i===0)return undefined;return sum/i;};Statistics.geometricMean=function(ary,opt_func,opt_this){const func=opt_func||identity;let i=0;let logsum=0;for(const elt of ary){const x=func.call(opt_this,elt,i++);if(x<=0)return 0;logsum+=Math.log(Math.abs(x));} 4371if(i===0)return 1;return Math.exp(logsum/i);};Statistics.weightedMean=function(ary,weightCallback,opt_valueCallback,opt_this){const valueCallback=opt_valueCallback||identity;let numerator=0;let denominator=0;let i=-1;for(const elt of ary){i++;const value=valueCallback.call(opt_this,elt,i);if(value===undefined)continue;const weight=weightCallback.call(opt_this,elt,i,value);numerator+=weight*value;denominator+=weight;} 4372if(denominator===0)return undefined;return numerator/denominator;};Statistics.variance=function(ary,opt_func,opt_this){if(ary.length===0)return undefined;if(ary.length===1)return 0;const func=opt_func||identity;const mean=Statistics.mean(ary,func,opt_this);const sumOfSquaredDistances=Statistics.sum(ary,function(d,i){const v=func.call(this,d,i)-mean;return v*v;},opt_this);return sumOfSquaredDistances/(ary.length-1);};Statistics.stddev=function(ary,opt_func,opt_this){if(ary.length===0)return undefined;return Math.sqrt(Statistics.variance(ary,opt_func,opt_this));};Statistics.max=function(ary,opt_func,opt_this){const func=opt_func||identity;let ret=-Infinity;let i=0;for(const elt of ary){ret=Math.max(ret,func.call(opt_this,elt,i++));} 4373return ret;};Statistics.min=function(ary,opt_func,opt_this){const func=opt_func||identity;let ret=Infinity;let i=0;for(const elt of ary){ret=Math.min(ret,func.call(opt_this,elt,i++));} 4374return ret;};Statistics.range=function(ary,opt_func,opt_this){const func=opt_func||identity;const ret=new tr.b.math.Range();let i=0;for(const elt of ary){ret.addValue(func.call(opt_this,elt,i++));} 4375return ret;};Statistics.percentile=function(ary,percent,opt_func,opt_this){if(!(percent>=0&&percent<=1)){throw new Error('percent must be [0,1]');} 4376const func=opt_func||identity;const tmp=new Array(ary.length);let i=0;for(const elt of ary){tmp[i]=func.call(opt_this,elt,i++);} 4377tmp.sort((a,b)=>a-b);const idx=Math.floor((ary.length-1)*percent);return tmp[idx];};Statistics.normalizeSamples=function(samples){if(samples.length===0){return{normalized_samples:samples,scale:1.0};} 4378samples=samples.slice().sort(function(a,b){return a-b;});const low=Math.min.apply(null,samples);const high=Math.max.apply(null,samples);const newLow=0.5/samples.length;const newHigh=(samples.length-0.5)/samples.length;if(high-low===0.0){samples=Array.apply(null,new Array(samples.length)).map(function(){return 0.5;});return{normalized_samples:samples,scale:1.0};} 4379const scale=(newHigh-newLow)/(high-low);for(let i=0;i<samples.length;i++){samples[i]=(samples[i]-low)*scale+newLow;} 4380return{normalized_samples:samples,scale};};Statistics.discrepancy=function(samples,opt_locationCount){if(samples.length===0)return 0.0;let maxLocalDiscrepancy=0;const invSampleCount=1.0/samples.length;const locations=[];const countLess=[];const countLessEqual=[];if(opt_locationCount!==undefined){let sampleIndex=0;for(let i=0;i<opt_locationCount;i++){const location=i/(opt_locationCount-1);locations.push(location);while(sampleIndex<samples.length&&samples[sampleIndex]<location){sampleIndex+=1;} 4381countLess.push(sampleIndex);while(sampleIndex<samples.length&&samples[sampleIndex]<=location){sampleIndex+=1;} 4382countLessEqual.push(sampleIndex);}}else{if(samples[0]>0.0){locations.push(0.0);countLess.push(0);countLessEqual.push(0);} 4383for(let i=0;i<samples.length;i++){locations.push(samples[i]);countLess.push(i);countLessEqual.push(i+1);} 4384if(samples[-1]<1.0){locations.push(1.0);countLess.push(samples.length);countLessEqual.push(samples.length);}} 4385let maxDiff=0;let minDiff=0;for(let i=1;i<locations.length;i++){const length=locations[i]-locations[i-1];const countClosed=countLessEqual[i]-countLess[i-1];const countOpen=countLess[i]-countLessEqual[i-1];const countClosedIncrement=countLessEqual[i]-countLessEqual[i-1];const countOpenIncrement=countLess[i]-countLess[i-1];maxDiff=Math.max(countClosedIncrement*invSampleCount-length+maxDiff,countClosed*invSampleCount-length);minDiff=Math.min(countOpenIncrement*invSampleCount-length+minDiff,countOpen*invSampleCount-length);maxLocalDiscrepancy=Math.max(maxDiff,-minDiff,maxLocalDiscrepancy);} 4386return maxLocalDiscrepancy;};Statistics.timestampsDiscrepancy=function(timestamps,opt_absolute,opt_locationCount){if(timestamps.length===0)return 0.0;if(opt_absolute===undefined)opt_absolute=true;if(Array.isArray(timestamps[0])){const rangeDiscrepancies=timestamps.map(function(r){return Statistics.timestampsDiscrepancy(r);});return Math.max.apply(null,rangeDiscrepancies);} 4387const s=Statistics.normalizeSamples(timestamps);const samples=s.normalized_samples;const sampleScale=s.scale;let discrepancy=Statistics.discrepancy(samples,opt_locationCount);const invSampleCount=1.0/samples.length;if(opt_absolute===true){discrepancy/=sampleScale;}else{discrepancy=tr.b.math.clamp((discrepancy-invSampleCount)/(1.0-invSampleCount),0.0,1.0);} 4388return discrepancy;};Statistics.durationsDiscrepancy=function(durations,opt_absolute,opt_locationCount){if(durations.length===0)return 0.0;const timestamps=durations.reduce(function(prev,curr,index,array){prev.push(prev[prev.length-1]+curr);return prev;},[0]);return Statistics.timestampsDiscrepancy(timestamps,opt_absolute,opt_locationCount);};Statistics.uniformlySampleArray=function(samples,count){if(samples.length<=count){return samples;} 4389while(samples.length>count){const i=parseInt(Math.random()*samples.length);samples.splice(i,1);} 4390return samples;};Statistics.uniformlySampleStream=function(samples,streamLength,newElement,numSamples){if(streamLength<=numSamples){if(samples.length>=streamLength){samples[streamLength-1]=newElement;}else{samples.push(newElement);} 4391return;} 4392const probToKeep=numSamples/streamLength;if(Math.random()>probToKeep)return;const index=Math.floor(Math.random()*numSamples);samples[index]=newElement;};Statistics.mergeSampledStreams=function(samplesA,streamLengthA,samplesB,streamLengthB,numSamples){if(streamLengthB<numSamples){const nbElements=Math.min(streamLengthB,samplesB.length);for(let i=0;i<nbElements;++i){Statistics.uniformlySampleStream(samplesA,streamLengthA+i+1,samplesB[i],numSamples);} 4393return;} 4394if(streamLengthA<numSamples){const nbElements=Math.min(streamLengthA,samplesA.length);const tempSamples=samplesB.slice();for(let i=0;i<nbElements;++i){Statistics.uniformlySampleStream(tempSamples,streamLengthB+i+1,samplesA[i],numSamples);} 4395for(let i=0;i<tempSamples.length;++i){samplesA[i]=tempSamples[i];} 4396return;} 4397const nbElements=Math.min(numSamples,samplesB.length);const probOfSwapping=streamLengthB/(streamLengthA+streamLengthB);for(let i=0;i<nbElements;++i){if(Math.random()<probOfSwapping){samplesA[i]=samplesB[i];}}};function Distribution(){} 4398Distribution.prototype={computeDensity(x){throw Error('Not implemented');},computePercentile(x){throw Error('Not implemented');},computeComplementaryPercentile(x){return 1-this.computePercentile(x);},get mean(){throw Error('Not implemented');},get mode(){throw Error('Not implemented');},get median(){throw Error('Not implemented');},get standardDeviation(){throw Error('Not implemented');},get variance(){throw Error('Not implemented');}};Statistics.UniformDistribution=function(opt_range){if(!opt_range)opt_range=tr.b.math.Range.fromExplicitRange(0,1);this.range=opt_range;};Statistics.UniformDistribution.prototype={__proto__:Distribution.prototype,computeDensity(x){return 1/this.range.range;},computePercentile(x){return tr.b.math.normalize(x,this.range.min,this.range.max);},get mean(){return this.range.center;},get mode(){return undefined;},get median(){return this.mean;},get standardDeviation(){return Math.sqrt(this.variance);},get variance(){return Math.pow(this.range.range,2)/12;}};Statistics.NormalDistribution=function(opt_mean,opt_variance){this.mean_=opt_mean||0;this.variance_=opt_variance||1;this.standardDeviation_=Math.sqrt(this.variance_);};Statistics.NormalDistribution.prototype={__proto__:Distribution.prototype,computeDensity(x){const scale=(1.0/(this.standardDeviation*Math.sqrt(2.0*Math.PI)));const exponent=-Math.pow(x-this.mean,2)/(2.0*this.variance);return scale*Math.exp(exponent);},computePercentile(x){const standardizedX=((x-this.mean)/Math.sqrt(2.0*this.variance));return(1.0+tr.b.math.erf(standardizedX))/2.0;},get mean(){return this.mean_;},get median(){return this.mean;},get mode(){return this.mean;},get standardDeviation(){return this.standardDeviation_;},get variance(){return this.variance_;}};Statistics.LogNormalDistribution=function(opt_location,opt_shape){this.normalDistribution_=new Statistics.NormalDistribution(opt_location,Math.pow(opt_shape||1,2));};Statistics.LogNormalDistribution.prototype={__proto__:Statistics.NormalDistribution.prototype,computeDensity(x){return this.normalDistribution_.computeDensity(Math.log(x))/x;},computePercentile(x){return this.normalDistribution_.computePercentile(Math.log(x));},get mean(){return Math.exp(this.normalDistribution_.mean+ 4399(this.normalDistribution_.variance/2));},get variance(){const nm=this.normalDistribution_.mean;const nv=this.normalDistribution_.variance;return(Math.exp(2*(nm+nv))- 4400Math.exp(2*nm+nv));},get standardDeviation(){return Math.sqrt(this.variance);},get median(){return Math.exp(this.normalDistribution_.mean);},get mode(){return Math.exp(this.normalDistribution_.mean- 4401this.normalDistribution_.variance);}};Statistics.LogNormalDistribution.fromMedianAndDiminishingReturns=function(median,diminishingReturns){diminishingReturns=Math.log(diminishingReturns/median);const shape=Math.sqrt(1-3*diminishingReturns- 4402Math.sqrt(Math.pow(diminishingReturns-3,2)-8))/2;const location=Math.log(median);return new Statistics.LogNormalDistribution(location,shape);};Statistics.DEFAULT_ALPHA=0.01;Statistics.MAX_SUGGESTED_SAMPLE_SIZE=20;Statistics.Significance={SIGNIFICANT:'REJECT',INSIGNIFICANT:'FAIL_TO_REJECT',NEED_MORE_DATA:'NEED_MORE_DATA',DONT_CARE:'DONT_CARE',};Statistics.mwu=function(a,b,opt_alpha,opt_reqSampleSize){const result=mannwhitneyu.test(a,b);const alpha=opt_alpha||Statistics.DEFAULT_ALPHA;if(result.p<alpha){result.significance=Statistics.Significance.SIGNIFICANT;}else if(opt_reqSampleSize&&(a.length<opt_reqSampleSize||b.length<opt_reqSampleSize)){result.significance=Statistics.Significance.NEED_MORE_DATA;}else{result.significance=Statistics.Significance.INSIGNIFICANT;} 4403return result;};return{Statistics,};});'use strict';const GREEK_SMALL_LETTER_MU=String.fromCharCode(956);tr.exportTo('tr.b',function(){const SECONDS_IN_A_MINUTE=60;const SECONDS_IN_AN_HOUR=SECONDS_IN_A_MINUTE*60;const SECONDS_IN_A_DAY=SECONDS_IN_AN_HOUR*24;const SECONDS_IN_A_WEEK=SECONDS_IN_A_DAY*7;const SECONDS_IN_A_YEAR=SECONDS_IN_A_DAY*365.2422;const SECONDS_IN_A_MONTH=SECONDS_IN_A_YEAR/12;const UnitPrefixScale={};const UnitScale={};function defineUnitPrefixScale(name,prefixes){if(UnitPrefixScale[name]!==undefined){throw new Error('Unit prefix scale \''+name+'\' already exists');} 4404if(prefixes.AUTO!==undefined){throw new Error('The \'AUTO\' unit prefix is not supported for unit'+'prefix scales and cannot be added to scale \''+name+'\'');} 4405UnitPrefixScale[name]=prefixes;} 4406UnitScale.defineUnitScale=function(name,unitScale){if(UnitScale[name]!==undefined){throw new Error('Unit scale \''+name+'\' already exists');} 4407if(unitScale.AUTO!==undefined){throw new Error('\'AUTO\' unit scale will be added automatically '+'for unit scale \''+name+'\'');} 4408unitScale.AUTO=Object.values(unitScale);unitScale.AUTO.sort((a,b)=>a.value-b.value);if(name)UnitScale[name]=unitScale;return unitScale;};UnitScale.defineUnitScaleFromPrefixScale=function(baseSymbol,baseName,prefixScale,opt_scaleName){if(baseSymbol===undefined){throw new Error('Cannot create UnitScale with undefined baseSymbol.');} 4409if(!baseName){throw new Error('Cannot create UnitScale without a baseName.');} 4410if(!prefixScale){throw new Error('Cannot create UnitScale without a prefix scale.');} 4411const unitScale={};for(const curPrefix of Object.keys(prefixScale)){const curScale=prefixScale[curPrefix];if(curScale.symbol===undefined||!curScale.value){throw new Error(`Cannot convert PrefixScale with malformed prefix ${curScale}.`);} 4412const name=curPrefix==='NONE'?baseName:`${curPrefix}_${baseName}`;unitScale[name]={value:curScale.value,symbol:curScale.symbol+baseSymbol,baseSymbol};} 4413return UnitScale.defineUnitScale(opt_scaleName,unitScale);};function convertUnit(value,fromScale,toScale){if(value===undefined)return undefined;const fromScaleBase=fromScale.baseSymbol;const toScaleBase=toScale.baseSymbol;if(fromScaleBase!==undefined&&toScaleBase!==undefined&&fromScaleBase!==toScaleBase){throw new Error('Cannot convert between units with different base symbols.');} 4414return value*(fromScale.value/toScale.value);} 4415defineUnitPrefixScale('BINARY',{NONE:{value:Math.pow(1024,0),symbol:''},KIBI:{value:Math.pow(1024,1),symbol:'Ki'},MEBI:{value:Math.pow(1024,2),symbol:'Mi'},GIBI:{value:Math.pow(1024,3),symbol:'Gi'},TEBI:{value:Math.pow(1024,4),symbol:'Ti'}});defineUnitPrefixScale('METRIC',{NANO:{value:1e-9,symbol:'n'},MICRO:{value:1e-6,symbol:GREEK_SMALL_LETTER_MU},MILLI:{value:1e-3,symbol:'m'},NONE:{value:1,symbol:''},KILO:{value:1e3,symbol:'k'},MEGA:{value:1e6,symbol:'M'},GIGA:{value:1e9,symbol:'G'}});UnitScale.defineUnitScale('TIME',{NANO_SEC:{value:1e-9,symbol:'ns',baseSymbol:'s'},MICRO_SEC:{value:1e-6,symbol:GREEK_SMALL_LETTER_MU+'s',baseSymbol:'s'},MILLI_SEC:{value:1e-3,symbol:'ms',baseSymbol:'s'},SEC:{value:1,symbol:'s',baseSymbol:'s'},MINUTE:{value:SECONDS_IN_A_MINUTE,symbol:'min',baseSymbol:'s'},HOUR:{value:SECONDS_IN_AN_HOUR,symbol:'hr',baseSymbol:'s'},DAY:{value:SECONDS_IN_A_DAY,symbol:'days',baseSymbol:'s'},WEEK:{value:SECONDS_IN_A_WEEK,symbol:'weeks',baseSymbol:'s'},MONTH:{value:SECONDS_IN_A_MONTH,symbol:'months',baseSymbol:'s'},YEAR:{value:SECONDS_IN_A_YEAR,symbol:'years',baseSymbol:'s'}});UnitScale.defineUnitScaleFromPrefixScale('B','BYTE',UnitPrefixScale.BINARY,'MEMORY');return{UnitPrefixScale,UnitScale,convertUnit,};});'use strict';tr.exportTo('tr.b',function(){const msDisplayMode={scale:1e-3,suffix:'ms',roundedLess(a,b){return Math.round(a*1000)<Math.round(b*1000);},formatSpec:{unitScale:[tr.b.UnitScale.TIME.MILLI_SEC],minimumFractionDigits:3,}};const nsDisplayMode={scale:1e-9,suffix:'ns',roundedLess(a,b){return Math.round(a*1000000)<Math.round(b*1000000);},formatSpec:{unitScale:[tr.b.UnitScale.TIME.NANO_SEC],maximumFractionDigits:0}};const TimeDisplayModes={ns:nsDisplayMode,ms:msDisplayMode};return{TimeDisplayModes,};});'use strict';tr.exportTo('tr.b',function(){function iterateElementDeeplyImpl(element,cb,thisArg,includeElement){if(includeElement&&cb.call(thisArg,element))return true;if(element.root&&element.root!==element&&iterateElementDeeplyImpl(element.root,cb,thisArg,false)){return true;} 4416const children=Polymer.dom(element).children;for(let i=0;i<children.length;i++){if(iterateElementDeeplyImpl(children[i],cb,thisArg,true)){return true;}} 4417return false;} 4418function iterateElementDeeply(element,cb,thisArg){iterateElementDeeplyImpl(element,cb,thisArg,false);} 4419function findDeepElementMatchingPredicate(element,predicate){let foundElement=undefined;function matches(element){const match=predicate(element);if(!match){return false;} 4420foundElement=element;return true;} 4421iterateElementDeeply(element,matches);return foundElement;} 4422function findDeepElementsMatchingPredicate(element,predicate){const foundElements=[];function matches(element){const match=predicate(element);if(match){foundElements.push(element);} 4423return false;} 4424iterateElementDeeply(element,matches);return foundElements;} 4425function findDeepElementMatching(element,selector){return findDeepElementMatchingPredicate(element,function(element){return element.matches(selector);});} 4426function findDeepElementsMatching(element,selector){return findDeepElementsMatchingPredicate(element,function(element){return element.matches(selector);});} 4427function findDeepElementWithTextContent(element,re){return findDeepElementMatchingPredicate(element,function(element){if(element.children.length!==0)return false;return re.test(Polymer.dom(element).textContent);});} 4428return{iterateElementDeeply,findDeepElementMatching,findDeepElementsMatching,findDeepElementMatchingPredicate,findDeepElementsMatchingPredicate,findDeepElementWithTextContent,};});'use strict';tr.exportTo('tr.b',function(){const TimeDisplayModes=tr.b.TimeDisplayModes;const PLUS_MINUS_SIGN=String.fromCharCode(177);const CACHED_FORMATTERS={};function getNumberFormatter(minSpec,maxSpec,minCtx,maxCtx){const key=minSpec+'-'+maxSpec+'-'+minCtx+'-'+maxCtx;let formatter=CACHED_FORMATTERS[key];if(formatter===undefined){let minimumFractionDigits=minCtx!==undefined?minCtx:minSpec;let maximumFractionDigits=maxCtx!==undefined?maxCtx:maxSpec;if(minimumFractionDigits>maximumFractionDigits){if(minCtx!==undefined&&maxCtx===undefined){maximumFractionDigits=minimumFractionDigits;}else if(minCtx===undefined&&maxCtx!==undefined){minimumFractionDigits=maximumFractionDigits;}} 4429formatter=new Intl.NumberFormat(undefined,{minimumFractionDigits,maximumFractionDigits,});CACHED_FORMATTERS[key]=formatter;} 4430return formatter;} 4431function max(a,b){if(a===undefined)return b;if(b===undefined)return a;return a.scale>b.scale?a:b;} 4432const ImprovementDirection={DONT_CARE:0,BIGGER_IS_BETTER:1,SMALLER_IS_BETTER:2};function Unit(unitName,jsonName,scaleBaseUnit,isDelta,improvementDirection,formatSpec){this.unitName=unitName;this.jsonName=jsonName;this.scaleBaseUnit=scaleBaseUnit;this.isDelta=isDelta;this.improvementDirection=improvementDirection;this.formatSpec_=formatSpec;this.baseUnit=undefined;this.correspondingDeltaUnit=undefined;} 4433Unit.prototype={asJSON(){return this.jsonName;},getUnitScale_(opt_context){let formatSpec=this.formatSpec_;let formatSpecWasFunction=false;if(typeof formatSpec==='function'){formatSpecWasFunction=true;formatSpec=formatSpec();} 4434const context=opt_context||{};let scale=undefined;if(context.unitScale){scale=context.unitScale;}else if(context.unitPrefix){const symbol=formatSpec.baseSymbol?formatSpec.baseSymbol:this.scaleBaseUnit.baseSymbol;scale=tr.b.UnitScale.defineUnitScaleFromPrefixScale(symbol,symbol,[context.unitPrefix]).AUTO;}else{scale=formatSpec.unitScale;if(!scale){scale=[{value:1,symbol:formatSpec.baseSymbol||'',baseSymbol:formatSpec.baseSymbol||''}];if(!formatSpecWasFunction)formatSpec.unitScale=scale;}} 4435if(!(scale instanceof Array)){throw new Error('Unit has a malformed unit scale.');} 4436return scale;},get unitString(){const scale=this.getUnitScale_();if(!scale){throw new Error('A UnitScale could not be found for Unit '+this.unitName);} 4437return scale[0].baseSymbol||scale[0].symbol;},format(value,opt_context){let signString='';if(value<0){signString='-';value=-value;}else if(this.isDelta){signString=value===0?PLUS_MINUS_SIGN:'+';} 4438const context=opt_context||{};const scale=this.getUnitScale_(context);let deltaValue=context.deltaValue===undefined?value:context.deltaValue;deltaValue=Math.abs(deltaValue)*this.scaleBaseUnit.value;let i=0;while(i<scale.length-1&&deltaValue/scale[i+1].value>=1){i++;} 4439const selectedSubUnit=scale[i];let formatSpec=this.formatSpec_;if(typeof formatSpec==='function')formatSpec=formatSpec();let unitString='';if(selectedSubUnit.symbol){if(!formatSpec.avoidSpacePrecedingUnit)unitString=' ';unitString+=selectedSubUnit.symbol;} 4440value=tr.b.convertUnit(value,this.scaleBaseUnit,selectedSubUnit);const numberString=getNumberFormatter(formatSpec.minimumFractionDigits,formatSpec.maximumFractionDigits,context.minimumFractionDigits,context.maximumFractionDigits).format(value);return signString+numberString+unitString;}};Unit.reset=function(){Unit.currentTimeDisplayMode=TimeDisplayModes.ms;};Unit.timestampFromUs=function(us){return tr.b.convertUnit(us,tr.b.UnitPrefixScale.METRIC.MICRO,tr.b.UnitPrefixScale.METRIC.MILLI);};Object.defineProperty(Unit,'currentTimeDisplayMode',{get(){return Unit.currentTimeDisplayMode_;},set(value){if(Unit.currentTimeDisplayMode_===value)return;Unit.currentTimeDisplayMode_=value;Unit.dispatchEvent(new tr.b.Event('display-mode-changed'));}});Unit.didPreferredTimeDisplayUnitChange=function(){let largest=undefined;const els=tr.b.findDeepElementsMatching(document.body,'tr-v-ui-preferred-display-unit');els.forEach(function(el){largest=max(largest,el.preferredTimeDisplayMode);});Unit.currentTimeDisplayMode=largest===undefined?TimeDisplayModes.ms:largest;};Unit.byName={};Unit.byJSONName={};Unit.fromJSON=function(object){const u=Unit.byJSONName[object];if(u){return u;} 4441throw new Error('Unrecognized unit');};Unit.define=function(params){const definedUnits=[];for(const improvementDirection of Object.values(ImprovementDirection)){const regularUnit=Unit.defineUnitVariant_(params,false,improvementDirection);const deltaUnit=Unit.defineUnitVariant_(params,true,improvementDirection);regularUnit.correspondingDeltaUnit=deltaUnit;deltaUnit.correspondingDeltaUnit=deltaUnit;definedUnits.push(regularUnit,deltaUnit);} 4442const baseUnit=Unit.byName[params.baseUnitName];definedUnits.forEach(u=>u.baseUnit=baseUnit);};Unit.nameSuffixForImprovementDirection=function(improvementDirection){switch(improvementDirection){case ImprovementDirection.DONT_CARE:return'';case ImprovementDirection.BIGGER_IS_BETTER:return'_biggerIsBetter';case ImprovementDirection.SMALLER_IS_BETTER:return'_smallerIsBetter';default:throw new Error('Unknown improvement direction: '+improvementDirection);}};Unit.defineUnitVariant_=function(params,isDelta,improvementDirection){let nameSuffix=isDelta?'Delta':'';nameSuffix+=Unit.nameSuffixForImprovementDirection(improvementDirection);const unitName=params.baseUnitName+nameSuffix;const jsonName=params.baseJsonName+nameSuffix;if(Unit.byName[unitName]!==undefined){throw new Error('Unit \''+unitName+'\' already exists');} 4443if(Unit.byJSONName[jsonName]!==undefined){throw new Error('JSON unit \''+jsonName+'\' alread exists');} 4444let scaleBaseUnit=params.scaleBaseUnit;if(!scaleBaseUnit){let formatSpec=params.formatSpec;if(typeof formatSpec==='function')formatSpec=formatSpec();const baseSymbol=formatSpec.unitScale?formatSpec.unitScale[0].baseSymbol:(formatSpec.baseSymbol||'');scaleBaseUnit={value:1,symbol:baseSymbol,baseSymbol};} 4445const unit=new Unit(unitName,jsonName,scaleBaseUnit,isDelta,improvementDirection,params.formatSpec);Unit.byName[unitName]=unit;Unit.byJSONName[jsonName]=unit;return unit;};tr.b.EventTarget.decorate(Unit);Unit.reset();Unit.define({baseUnitName:'timeInMsAutoFormat',baseJsonName:'msBestFitFormat',scaleBaseUnit:tr.b.UnitScale.TIME.MILLI_SEC,formatSpec:{unitScale:tr.b.UnitScale.TIME.AUTO,minimumFractionDigits:0,maximumFractionDigits:3}});Unit.define({baseUnitName:'timeDurationInMs',baseJsonName:'ms',scaleBaseUnit:tr.b.UnitScale.TIME.MILLI_SEC,formatSpec(){return Unit.currentTimeDisplayMode_.formatSpec;}});Unit.define({baseUnitName:'timeStampInMs',baseJsonName:'tsMs',scaleBaseUnit:tr.b.UnitScale.TIME.MILLI_SEC,formatSpec(){return Unit.currentTimeDisplayMode_.formatSpec;}});Unit.define({baseUnitName:'normalizedPercentage',baseJsonName:'n%',formatSpec:{unitScale:[{value:0.01,symbol:'%'}],avoidSpacePrecedingUnit:true,minimumFractionDigits:3,maximumFractionDigits:3}});Unit.define({baseUnitName:'sizeInBytes',baseJsonName:'sizeInBytes',formatSpec:{unitScale:tr.b.UnitScale.MEMORY.AUTO,minimumFractionDigits:1,maximumFractionDigits:1}});Unit.define({baseUnitName:'energyInJoules',baseJsonName:'J',formatSpec:{baseSymbol:'J',minimumFractionDigits:3}});Unit.define({baseUnitName:'powerInWatts',baseJsonName:'W',formatSpec:{baseSymbol:'W',minimumFractionDigits:3}});Unit.define({baseUnitName:'unitlessNumber',baseJsonName:'unitless',formatSpec:{minimumFractionDigits:3,maximumFractionDigits:3}});Unit.define({baseUnitName:'count',baseJsonName:'count',formatSpec:{minimumFractionDigits:0,maximumFractionDigits:0}});Unit.define({baseUnitName:'sigma',baseJsonName:'sigma',formatSpec:{baseSymbol:String.fromCharCode(963),minimumFractionDigits:1,maximumFractionDigits:1}});return{ImprovementDirection,Unit,};});'use strict';tr.exportTo('tr.b',function(){class Scalar{constructor(unit,value){if(!(unit instanceof tr.b.Unit)){throw new Error('Expected Unit');} 4446if(!(typeof(value)==='number')){throw new Error('Expected value to be number');} 4447this.unit=unit;this.value=value;} 4448asDict(){return{unit:this.unit.asJSON(),value:tr.b.numberToJson(this.value),};} 4449toString(){return this.unit.format(this.value);} 4450static fromDict(d){return new Scalar(tr.b.Unit.fromJSON(d.unit),tr.b.numberFromJson(d.value));}} 4451return{Scalar,};});'use strict';tr.exportTo('tr.c',function(){function Auditor(model){this.model_=model;} 4452Auditor.prototype={__proto__:Object.prototype,get model(){return this.model_;},runAnnotate(){},installUserFriendlyCategoryDriverIfNeeded(){},runAudit(){}};const options=new tr.b.ExtensionRegistryOptions(tr.b.BASIC_REGISTRY_MODE);options.defaultMetadata={};options.mandatoryBaseClass=Auditor;tr.b.decorateExtensionRegistry(Auditor,options);return{Auditor,};});'use strict';tr.exportTo('tr.b',function(){function clamp01(value){return Math.max(0,Math.min(1,value));} 4453function Color(opt_r,opt_g,opt_b,opt_a){this.r=Math.floor(opt_r)||0;this.g=Math.floor(opt_g)||0;this.b=Math.floor(opt_b)||0;this.a=opt_a;} 4454Color.fromString=function(str){let tmp;let values;if(str.substr(0,4)==='rgb('){tmp=str.substr(4,str.length-5);values=tmp.split(',').map(function(v){return v.replace(/^\s+/,'','g');});if(values.length!==3){throw new Error('Malformatted rgb-expression');} 4455return new Color(parseInt(values[0]),parseInt(values[1]),parseInt(values[2]));} 4456if(str.substr(0,5)==='rgba('){tmp=str.substr(5,str.length-6);values=tmp.split(',').map(function(v){return v.replace(/^\s+/,'','g');});if(values.length!==4){throw new Error('Malformatted rgb-expression');} 4457return new Color(parseInt(values[0]),parseInt(values[1]),parseInt(values[2]),parseFloat(values[3]));} 4458if(str[0]==='#'&&str.length===7){return new Color(parseInt(str.substr(1,2),16),parseInt(str.substr(3,2),16),parseInt(str.substr(5,2),16));} 4459throw new Error('Unrecognized string format.');};Color.lerp=function(a,b,percent){if(a.a!==undefined&&b.a!==undefined){return Color.lerpRGBA(a,b,percent);} 4460return Color.lerpRGB(a,b,percent);};Color.lerpRGB=function(a,b,percent){return new Color(((b.r-a.r)*percent)+a.r,((b.g-a.g)*percent)+a.g,((b.b-a.b)*percent)+a.b);};Color.lerpRGBA=function(a,b,percent){return new Color(((b.r-a.r)*percent)+a.r,((b.g-a.g)*percent)+a.g,((b.b-a.b)*percent)+a.b,((b.a-a.a)*percent)+a.a);};Color.fromDict=function(dict){return new Color(dict.r,dict.g,dict.b,dict.a);};Color.fromHSLExplicit=function(h,s,l,a){let r;let g;let b;function hue2rgb(p,q,t){if(t<0)t+=1;if(t>1)t-=1;if(t<1/6)return p+(q-p)*6*t;if(t<1/2)return q;if(t<2/3)return p+(q-p)*(2/3-t)*6;return p;} 4461if(s===0){r=g=b=l;}else{const q=l<0.5?l*(1+s):l+s-l*s;const p=2*l-q;r=hue2rgb(p,q,h+1/3);g=hue2rgb(p,q,h);b=hue2rgb(p,q,h-1/3);} 4462return new Color(Math.floor(r*255),Math.floor(g*255),Math.floor(b*255),a);};Color.fromHSL=function(hsl){return Color.fromHSLExplicit(hsl.h,hsl.s,hsl.l,hsl.a);};Color.prototype={clone(){const c=new Color();c.r=this.r;c.g=this.g;c.b=this.b;c.a=this.a;return c;},blendOver(bgColor){const oneMinusThisAlpha=1-this.a;const outA=this.a+bgColor.a*oneMinusThisAlpha;const bgBlend=(bgColor.a*oneMinusThisAlpha)/bgColor.a;return new Color(this.r*this.a+bgColor.r*bgBlend,this.g*this.a+bgColor.g*bgBlend,this.b*this.a+bgColor.b*bgBlend,outA);},brighten(opt_k){const k=opt_k||0.45;return new Color(Math.min(255,this.r+Math.floor(this.r*k)),Math.min(255,this.g+Math.floor(this.g*k)),Math.min(255,this.b+Math.floor(this.b*k)),this.a);},lighten(k,opt_maxL){const maxL=opt_maxL!==undefined?opt_maxL:1.0;const hsl=this.toHSL();hsl.l=Math.min(hsl.l+k,maxL);return Color.fromHSL(hsl);},darken(opt_k){let k;if(opt_k!==undefined){k=opt_k;}else{k=0.45;} 4463return new Color(Math.min(255,this.r-Math.floor(this.r*k)),Math.min(255,this.g-Math.floor(this.g*k)),Math.min(255,this.b-Math.floor(this.b*k)),this.a);},desaturate(opt_desaturateFactor){let desaturateFactor;if(opt_desaturateFactor!==undefined){desaturateFactor=opt_desaturateFactor;}else{desaturateFactor=1;} 4464const hsl=this.toHSL();hsl.s=clamp01(hsl.s*(1-desaturateFactor));return Color.fromHSL(hsl);},withAlpha(a){return new Color(this.r,this.g,this.b,a);},toString(){if(this.a!==undefined){return'rgba('+ 4465this.r+','+this.g+','+ 4466this.b+','+this.a+')';} 4467return'rgb('+this.r+','+this.g+','+this.b+')';},toHSL(){const r=this.r/255;const g=this.g/255;const b=this.b/255;const max=Math.max(r,g,b);const min=Math.min(r,g,b);let h;let s;const l=(max+min)/2;if(min===max){h=0;s=0;}else{const delta=max-min;if(l>0.5){s=delta/(2-max-min);}else{s=delta/(max+min);} 4468if(r===max){h=(g-b)/delta;if(g<b)h+=6;}else if(g===max){h=2+((b-r)/delta);}else{h=4+((r-g)/delta);} 4469h/=6;} 4470return{h,s,l,a:this.a};},toStringWithAlphaOverride(alpha){return'rgba('+ 4471this.r+','+this.g+','+ 4472this.b+','+alpha+')';}};return{Color,};});'use strict';tr.exportTo('tr.b',function(){const generalPurposeColors=[new tr.b.Color(122,98,135),new tr.b.Color(150,83,105),new tr.b.Color(44,56,189),new tr.b.Color(99,86,147),new tr.b.Color(104,129,107),new tr.b.Color(130,178,55),new tr.b.Color(87,109,147),new tr.b.Color(111,145,88),new tr.b.Color(81,152,131),new tr.b.Color(142,91,111),new tr.b.Color(81,163,70),new tr.b.Color(148,94,86),new tr.b.Color(144,89,118),new tr.b.Color(83,150,97),new tr.b.Color(105,94,139),new tr.b.Color(89,144,122),new tr.b.Color(105,119,128),new tr.b.Color(96,128,137),new tr.b.Color(145,88,145),new tr.b.Color(88,145,144),new tr.b.Color(90,100,143),new tr.b.Color(121,97,136),new tr.b.Color(111,160,73),new tr.b.Color(112,91,142),new tr.b.Color(86,147,86),new tr.b.Color(63,100,170),new tr.b.Color(81,152,107),new tr.b.Color(60,164,173),new tr.b.Color(143,72,161),new tr.b.Color(159,74,86)];const reservedColorsByName={thread_state_uninterruptible:new tr.b.Color(182,125,143),thread_state_iowait:new tr.b.Color(255,140,0),thread_state_running:new tr.b.Color(126,200,148),thread_state_runnable:new tr.b.Color(133,160,210),thread_state_sleeping:new tr.b.Color(240,240,240),thread_state_unknown:new tr.b.Color(199,155,125),background_memory_dump:new tr.b.Color(0,180,180),light_memory_dump:new tr.b.Color(0,0,180),detailed_memory_dump:new tr.b.Color(180,0,180),vsync_highlight_color:new tr.b.Color(0,0,255),generic_work:new tr.b.Color(125,125,125),good:new tr.b.Color(0,125,0),bad:new tr.b.Color(180,125,0),terrible:new tr.b.Color(180,0,0),black:new tr.b.Color(0,0,0),grey:new tr.b.Color(221,221,221),white:new tr.b.Color(255,255,255),yellow:new tr.b.Color(255,255,0),olive:new tr.b.Color(100,100,0),rail_response:new tr.b.Color(67,135,253),rail_animation:new tr.b.Color(244,74,63),rail_idle:new tr.b.Color(238,142,0),rail_load:new tr.b.Color(13,168,97),startup:new tr.b.Color(230,230,0),heap_dump_stack_frame:new tr.b.Color(128,128,128),heap_dump_object_type:new tr.b.Color(0,0,255),heap_dump_child_node_arrow:new tr.b.Color(204,102,0),cq_build_running:new tr.b.Color(255,255,119),cq_build_passed:new tr.b.Color(153,238,102),cq_build_failed:new tr.b.Color(238,136,136),cq_build_abandoned:new tr.b.Color(187,187,187),cq_build_attempt_runnig:new tr.b.Color(222,222,75),cq_build_attempt_passed:new tr.b.Color(103,218,35),cq_build_attempt_failed:new tr.b.Color(197,81,81)};const numGeneralPurposeColorIds=generalPurposeColors.length;const numReservedColorIds=Object.keys(reservedColorsByName).length;const numColorsPerVariant=numGeneralPurposeColorIds+numReservedColorIds;function ColorScheme(){} 4473const paletteBase=[];paletteBase.push.apply(paletteBase,generalPurposeColors);paletteBase.push.apply(paletteBase,Object.values(reservedColorsByName));ColorScheme.colors=[];ColorScheme.properties={};ColorScheme.properties={numColorsPerVariant,};function pushVariant(func){const variantColors=paletteBase.map(func);ColorScheme.colors.push.apply(ColorScheme.colors,variantColors);} 4474pushVariant(function(c){return c;});ColorScheme.properties.brightenedOffsets=[];ColorScheme.properties.brightenedOffsets.push(ColorScheme.colors.length);pushVariant(function(c){return c.lighten(0.3,0.8);});ColorScheme.properties.brightenedOffsets.push(ColorScheme.colors.length);pushVariant(function(c){return c.lighten(0.48,0.85);});ColorScheme.properties.brightenedOffsets.push(ColorScheme.colors.length);pushVariant(function(c){return c.lighten(0.65,0.9);});ColorScheme.properties.dimmedOffsets=[];ColorScheme.properties.dimmedOffsets.push(ColorScheme.colors.length);pushVariant(function(c){return c.desaturate();});ColorScheme.properties.dimmedOffsets.push(ColorScheme.colors.length);pushVariant(function(c){return c.desaturate(0.5);});ColorScheme.properties.dimmedOffsets.push(ColorScheme.colors.length);pushVariant(function(c){return c.desaturate(0.3);});ColorScheme.colorsAsStrings=ColorScheme.colors.map(function(c){return c.toString();});const reservedColorNameToIdMap=(function(){const m=new Map();let i=generalPurposeColors.length;for(const key of Object.keys(reservedColorsByName)){m.set(key,i++);} 4475return m;})();ColorScheme.getColorIdForReservedName=function(name){const id=reservedColorNameToIdMap.get(name);if(id===undefined){throw new Error('Unrecognized color '+name);} 4476return id;};ColorScheme.getColorForReservedNameAsString=function(reservedName){const id=ColorScheme.getColorIdForReservedName(reservedName);return ColorScheme.colorsAsStrings[id];};ColorScheme.getStringHash=function(name){let hash=0;for(let i=0;i<name.length;++i){hash=(hash+37*hash+11*name.charCodeAt(i))%0xFFFFFFFF;} 4477return hash;};const stringColorIdCache=new Map();ColorScheme.getColorIdForGeneralPurposeString=function(string){if(stringColorIdCache.get(string)===undefined){const hash=ColorScheme.getStringHash(string);stringColorIdCache.set(string,hash%numGeneralPurposeColorIds);} 4478return stringColorIdCache.get(string);};ColorScheme.getAnotherColorId=function(colorId,n){return(colorId+n)%numColorsPerVariant;};ColorScheme.getVariantColorId=function(colorId,offset){return colorId+offset;};return{ColorScheme,};});'use strict';tr.exportTo('tr.model',function(){const ColorScheme=tr.b.ColorScheme;function EventInfo(title,description,docLinks){this.title=title;this.description=description;this.docLinks=docLinks;this.colorId=ColorScheme.getColorIdForGeneralPurposeString(title);} 4479return{EventInfo,};});'use strict';tr.exportTo('tr.b',function(){let nextGUID=1;const UUID4_PATTERN='xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx';const GUID={allocateSimple(){return nextGUID++;},getLastSimpleGuid(){return nextGUID-1;},allocateUUID4(){return UUID4_PATTERN.replace(/[xy]/g,function(c){let r=parseInt(Math.random()*16);if(c==='y')r=(r&3)+8;return r.toString(16);});}};return{GUID,};});'use strict';tr.exportTo('tr.model',function(){function EventRegistry(){} 4480const options=new tr.b.ExtensionRegistryOptions(tr.b.BASIC_REGISTRY_MODE);tr.b.decorateExtensionRegistry(EventRegistry,options);EventRegistry.addEventListener('will-register',function(e){const metadata=e.typeInfo.metadata;if(metadata.name===undefined){throw new Error('Registered events must provide name metadata');} 4481if(metadata.pluralName===undefined){throw new Error('Registered events must provide pluralName metadata');} 4482if(metadata.subTypes===undefined){metadata.subTypes={};const options=new tr.b.ExtensionRegistryOptions(tr.b.TYPE_BASED_REGISTRY_MODE);options.mandatoryBaseClass=e.typeInfo.constructor;options.defaultConstructor=e.typeInfo.constructor;tr.b.decorateExtensionRegistry(metadata.subTypes,options);}else{if(!metadata.subTypes.register){throw new Error('metadata.subTypes must be an extension registry.');}} 4483e.typeInfo.constructor.subTypes=metadata.subTypes;});let eventsByTypeName=undefined;EventRegistry.getEventTypeInfoByTypeName=function(typeName){if(eventsByTypeName===undefined){eventsByTypeName={};EventRegistry.getAllRegisteredTypeInfos().forEach(function(typeInfo){eventsByTypeName[typeInfo.metadata.name]=typeInfo;});} 4484return eventsByTypeName[typeName];};EventRegistry.addEventListener('registry-changed',function(){eventsByTypeName=undefined;});function convertCamelCaseToTitleCase(name){let result=name.replace(/[A-Z]/g,' $&');result=result.charAt(0).toUpperCase()+result.slice(1);return result;} 4485EventRegistry.getUserFriendlySingularName=function(typeName){const typeInfo=EventRegistry.getEventTypeInfoByTypeName(typeName);const str=typeInfo.metadata.name;return convertCamelCaseToTitleCase(str);};EventRegistry.getUserFriendlyPluralName=function(typeName){const typeInfo=EventRegistry.getEventTypeInfoByTypeName(typeName);const str=typeInfo.metadata.pluralName;return convertCamelCaseToTitleCase(str);};return{EventRegistry,};});'use strict';tr.exportTo('tr.model',function(){const EventRegistry=tr.model.EventRegistry;const RequestSelectionChangeEvent=tr.b.Event.bind(undefined,'requestSelectionChange',true,false);function EventSet(opt_events){this.bounds_=new tr.b.math.Range();this.events_=new Set();this.guid_=tr.b.GUID.allocateSimple();if(opt_events){if(opt_events instanceof Array){for(const event of opt_events){this.push(event);}}else if(opt_events instanceof EventSet){this.addEventSet(opt_events);}else{this.push(opt_events);}}} 4486EventSet.prototype={__proto__:Object.prototype,get bounds(){return this.bounds_;},get duration(){if(this.bounds_.isEmpty)return 0;return this.bounds_.max-this.bounds_.min;},get length(){return this.events_.size;},get guid(){return this.guid_;},*[Symbol.iterator](){for(const event of this.events_){yield event;}},clear(){this.bounds_=new tr.b.math.Range();this.events_.clear();},push(...events){let numPushed;for(const event of events){if(event.guid===undefined){throw new Error('Event must have a GUID');} 4487if(!this.events_.has(event)){this.events_.add(event);if(event.addBoundsToRange){if(this.bounds_!==undefined){event.addBoundsToRange(this.bounds_);}}} 4488numPushed++;} 4489return numPushed;},contains(event){if(this.events_.has(event))return event;return undefined;},addEventSet(eventSet){for(const event of eventSet){this.push(event);}},intersectionIsEmpty(otherEventSet){return!this.some(event=>otherEventSet.contains(event));},equals(that){if(this.length!==that.length)return false;return this.every(event=>that.contains(event));},sortEvents(compare){const ary=this.toArray();ary.sort(compare);this.clear();for(const event of ary){this.push(event);}},getEventsOrganizedByBaseType(opt_pruneEmpty){const allTypeInfos=EventRegistry.getAllRegisteredTypeInfos();const events=this.getEventsOrganizedByCallback(function(event){let maxEventIndex=-1;let maxEventTypeInfo=undefined;allTypeInfos.forEach(function(eventTypeInfo,eventIndex){if(!(event instanceof eventTypeInfo.constructor))return;if(eventIndex>maxEventIndex){maxEventIndex=eventIndex;maxEventTypeInfo=eventTypeInfo;}});if(maxEventIndex===-1){throw new Error(`Unrecognized event type: ${event.constructor.name}`);} 4490return maxEventTypeInfo.metadata.name;});if(!opt_pruneEmpty){allTypeInfos.forEach(function(eventTypeInfo){if(events[eventTypeInfo.metadata.name]===undefined){events[eventTypeInfo.metadata.name]=new EventSet();}});} 4491return events;},getEventsOrganizedByTitle(){return this.getEventsOrganizedByCallback(function(event){if(event.title===undefined){throw new Error('An event didn\'t have a title!');} 4492return event.title;});},getEventsOrganizedByCallback(cb,opt_this){const groupedEvents=tr.b.groupIntoMap(this,cb,opt_this||this);const groupedEventsDict={};for(const[k,events]of groupedEvents){groupedEventsDict[k]=new EventSet(events);} 4493return groupedEventsDict;},enumEventsOfType(type,func){for(const event of this){if(event instanceof type){func(event);}}},get userFriendlyName(){if(this.length===0){throw new Error('Empty event set');} 4494const eventsByBaseType=this.getEventsOrganizedByBaseType(true);const eventTypeName=Object.keys(eventsByBaseType)[0];if(this.length===1){const tmp=EventRegistry.getUserFriendlySingularName(eventTypeName);return tr.b.getOnlyElement(this.events_).userFriendlyName;} 4495const numEventTypes=Object.keys(eventsByBaseType).length;if(numEventTypes!==1){return this.length+' events of various types';} 4496const tmp=EventRegistry.getUserFriendlyPluralName(eventTypeName);return this.length+' '+tmp;},filter(fn,opt_this){const res=new EventSet();for(const event of this){if(fn.call(opt_this,event)){res.push(event);}} 4497return res;},toArray(){const ary=[];for(const event of this){ary.push(event);} 4498return ary;},forEach(fn,opt_this){for(const event of this){fn.call(opt_this,event);}},map(fn,opt_this){const res=[];for(const event of this){res.push(fn.call(opt_this,event));} 4499return res;},every(fn,opt_this){for(const event of this){if(!fn.call(opt_this,event)){return false;}} 4500return true;},some(fn,opt_this){for(const event of this){if(fn.call(opt_this,event)){return true;}} 4501return false;},asDict(){const stableIds=[];for(const event of this){stableIds.push(event.stableId);} 4502return{'events':stableIds};},asSet(){return this.events_;}};EventSet.IMMUTABLE_EMPTY_SET=(function(){const s=new EventSet();s.push=function(){throw new Error('Cannot push to an immutable event set');};s.addEventSet=function(){throw new Error('Cannot add to an immutable event set');};Object.freeze(s);return s;})();return{EventSet,RequestSelectionChangeEvent,};});'use strict';tr.exportTo('tr.model',function(){const ColorScheme=tr.b.ColorScheme;const SelectionState={NONE:0,SELECTED:ColorScheme.properties.brightenedOffsets[0],HIGHLIGHTED:ColorScheme.properties.brightenedOffsets[1],DIMMED:ColorScheme.properties.dimmedOffsets[0],BRIGHTENED0:ColorScheme.properties.brightenedOffsets[0],BRIGHTENED1:ColorScheme.properties.brightenedOffsets[1],BRIGHTENED2:ColorScheme.properties.brightenedOffsets[2],DIMMED0:ColorScheme.properties.dimmedOffsets[0],DIMMED1:ColorScheme.properties.dimmedOffsets[1],DIMMED2:ColorScheme.properties.dimmedOffsets[2]};const brighteningLevels=[SelectionState.NONE,SelectionState.BRIGHTENED0,SelectionState.BRIGHTENED1,SelectionState.BRIGHTENED2];SelectionState.getFromBrighteningLevel=function(level){return brighteningLevels[level];};const dimmingLevels=[SelectionState.DIMMED0,SelectionState.DIMMED1,SelectionState.DIMMED2];SelectionState.getFromDimmingLevel=function(level){return dimmingLevels[level];};return{SelectionState,};});'use strict';tr.exportTo('tr.model',function(){const SelectionState=tr.model.SelectionState;function SelectableItem(modelItem){this.modelItem_=modelItem;} 4503SelectableItem.prototype={get modelItem(){return this.modelItem_;},get selected(){return this.selectionState===SelectionState.SELECTED;},addToSelection(selection){const modelItem=this.modelItem_;if(!modelItem)return;selection.push(modelItem);},addToTrackMap(eventToTrackMap,track){const modelItem=this.modelItem_;if(!modelItem)return;eventToTrackMap.addEvent(modelItem,track);}};return{SelectableItem,};});'use strict';tr.exportTo('tr.model',function(){const SelectableItem=tr.model.SelectableItem;const SelectionState=tr.model.SelectionState;const IMMUTABLE_EMPTY_SET=tr.model.EventSet.IMMUTABLE_EMPTY_SET;function Event(){SelectableItem.call(this,this);this.guid_=tr.b.GUID.allocateSimple();this.selectionState=SelectionState.NONE;this.info=undefined;} 4504Event.prototype={__proto__:SelectableItem.prototype,get guid(){return this.guid_;},get stableId(){return undefined;},get range(){const range=new tr.b.math.Range();this.addBoundsToRange(range);return range;},associatedAlerts:IMMUTABLE_EMPTY_SET,addAssociatedAlert(alert){if(this.associatedAlerts===IMMUTABLE_EMPTY_SET){this.associatedAlerts=new tr.model.EventSet();} 4505this.associatedAlerts.push(alert);},addBoundsToRange(range){}};return{Event,};});'use strict';tr.exportTo('tr.model',function(){function TimedEvent(start){tr.model.Event.call(this);this.start=start;this.duration=0;this.cpuStart=undefined;this.cpuDuration=undefined;this.contexts=Object.freeze([]);} 4506TimedEvent.prototype={__proto__:tr.model.Event.prototype,get end(){return this.start+this.duration;},addBoundsToRange(range){range.addValue(this.start);range.addValue(this.end);},bounds(that,opt_precisionUnit){if(opt_precisionUnit===undefined){opt_precisionUnit=tr.b.TimeDisplayModes.ms;} 4507const startsBefore=opt_precisionUnit.roundedLess(that.start,this.start);const endsAfter=opt_precisionUnit.roundedLess(this.end,that.end);return!startsBefore&&!endsAfter;}};return{TimedEvent,};});'use strict';tr.exportTo('tr.model',function(){function Alert(info,start,opt_associatedEvents,opt_args){tr.model.TimedEvent.call(this,start);this.info=info;this.args=opt_args||{};this.associatedEvents=new tr.model.EventSet(opt_associatedEvents);this.associatedEvents.forEach(function(event){event.addAssociatedAlert(this);},this);} 4508Alert.prototype={__proto__:tr.model.TimedEvent.prototype,get title(){return this.info.title;},get colorId(){return this.info.colorId;},get userFriendlyName(){return'Alert '+this.title+' at '+ 4509tr.b.Unit.byName.timeStampInMs.format(this.start);}};tr.model.EventRegistry.register(Alert,{name:'alert',pluralName:'alerts'});return{Alert,};});'use strict';tr.exportTo('tr.model',function(){const ColorScheme=tr.b.ColorScheme;const Statistics=tr.b.math.Statistics;const FRAME_PERF_CLASS={GOOD:'good',BAD:'bad',TERRIBLE:'terrible',NEUTRAL:'generic_work'};function Frame(associatedEvents,threadTimeRanges,opt_args){tr.model.Event.call(this);this.threadTimeRanges=threadTimeRanges;this.associatedEvents=new tr.model.EventSet(associatedEvents);this.args=opt_args||{};this.title='Frame';this.start=Statistics.min(threadTimeRanges,function(x){return x.start;});this.end=Statistics.max(threadTimeRanges,function(x){return x.end;});this.totalDuration=Statistics.sum(threadTimeRanges,function(x){return x.end-x.start;});this.perfClass=FRAME_PERF_CLASS.NEUTRAL;} 4510Frame.prototype={__proto__:tr.model.Event.prototype,set perfClass(perfClass){this.colorId=ColorScheme.getColorIdForReservedName(perfClass);this.perfClass_=perfClass;},get perfClass(){return this.perfClass_;},shiftTimestampsForward(amount){this.start+=amount;this.end+=amount;for(let i=0;i<this.threadTimeRanges.length;i++){this.threadTimeRanges[i].start+=amount;this.threadTimeRanges[i].end+=amount;}},addBoundsToRange(range){range.addValue(this.start);range.addValue(this.end);}};tr.model.EventRegistry.register(Frame,{name:'frame',pluralName:'frames'});return{Frame,FRAME_PERF_CLASS,};});'use strict';tr.exportTo('tr.b.math',function(){function findLowIndexInSortedArray(ary,mapFn,loVal){if(ary.length===0)return 1;let low=0;let high=ary.length-1;let i;let comparison;let hitPos=-1;while(low<=high){i=Math.floor((low+high)/2);comparison=mapFn(ary[i])-loVal;if(comparison<0){low=i+1;continue;}else if(comparison>0){high=i-1;continue;}else{hitPos=i;high=i-1;}} 4511return hitPos!==-1?hitPos:low;} 4512function findHighIndexInSortedArray(ary,mapFn,loVal,hiVal){let lo=loVal||0;let hi=hiVal!==undefined?hiVal:ary.length;while(lo<hi){const mid=(lo+hi)>>1;if(mapFn(ary[mid])>=0){lo=mid+1;}else{hi=mid;}} 4513return hi;} 4514function findIndexInSortedIntervals(ary,mapLoFn,mapWidthFn,loVal){const first=findLowIndexInSortedArray(ary,mapLoFn,loVal);if(first===0){if(loVal>=mapLoFn(ary[0])&&loVal<mapLoFn(ary[0])+mapWidthFn(ary[0],0)){return 0;} 4515return-1;} 4516if(first<ary.length){if(loVal>=mapLoFn(ary[first])&&loVal<mapLoFn(ary[first])+mapWidthFn(ary[first],first)){return first;} 4517if(loVal>=mapLoFn(ary[first-1])&&loVal<mapLoFn(ary[first-1])+ 4518mapWidthFn(ary[first-1],first-1)){return first-1;} 4519return ary.length;} 4520if(first===ary.length){if(loVal>=mapLoFn(ary[first-1])&&loVal<mapLoFn(ary[first-1])+ 4521mapWidthFn(ary[first-1],first-1)){return first-1;} 4522return ary.length;} 4523return ary.length;} 4524function findIndexInSortedClosedIntervals(ary,mapLoFn,mapHiFn,val){const i=findLowIndexInSortedArray(ary,mapLoFn,val);if(i===0){if(val>=mapLoFn(ary[0],0)&&val<=mapHiFn(ary[0],0)){return 0;} 4525return-1;} 4526if(i<ary.length){if(val>=mapLoFn(ary[i-1],i-1)&&val<=mapHiFn(ary[i-1],i-1)){return i-1;} 4527if(val>=mapLoFn(ary[i],i)&&val<=mapHiFn(ary[i],i)){return i;} 4528return ary.length;} 4529if(i===ary.length){if(val>=mapLoFn(ary[i-1],i-1)&&val<=mapHiFn(ary[i-1],i-1)){return i-1;} 4530return ary.length;} 4531return ary.length;} 4532function iterateOverIntersectingIntervals(ary,mapLoFn,mapWidthFn,loVal,hiVal,cb){if(ary.length===0)return;if(loVal>hiVal)return;let i=findLowIndexInSortedArray(ary,mapLoFn,loVal);if(i===-1){return;} 4533if(i>0){const hi=mapLoFn(ary[i-1])+mapWidthFn(ary[i-1],i-1);if(hi>=loVal){cb(ary[i-1],i-1);}} 4534if(i===ary.length){return;} 4535for(let n=ary.length;i<n;i++){const lo=mapLoFn(ary[i]);if(lo>=hiVal)break;cb(ary[i],i);}} 4536function getIntersectingIntervals(ary,mapLoFn,mapWidthFn,loVal,hiVal){const tmp=[];iterateOverIntersectingIntervals(ary,mapLoFn,mapWidthFn,loVal,hiVal,function(d){tmp.push(d);});return tmp;} 4537function findClosestElementInSortedArray(ary,mapFn,val,maxDiff){if(ary.length===0)return null;let aftIdx=findLowIndexInSortedArray(ary,mapFn,val);const befIdx=aftIdx>0?aftIdx-1:0;if(aftIdx===ary.length)aftIdx-=1;const befDiff=Math.abs(val-mapFn(ary[befIdx]));const aftDiff=Math.abs(val-mapFn(ary[aftIdx]));if(befDiff>maxDiff&&aftDiff>maxDiff)return null;const idx=befDiff<aftDiff?befIdx:aftIdx;return ary[idx];} 4538function findClosestIntervalInSortedIntervals(ary,mapLoFn,mapHiFn,val,maxDiff){if(ary.length===0)return null;let idx=findLowIndexInSortedArray(ary,mapLoFn,val);if(idx>0)idx-=1;const hiInt=ary[idx];let loInt=hiInt;if(val>mapHiFn(hiInt)&&idx+1<ary.length){loInt=ary[idx+1];} 4539const loDiff=Math.abs(val-mapLoFn(loInt));const hiDiff=Math.abs(val-mapHiFn(hiInt));if(loDiff>maxDiff&&hiDiff>maxDiff)return null;if(loDiff<hiDiff)return loInt;return hiInt;} 4540return{findLowIndexInSortedArray,findHighIndexInSortedArray,findIndexInSortedIntervals,findIndexInSortedClosedIntervals,iterateOverIntersectingIntervals,getIntersectingIntervals,findClosestElementInSortedArray,findClosestIntervalInSortedIntervals,};});'use strict';tr.exportTo('tr.model.helpers',function(){const Frame=tr.model.Frame;const Statistics=tr.b.math.Statistics;const UI_DRAW_TYPE={NONE:'none',LEGACY:'legacy',MARSHMALLOW:'marshmallow'};const UI_THREAD_DRAW_NAMES={'performTraversals':UI_DRAW_TYPE.LEGACY,'Choreographer#doFrame':UI_DRAW_TYPE.MARSHMALLOW};const RENDER_THREAD_DRAW_NAME='DrawFrame';const RENDER_THREAD_INDEP_DRAW_NAME='doFrame';const RENDER_THREAD_QUEUE_NAME='queueBuffer';const RENDER_THREAD_SWAP_NAME='eglSwapBuffers';const THREAD_SYNC_NAME='syncFrameState';function getSlicesForThreadTimeRanges(threadTimeRanges){const ret=[];threadTimeRanges.forEach(function(threadTimeRange){const slices=[];threadTimeRange.thread.sliceGroup.iterSlicesInTimeRange(function(slice){slices.push(slice);},threadTimeRange.start,threadTimeRange.end);ret.push.apply(ret,slices);});return ret;} 4541function makeFrame(threadTimeRanges,surfaceFlinger){const args={};if(surfaceFlinger&&surfaceFlinger.hasVsyncs){const start=Statistics.min(threadTimeRanges,function(threadTimeRanges){return threadTimeRanges.start;});args.deadline=surfaceFlinger.getFrameDeadline(start);args.frameKickoff=surfaceFlinger.getFrameKickoff(start);} 4542const events=getSlicesForThreadTimeRanges(threadTimeRanges);return new Frame(events,threadTimeRanges,args);} 4543function findOverlappingDrawFrame(renderThread,uiDrawSlice){if(!renderThread)return undefined;let overlappingDrawFrame;const slices=tr.b.math.iterateOverIntersectingIntervals(renderThread.sliceGroup.slices,function(range){return range.start;},function(range){return range.end;},uiDrawSlice.start,uiDrawSlice.end,function(rtDrawSlice){if(rtDrawSlice.title===RENDER_THREAD_DRAW_NAME){const rtSyncSlice=rtDrawSlice.findDescendentSlice(THREAD_SYNC_NAME);if(rtSyncSlice&&rtSyncSlice.start>=uiDrawSlice.start&&rtSyncSlice.end<=uiDrawSlice.end){overlappingDrawFrame=rtDrawSlice;}}});return overlappingDrawFrame;} 4544function getPreTraversalWorkRanges(uiThread){if(!uiThread)return[];const preFrameEvents=[];uiThread.sliceGroup.slices.forEach(function(slice){if(slice.title==='obtainView'||slice.title==='setupListItem'||slice.title==='deliverInputEvent'||slice.title==='RV Scroll'){preFrameEvents.push(slice);}});uiThread.asyncSliceGroup.slices.forEach(function(slice){if(slice.title==='deliverInputEvent'){preFrameEvents.push(slice);}});return tr.b.math.mergeRanges(tr.b.math.convertEventsToRanges(preFrameEvents),3,function(events){return{start:events[0].min,end:events[events.length-1].max};});} 4545function getFrameStartTime(traversalStart,preTraversalWorkRanges){const preTraversalWorkRange=tr.b.math.findClosestIntervalInSortedIntervals(preTraversalWorkRanges,function(range){return range.start;},function(range){return range.end;},traversalStart,3);if(preTraversalWorkRange){return preTraversalWorkRange.start;} 4546return traversalStart;} 4547function getRtFrameEndTime(rtDrawSlice){const rtQueueSlice=rtDrawSlice.findDescendentSlice(RENDER_THREAD_QUEUE_NAME);if(rtQueueSlice){return rtQueueSlice.end;} 4548const rtSwapSlice=rtDrawSlice.findDescendentSlice(RENDER_THREAD_SWAP_NAME);if(rtSwapSlice){return rtSwapSlice.end;} 4549return rtDrawSlice.end;} 4550function getUiThreadDrivenFrames(app){if(!app.uiThread)return[];let preTraversalWorkRanges=[];if(app.uiDrawType===UI_DRAW_TYPE.LEGACY){preTraversalWorkRanges=getPreTraversalWorkRanges(app.uiThread);} 4551const frames=[];app.uiThread.sliceGroup.slices.forEach(function(slice){if(!(slice.title in UI_THREAD_DRAW_NAMES)){return;} 4552const threadTimeRanges=[];const uiThreadTimeRange={thread:app.uiThread,start:getFrameStartTime(slice.start,preTraversalWorkRanges),end:slice.end};threadTimeRanges.push(uiThreadTimeRange);const rtDrawSlice=findOverlappingDrawFrame(app.renderThread,slice);if(rtDrawSlice){const rtSyncSlice=rtDrawSlice.findDescendentSlice(THREAD_SYNC_NAME);if(rtSyncSlice){uiThreadTimeRange.end=Math.min(uiThreadTimeRange.end,rtSyncSlice.start);} 4553threadTimeRanges.push({thread:app.renderThread,start:rtDrawSlice.start,end:getRtFrameEndTime(rtDrawSlice)});} 4554frames.push(makeFrame(threadTimeRanges,app.surfaceFlinger));});return frames;} 4555function getRenderThreadDrivenFrames(app){if(!app.renderThread)return[];const frames=[];app.renderThread.sliceGroup.getSlicesOfName(RENDER_THREAD_INDEP_DRAW_NAME).forEach(function(slice){const threadTimeRanges=[{thread:app.renderThread,start:slice.start,end:slice.end}];frames.push(makeFrame(threadTimeRanges,app.surfaceFlinger));});return frames;} 4556function getUiDrawType(uiThread){if(!uiThread){return UI_DRAW_TYPE.NONE;} 4557const slices=uiThread.sliceGroup.slices;for(let i=0;i<slices.length;i++){if(slices[i].title in UI_THREAD_DRAW_NAMES){return UI_THREAD_DRAW_NAMES[slices[i].title];}} 4558return UI_DRAW_TYPE.NONE;} 4559function getInputSamples(process){let samples=undefined;for(const counterName in process.counters){if(/^android\.aq\:pending/.test(counterName)&&process.counters[counterName].numSeries===1){samples=process.counters[counterName].series[0].samples;break;}} 4560if(!samples)return[];const inputSamples=[];let lastValue=0;samples.forEach(function(sample){if(sample.value>lastValue){inputSamples.push(sample);} 4561lastValue=sample.value;});return inputSamples;} 4562function getAnimationAsyncSlices(uiThread){if(!uiThread)return[];const slices=[];for(const slice of uiThread.asyncSliceGroup.getDescendantEvents()){if(/^animator\:/.test(slice.title)){slices.push(slice);}} 4563return slices;} 4564function AndroidApp(process,uiThread,renderThread,surfaceFlinger,uiDrawType){this.process=process;this.uiThread=uiThread;this.renderThread=renderThread;this.surfaceFlinger=surfaceFlinger;this.uiDrawType=uiDrawType;this.frames_=undefined;this.inputs_=undefined;} 4565AndroidApp.createForProcessIfPossible=function(process,surfaceFlinger){let uiThread=process.getThread(process.pid);const uiDrawType=getUiDrawType(uiThread);if(uiDrawType===UI_DRAW_TYPE.NONE){uiThread=undefined;} 4566const renderThreads=process.findAllThreadsNamed('RenderThread');const renderThread=(renderThreads.length===1?renderThreads[0]:undefined);if(uiThread||renderThread){return new AndroidApp(process,uiThread,renderThread,surfaceFlinger,uiDrawType);}};AndroidApp.prototype={getFrames(){if(!this.frames_){const uiFrames=getUiThreadDrivenFrames(this);const rtFrames=getRenderThreadDrivenFrames(this);this.frames_=uiFrames.concat(rtFrames);this.frames_.sort(function(a,b){a.end-b.end;});} 4567return this.frames_;},getInputSamples(){if(!this.inputs_){this.inputs_=getInputSamples(this.process);} 4568return this.inputs_;},getAnimationAsyncSlices(){if(!this.animations_){this.animations_=getAnimationAsyncSlices(this.uiThread);} 4569return this.animations_;}};return{AndroidApp,};});'use strict';tr.exportTo('tr.model.helpers',function(){const findLowIndexInSortedArray=tr.b.math.findLowIndexInSortedArray;const VSYNC_SF_NAME='android.VSYNC-sf';const VSYNC_APP_NAME='android.VSYNC-app';const VSYNC_FALLBACK_NAME='android.VSYNC';const TIMESTAMP_FUDGE_MS=0.01;function getVsyncTimestamps(process,counterName){let vsync=process.counters[counterName];if(!vsync){vsync=process.counters[VSYNC_FALLBACK_NAME];} 4570if(vsync&&vsync.numSeries===1&&vsync.numSamples>1){return vsync.series[0].timestamps;} 4571return undefined;} 4572function AndroidSurfaceFlinger(process,thread){this.process=process;this.thread=thread;this.appVsync_=undefined;this.sfVsync_=undefined;this.appVsyncTimestamps_=getVsyncTimestamps(process,VSYNC_APP_NAME);this.sfVsyncTimestamps_=getVsyncTimestamps(process,VSYNC_SF_NAME);this.deadlineDelayMs_=this.appVsyncTimestamps_!==this.sfVsyncTimestamps_?5:TIMESTAMP_FUDGE_MS;} 4573AndroidSurfaceFlinger.createForProcessIfPossible=function(process){const mainThread=process.getThread(process.pid);if(mainThread&&mainThread.name&&/surfaceflinger/.test(mainThread.name)){return new AndroidSurfaceFlinger(process,mainThread);} 4574const primaryThreads=process.findAllThreadsNamed('SurfaceFlinger');if(primaryThreads.length===1){return new AndroidSurfaceFlinger(process,primaryThreads[0]);} 4575return undefined;};AndroidSurfaceFlinger.prototype={get hasVsyncs(){return!!this.appVsyncTimestamps_&&!!this.sfVsyncTimestamps_;},getFrameKickoff(timestamp){if(!this.hasVsyncs){throw new Error('cannot query vsync info without vsyncs');} 4576const firstGreaterIndex=findLowIndexInSortedArray(this.appVsyncTimestamps_,function(x){return x;},timestamp+TIMESTAMP_FUDGE_MS);if(firstGreaterIndex<1)return undefined;return this.appVsyncTimestamps_[firstGreaterIndex-1];},getFrameDeadline(timestamp){if(!this.hasVsyncs){throw new Error('cannot query vsync info without vsyncs');} 4577const firstGreaterIndex=findLowIndexInSortedArray(this.sfVsyncTimestamps_,function(x){return x;},timestamp+this.deadlineDelayMs_);if(firstGreaterIndex>=this.sfVsyncTimestamps_.length){return undefined;} 4578return this.sfVsyncTimestamps_[firstGreaterIndex];}};return{AndroidSurfaceFlinger,};});'use strict';tr.exportTo('tr.model.helpers',function(){const AndroidApp=tr.model.helpers.AndroidApp;const AndroidSurfaceFlinger=tr.model.helpers.AndroidSurfaceFlinger;const IMPORTANT_SURFACE_FLINGER_SLICES={'doComposition':true,'updateTexImage':true,'postFramebuffer':true};const IMPORTANT_UI_THREAD_SLICES={'Choreographer#doFrame':true,'performTraversals':true,'deliverInputEvent':true};const IMPORTANT_RENDER_THREAD_SLICES={'doFrame':true};function iterateImportantThreadSlices(thread,important,callback){if(!thread)return;thread.sliceGroup.slices.forEach(function(slice){if(slice.title in important){callback(slice);}});} 4579function AndroidModelHelper(model){this.model=model;this.apps=[];this.surfaceFlinger=undefined;const processes=model.getAllProcesses();for(let i=0;i<processes.length&&!this.surfaceFlinger;i++){this.surfaceFlinger=AndroidSurfaceFlinger.createForProcessIfPossible(processes[i]);} 4580model.getAllProcesses().forEach(function(process){const app=AndroidApp.createForProcessIfPossible(process,this.surfaceFlinger);if(app){this.apps.push(app);}},this);} 4581AndroidModelHelper.guid=tr.b.GUID.allocateSimple();AndroidModelHelper.supportsModel=function(model){return true;};AndroidModelHelper.prototype={iterateImportantSlices(callback){if(this.surfaceFlinger){iterateImportantThreadSlices(this.surfaceFlinger.thread,IMPORTANT_SURFACE_FLINGER_SLICES,callback);} 4582this.apps.forEach(function(app){iterateImportantThreadSlices(app.uiThread,IMPORTANT_UI_THREAD_SLICES,callback);iterateImportantThreadSlices(app.renderThread,IMPORTANT_RENDER_THREAD_SLICES,callback);});}};return{AndroidModelHelper,};});'use strict';tr.exportTo('tr.model',function(){function Slice(category,title,colorId,start,args,opt_duration,opt_cpuStart,opt_cpuDuration,opt_argsStripped,opt_bindId){if(new.target){throw new Error('Can\'t instantiate pure virtual class Slice');} 4583tr.model.TimedEvent.call(this,start);this.category=category||'';this.title=title;this.colorId=colorId;this.args=args;this.startStackFrame=undefined;this.endStackFrame=undefined;this.didNotFinish=false;this.inFlowEvents=[];this.outFlowEvents=[];this.subSlices=[];this.selfTime=undefined;this.cpuSelfTime=undefined;this.important=false;this.parentContainer=undefined;this.argsStripped=false;this.bind_id_=opt_bindId;this.parentSlice=undefined;this.isTopLevel=false;if(opt_duration!==undefined){this.duration=opt_duration;} 4584if(opt_cpuStart!==undefined){this.cpuStart=opt_cpuStart;} 4585if(opt_cpuDuration!==undefined){this.cpuDuration=opt_cpuDuration;} 4586if(opt_argsStripped!==undefined){this.argsStripped=true;}} 4587Slice.prototype={__proto__:tr.model.TimedEvent.prototype,get analysisTypeName(){return this.title;},get userFriendlyName(){return'Slice '+this.title+' at '+ 4588tr.b.Unit.byName.timeStampInMs.format(this.start);},get stableId(){const parentSliceGroup=this.parentContainer.sliceGroup;return parentSliceGroup.stableId+'.'+ 4589parentSliceGroup.slices.indexOf(this);},get bindId(){return this.bind_id_;},findDescendentSlice(targetTitle){if(!this.subSlices){return undefined;} 4590for(let i=0;i<this.subSlices.length;i++){if(this.subSlices[i].title===targetTitle){return this.subSlices[i];} 4591const slice=this.subSlices[i].findDescendentSlice(targetTitle);if(slice)return slice;} 4592return undefined;},get mostTopLevelSlice(){if(!this.parentSlice)return this;return this.parentSlice.mostTopLevelSlice;},getProcess(){const thread=this.parentContainer;if(thread&&thread.getProcess){return thread.getProcess();} 4593return undefined;},get model(){const process=this.getProcess();if(process!==undefined){return this.getProcess().model;} 4594return undefined;},*findTopmostSlicesRelativeToThisSlice(eventPredicate){if(eventPredicate(this)){yield this;return;} 4595for(const s of this.subSlices){yield*s.findTopmostSlicesRelativeToThisSlice(eventPredicate);}},iterateAllSubsequentSlices(callback,opt_this){const parentStack=[];let started=false;const topmostSlice=this.mostTopLevelSlice;parentStack.push(topmostSlice);while(parentStack.length!==0){const curSlice=parentStack.pop();if(started){callback.call(opt_this,curSlice);}else{started=(curSlice.guid===this.guid);} 4596for(let i=curSlice.subSlices.length-1;i>=0;i--){parentStack.push(curSlice.subSlices[i]);}}},get subsequentSlices(){const res=[];this.iterateAllSubsequentSlices(function(subseqSlice){res.push(subseqSlice);});return res;},*enumerateAllAncestors(){let curSlice=this.parentSlice;while(curSlice){yield curSlice;curSlice=curSlice.parentSlice;}},get ancestorSlices(){return Array.from(this.enumerateAllAncestors());},iterateEntireHierarchy(callback,opt_this){const mostTopLevelSlice=this.mostTopLevelSlice;callback.call(opt_this,mostTopLevelSlice);mostTopLevelSlice.iterateAllSubsequentSlices(callback,opt_this);},get entireHierarchy(){const res=[];this.iterateEntireHierarchy(function(slice){res.push(slice);});return res;},get ancestorAndSubsequentSlices(){const res=[];res.push(this);for(const aSlice of this.enumerateAllAncestors()){res.push(aSlice);} 4597this.iterateAllSubsequentSlices(function(sSlice){res.push(sSlice);});return res;},*enumerateAllDescendents(){for(const slice of this.subSlices){yield slice;} 4598for(const slice of this.subSlices){yield*slice.enumerateAllDescendents();}},get descendentSlices(){const res=[];for(const slice of this.enumerateAllDescendents()){res.push(slice);} 4599return res;}};return{Slice,};});'use strict';tr.exportTo('tr.model',function(){const Slice=tr.model.Slice;const SCHEDULING_STATE={DEBUG:'Debug',EXIT_DEAD:'Exit Dead',RUNNABLE:'Runnable',RUNNING:'Running',SLEEPING:'Sleeping',STOPPED:'Stopped',TASK_DEAD:'Task Dead',UNINTR_SLEEP:'Uninterruptible Sleep',UNINTR_SLEEP_WAKE_KILL:'Uninterruptible Sleep | WakeKill',UNINTR_SLEEP_WAKING:'Uninterruptible Sleep | Waking',UNINTR_SLEEP_IO:'Uninterruptible Sleep - Block I/O',UNINTR_SLEEP_WAKE_KILL_IO:'Uninterruptible Sleep | WakeKill - Block I/O',UNINTR_SLEEP_WAKING_IO:'Uninterruptible Sleep | Waking - Block I/O',UNKNOWN:'UNKNOWN',WAKE_KILL:'Wakekill',WAKING:'Waking',ZOMBIE:'Zombie'};function ThreadTimeSlice(thread,schedulingState,cat,start,args,opt_duration){Slice.call(this,cat,schedulingState,this.getColorForState_(schedulingState),start,args,opt_duration);this.thread=thread;this.schedulingState=schedulingState;this.cpuOnWhichThreadWasRunning=undefined;} 4600ThreadTimeSlice.prototype={__proto__:Slice.prototype,getColorForState_(state){const getColorIdForReservedName=tr.b.ColorScheme.getColorIdForReservedName;switch(state){case SCHEDULING_STATE.RUNNABLE:return getColorIdForReservedName('thread_state_runnable');case SCHEDULING_STATE.RUNNING:return getColorIdForReservedName('thread_state_running');case SCHEDULING_STATE.SLEEPING:return getColorIdForReservedName('thread_state_sleeping');case SCHEDULING_STATE.DEBUG:case SCHEDULING_STATE.EXIT_DEAD:case SCHEDULING_STATE.STOPPED:case SCHEDULING_STATE.TASK_DEAD:case SCHEDULING_STATE.UNINTR_SLEEP:case SCHEDULING_STATE.UNINTR_SLEEP_WAKE_KILL:case SCHEDULING_STATE.UNINTR_SLEEP_WAKING:case SCHEDULING_STATE.UNKNOWN:case SCHEDULING_STATE.WAKE_KILL:case SCHEDULING_STATE.WAKING:case SCHEDULING_STATE.ZOMBIE:return getColorIdForReservedName('thread_state_uninterruptible');case SCHEDULING_STATE.UNINTR_SLEEP_IO:case SCHEDULING_STATE.UNINTR_SLEEP_WAKE_KILL_IO:case SCHEDULING_STATE.UNINTR_SLEEP_WAKING_IO:return getColorIdForReservedName('thread_state_iowait');default:return getColorIdForReservedName('thread_state_unknown');}},get analysisTypeName(){return'tr.ui.analysis.ThreadTimeSlice';},getAssociatedCpuSlice(){if(!this.cpuOnWhichThreadWasRunning)return undefined;const cpuSlices=this.cpuOnWhichThreadWasRunning.slices;for(let i=0;i<cpuSlices.length;i++){const cpuSlice=cpuSlices[i];if(cpuSlice.start!==this.start)continue;if(cpuSlice.duration!==this.duration)continue;return cpuSlice;} 4601return undefined;},getCpuSliceThatTookCpu(){if(this.cpuOnWhichThreadWasRunning)return undefined;let curIndex=this.thread.indexOfTimeSlice(this);let cpuSliceWhenLastRunning;while(curIndex>=0){const curSlice=this.thread.timeSlices[curIndex];if(!curSlice.cpuOnWhichThreadWasRunning){curIndex--;continue;} 4602cpuSliceWhenLastRunning=curSlice.getAssociatedCpuSlice();break;} 4603if(!cpuSliceWhenLastRunning)return undefined;const cpu=cpuSliceWhenLastRunning.cpu;const indexOfSliceOnCpuWhenLastRunning=cpu.indexOf(cpuSliceWhenLastRunning);const nextRunningSlice=cpu.slices[indexOfSliceOnCpuWhenLastRunning+1];if(!nextRunningSlice)return undefined;if(Math.abs(nextRunningSlice.start-cpuSliceWhenLastRunning.end)<0.00001){return nextRunningSlice;} 4604return undefined;}};tr.model.EventRegistry.register(ThreadTimeSlice,{name:'threadTimeSlice',pluralName:'threadTimeSlices'});return{ThreadTimeSlice,SCHEDULING_STATE,};});'use strict';tr.exportTo('tr.model',function(){const CompoundEventSelectionState={NOT_SELECTED:0,EVENT_SELECTED:0x1,SOME_ASSOCIATED_EVENTS_SELECTED:0x2,ALL_ASSOCIATED_EVENTS_SELECTED:0x4,EVENT_AND_SOME_ASSOCIATED_SELECTED:0x1|0x2,EVENT_AND_ALL_ASSOCIATED_SELECTED:0x1|0x4};return{CompoundEventSelectionState,};});'use strict';tr.exportTo('tr.model.um',function(){const CompoundEventSelectionState=tr.model.CompoundEventSelectionState;function UserExpectation(parentModel,initiatorType,start,duration){tr.model.TimedEvent.call(this,start);this.associatedEvents=new tr.model.EventSet();this.duration=duration;this.initiatorType_=initiatorType;this.parentModel=parentModel;this.typeInfo_=undefined;this.sourceEvents=new tr.model.EventSet();} 4605const INITIATOR_TYPE={KEYBOARD:'Keyboard',MOUSE:'Mouse',MOUSE_WHEEL:'MouseWheel',TAP:'Tap',PINCH:'Pinch',FLING:'Fling',TOUCH:'Touch',SCROLL:'Scroll',CSS:'CSS',WEBGL:'WebGL',VIDEO:'Video'};UserExpectation.prototype={__proto__:tr.model.TimedEvent.prototype,computeCompoundEvenSelectionState(selection){let cess=CompoundEventSelectionState.NOT_SELECTED;if(selection.contains(this)){cess|=CompoundEventSelectionState.EVENT_SELECTED;} 4606if(this.associatedEvents.intersectionIsEmpty(selection)){return cess;} 4607const allContained=this.associatedEvents.every(function(event){return selection.contains(event);});if(allContained){cess|=CompoundEventSelectionState.ALL_ASSOCIATED_EVENTS_SELECTED;}else{cess|=CompoundEventSelectionState.SOME_ASSOCIATED_EVENTS_SELECTED;} 4608return cess;},get associatedSamples(){const samples=new tr.model.EventSet();this.associatedEvents.forEach(function(event){if(event instanceof tr.model.ThreadSlice){samples.addEventSet(event.overlappingSamples);}});return samples;},get userFriendlyName(){return this.title+' User Expectation at '+ 4609tr.b.Unit.byName.timeStampInMs.format(this.start);},get stableId(){return('UserExpectation.'+this.guid);},get typeInfo(){if(!this.typeInfo_){this.typeInfo_=UserExpectation.subTypes.findTypeInfo(this.constructor);} 4610if(!this.typeInfo_){throw new Error('Unregistered UserExpectation');} 4611return this.typeInfo_;},get colorId(){return this.typeInfo.metadata.colorId;},get stageTitle(){return this.typeInfo.metadata.stageTitle;},get initiatorType(){return this.initiatorType_;},get title(){if(!this.initiatorType){return this.stageTitle;} 4612return this.initiatorType+' '+this.stageTitle;},get totalCpuMs(){let cpuMs=0;this.associatedEvents.forEach(function(event){if(event.cpuSelfTime){cpuMs+=event.cpuSelfTime;}});return cpuMs;}};const subTypes={};const options=new tr.b.ExtensionRegistryOptions(tr.b.BASIC_REGISTRY_MODE);tr.b.decorateExtensionRegistry(subTypes,options);subTypes.addEventListener('will-register',function(e){const metadata=e.typeInfo.metadata;if(metadata.stageTitle===undefined){throw new Error('Registered UserExpectations must provide '+'stageTitle');} 4613if(metadata.colorId===undefined){throw new Error('Registered UserExpectations must provide '+'colorId');}});tr.model.EventRegistry.register(UserExpectation,{name:'userExpectation',pluralName:'userExpectations',subTypes});return{UserExpectation,INITIATOR_TYPE,};});'use strict';tr.exportTo('tr.model.um',function(){function ResponseExpectation(parentModel,initiatorTitle,start,duration,opt_isAnimationBegin){tr.model.um.UserExpectation.call(this,parentModel,initiatorTitle,start,duration);this.isAnimationBegin=opt_isAnimationBegin||false;} 4614ResponseExpectation.prototype={__proto__:tr.model.um.UserExpectation.prototype,constructor:ResponseExpectation};tr.model.um.UserExpectation.subTypes.register(ResponseExpectation,{stageTitle:'Response',colorId:tr.b.ColorScheme.getColorIdForReservedName('rail_response')});return{ResponseExpectation,};});'use strict';tr.exportTo('tr.e.audits',function(){const SCHEDULING_STATE=tr.model.SCHEDULING_STATE;const Auditor=tr.c.Auditor;const AndroidModelHelper=tr.model.helpers.AndroidModelHelper;const ColorScheme=tr.b.ColorScheme;const Statistics=tr.b.math.Statistics;const FRAME_PERF_CLASS=tr.model.FRAME_PERF_CLASS;const Alert=tr.model.Alert;const EventInfo=tr.model.EventInfo;const Scalar=tr.b.Scalar;const timeDurationInMs=tr.b.Unit.byName.timeDurationInMs;const EXPECTED_FRAME_TIME_MS=16.67;function getStart(e){return e.start;} 4615function getDuration(e){return e.duration;} 4616function getCpuDuration(e){return(e.cpuDuration!==undefined)?e.cpuDuration:e.duration;} 4617function frameIsActivityStart(frame){return frame.associatedEvents.any(x=>x.title==='activityStart');} 4618function frameMissedDeadline(frame){return frame.args.deadline&&frame.args.deadline<frame.end;} 4619function DocLinkBuilder(){this.docLinks=[];} 4620DocLinkBuilder.prototype={addAppVideo(name,videoId){this.docLinks.push({label:'Video Link',textContent:('Android Performance Patterns: '+name),href:'https://www.youtube.com/watch?list=PLWz5rJ2EKKc9CBxr3BVjPTPoDPLdPIFCE&v='+videoId});return this;},addDacRef(name,link){this.docLinks.push({label:'Doc Link',textContent:(name+' documentation'),href:'https://developer.android.com/reference/'+link});return this;},build(){return this.docLinks;}};function AndroidAuditor(model){Auditor.call(this,model);const helper=model.getOrCreateHelper(AndroidModelHelper);if(helper.apps.length||helper.surfaceFlinger){this.helper=helper;}} 4621AndroidAuditor.viewAlphaAlertInfo_=new EventInfo('Inefficient View alpha usage','Setting an alpha between 0 and 1 has significant performance costs, if one of the fast alpha paths is not used.',new DocLinkBuilder().addAppVideo('Hidden Cost of Transparency','wIy8g8yNhNk').addDacRef('View#setAlpha()','android/view/View.html#setAlpha(float)').build());AndroidAuditor.saveLayerAlertInfo_=new EventInfo('Expensive rendering with Canvas#saveLayer()','Canvas#saveLayer() incurs extremely high rendering cost. They disrupt the rendering pipeline when drawn, forcing a flush of drawing content. Instead use View hardware layers, or static Bitmaps. This enables the offscreen buffers to be reused in between frames, and avoids the disruptive render target switch.',new DocLinkBuilder().addAppVideo('Hidden Cost of Transparency','wIy8g8yNhNk').addDacRef('Canvas#saveLayerAlpha()','android/graphics/Canvas.html#saveLayerAlpha(android.graphics.RectF, int, int)').build());AndroidAuditor.getSaveLayerAlerts_=function(frame){const badAlphaRegEx=/^(.+) alpha caused (unclipped )?saveLayer (\d+)x(\d+)$/;const saveLayerRegEx=/^(unclipped )?saveLayer (\d+)x(\d+)$/;const ret=[];const events=[];frame.associatedEvents.forEach(function(slice){const match=badAlphaRegEx.exec(slice.title);if(match){const args={'view name':match[1],'width':parseInt(match[3]),'height':parseInt(match[4])};ret.push(new Alert(AndroidAuditor.viewAlphaAlertInfo_,slice.start,[slice],args));}else if(saveLayerRegEx.test(slice.title)){events.push(slice);}},this);if(events.length>ret.length){const unclippedSeen=Statistics.sum(events,function(slice){return saveLayerRegEx.exec(slice.title)[1]?1:0;});const clippedSeen=events.length-unclippedSeen;const earliestStart=Statistics.min(events,function(slice){return slice.start;});const args={'Unclipped saveLayer count (especially bad!)':unclippedSeen,'Clipped saveLayer count':clippedSeen};events.push(frame);ret.push(new Alert(AndroidAuditor.saveLayerAlertInfo_,earliestStart,events,args));} 4622return ret;};AndroidAuditor.pathAlertInfo_=new EventInfo('Path texture churn','Paths are drawn with a mask texture, so when a path is modified / newly drawn, that texture must be generated and uploaded to the GPU. Ensure that you cache paths between frames and do not unnecessarily call Path#reset(). You can cut down on this cost by sharing Path object instances between drawables/views.');AndroidAuditor.getPathAlert_=function(frame){const uploadRegEx=/^Generate Path Texture$/;const events=frame.associatedEvents.filter(function(event){return event.title==='Generate Path Texture';});const start=Statistics.min(events,getStart);const duration=Statistics.sum(events,getDuration);if(duration<3)return undefined;events.push(frame);return new Alert(AndroidAuditor.pathAlertInfo_,start,events,{'Time spent':new Scalar(timeDurationInMs,duration)});};AndroidAuditor.uploadAlertInfo_=new EventInfo('Expensive Bitmap uploads','Bitmaps that have been modified / newly drawn must be uploaded to the GPU. Since this is expensive if the total number of pixels uploaded is large, reduce the amount of Bitmap churn in this animation/context, per frame.');AndroidAuditor.getUploadAlert_=function(frame){const uploadRegEx=/^Upload (\d+)x(\d+) Texture$/;const events=[];let start=Number.POSITIVE_INFINITY;let duration=0;let pixelsUploaded=0;frame.associatedEvents.forEach(function(event){const match=uploadRegEx.exec(event.title);if(match){events.push(event);start=Math.min(start,event.start);duration+=event.duration;pixelsUploaded+=parseInt(match[1])*parseInt(match[2]);}});if(events.length===0||duration<3)return undefined;const mPixels=(pixelsUploaded/1000000).toFixed(2)+' million';const args={'Pixels uploaded':mPixels,'Time spent':new Scalar(timeDurationInMs,duration)};events.push(frame);return new Alert(AndroidAuditor.uploadAlertInfo_,start,events,args);};AndroidAuditor.ListViewInflateAlertInfo_=new EventInfo('Inflation during ListView recycling','ListView item recycling involved inflating views. Ensure your Adapter#getView() recycles the incoming View, instead of constructing a new one.');AndroidAuditor.ListViewBindAlertInfo_=new EventInfo('Inefficient ListView recycling/rebinding','ListView recycling taking too much time per frame. Ensure your Adapter#getView() binds data efficiently.');AndroidAuditor.getListViewAlert_=function(frame){const events=frame.associatedEvents.filter(function(event){return event.title==='obtainView'||event.title==='setupListItem';});const duration=Statistics.sum(events,getCpuDuration);if(events.length===0||duration<3)return undefined;let hasInflation=false;for(const event of events){if(event.findDescendentSlice('inflate')){hasInflation=true;}} 4623const start=Statistics.min(events,getStart);const args={'Time spent':new Scalar(timeDurationInMs,duration)};args['ListView items '+(hasInflation?'inflated':'rebound')]=events.length/2;const eventInfo=hasInflation?AndroidAuditor.ListViewInflateAlertInfo_:AndroidAuditor.ListViewBindAlertInfo_;events.push(frame);return new Alert(eventInfo,start,events,args);};AndroidAuditor.measureLayoutAlertInfo_=new EventInfo('Expensive measure/layout pass','Measure/Layout took a significant time, contributing to jank. Avoid triggering layout during animations.',new DocLinkBuilder().addAppVideo('Invalidations, Layouts, and Performance','we6poP0kw6E').build());AndroidAuditor.getMeasureLayoutAlert_=function(frame){const events=frame.associatedEvents.filter(function(event){return event.title==='measure'||event.title==='layout';});const duration=Statistics.sum(events,getCpuDuration);if(events.length===0||duration<3)return undefined;const start=Statistics.min(events,getStart);events.push(frame);return new Alert(AndroidAuditor.measureLayoutAlertInfo_,start,events,{'Time spent':new Scalar(timeDurationInMs,duration)});};AndroidAuditor.viewDrawAlertInfo_=new EventInfo('Long View#draw()','Recording the drawing commands of invalidated Views took a long time. Avoid significant work in View or Drawable custom drawing, especially allocations or drawing to Bitmaps.',new DocLinkBuilder().addAppVideo('Invalidations, Layouts, and Performance','we6poP0kw6E').addAppVideo('Avoiding Allocations in onDraw()','HAK5acHQ53E').build());AndroidAuditor.getViewDrawAlert_=function(frame){let slice=undefined;for(const event of frame.associatedEvents){if(event.title==='getDisplayList'||event.title==='Record View#draw()'){slice=event;break;}} 4624if(!slice||getCpuDuration(slice)<3)return undefined;return new Alert(AndroidAuditor.viewDrawAlertInfo_,slice.start,[slice,frame],{'Time spent':new Scalar(timeDurationInMs,getCpuDuration(slice))});};AndroidAuditor.blockingGcAlertInfo_=new EventInfo('Blocking Garbage Collection','Blocking GCs are caused by object churn, and made worse by having large numbers of objects in the heap. Avoid allocating objects during animations/scrolling, and recycle Bitmaps to avoid triggering garbage collection.',new DocLinkBuilder().addAppVideo('Garbage Collection in Android','pzfzz50W5Uo').addAppVideo('Avoiding Allocations in onDraw()','HAK5acHQ53E').build());AndroidAuditor.getBlockingGcAlert_=function(frame){const events=frame.associatedEvents.filter(function(event){return event.title==='DVM Suspend'||event.title==='GC: Wait For Concurrent';});const blockedDuration=Statistics.sum(events,getDuration);if(blockedDuration<3)return undefined;const start=Statistics.min(events,getStart);events.push(frame);return new Alert(AndroidAuditor.blockingGcAlertInfo_,start,events,{'Blocked duration':new Scalar(timeDurationInMs,blockedDuration)});};AndroidAuditor.lockContentionAlertInfo_=new EventInfo('Lock contention','UI thread lock contention is caused when another thread holds a lock that the UI thread is trying to use. UI thread progress is blocked until the lock is released. Inspect locking done within the UI thread, and ensure critical sections are short.');AndroidAuditor.getLockContentionAlert_=function(frame){const events=frame.associatedEvents.filter(function(event){return/^Lock Contention on /.test(event.title);});const blockedDuration=Statistics.sum(events,getDuration);if(blockedDuration<1)return undefined;const start=Statistics.min(events,getStart);events.push(frame);return new Alert(AndroidAuditor.lockContentionAlertInfo_,start,events,{'Blocked duration':new Scalar(timeDurationInMs,blockedDuration)});};AndroidAuditor.schedulingAlertInfo_=new EventInfo('Scheduling delay','Work to produce this frame was descheduled for several milliseconds, contributing to jank. Ensure that code on the UI thread doesn\'t block on work being done on other threads, and that background threads (doing e.g. network or bitmap loading) are running at android.os.Process#THREAD_PRIORITY_BACKGROUND or lower so they are less likely to interrupt the UI thread. These background threads should show up with a priority number of 130 or higher in the scheduling section under the Kernel process.');AndroidAuditor.getSchedulingAlert_=function(frame){let totalDuration=0;const totalStats={};for(const ttr of frame.threadTimeRanges){const stats=ttr.thread.getSchedulingStatsForRange(ttr.start,ttr.end);for(const[key,value]of Object.entries(stats)){if(!(key in totalStats)){totalStats[key]=0;} 4625totalStats[key]+=value;totalDuration+=value;}} 4626if(!(SCHEDULING_STATE.RUNNING in totalStats)||totalDuration===0||totalDuration-totalStats[SCHEDULING_STATE.RUNNING]<3){return;} 4627const args={};for(const[key,value]of Object.entries(totalStats)){let newKey=key;if(key===SCHEDULING_STATE.RUNNABLE){newKey='Not scheduled, but runnable';}else if(key===SCHEDULING_STATE.UNINTR_SLEEP){newKey='Blocking I/O delay';} 4628args[newKey]=new Scalar(timeDurationInMs,value);} 4629return new Alert(AndroidAuditor.schedulingAlertInfo_,frame.start,[frame],args);};AndroidAuditor.prototype={__proto__:Auditor.prototype,renameAndSort_(){this.model.kernel.important=false;this.model.getAllProcesses().forEach(function(process){if(this.helper.surfaceFlinger&&process===this.helper.surfaceFlinger.process){if(!process.name){process.name='SurfaceFlinger';} 4630process.sortIndex=Number.NEGATIVE_INFINITY;process.important=false;return;} 4631const uiThread=process.getThread(process.pid);if(!process.name&&uiThread&&uiThread.name){if(/^ndroid\./.test(uiThread.name)){uiThread.name='a'+uiThread.name;} 4632process.name=uiThread.name;uiThread.name='UI Thread';} 4633process.sortIndex=0;for(const tid in process.threads){process.sortIndex-=process.threads[tid].sliceGroup.slices.length;}},this);this.model.getAllThreads().forEach(function(thread){if(thread.tid===thread.parent.pid){thread.sortIndex=-3;} 4634if(thread.name==='RenderThread'){thread.sortIndex=-2;} 4635if(/^hwuiTask/.test(thread.name)){thread.sortIndex=-1;}});},pushFramesAndJudgeJank_(){let badFramesObserved=0;let framesObserved=0;const surfaceFlinger=this.helper.surfaceFlinger;this.helper.apps.forEach(function(app){app.process.frames=app.getFrames();app.process.frames.forEach(function(frame){if(frame.totalDuration>EXPECTED_FRAME_TIME_MS*2){badFramesObserved+=2;frame.perfClass=FRAME_PERF_CLASS.TERRIBLE;}else if(frame.totalDuration>EXPECTED_FRAME_TIME_MS||frameMissedDeadline(frame)){badFramesObserved++;frame.perfClass=FRAME_PERF_CLASS.BAD;}else{frame.perfClass=FRAME_PERF_CLASS.GOOD;}});framesObserved+=app.process.frames.length;});if(framesObserved){const portionBad=badFramesObserved/framesObserved;if(portionBad>0.3){this.model.faviconHue='red';}else if(portionBad>0.05){this.model.faviconHue='yellow';}else{this.model.faviconHue='green';}}},pushEventInfo_(){const appAnnotator=new AppAnnotator();this.helper.apps.forEach(function(app){if(app.uiThread){appAnnotator.applyEventInfos(app.uiThread.sliceGroup);} 4636if(app.renderThread){appAnnotator.applyEventInfos(app.renderThread.sliceGroup);}});},runAnnotate(){if(!this.helper)return;this.renameAndSort_();this.pushFramesAndJudgeJank_();this.pushEventInfo_();this.helper.iterateImportantSlices(function(slice){slice.important=true;});},runAudit(){if(!this.helper)return;const alerts=this.model.alerts;this.helper.apps.forEach(function(app){app.getFrames().forEach(function(frame){alerts.push.apply(alerts,AndroidAuditor.getSaveLayerAlerts_(frame));if(frame.perfClass===FRAME_PERF_CLASS.NEUTRAL||frame.perfClass===FRAME_PERF_CLASS.GOOD){return;} 4637let alert=AndroidAuditor.getPathAlert_(frame);if(alert)alerts.push(alert);alert=AndroidAuditor.getUploadAlert_(frame);if(alert)alerts.push(alert);alert=AndroidAuditor.getListViewAlert_(frame);if(alert)alerts.push(alert);alert=AndroidAuditor.getMeasureLayoutAlert_(frame);if(alert)alerts.push(alert);alert=AndroidAuditor.getViewDrawAlert_(frame);if(alert)alerts.push(alert);alert=AndroidAuditor.getBlockingGcAlert_(frame);if(alert)alerts.push(alert);alert=AndroidAuditor.getLockContentionAlert_(frame);if(alert)alerts.push(alert);alert=AndroidAuditor.getSchedulingAlert_(frame);if(alert)alerts.push(alert);});},this);this.addRenderingInteractionRecords();this.addInputInteractionRecords();},addRenderingInteractionRecords(){const events=[];this.helper.apps.forEach(function(app){events.push.apply(events,app.getAnimationAsyncSlices());events.push.apply(events,app.getFrames());});const mergerFunction=function(events){const ir=new tr.model.um.ResponseExpectation(this.model,'Rendering',events[0].min,events[events.length-1].max-events[0].min);this.model.userModel.expectations.push(ir);}.bind(this);tr.b.math.mergeRanges(tr.b.math.convertEventsToRanges(events),30,mergerFunction);},addInputInteractionRecords(){const inputSamples=[];this.helper.apps.forEach(function(app){inputSamples.push.apply(inputSamples,app.getInputSamples());});const mergerFunction=function(events){const ir=new tr.model.um.ResponseExpectation(this.model,'Input',events[0].min,events[events.length-1].max-events[0].min);this.model.userModel.expectations.push(ir);}.bind(this);const inputRanges=inputSamples.map(function(sample){return tr.b.math.Range.fromExplicitRange(sample.timestamp,sample.timestamp);});tr.b.math.mergeRanges(inputRanges,30,mergerFunction);}};Auditor.register(AndroidAuditor);function AppAnnotator(){this.titleInfoLookup=new Map();this.titleParentLookup=new Map();this.build_();} 4638AppAnnotator.prototype={build_(){const registerEventInfo=function(dict){this.titleInfoLookup.set(dict.title,new EventInfo(dict.title,dict.description,dict.docLinks));if(dict.parents){this.titleParentLookup.set(dict.title,dict.parents);}}.bind(this);registerEventInfo({title:'inflate',description:'Constructing a View hierarchy from pre-processed XML via LayoutInflater#layout. This includes constructing all of the View objects in the hierarchy, and applying styled attributes.'});registerEventInfo({title:'obtainView',description:'Adapter#getView() called to bind content to a recycled View that is being presented.'});registerEventInfo({title:'setupListItem',description:'Attached a newly-bound, recycled View to its parent ListView.'});registerEventInfo({title:'setupGridItem',description:'Attached a newly-bound, recycled View to its parent GridView.'});const choreographerLinks=new DocLinkBuilder().addDacRef('Choreographer','android/view/Choreographer.html').build();registerEventInfo({title:'Choreographer#doFrame',docLinks:choreographerLinks,description:'Choreographer executes frame callbacks for inputs, animations, and rendering traversals. When this work is done, a frame will be presented to the user.'});registerEventInfo({title:'input',parents:['Choreographer#doFrame'],docLinks:choreographerLinks,description:'Input callbacks are processed. This generally encompasses dispatching input to Views, as well as any work the Views do to process this input/gesture.'});registerEventInfo({title:'animation',parents:['Choreographer#doFrame'],docLinks:choreographerLinks,description:'Animation callbacks are processed. This is generally minimal work, as animations determine progress for the frame, and push new state to animated objects (such as setting View properties).'});registerEventInfo({title:'traversals',parents:['Choreographer#doFrame'],docLinks:choreographerLinks,description:'Primary draw traversals. This is the primary traversal of the View hierarchy, including layout and draw passes.'});const traversalParents=['Choreographer#doFrame','performTraversals'];const layoutLinks=new DocLinkBuilder().addDacRef('View#Layout','android/view/View.html#Layout').build();registerEventInfo({title:'performTraversals',description:'A drawing traversal of the View hierarchy, comprised of all layout and drawing needed to produce the frame.'});registerEventInfo({title:'measure',parents:traversalParents,docLinks:layoutLinks,description:'First of two phases in view hierarchy layout. Views are asked to size themselves according to constraints supplied by their parent. Some ViewGroups may measure a child more than once to help satisfy their own constraints. Nesting ViewGroups that measure children more than once can lead to excessive and repeated work.'});registerEventInfo({title:'layout',parents:traversalParents,docLinks:layoutLinks,description:'Second of two phases in view hierarchy layout, repositioning content and child Views into their new locations.'});const drawString='Draw pass over the View hierarchy. Every invalidated View will have its drawing commands recorded. On Android versions prior to Lollipop, this would also include the issuing of draw commands to the GPU. Starting with Lollipop, it only includes the recording of commands, and syncing that information to the RenderThread.';registerEventInfo({title:'draw',parents:traversalParents,description:drawString});const recordString='Every invalidated View\'s drawing commands are recorded. Each will have View#draw() called, and is passed a Canvas that will record and store its drawing commands until it is next invalidated/rerecorded.';registerEventInfo({title:'getDisplayList',parents:['draw'],description:recordString});registerEventInfo({title:'Record View#draw()',parents:['draw'],description:recordString});registerEventInfo({title:'drawDisplayList',parents:['draw'],description:'Execution of recorded draw commands to generate a frame. This represents the actual formation and issuing of drawing commands to the GPU. On Android L and higher devices, this work is done on a dedicated RenderThread, instead of on the UI Thread.'});registerEventInfo({title:'DrawFrame',description:'RenderThread portion of the standard UI/RenderThread split frame. This represents the actual formation and issuing of drawing commands to the GPU.'});registerEventInfo({title:'doFrame',description:'RenderThread animation frame. Represents drawing work done by the RenderThread on a frame where the UI thread did not produce new drawing content.'});registerEventInfo({title:'syncFrameState',description:'Sync stage between the UI thread and the RenderThread, where the UI thread hands off a frame (including information about modified Views). Time in this method primarily consists of uploading modified Bitmaps to the GPU. After this sync is completed, the UI thread is unblocked, and the RenderThread starts to render the frame.'});registerEventInfo({title:'flush drawing commands',description:'Issuing the now complete drawing commands to the GPU.'});registerEventInfo({title:'eglSwapBuffers',description:'Complete GPU rendering of the frame.'});registerEventInfo({title:'RV Scroll',description:'RecyclerView is calculating a scroll. If there are too many of these in Systrace, some Views inside RecyclerView might be causing it. Try to avoid using EditText, focusable views or handle them with care.'});registerEventInfo({title:'RV OnLayout',description:'OnLayout has been called by the View system. If this shows up too many times in Systrace, make sure the children of RecyclerView do not update themselves directly. This will cause a full re-layout but when it happens via the Adapter notifyItemChanged, RecyclerView can avoid full layout calculation.'});registerEventInfo({title:'RV FullInvalidate',description:'NotifyDataSetChanged or equal has been called. If this is taking a long time, try sending granular notify adapter changes instead of just calling notifyDataSetChanged or setAdapter / swapAdapter. Adding stable ids to your adapter might help.'});registerEventInfo({title:'RV PartialInvalidate',description:'RecyclerView is rebinding a View. If this is taking a lot of time, consider optimizing your layout or make sure you are not doing extra operations in onBindViewHolder call.'});registerEventInfo({title:'RV OnBindView',description:'RecyclerView is rebinding a View. If this is taking a lot of time, consider optimizing your layout or make sure you are not doing extra operations in onBindViewHolder call.'});registerEventInfo({title:'RV CreateView',description:'RecyclerView is creating a new View. If too many of these are present: 1) There might be a problem in Recycling (e.g. custom Animations that set transient state and prevent recycling or ItemAnimator not implementing the contract properly. See Adapter#onFailedToRecycleView(ViewHolder). 2) There may be too many item view types. Try merging them. 3) There might be too many itemChange animations and not enough space in RecyclerPool. Try increasing your pool size and item cache size.'});registerEventInfo({title:'eglSwapBuffers',description:'The CPU has finished producing drawing commands, and is flushing drawing work to the GPU, and posting that buffer to the consumer (which is often SurfaceFlinger window composition). Once this is completed, the GPU can produce the frame content without any involvement from the CPU.'});},applyEventInfosRecursive_(parentNames,slice){const checkExpectedParentNames=function(expectedParentNames){if(!expectedParentNames)return true;return expectedParentNames.some(function(name){return parentNames.has(name);});};if(this.titleInfoLookup.has(slice.title)){if(checkExpectedParentNames(this.titleParentLookup.get(slice.title))){slice.info=this.titleInfoLookup.get(slice.title);}} 4639if(slice.subSlices.length>0){if(!parentNames.has(slice.title)){parentNames.set(slice.title,0);} 4640parentNames.set(slice.title,parentNames.get(slice.title)+1);slice.subSlices.forEach(function(subSlice){this.applyEventInfosRecursive_(parentNames,subSlice);},this);parentNames.set(slice.title,parentNames.get(slice.title)-1);if(parentNames.get(slice.title)===0){delete parentNames[slice.title];}}},applyEventInfos(sliceGroup){sliceGroup.topLevelSlices.forEach(function(slice){this.applyEventInfosRecursive_(new Map(),slice);},this);}};return{AndroidAuditor,};});'use strict';tr.exportTo('tr.model',function(){function ObjectSnapshot(objectInstance,ts,args){tr.model.Event.call(this);this.objectInstance=objectInstance;this.ts=ts;this.args=args;} 4641ObjectSnapshot.prototype={__proto__:tr.model.Event.prototype,preInitialize(){},initialize(){},referencedAt(item,object,field){},addBoundsToRange(range){range.addValue(this.ts);},get userFriendlyName(){return'Snapshot of '+ 4642this.objectInstance.typeName+' '+ 4643this.objectInstance.id+' @ '+ 4644tr.b.Unit.byName.timeStampInMs.format(this.ts);}};tr.model.EventRegistry.register(ObjectSnapshot,{name:'objectSnapshot',pluralName:'objectSnapshots'});return{ObjectSnapshot,};});'use strict';tr.exportTo('tr.model',function(){const ObjectSnapshot=tr.model.ObjectSnapshot;function ObjectInstance(parent,scopedId,category,name,creationTs,opt_baseTypeName){tr.model.Event.call(this);this.parent=parent;this.scopedId=scopedId;this.category=category;this.baseTypeName=opt_baseTypeName?opt_baseTypeName:name;this.name=name;this.creationTs=creationTs;this.creationTsWasExplicit=false;this.deletionTs=Number.MAX_VALUE;this.deletionTsWasExplicit=false;this.colorId=0;this.bounds=new tr.b.math.Range();this.snapshots=[];this.hasImplicitSnapshots=false;} 4645ObjectInstance.prototype={__proto__:tr.model.Event.prototype,get typeName(){return this.name;},addBoundsToRange(range){range.addRange(this.bounds);},addSnapshot(ts,args,opt_name,opt_baseTypeName){if(ts<this.creationTs){throw new Error('Snapshots must be >= instance.creationTs');} 4646if(ts>=this.deletionTs){throw new Error('Snapshots cannot be added after '+'an objects deletion timestamp.');} 4647let lastSnapshot;if(this.snapshots.length>0){lastSnapshot=this.snapshots[this.snapshots.length-1];if(lastSnapshot.ts===ts){throw new Error('Snapshots already exists at this time!');} 4648if(ts<lastSnapshot.ts){throw new Error('Snapshots must be added in increasing timestamp order');}} 4649if(opt_name&&(this.name!==opt_name)){if(!opt_baseTypeName){throw new Error('Must provide base type name for name update');} 4650if(this.baseTypeName!==opt_baseTypeName){throw new Error('Cannot update type name: base types dont match');} 4651this.name=opt_name;} 4652const snapshotConstructor=tr.model.ObjectSnapshot.subTypes.getConstructor(this.category,this.name);const snapshot=new snapshotConstructor(this,ts,args);this.snapshots.push(snapshot);return snapshot;},wasDeleted(ts){let lastSnapshot;if(this.snapshots.length>0){lastSnapshot=this.snapshots[this.snapshots.length-1];if(lastSnapshot.ts>ts){throw new Error('Instance cannot be deleted at ts='+ 4653ts+'. A snapshot exists that is older.');}} 4654this.deletionTs=ts;this.deletionTsWasExplicit=true;},preInitialize(){for(let i=0;i<this.snapshots.length;i++){this.snapshots[i].preInitialize();}},initialize(){for(let i=0;i<this.snapshots.length;i++){this.snapshots[i].initialize();}},isAliveAt(ts){if(ts<this.creationTs&&this.creationTsWasExplicit){return false;} 4655if(ts>this.deletionTs){return false;} 4656return true;},getSnapshotAt(ts){if(ts<this.creationTs){if(this.creationTsWasExplicit){throw new Error('ts must be within lifetime of this instance');} 4657return this.snapshots[0];} 4658if(ts>this.deletionTs){throw new Error('ts must be within lifetime of this instance');} 4659const snapshots=this.snapshots;const i=tr.b.math.findIndexInSortedIntervals(snapshots,function(snapshot){return snapshot.ts;},function(snapshot,i){if(i===snapshots.length-1){return snapshots[i].objectInstance.deletionTs;} 4660return snapshots[i+1].ts-snapshots[i].ts;},ts);if(i<0){return this.snapshots[0];} 4661if(i>=this.snapshots.length){return this.snapshots[this.snapshots.length-1];} 4662return this.snapshots[i];},updateBounds(){this.bounds.reset();this.bounds.addValue(this.creationTs);if(this.deletionTs!==Number.MAX_VALUE){this.bounds.addValue(this.deletionTs);}else if(this.snapshots.length>0){this.bounds.addValue(this.snapshots[this.snapshots.length-1].ts);}},shiftTimestampsForward(amount){this.creationTs+=amount;if(this.deletionTs!==Number.MAX_VALUE){this.deletionTs+=amount;} 4663this.snapshots.forEach(function(snapshot){snapshot.ts+=amount;});},get userFriendlyName(){return this.typeName+' object '+this.scopedId;}};tr.model.EventRegistry.register(ObjectInstance,{name:'objectInstance',pluralName:'objectInstances'});return{ObjectInstance,};});'use strict';tr.exportTo('tr.e.chrome',function(){const ObjectSnapshot=tr.model.ObjectSnapshot;const ObjectInstance=tr.model.ObjectInstance;function BlameContextSnapshot(){ObjectSnapshot.apply(this,arguments);} 4664BlameContextSnapshot.prototype={__proto__:ObjectSnapshot.prototype,get parentContext(){if(this.args.parent instanceof BlameContextSnapshot){return this.args.parent;} 4665return undefined;},get userFriendlyName(){return'BlameContext';}};function BlameContextInstance(){ObjectInstance.apply(this,arguments);} 4666BlameContextInstance.prototype={__proto__:ObjectInstance.prototype,get blameContextType(){throw new Error('Not implemented');}};return{BlameContextSnapshot,BlameContextInstance,};});'use strict';tr.exportTo('tr.e.chrome',function(){const BlameContextSnapshot=tr.e.chrome.BlameContextSnapshot;const BlameContextInstance=tr.e.chrome.BlameContextInstance;function FrameTreeNodeSnapshot(){BlameContextSnapshot.apply(this,arguments);} 4667FrameTreeNodeSnapshot.prototype={__proto__:BlameContextSnapshot.prototype,get renderFrame(){if(this.args.renderFrame instanceof tr.e.chrome.RenderFrameSnapshot){return this.args.renderFrame;} 4668return undefined;},get url(){return this.args.url;},get userFriendlyName(){return'FrameTreeNode';}};tr.model.ObjectSnapshot.subTypes.register(FrameTreeNodeSnapshot,{typeName:'FrameTreeNode'});function FrameTreeNodeInstance(){BlameContextInstance.apply(this,arguments);} 4669FrameTreeNodeInstance.prototype={__proto__:BlameContextInstance.prototype,get blameContextType(){return'Frame';}};tr.model.ObjectInstance.subTypes.register(FrameTreeNodeInstance,{typeName:'FrameTreeNode'});return{FrameTreeNodeSnapshot,FrameTreeNodeInstance,};});'use strict';tr.exportTo('tr.e.chrome',function(){const BlameContextSnapshot=tr.e.chrome.BlameContextSnapshot;const BlameContextInstance=tr.e.chrome.BlameContextInstance;function RenderFrameSnapshot(){BlameContextSnapshot.apply(this,arguments);} 4670RenderFrameSnapshot.prototype={__proto__:BlameContextSnapshot.prototype,referencedAt(item,object,field){if(item instanceof tr.e.chrome.FrameTreeNodeSnapshot&&object===item.args&&field==='renderFrame'){this.args.frameTreeNode=item;}},get frameTreeNode(){if(this.args.frameTreeNode instanceof 4671tr.e.chrome.FrameTreeNodeSnapshot){return this.args.frameTreeNode;} 4672return undefined;},get url(){if(this.frameTreeNode){return this.frameTreeNode.url;} 4673return undefined;},get userFriendlyName(){return'RenderFrame';}};tr.model.ObjectSnapshot.subTypes.register(RenderFrameSnapshot,{typeName:'RenderFrame'});function RenderFrameInstance(){BlameContextInstance.apply(this,arguments);} 4674RenderFrameInstance.prototype={__proto__:BlameContextInstance.prototype,get blameContextType(){return'Frame';}};tr.model.ObjectInstance.subTypes.register(RenderFrameInstance,{typeName:'RenderFrame'});return{RenderFrameSnapshot,RenderFrameInstance,};});'use strict';tr.exportTo('tr.e.chrome',function(){const BlameContextSnapshot=tr.e.chrome.BlameContextSnapshot;const BlameContextInstance=tr.e.chrome.BlameContextInstance;function TopLevelSnapshot(){BlameContextSnapshot.apply(this,arguments);} 4675TopLevelSnapshot.prototype={__proto__:BlameContextSnapshot.prototype,get userFriendlyName(){return'TopLevel';}};tr.model.ObjectSnapshot.subTypes.register(TopLevelSnapshot,{typeName:'TopLevel'});function TopLevelInstance(){BlameContextInstance.apply(this,arguments);} 4676TopLevelInstance.prototype={__proto__:BlameContextInstance.prototype,get blameContextType(){return'TopLevel';}};tr.model.ObjectInstance.subTypes.register(TopLevelInstance,{typeName:'TopLevel'});return{TopLevelSnapshot,TopLevelInstance,};});'use strict';tr.exportTo('tr.model',function(){function AsyncSlice(category,title,colorId,start,args,duration,opt_isTopLevel,opt_cpuStart,opt_cpuDuration,opt_argsStripped){tr.model.TimedEvent.call(this,start);this.category=category||'';this.originalTitle=title;this.title=title;this.colorId=colorId;this.args=args;this.startStackFrame=undefined;this.endStackFrame=undefined;this.didNotFinish=false;this.important=false;this.subSlices=[];this.parentContainer_=undefined;this.id=undefined;this.startThread=undefined;this.endThread=undefined;this.cpuStart=undefined;this.cpuDuration=undefined;this.argsStripped=false;this.startStackFrame=undefined;this.endStackFrame=undefined;this.duration=duration;this.isTopLevel=(opt_isTopLevel===true);if(opt_cpuStart!==undefined){this.cpuStart=opt_cpuStart;} 4677if(opt_cpuDuration!==undefined){this.cpuDuration=opt_cpuDuration;} 4678if(opt_argsStripped!==undefined){this.argsStripped=opt_argsStripped;}} 4679AsyncSlice.prototype={__proto__:tr.model.TimedEvent.prototype,get analysisTypeName(){return this.title;},get parentContainer(){return this.parentContainer_;},set parentContainer(parentContainer){this.parentContainer_=parentContainer;for(let i=0;i<this.subSlices.length;i++){const subSlice=this.subSlices[i];if(subSlice.parentContainer===undefined){subSlice.parentContainer=parentContainer;}}},get viewSubGroupTitle(){return this.title;},get userFriendlyName(){return'Async slice '+this.title+' at '+ 4680tr.b.Unit.byName.timeStampInMs.format(this.start);},get stableId(){const parentAsyncSliceGroup=this.parentContainer.asyncSliceGroup;return parentAsyncSliceGroup.stableId+'.'+ 4681parentAsyncSliceGroup.slices.indexOf(this);},*findTopmostSlicesRelativeToThisSlice(eventPredicate,opt_this){if(eventPredicate(this)){yield this;return;} 4682for(const s of this.subSlices){yield*s.findTopmostSlicesRelativeToThisSlice(eventPredicate);}},findDescendentSlice(targetTitle){if(!this.subSlices)return undefined;for(let i=0;i<this.subSlices.length;i++){if(this.subSlices[i].title===targetTitle){return this.subSlices[i];} 4683const slice=this.subSlices[i].findDescendentSlice(targetTitle);if(slice)return slice;} 4684return undefined;},*enumerateAllDescendents(){for(const slice of this.subSlices){yield slice;} 4685for(const slice of this.subSlices){yield*slice.enumerateAllDescendents();}},compareTo(that){return this.title.localeCompare(that.title);}};tr.model.EventRegistry.register(AsyncSlice,{name:'asyncSlice',pluralName:'asyncSlices'});return{AsyncSlice,};});'use strict';tr.exportTo('tr.model.helpers',function(){const MAIN_FRAMETIME_TYPE='main_frametime_type';const IMPL_FRAMETIME_TYPE='impl_frametime_type';const MAIN_RENDERING_STATS='BenchmarkInstrumentation::MainThreadRenderingStats';const IMPL_RENDERING_STATS='BenchmarkInstrumentation::ImplThreadRenderingStats';function getSlicesIntersectingRange(rangeOfInterest,slices){const slicesInFilterRange=[];for(let i=0;i<slices.length;i++){const slice=slices[i];if(rangeOfInterest.intersectsExplicitRangeInclusive(slice.start,slice.end)){slicesInFilterRange.push(slice);}} 4686return slicesInFilterRange;} 4687function ChromeProcessHelper(modelHelper,process){this.modelHelper=modelHelper;this.process=process;this.telemetryInternalRanges_=undefined;} 4688ChromeProcessHelper.prototype={get pid(){return this.process.pid;},isTelemetryInternalEvent(slice){if(this.telemetryInternalRanges_===undefined){this.findTelemetryInternalRanges_();} 4689for(const range of this.telemetryInternalRanges_){if(range.containsExplicitRangeInclusive(slice.start,slice.end)){return true;}} 4690return false;},findTelemetryInternalRanges_(){this.telemetryInternalRanges_=[];let start=0;for(const thread of Object.values(this.process.threads)){for(const slice of thread.asyncSliceGroup.getDescendantEvents()){if(/^telemetry\.internal\.[^.]*\.start$/.test(slice.title)){start=slice.start;}else if(/^telemetry\.internal\.[^.]*\.end$/.test(slice.title)&&start!==undefined){this.telemetryInternalRanges_.push(tr.b.math.Range.fromExplicitRange(start,slice.end));start=undefined;}}}},getFrameEventsInRange(frametimeType,range){const titleToGet=(frametimeType===MAIN_FRAMETIME_TYPE?MAIN_RENDERING_STATS:IMPL_RENDERING_STATS);const frameEvents=[];for(const event of this.process.getDescendantEvents()){if(event.title===titleToGet){if(range.intersectsExplicitRangeInclusive(event.start,event.end)){frameEvents.push(event);}}} 4691frameEvents.sort(function(a,b){return a.start-b.start;});return frameEvents;}};function getFrametimeDataFromEvents(frameEvents){const frametimeData=[];for(let i=1;i<frameEvents.length;i++){const diff=frameEvents[i].start-frameEvents[i-1].start;frametimeData.push({'x':frameEvents[i].start,'frametime':diff});} 4692return frametimeData;} 4693return{ChromeProcessHelper,MAIN_FRAMETIME_TYPE,IMPL_FRAMETIME_TYPE,MAIN_RENDERING_STATS,IMPL_RENDERING_STATS,getSlicesIntersectingRange,getFrametimeDataFromEvents,};});'use strict';tr.exportTo('tr.model.helpers',function(){function ChromeBrowserHelper(modelHelper,process){tr.model.helpers.ChromeProcessHelper.call(this,modelHelper,process);this.mainThread_=process.findAtMostOneThreadNamed('CrBrowserMain');if(!process.name){process.name=ChromeBrowserHelper.PROCESS_NAME;}} 4694ChromeBrowserHelper.PROCESS_NAME='Browser';ChromeBrowserHelper.isBrowserProcess=function(process){return!!process.findAtMostOneThreadNamed('CrBrowserMain');};ChromeBrowserHelper.prototype={__proto__:tr.model.helpers.ChromeProcessHelper.prototype,get browserName(){const hasInProcessRendererThread=this.process.findAllThreadsNamed('Chrome_InProcRendererThread').length>0;return hasInProcessRendererThread?'webview':'chrome';},get mainThread(){return this.mainThread_;},get rendererHelpers(){return this.modelHelper.rendererHelpers;},getLoadingEventsInRange(rangeOfInterest){return this.getAllAsyncSlicesMatching(function(slice){return slice.title.indexOf('WebContentsImpl Loading')===0&&rangeOfInterest.intersectsExplicitRangeInclusive(slice.start,slice.end);});},getCommitProvisionalLoadEventsInRange(rangeOfInterest){return this.getAllAsyncSlicesMatching(function(slice){return slice.title==='RenderFrameImpl::didCommitProvisionalLoad'&&rangeOfInterest.intersectsExplicitRangeInclusive(slice.start,slice.end);});},get hasLatencyEvents(){let hasLatency=false;for(const thread of this.modelHelper.model.getAllThreads()){for(const event of thread.getDescendantEvents()){if(!event.isTopLevel)continue;if(!(event instanceof tr.e.cc.InputLatencyAsyncSlice)){continue;} 4695hasLatency=true;}} 4696return hasLatency;},getLatencyEventsInRange(rangeOfInterest){return this.getAllAsyncSlicesMatching(function(slice){return(slice.title.indexOf('InputLatency')===0)&&rangeOfInterest.intersectsExplicitRangeInclusive(slice.start,slice.end);});},getAllAsyncSlicesMatching(pred,opt_this){const events=[];this.iterAllThreads(function(thread){for(const slice of thread.getDescendantEvents()){if(pred.call(opt_this,slice)){events.push(slice);}}});return events;},iterAllThreads(func,opt_this){for(const thread of Object.values(this.process.threads)){func.call(opt_this,thread);} 4697for(const rendererHelper of Object.values(this.rendererHelpers)){const rendererProcess=rendererHelper.process;for(const thread of Object.values(rendererProcess.threads)){func.call(opt_this,thread);}}}};return{ChromeBrowserHelper,};});'use strict';tr.exportTo('tr.model.helpers',function(){function ChromeGpuHelper(modelHelper,process){tr.model.helpers.ChromeProcessHelper.call(this,modelHelper,process);if(!process.name){process.name=ChromeGpuHelper.PROCESS_NAME;}} 4698ChromeGpuHelper.PROCESS_NAME='GPU Process';ChromeGpuHelper.isGpuProcess=function(process){if(process.findAtMostOneThreadNamed('CrBrowserMain')||process.findAtMostOneThreadNamed('CrRendererMain')){return false;} 4699return process.findAllThreadsNamed('CrGpuMain').length>0;};ChromeGpuHelper.prototype={__proto__:tr.model.helpers.ChromeProcessHelper.prototype};return{ChromeGpuHelper,};});'use strict';tr.exportTo('tr.b',function(){function SinebowColorGenerator(opt_a,opt_brightness){this.a_=(opt_a===undefined)?1:opt_a;this.brightness_=(opt_brightness===undefined)?1:opt_brightness;this.colorIndex_=0;this.keyToColor={};} 4700SinebowColorGenerator.prototype={colorForKey(key){if(!this.keyToColor[key]){this.keyToColor[key]=this.nextColor();} 4701return this.keyToColor[key];},nextColor(){const components=SinebowColorGenerator.nthColor(this.colorIndex_++);return tr.b.Color.fromString(SinebowColorGenerator.calculateColor(components[0],components[1],components[2],this.a_,this.brightness_));}};SinebowColorGenerator.PHI=(1+Math.sqrt(5))/2;SinebowColorGenerator.sinebow_=function(h){h+=0.5;h=-h;let r=Math.sin(Math.PI*h);let g=Math.sin(Math.PI*(h+1/3));let b=Math.sin(Math.PI*(h+2/3));r*=r;g*=g;b*=b;const y=2*(0.2989*r+0.5870*g+0.1140*b);r/=y;g/=y;b/=y;return[256*r,256*g,256*b];};SinebowColorGenerator.nthColor=function(n){return SinebowColorGenerator.sinebow_(n*this.PHI);};SinebowColorGenerator.calculateColor=function(r,g,b,a,brightness){if(brightness<=1){r*=brightness;g*=brightness;b*=brightness;}else{r=tr.b.math.lerp(tr.b.math.normalize(brightness,1,2),r,255);g=tr.b.math.lerp(tr.b.math.normalize(brightness,1,2),g,255);b=tr.b.math.lerp(tr.b.math.normalize(brightness,1,2),b,255);} 4702r=Math.round(r);g=Math.round(g);b=Math.round(b);return'rgba('+r+','+g+','+b+', '+a+')';};return{SinebowColorGenerator,};});'use strict';tr.exportTo('tr.e.chrome',function(){const SAME_AS_PARENT='same-as-parent';const TITLES_FOR_USER_FRIENDLY_CATEGORY={composite:['CompositingInputsUpdater::update','ThreadProxy::SetNeedsUpdateLayers','LayerTreeHost::UpdateLayers::CalcDrawProps','UpdateLayerTree'],gc:['minorGC','majorGC','MajorGC','MinorGC','V8.GCScavenger','V8.GCIncrementalMarking','V8.GCIdleNotification','V8.GCContext','V8.GCCompactor','V8GCController::traceDOMWrappers'],iframe_creation:['WebLocalFrameImpl::createChildframe'],imageDecode:['Decode Image','ImageFrameGenerator::decode','ImageFrameGenerator::decodeAndScale'],input:['HitTest','ScrollableArea::scrollPositionChanged','EventHandler::handleMouseMoveEvent'],layout:['FrameView::invalidateTree','FrameView::layout','FrameView::performLayout','FrameView::performPostLayoutTasks','FrameView::performPreLayoutTasks','Layer::updateLayerPositionsAfterLayout','Layout','LayoutView::hitTest','ResourceLoadPriorityOptimizer::updateAllImageResourcePriorities','WebViewImpl::layout'],parseHTML:['ParseHTML','HTMLDocumentParser::didReceiveParsedChunkFromBackgroundParser','HTMLDocumentParser::processParsedChunkFromBackgroundParser','HTMLDocumentParser::processTokenizedChunkFromBackgroundParser',],raster:['DisplayListRasterSource::PerformSolidColorAnalysis','Picture::Raster','RasterBufferImpl::Playback','RasterTask','RasterizerTaskImpl::RunOnWorkerThread','SkCanvas::drawImageRect()','SkCanvas::drawPicture()','SkCanvas::drawTextBlob()','TileTaskWorkerPool::PlaybackToMemory'],record:['ContentLayerDelegate::paintContents','DeprecatedPaintLayerCompositor::updateIfNeededRecursive','DeprecatedPaintLayerCompositor::updateLayerPositionsAfterLayout','Paint','Picture::Record','PictureLayer::Update','RenderLayer::updateLayerPositionsAfterLayout'],style:['CSSParserImpl::parseStyleSheet.parse','CSSParserImpl::parseStyleSheet.tokenize','Document::updateStyle','Document::updateStyleInvalidationIfNeeded','ParseAuthorStyleSheet','RuleSet::addRulesFromSheet','StyleElement::processStyleSheet','StyleEngine::createResolver','StyleSheetContents::parseAuthorStyleSheet','UpdateLayoutTree'],script_parse_and_compile:['v8.parseOnBackground','V8.ScriptCompiler'],script_execute:['V8.Execute','WindowProxy::initialize'],resource_loading:['ResourceFetcher::requestResource','ResourceDispatcher::OnReceivedData','ResourceDispatcher::OnRequestComplete','ResourceDispatcher::OnReceivedResponse','Resource::appendData'],renderer_misc:['DecodeFont','ThreadState::completeSweep'],v8_runtime:[],[SAME_AS_PARENT]:['SyncChannel::Send']};const COLOR_FOR_USER_FRIENDLY_CATEGORY=new tr.b.SinebowColorGenerator();const USER_FRIENDLY_CATEGORY_FOR_TITLE=new Map();for(const category in TITLES_FOR_USER_FRIENDLY_CATEGORY){TITLES_FOR_USER_FRIENDLY_CATEGORY[category].forEach(function(title){USER_FRIENDLY_CATEGORY_FOR_TITLE.set(title,category);});} 4703const USER_FRIENDLY_CATEGORY_FOR_EVENT_CATEGORY={netlog:'net',overhead:'overhead',startup:'startup',gpu:'gpu'};function ChromeUserFriendlyCategoryDriver(){} 4704ChromeUserFriendlyCategoryDriver.fromEvent=function(event){let userFriendlyCategory=USER_FRIENDLY_CATEGORY_FOR_TITLE.get(event.title);if(userFriendlyCategory){if(userFriendlyCategory===SAME_AS_PARENT){if(event.parentSlice){return ChromeUserFriendlyCategoryDriver.fromEvent(event.parentSlice);}}else{return userFriendlyCategory;}} 4705const eventCategoryParts=tr.b.getCategoryParts(event.category);for(let i=0;i<eventCategoryParts.length;++i){const eventCategory=eventCategoryParts[i];userFriendlyCategory=USER_FRIENDLY_CATEGORY_FOR_EVENT_CATEGORY[eventCategory];if(userFriendlyCategory){return userFriendlyCategory;}} 4706return'other';};ChromeUserFriendlyCategoryDriver.getColor=function(ufc){return COLOR_FOR_USER_FRIENDLY_CATEGORY.colorForKey(ufc);};ChromeUserFriendlyCategoryDriver.ALL_TITLES=['other'];for(const category in TITLES_FOR_USER_FRIENDLY_CATEGORY){if(category===SAME_AS_PARENT)continue;ChromeUserFriendlyCategoryDriver.ALL_TITLES.push(category);} 4707for(const category of Object.values(USER_FRIENDLY_CATEGORY_FOR_EVENT_CATEGORY)){ChromeUserFriendlyCategoryDriver.ALL_TITLES.push(category);} 4708ChromeUserFriendlyCategoryDriver.ALL_TITLES.sort();for(const category of ChromeUserFriendlyCategoryDriver.ALL_TITLES){ChromeUserFriendlyCategoryDriver.getColor(category);} 4709return{ChromeUserFriendlyCategoryDriver,};});'use strict';tr.exportTo('tr.model.helpers',function(){const NET_CATEGORIES=new Set(['net','netlog','disabled-by-default-netlog','disabled-by-default-network']);class ChromeThreadHelper{constructor(thread){this.thread=thread;} 4710getNetworkEvents(){const networkEvents=[];for(const slice of this.thread.asyncSliceGroup.slices){const categories=tr.b.getCategoryParts(slice.category);const isNetEvent=category=>NET_CATEGORIES.has(category);if(categories.filter(isNetEvent).length===0)continue;networkEvents.push(slice);} 4711return networkEvents;}} 4712return{ChromeThreadHelper,};});'use strict';tr.exportTo('tr.model.helpers',function(){const ChromeThreadHelper=tr.model.helpers.ChromeThreadHelper;function ChromeRendererHelper(modelHelper,process){tr.model.helpers.ChromeProcessHelper.call(this,modelHelper,process);this.mainThread_=process.findAtMostOneThreadNamed('CrRendererMain')||process.findAtMostOneThreadNamed('Chrome_InProcRendererThread');this.compositorThread_=process.findAtMostOneThreadNamed('Compositor');this.rasterWorkerThreads_=process.findAllThreadsMatching(function(t){if(t.name===undefined)return false;if(t.name.indexOf('CompositorTileWorker')===0)return true;if(t.name.indexOf('CompositorRasterWorker')===0)return true;return false;});if(!process.name){process.name=ChromeRendererHelper.PROCESS_NAME;}} 4713ChromeRendererHelper.PROCESS_NAME='Renderer';ChromeRendererHelper.isRenderProcess=function(process){if(process.findAtMostOneThreadNamed('CrRendererMain'))return true;if(process.findAtMostOneThreadNamed('Compositor'))return true;return false;};ChromeRendererHelper.isTracingProcess=function(process){return process.labels!==undefined&&process.labels.length===1&&process.labels[0]==='chrome://tracing';};ChromeRendererHelper.prototype={__proto__:tr.model.helpers.ChromeProcessHelper.prototype,get mainThread(){return this.mainThread_;},get compositorThread(){return this.compositorThread_;},get rasterWorkerThreads(){return this.rasterWorkerThreads_;},get isChromeTracingUI(){return ChromeRendererHelper.isTracingProcess(this.process);},};return{ChromeRendererHelper,};});'use strict';tr.exportTo('tr.model.helpers',function(){function findChromeBrowserProcesses(model){return model.getAllProcesses(tr.model.helpers.ChromeBrowserHelper.isBrowserProcess);} 4714function findChromeRenderProcesses(model){return model.getAllProcesses(tr.model.helpers.ChromeRendererHelper.isRenderProcess);} 4715function findChromeGpuProcess(model){const gpuProcesses=model.getAllProcesses(tr.model.helpers.ChromeGpuHelper.isGpuProcess);if(gpuProcesses.length!==1)return undefined;return gpuProcesses[0];} 4716function ChromeModelHelper(model){this.model_=model;const browserProcesses=findChromeBrowserProcesses(model);this.browserHelpers_=browserProcesses.map(p=>new tr.model.helpers.ChromeBrowserHelper(this,p));const gpuProcess=findChromeGpuProcess(model);if(gpuProcess){this.gpuHelper_=new tr.model.helpers.ChromeGpuHelper(this,gpuProcess);}else{this.gpuHelper_=undefined;} 4717const rendererProcesses_=findChromeRenderProcesses(model);this.rendererHelpers_={};rendererProcesses_.forEach(function(renderProcess){const rendererHelper=new tr.model.helpers.ChromeRendererHelper(this,renderProcess);this.rendererHelpers_[rendererHelper.pid]=rendererHelper;},this);this.chromeBounds_=undefined;} 4718ChromeModelHelper.guid=tr.b.GUID.allocateSimple();ChromeModelHelper.supportsModel=function(model){if(findChromeBrowserProcesses(model).length)return true;if(findChromeRenderProcesses(model).length)return true;return false;};ChromeModelHelper.prototype={get pid(){throw new Error('woah');},get process(){throw new Error('woah');},get model(){return this.model_;},get browserProcess(){if(this.browserHelper===undefined)return undefined;return this.browserHelper.process;},get browserHelper(){return this.browserHelpers_[0];},get browserHelpers(){return this.browserHelpers_;},get gpuHelper(){return this.gpuHelper_;},get rendererHelpers(){return this.rendererHelpers_;},get rendererWithLargestPid(){let largestPid=-1;for(const pid in this.rendererHelpers){const rendererHelper=this.rendererHelpers[pid];if(rendererHelper.isChromeTracingUI)continue;if(pid>largestPid)largestPid=pid;} 4719if(largestPid===-1)return undefined;return this.rendererHelpers[largestPid];},get chromeBounds(){if(!this.chromeBounds_){this.chromeBounds_=new tr.b.math.Range();for(const browserHelper of 4720Object.values(this.browserHelpers)){this.chromeBounds_.addRange(browserHelper.process.bounds);}} 4721if(this.chromeBounds_.isEmpty){return undefined;} 4722return this.chromeBounds_;}};return{ChromeModelHelper,};});'use strict';tr.exportTo('tr.e.cc',function(){const AsyncSlice=tr.model.AsyncSlice;const EventSet=tr.model.EventSet;const UI_COMP_NAME='INPUT_EVENT_LATENCY_UI_COMPONENT';const ORIGINAL_COMP_NAME='INPUT_EVENT_LATENCY_ORIGINAL_COMPONENT';const BEGIN_COMP_NAME='INPUT_EVENT_LATENCY_BEGIN_RWH_COMPONENT';const END_COMP_NAME='INPUT_EVENT_LATENCY_TERMINATED_FRAME_SWAP_COMPONENT';const MAIN_RENDERER_THREAD_NAME='CrRendererMain';const COMPOSITOR_THREAD_NAME='Compositor';const POSTTASK_FLOW_EVENT='disabled-by-default-toplevel.flow';const IPC_FLOW_EVENT='disabled-by-default-ipc.flow';const INPUT_EVENT_TYPE_NAMES={CHAR:'Char',CLICK:'GestureClick',CONTEXT_MENU:'ContextMenu',FLING_CANCEL:'GestureFlingCancel',FLING_START:'GestureFlingStart',KEY_DOWN:'KeyDown',KEY_DOWN_RAW:'RawKeyDown',KEY_UP:'KeyUp',LATENCY_SCROLL_UPDATE:'ScrollUpdate',MOUSE_DOWN:'MouseDown',MOUSE_ENTER:'MouseEnter',MOUSE_LEAVE:'MouseLeave',MOUSE_MOVE:'MouseMove',MOUSE_UP:'MouseUp',MOUSE_WHEEL:'MouseWheel',PINCH_BEGIN:'GesturePinchBegin',PINCH_END:'GesturePinchEnd',PINCH_UPDATE:'GesturePinchUpdate',SCROLL_BEGIN:'GestureScrollBegin',SCROLL_END:'GestureScrollEnd',SCROLL_UPDATE:'GestureScrollUpdate',SCROLL_UPDATE_RENDERER:'ScrollUpdate',SHOW_PRESS:'GestureShowPress',TAP:'GestureTap',TAP_CANCEL:'GestureTapCancel',TAP_DOWN:'GestureTapDown',TOUCH_CANCEL:'TouchCancel',TOUCH_END:'TouchEnd',TOUCH_MOVE:'TouchMove',TOUCH_START:'TouchStart',UNKNOWN:'UNKNOWN'};function InputLatencyAsyncSlice(){AsyncSlice.apply(this,arguments);this.associatedEvents_=new EventSet();this.typeName_=undefined;if(!this.isLegacyEvent){this.determineModernTypeName_();}} 4723InputLatencyAsyncSlice.prototype={__proto__:AsyncSlice.prototype,get isLegacyEvent(){return this.title==='InputLatency';},get typeName(){if(!this.typeName_){this.determineLegacyTypeName_();} 4724return this.typeName_;},checkTypeName_(){if(!this.typeName_){throw new Error('Unable to determine typeName');} 4725let found=false;for(const typeName in INPUT_EVENT_TYPE_NAMES){if(this.typeName===INPUT_EVENT_TYPE_NAMES[typeName]){found=true;break;}} 4726if(!found){this.typeName_=INPUT_EVENT_TYPE_NAMES.UNKNOWN;}},determineModernTypeName_(){const lastColonIndex=this.title.lastIndexOf(':');if(lastColonIndex<0)return;const characterAfterLastColonIndex=lastColonIndex+1;this.typeName_=this.title.slice(characterAfterLastColonIndex);this.checkTypeName_();},determineLegacyTypeName_(){for(const subSlice of this.enumerateAllDescendents()){const subSliceIsAInputLatencyAsyncSlice=(subSlice instanceof InputLatencyAsyncSlice);if(!subSliceIsAInputLatencyAsyncSlice)continue;if(!subSlice.typeName)continue;if(this.typeName_&&subSlice.typeName_){const subSliceHasDifferentTypeName=(this.typeName_!==subSlice.typeName_);if(subSliceHasDifferentTypeName){throw new Error('InputLatencyAsyncSlice.determineLegacyTypeName_() '+' found multiple typeNames');}} 4727this.typeName_=subSlice.typeName_;} 4728if(!this.typeName_){throw new Error('InputLatencyAsyncSlice.determineLegacyTypeName_() failed');} 4729this.checkTypeName_();},getRendererHelper(sourceSlices){const traceModel=this.startThread.parent.model;const modelHelper=traceModel.getOrCreateHelper(tr.model.helpers.ChromeModelHelper);if(!modelHelper)return undefined;let mainThread=undefined;let compositorThread=undefined;for(const i in sourceSlices){if(sourceSlices[i].parentContainer.name===MAIN_RENDERER_THREAD_NAME){mainThread=sourceSlices[i].parentContainer;}else if(sourceSlices[i].parentContainer.name===COMPOSITOR_THREAD_NAME){compositorThread=sourceSlices[i].parentContainer;} 4730if(mainThread&&compositorThread)break;} 4731const rendererHelpers=modelHelper.rendererHelpers;const pids=Object.keys(rendererHelpers);for(let i=0;i<pids.length;i++){const pid=pids[i];const rendererHelper=rendererHelpers[pid];if(rendererHelper.mainThread===mainThread||rendererHelper.compositorThread===compositorThread){return rendererHelper;}} 4732return undefined;},addEntireSliceHierarchy(slice){this.associatedEvents_.push(slice);slice.iterateAllSubsequentSlices(function(subsequentSlice){this.associatedEvents_.push(subsequentSlice);},this);},addDirectlyAssociatedEvents(flowEvents){const slices=[];flowEvents.forEach(function(flowEvent){this.associatedEvents_.push(flowEvent);const newSource=flowEvent.startSlice.mostTopLevelSlice;if(slices.indexOf(newSource)===-1){slices.push(newSource);}},this);const lastFlowEvent=flowEvents[flowEvents.length-1];const lastSource=lastFlowEvent.endSlice.mostTopLevelSlice;if(slices.indexOf(lastSource)===-1){slices.push(lastSource);} 4733return slices;},addScrollUpdateEvents(rendererHelper){if(!rendererHelper||!rendererHelper.compositorThread){return;} 4734const compositorThread=rendererHelper.compositorThread;const gestureScrollUpdateStart=this.start;const gestureScrollUpdateEnd=this.end;const allCompositorAsyncSlices=compositorThread.asyncSliceGroup.slices;for(const i in allCompositorAsyncSlices){const slice=allCompositorAsyncSlices[i];if(slice.title!=='Latency::ScrollUpdate')continue;const parentId=slice.args.data.INPUT_EVENT_LATENCY_FORWARD_SCROLL_UPDATE_TO_MAIN_COMPONENT.sequence_number;if(parentId===undefined){if(slice.start<gestureScrollUpdateStart||slice.start>=gestureScrollUpdateEnd){continue;}}else{if(parseInt(parentId)!==parseInt(this.id)){continue;}} 4735slice.associatedEvents.forEach(function(event){this.associatedEvents_.push(event);},this);break;}},belongToOtherInputs(slice,flowEvents){let fromOtherInputs=false;slice.iterateEntireHierarchy(function(subsequentSlice){if(fromOtherInputs)return;subsequentSlice.inFlowEvents.forEach(function(inflow){if(fromOtherInputs)return;if(inflow.category.indexOf('input')>-1){if(flowEvents.indexOf(inflow)===-1){fromOtherInputs=true;}}},this);},this);return fromOtherInputs;},triggerOtherInputs(event,flowEvents){if(event.outFlowEvents===undefined||event.outFlowEvents.length===0){return false;} 4736const flow=event.outFlowEvents[0];if(flow.category!==POSTTASK_FLOW_EVENT||!flow.endSlice){return false;} 4737const endSlice=flow.endSlice;if(this.belongToOtherInputs(endSlice.mostTopLevelSlice,flowEvents)){return true;} 4738return false;},followSubsequentSlices(event,queue,visited,flowEvents){let stopFollowing=false;let inputAck=false;event.iterateAllSubsequentSlices(function(slice){if(stopFollowing)return;if(slice.title==='TaskQueueManager::RunTask')return;if(slice.title==='ThreadProxy::ScheduledActionSendBeginMainFrame'){return;} 4739if(slice.title==='Scheduler::ScheduleBeginImplFrameDeadline'){if(this.triggerOtherInputs(slice,flowEvents))return;} 4740if(slice.title==='CompositorImpl::PostComposite'){if(this.triggerOtherInputs(slice,flowEvents))return;} 4741if(slice.title==='InputRouterImpl::ProcessInputEventAck'){inputAck=true;} 4742if(inputAck&&slice.title==='InputRouterImpl::FilterAndSendWebInputEvent'){stopFollowing=true;} 4743this.followCurrentSlice(slice,queue,visited);},this);},followCurrentSlice(event,queue,visited){event.outFlowEvents.forEach(function(outflow){if((outflow.category===POSTTASK_FLOW_EVENT||outflow.category===IPC_FLOW_EVENT)&&outflow.endSlice){this.associatedEvents_.push(outflow);const nextEvent=outflow.endSlice.mostTopLevelSlice;if(!visited.contains(nextEvent)){visited.push(nextEvent);queue.push(nextEvent);}}},this);},backtraceFromDraw(beginImplFrame,visited){const pendingEventQueue=[];pendingEventQueue.push(beginImplFrame.mostTopLevelSlice);while(pendingEventQueue.length!==0){const event=pendingEventQueue.pop();this.addEntireSliceHierarchy(event);event.inFlowEvents.forEach(function(inflow){if(inflow.category===POSTTASK_FLOW_EVENT&&inflow.startSlice){const nextEvent=inflow.startSlice.mostTopLevelSlice;if(!visited.contains(nextEvent)){visited.push(nextEvent);pendingEventQueue.push(nextEvent);}}},this);}},sortRasterizerSlices(rasterWorkerThreads,sortedRasterizerSlices){rasterWorkerThreads.forEach(function(rasterizer){Array.prototype.push.apply(sortedRasterizerSlices,rasterizer.sliceGroup.slices);},this);sortedRasterizerSlices.sort(function(a,b){if(a.start!==b.start){return a.start-b.start;} 4744return a.guid-b.guid;});},addRasterizationEvents(prepareTiles,rendererHelper,visited,flowEvents,sortedRasterizerSlices){if(!prepareTiles.args.prepare_tiles_id)return;if(!rendererHelper||!rendererHelper.rasterWorkerThreads){return;} 4745const rasterWorkerThreads=rendererHelper.rasterWorkerThreads;const prepareTileId=prepareTiles.args.prepare_tiles_id;const pendingEventQueue=[];if(sortedRasterizerSlices.length===0){this.sortRasterizerSlices(rasterWorkerThreads,sortedRasterizerSlices);} 4746let numFinishedTasks=0;const RASTER_TASK_TITLE='RasterizerTaskImpl::RunOnWorkerThread';const IMAGEDECODE_TASK_TITLE='ImageDecodeTaskImpl::RunOnWorkerThread';const FINISHED_TASK_TITLE='TaskSetFinishedTaskImpl::RunOnWorkerThread';for(let i=0;i<sortedRasterizerSlices.length;i++){const task=sortedRasterizerSlices[i];if(task.title===RASTER_TASK_TITLE||task.title===IMAGEDECODE_TASK_TITLE){if(task.args.source_prepare_tiles_id===prepareTileId){this.addEntireSliceHierarchy(task.mostTopLevelSlice);}}else if(task.title===FINISHED_TASK_TITLE){if(task.start>prepareTiles.start){pendingEventQueue.push(task.mostTopLevelSlice);if(++numFinishedTasks===3)break;}}} 4747while(pendingEventQueue.length!==0){const event=pendingEventQueue.pop();this.addEntireSliceHierarchy(event);this.followSubsequentSlices(event,pendingEventQueue,visited,flowEvents);}},addOtherCausallyRelatedEvents(rendererHelper,sourceSlices,flowEvents,sortedRasterizerSlices){const pendingEventQueue=[];const visitedEvents=new EventSet();let beginImplFrame=undefined;let prepareTiles=undefined;sortedRasterizerSlices=[];sourceSlices.forEach(function(sourceSlice){if(!visitedEvents.contains(sourceSlice)){visitedEvents.push(sourceSlice);pendingEventQueue.push(sourceSlice);}},this);while(pendingEventQueue.length!==0){const event=pendingEventQueue.pop();this.addEntireSliceHierarchy(event);this.followCurrentSlice(event,pendingEventQueue,visitedEvents);this.followSubsequentSlices(event,pendingEventQueue,visitedEvents,flowEvents);const COMPOSITOR_PREPARE_TILES='TileManager::PrepareTiles';prepareTiles=event.findDescendentSlice(COMPOSITOR_PREPARE_TILES);if(prepareTiles){this.addRasterizationEvents(prepareTiles,rendererHelper,visitedEvents,flowEvents,sortedRasterizerSlices);} 4748const COMPOSITOR_ON_BIFD='Scheduler::OnBeginImplFrameDeadline';beginImplFrame=event.findDescendentSlice(COMPOSITOR_ON_BIFD);if(beginImplFrame){this.backtraceFromDraw(beginImplFrame,visitedEvents);}} 4749const INPUT_GSU='InputLatency::GestureScrollUpdate';if(this.title===INPUT_GSU){this.addScrollUpdateEvents(rendererHelper);}},get associatedEvents(){if(this.associatedEvents_.length!==0){return this.associatedEvents_;} 4750const modelIndices=this.startThread.parent.model.modelIndices;const flowEvents=modelIndices.getFlowEventsWithId(this.id);if(flowEvents.length===0){return this.associatedEvents_;} 4751const sourceSlices=this.addDirectlyAssociatedEvents(flowEvents);const rendererHelper=this.getRendererHelper(sourceSlices);this.addOtherCausallyRelatedEvents(rendererHelper,sourceSlices,flowEvents);return this.associatedEvents_;},get inputLatency(){if(!('data'in this.args))return undefined;const data=this.args.data;if(!(END_COMP_NAME in data))return undefined;let latency=0;const endTime=data[END_COMP_NAME].time;if(ORIGINAL_COMP_NAME in data){latency=endTime-data[ORIGINAL_COMP_NAME].time;}else if(UI_COMP_NAME in data){latency=endTime-data[UI_COMP_NAME].time;}else if(BEGIN_COMP_NAME in data){latency=endTime-data[BEGIN_COMP_NAME].time;}else{throw new Error('No valid begin latency component');} 4752return latency;}};const eventTypeNames=['Char','ContextMenu','GestureClick','GestureFlingCancel','GestureFlingStart','GestureScrollBegin','GestureScrollEnd','GestureScrollUpdate','GestureShowPress','GestureTap','GestureTapCancel','GestureTapDown','GesturePinchBegin','GesturePinchEnd','GesturePinchUpdate','KeyDown','KeyUp','MouseDown','MouseEnter','MouseLeave','MouseMove','MouseUp','MouseWheel','RawKeyDown','ScrollUpdate','TouchCancel','TouchEnd','TouchMove','TouchStart'];const allTypeNames=['InputLatency'];eventTypeNames.forEach(function(eventTypeName){allTypeNames.push('InputLatency:'+eventTypeName);allTypeNames.push('InputLatency::'+eventTypeName);});AsyncSlice.subTypes.register(InputLatencyAsyncSlice,{typeNames:allTypeNames,categoryParts:['latencyInfo']});return{InputLatencyAsyncSlice,INPUT_EVENT_TYPE_NAMES,};});'use strict';tr.exportTo('tr.model',function(){return{BROWSER_PROCESS_PID_REF:-1,OBJECT_DEFAULT_SCOPE:'ptr',LOCAL_ID_PHASES:new Set(['N','D','O','(',')'])};});'use strict';tr.exportTo('tr.e.audits',function(){const Auditor=tr.c.Auditor;function ChromeAuditor(model){Auditor.call(this,model);const modelHelper=this.model.getOrCreateHelper(tr.model.helpers.ChromeModelHelper);if(modelHelper&&modelHelper.browserHelper){this.modelHelper=modelHelper;}else{this.modelHelper=undefined;}} 4753ChromeAuditor.prototype={__proto__:Auditor.prototype,runAnnotate(){if(!this.modelHelper)return;for(const pid in this.modelHelper.rendererHelpers){const rendererHelper=this.modelHelper.rendererHelpers[pid];if(rendererHelper.isChromeTracingUI){rendererHelper.process.important=false;}}},installUserFriendlyCategoryDriverIfNeeded(){this.model.addUserFriendlyCategoryDriver(tr.e.chrome.ChromeUserFriendlyCategoryDriver);},runAudit(){if(!this.modelHelper)return;this.model.replacePIDRefsInPatchups(tr.model.BROWSER_PROCESS_PID_REF,this.modelHelper.browserProcess.pid);this.model.applyObjectRefPatchups();}};Auditor.register(ChromeAuditor);return{ChromeAuditor,};});'use strict';tr.exportTo('tr.e.chrome',function(){const KNOWN_PROPERTIES={absX:1,absY:1,address:1,anonymous:1,childNeeds:1,children:1,classNames:1,col:1,colSpan:1,float:1,height:1,htmlId:1,name:1,posChildNeeds:1,positioned:1,positionedMovement:1,relX:1,relY:1,relativePositioned:1,row:1,rowSpan:1,selfNeeds:1,stickyPositioned:1,tag:1,width:1};function LayoutObject(snapshot,args){this.snapshot_=snapshot;this.id_=args.address;this.name_=args.name;this.childLayoutObjects_=[];this.otherProperties_={};this.tag_=args.tag;this.relativeRect_=tr.b.math.Rect.fromXYWH(args.relX,args.relY,args.width,args.height);this.absoluteRect_=tr.b.math.Rect.fromXYWH(args.absX,args.absY,args.width,args.height);this.isFloat_=args.float;this.isStickyPositioned_=args.stickyPositioned;this.isPositioned_=args.positioned;this.isRelativePositioned_=args.relativePositioned;this.isAnonymous_=args.anonymous;this.htmlId_=args.htmlId;this.classNames_=args.classNames;this.needsLayoutReasons_=[];if(args.selfNeeds){this.needsLayoutReasons_.push('self');} 4754if(args.childNeeds){this.needsLayoutReasons_.push('child');} 4755if(args.posChildNeeds){this.needsLayoutReasons_.push('positionedChild');} 4756if(args.positionedMovement){this.needsLayoutReasons_.push('positionedMovement');} 4757this.tableRow_=args.row;this.tableCol_=args.col;this.tableRowSpan_=args.rowSpan;this.tableColSpan_=args.colSpan;if(args.children){args.children.forEach(function(child){this.childLayoutObjects_.push(new LayoutObject(snapshot,child));}.bind(this));} 4758for(const property in args){if(!KNOWN_PROPERTIES[property]){this.otherProperties_[property]=args[property];}}} 4759LayoutObject.prototype={get snapshot(){return this.snapshot_;},get id(){return this.id_;},get name(){return this.name_;},get tag(){return this.tag_;},get relativeRect(){return this.relativeRect_;},get absoluteRect(){return this.absoluteRect_;},get isPositioned(){return this.isPositioned_;},get isFloat(){return this.isFloat_;},get isStickyPositioned(){return this.isStickyPositioned_;},get isRelativePositioned(){return this.isRelativePositioned_;},get isAnonymous(){return this.isAnonymous_;},get tableRow(){return this.tableRow_;},get tableCol(){return this.tableCol_;},get tableRowSpan(){return this.tableRowSpan_;},get tableColSpan(){return this.tableColSpan_;},get htmlId(){return this.htmlId_;},get classNames(){return this.classNames_;},get needsLayoutReasons(){return this.needsLayoutReasons_;},get hasChildLayoutObjects(){return this.childLayoutObjects_.length>0;},get childLayoutObjects(){return this.childLayoutObjects_;},traverseTree(cb,opt_this){cb.call(opt_this,this);if(!this.hasChildLayoutObjects)return;this.childLayoutObjects.forEach(function(child){child.traverseTree(cb,opt_this);});},get otherPropertyNames(){const names=[];for(const name in this.otherProperties_){names.push(name);} 4760return names;},getProperty(name){return this.otherProperties_[name];},get previousSnapshotLayoutObject(){if(!this.snapshot.previousSnapshot)return undefined;return this.snapshot.previousSnapshot.getLayoutObjectById(this.id);},get nextSnapshotLayoutObject(){if(!this.snapshot.nextSnapshot)return undefined;return this.snapshot.nextSnapshot.getLayoutObjectById(this.id);}};return{LayoutObject,};});'use strict';tr.exportTo('tr.e.chrome',function(){const ObjectSnapshot=tr.model.ObjectSnapshot;const ObjectInstance=tr.model.ObjectInstance;function LayoutTreeInstance(){ObjectInstance.apply(this,arguments);} 4761LayoutTreeInstance.prototype={__proto__:ObjectInstance.prototype,};ObjectInstance.subTypes.register(LayoutTreeInstance,{typeName:'LayoutTree'});function LayoutTreeSnapshot(){ObjectSnapshot.apply(this,arguments);this.rootLayoutObject=new tr.e.chrome.LayoutObject(this,this.args);} 4762LayoutTreeSnapshot.prototype={__proto__:ObjectSnapshot.prototype,};ObjectSnapshot.subTypes.register(LayoutTreeSnapshot,{typeName:'LayoutTree'});return{LayoutTreeInstance,LayoutTreeSnapshot,};});'use strict';tr.exportTo('tr.model',function(){function EventContainer(){this.guid_=tr.b.GUID.allocateSimple();this.important=true;this.bounds_=new tr.b.math.Range();} 4763EventContainer.prototype={get guid(){return this.guid_;},get stableId(){throw new Error('Not implemented');},get bounds(){return this.bounds_;},updateBounds(){throw new Error('Not implemented');},shiftTimestampsForward(amount){throw new Error('Not implemented');},*childEvents(){},*getDescendantEvents(){yield*this.childEvents();for(const container of this.childEventContainers()){yield*container.getDescendantEvents();}},*childEventContainers(){},*getDescendantEventContainers(){yield this;for(const container of this.childEventContainers()){yield*container.getDescendantEventContainers();}},*findTopmostSlicesInThisContainer(eventPredicate,opt_this){},*findTopmostSlices(eventPredicate){for(const ec of this.getDescendantEventContainers()){yield*ec.findTopmostSlicesInThisContainer(eventPredicate);}},*findTopmostSlicesNamed(name){yield*this.findTopmostSlices(e=>e.title===name);}};return{EventContainer,};});'use strict';tr.exportTo('tr.model',function(){const Event=tr.model.Event;const EventRegistry=tr.model.EventRegistry;class ResourceUsageSample extends Event{constructor(series,start,usage){super();this.series_=series;this.start_=start;this.usage_=usage;} 4764get series(){return this.series_;} 4765get start(){return this.start_;} 4766set start(value){this.start_=value;} 4767get usage(){return this.usage_;} 4768set usage(value){this.usage_=value;} 4769addBoundsToRange(range){range.addValue(this.start);}} 4770EventRegistry.register(ResourceUsageSample,{name:'resourceUsageSample',pluralName:'resourceUsageSamples'});return{ResourceUsageSample,};});'use strict';tr.exportTo('tr.model',function(){const ResourceUsageSample=tr.model.ResourceUsageSample;class ResourceUsageSeries extends tr.model.EventContainer{constructor(device){super();this.device_=device;this.samples_=[];} 4771get device(){return this.device_;} 4772get samples(){return this.samples_;} 4773get stableId(){return this.device_.stableId+'.ResourceUsageSeries';} 4774addUsageSample(ts,val){const sample=new ResourceUsageSample(this,ts,val);this.samples_.push(sample);return sample;} 4775computeResourceTimeConsumedInMs(start,end){const measurementRange=tr.b.math.Range.fromExplicitRange(start,end);let resourceTimeInMs=0;let startIndex=tr.b.math.findLowIndexInSortedArray(this.samples,x=>x.start,start)-1;const endIndex=tr.b.math.findLowIndexInSortedArray(this.samples,x=>x.start,end);if(startIndex<0)startIndex=0;for(let i=startIndex;i<endIndex;i++){const sample=this.samples[i];const nextSample=this.samples[i+1];const sampleRange=new tr.b.math.Range();sampleRange.addValue(sample.start);sampleRange.addValue(nextSample?nextSample.start:sample.start);const intersectionRangeInMs=measurementRange.findIntersection(sampleRange);resourceTimeInMs+=intersectionRangeInMs.duration*sample.usage;} 4776return resourceTimeInMs;} 4777getSamplesWithinRange(start,end){const startIndex=tr.b.math.findLowIndexInSortedArray(this.samples,x=>x.start,start);const endIndex=tr.b.math.findLowIndexInSortedArray(this.samples,x=>x.start,end);return this.samples.slice(startIndex,endIndex);} 4778shiftTimestampsForward(amount){for(let i=0;i<this.samples_.length;++i){this.samples_[i].start+=amount;}} 4779updateBounds(){this.bounds.reset();if(this.samples_.length===0)return;this.bounds.addValue(this.samples_[0].start);this.bounds.addValue(this.samples_[this.samples_.length-1].start);}*childEvents(){yield*this.samples_;}} 4780return{ResourceUsageSeries,};});'use strict';tr.exportTo('tr.e.audits',function(){class CpuUsageAuditor extends tr.c.Auditor{constructor(model){super();this.model_=model;} 4781runAnnotate(){this.model_.device.cpuUsageSeries=this.computeCpuUsageSeries_(this.model_.bounds.min,this.model_.bounds.max,this.computeCpuUsage_());} 4782computeBinSize_(start,end){const MIN_BIN_SIZE_MS=1.0;const MAX_NUM_BINS=100000;const interval=end-start;let binSize=MIN_BIN_SIZE_MS;while(binSize*MAX_NUM_BINS<interval)binSize*=2;return binSize;} 4783computeCpuUsageSeries_(start,end,usageRecords){const series=new tr.model.ResourceUsageSeries();if(start===undefined)return series;const binSize=this.computeBinSize_(start,end);const numBins=Math.ceil((end-start)/binSize);const arr=new Array(numBins).fill(0);for(const record of usageRecords){const firstIndex=Math.ceil((record.start-start)/binSize);const lastIndex=Math.floor((record.end-start)/binSize);for(let i=firstIndex;i<=lastIndex;i++)arr[i]+=record.usage;} 4784for(let i=0;i<numBins;i++){series.addUsageSample(start+(i*binSize),arr[i]);} 4785return series;} 4786computeCpuUsage_(){const model=this.model_;const result=[];for(const pid in model.processes){for(const e of model.processes[pid].getDescendantEvents()){if(!(e instanceof tr.model.ThreadSlice)||e.duration===0||e.cpuDuration===undefined){continue;} 4787if(e.selfTime===0||e.selfTime===undefined||e.cpuSelfTime===undefined){continue;} 4788const usage=tr.b.math.clamp(e.cpuSelfTime/e.selfTime,0,1);let lastTime=e.start;for(const subslice of e.subSlices){result.push({usage,start:lastTime,end:subslice.start});lastTime=subslice.end;} 4789result.push({usage,start:lastTime,end:e.end});}} 4790return result;}} 4791tr.c.Auditor.register(CpuUsageAuditor);return{CpuUsageAuditor};});'use strict';tr.exportTo('tr.b',function(){function Base64(){} 4792function b64ToUint6(nChr){if(nChr>64&&nChr<91)return nChr-65;if(nChr>96&&nChr<123)return nChr-71;if(nChr>47&&nChr<58)return nChr+4;if(nChr===43)return 62;if(nChr===47)return 63;return 0;} 4793Base64.getDecodedBufferLength=function(input){return input.length*3+1>>2;};Base64.EncodeArrayBufferToString=function(input){let binary='';const bytes=new Uint8Array(input);const len=bytes.byteLength;for(let i=0;i<len;i++){binary+=String.fromCharCode(bytes[i]);} 4794return btoa(binary);};Base64.DecodeToTypedArray=function(input,output){const nInLen=input.length;const nOutLen=nInLen*3+1>>2;let nMod3=0;let nMod4=0;let nUint24=0;let nOutIdx=0;if(nOutLen>output.byteLength){throw new Error('Output buffer too small to decode.');} 4795for(let nInIdx=0;nInIdx<nInLen;nInIdx++){nMod4=nInIdx&3;nUint24|=b64ToUint6(input.charCodeAt(nInIdx))<<18-6*nMod4;if(nMod4===3||nInLen-nInIdx===1){for(nMod3=0;nMod3<3&&nOutIdx<nOutLen;nMod3++,nOutIdx++){output.setUint8(nOutIdx,nUint24>>>(16>>>nMod3&24)&255);} 4796nUint24=0;}} 4797return nOutIdx-1;};Base64.btoa=function(input){return btoa(input);};Base64.atob=function(input){return atob(input);};return{Base64,};});'use strict';tr.exportTo('tr.e.importer.etw',function(){function Parser(importer){this.importer=importer;this.model=importer.model;} 4798Parser.prototype={__proto__:Object.prototype};const options=new tr.b.ExtensionRegistryOptions(tr.b.BASIC_REGISTRY_MODE);options.mandatoryBaseClass=Parser;tr.b.decorateExtensionRegistry(Parser,options);return{Parser,};});'use strict';tr.exportTo('tr.e.importer.etw',function(){const Parser=tr.e.importer.etw.Parser;const guid='68FDD900-4A3E-11D1-84F4-0000F80464E3';const kEventTraceHeaderOpcode=0;function EventTraceParser(importer){Parser.call(this,importer);importer.registerEventHandler(guid,kEventTraceHeaderOpcode,EventTraceParser.prototype.decodeHeader.bind(this));} 4799EventTraceParser.prototype={__proto__:Parser.prototype,decodeFields(header,decoder){if(header.version!==2){throw new Error('Incompatible EventTrace event version.');} 4800const bufferSize=decoder.decodeUInt32();const version=decoder.decodeUInt32();const providerVersion=decoder.decodeUInt32();const numberOfProcessors=decoder.decodeUInt32();const endTime=decoder.decodeUInt64ToString();const timerResolution=decoder.decodeUInt32();const maxFileSize=decoder.decodeUInt32();const logFileMode=decoder.decodeUInt32();const buffersWritten=decoder.decodeUInt32();const startBuffers=decoder.decodeUInt32();const pointerSize=decoder.decodeUInt32();const eventsLost=decoder.decodeUInt32();const cpuSpeed=decoder.decodeUInt32();const loggerName=decoder.decodeUInteger(header.is64);const logFileName=decoder.decodeUInteger(header.is64);const timeZoneInformation=decoder.decodeTimeZoneInformation();const padding=decoder.decodeUInt32();const bootTime=decoder.decodeUInt64ToString();const perfFreq=decoder.decodeUInt64ToString();const startTime=decoder.decodeUInt64ToString();const reservedFlags=decoder.decodeUInt32();const buffersLost=decoder.decodeUInt32();const sessionNameString=decoder.decodeW16String();const logFileNameString=decoder.decodeW16String();return{bufferSize,version,providerVersion,numberOfProcessors,endTime,timerResolution,maxFileSize,logFileMode,buffersWritten,startBuffers,pointerSize,eventsLost,cpuSpeed,loggerName,logFileName,timeZoneInformation,bootTime,perfFreq,startTime,reservedFlags,buffersLost,sessionNameString,logFileNameString};},decodeHeader(header,decoder){const fields=this.decodeFields(header,decoder);return true;}};Parser.register(EventTraceParser);return{EventTraceParser,};});'use strict';tr.exportTo('tr.e.importer.etw',function(){const Parser=tr.e.importer.etw.Parser;const guid='3D6FA8D0-FE05-11D0-9DDA-00C04FD7BA7C';const kProcessStartOpcode=1;const kProcessEndOpcode=2;const kProcessDCStartOpcode=3;const kProcessDCEndOpcode=4;const kProcessDefunctOpcode=39;function ProcessParser(importer){Parser.call(this,importer);importer.registerEventHandler(guid,kProcessStartOpcode,ProcessParser.prototype.decodeStart.bind(this));importer.registerEventHandler(guid,kProcessEndOpcode,ProcessParser.prototype.decodeEnd.bind(this));importer.registerEventHandler(guid,kProcessDCStartOpcode,ProcessParser.prototype.decodeDCStart.bind(this));importer.registerEventHandler(guid,kProcessDCEndOpcode,ProcessParser.prototype.decodeDCEnd.bind(this));importer.registerEventHandler(guid,kProcessDefunctOpcode,ProcessParser.prototype.decodeDefunct.bind(this));} 4801ProcessParser.prototype={__proto__:Parser.prototype,decodeFields(header,decoder){if(header.version>5){throw new Error('Incompatible Process event version.');} 4802let pageDirectoryBase;if(header.version===1){pageDirectoryBase=decoder.decodeUInteger(header.is64);} 4803let uniqueProcessKey;if(header.version>=2){uniqueProcessKey=decoder.decodeUInteger(header.is64);} 4804const processId=decoder.decodeUInt32();const parentId=decoder.decodeUInt32();let sessionId;let exitStatus;if(header.version>=1){sessionId=decoder.decodeUInt32();exitStatus=decoder.decodeInt32();} 4805let directoryTableBase;if(header.version>=3){directoryTableBase=decoder.decodeUInteger(header.is64);} 4806let flags;if(header.version>=4){flags=decoder.decodeUInt32();} 4807const userSID=decoder.decodeSID(header.is64);let imageFileName;if(header.version>=1){imageFileName=decoder.decodeString();} 4808let commandLine;if(header.version>=2){commandLine=decoder.decodeW16String();} 4809let packageFullName;let applicationId;if(header.version>=4){packageFullName=decoder.decodeW16String();applicationId=decoder.decodeW16String();} 4810let exitTime;if(header.version===5&&header.opcode===kProcessDefunctOpcode){exitTime=decoder.decodeUInt64ToString();} 4811return{pageDirectoryBase,uniqueProcessKey,processId,parentId,sessionId,exitStatus,directoryTableBase,flags,userSID,imageFileName,commandLine,packageFullName,applicationId,exitTime};},decodeStart(header,decoder){const fields=this.decodeFields(header,decoder);const process=this.model.getOrCreateProcess(fields.processId);if(process.hasOwnProperty('has_ended')){throw new Error('Process clash detected.');} 4812process.name=fields.imageFileName;return true;},decodeEnd(header,decoder){const fields=this.decodeFields(header,decoder);const process=this.model.getOrCreateProcess(fields.processId);process.has_ended=true;return true;},decodeDCStart(header,decoder){const fields=this.decodeFields(header,decoder);const process=this.model.getOrCreateProcess(fields.processId);if(process.hasOwnProperty('has_ended')){throw new Error('Process clash detected.');} 4813process.name=fields.imageFileName;return true;},decodeDCEnd(header,decoder){const fields=this.decodeFields(header,decoder);const process=this.model.getOrCreateProcess(fields.processId);process.has_ended=true;return true;},decodeDefunct(header,decoder){const fields=this.decodeFields(header,decoder);return true;}};Parser.register(ProcessParser);return{ProcessParser,};});'use strict';tr.exportTo('tr.e.importer.etw',function(){const Parser=tr.e.importer.etw.Parser;const guid='3D6FA8D1-FE05-11D0-9DDA-00C04FD7BA7C';const kThreadStartOpcode=1;const kThreadEndOpcode=2;const kThreadDCStartOpcode=3;const kThreadDCEndOpcode=4;const kThreadCSwitchOpcode=36;function ThreadParser(importer){Parser.call(this,importer);importer.registerEventHandler(guid,kThreadStartOpcode,ThreadParser.prototype.decodeStart.bind(this));importer.registerEventHandler(guid,kThreadEndOpcode,ThreadParser.prototype.decodeEnd.bind(this));importer.registerEventHandler(guid,kThreadDCStartOpcode,ThreadParser.prototype.decodeDCStart.bind(this));importer.registerEventHandler(guid,kThreadDCEndOpcode,ThreadParser.prototype.decodeDCEnd.bind(this));importer.registerEventHandler(guid,kThreadCSwitchOpcode,ThreadParser.prototype.decodeCSwitch.bind(this));} 4814ThreadParser.prototype={__proto__:Parser.prototype,decodeFields(header,decoder){if(header.version>3){throw new Error('Incompatible Thread event version.');} 4815const processId=decoder.decodeUInt32();const threadId=decoder.decodeUInt32();let stackBase;let stackLimit;let userStackBase;let userStackLimit;let affinity;let startAddr;let win32StartAddr;let tebBase;let subProcessTag;let basePriority;let pagePriority;let ioPriority;let threadFlags;let waitMode;if(header.version===1){if(header.opcode===kThreadStartOpcode||header.opcode===kThreadDCStartOpcode){stackBase=decoder.decodeUInteger(header.is64);stackLimit=decoder.decodeUInteger(header.is64);userStackBase=decoder.decodeUInteger(header.is64);userStackLimit=decoder.decodeUInteger(header.is64);startAddr=decoder.decodeUInteger(header.is64);win32StartAddr=decoder.decodeUInteger(header.is64);waitMode=decoder.decodeInt8();decoder.skip(3);}}else{stackBase=decoder.decodeUInteger(header.is64);stackLimit=decoder.decodeUInteger(header.is64);userStackBase=decoder.decodeUInteger(header.is64);userStackLimit=decoder.decodeUInteger(header.is64);if(header.version===2){startAddr=decoder.decodeUInteger(header.is64);}else{affinity=decoder.decodeUInteger(header.is64);} 4816win32StartAddr=decoder.decodeUInteger(header.is64);tebBase=decoder.decodeUInteger(header.is64);subProcessTag=decoder.decodeUInt32();if(header.version===3){basePriority=decoder.decodeUInt8();pagePriority=decoder.decodeUInt8();ioPriority=decoder.decodeUInt8();threadFlags=decoder.decodeUInt8();}} 4817return{processId,threadId,stackBase,stackLimit,userStackBase,userStackLimit,affinity,startAddr,win32StartAddr,tebBase,subProcessTag,waitMode,basePriority,pagePriority,ioPriority,threadFlags};},decodeCSwitchFields(header,decoder){if(header.version!==2){throw new Error('Incompatible Thread event version.');} 4818const newThreadId=decoder.decodeUInt32();const oldThreadId=decoder.decodeUInt32();const newThreadPriority=decoder.decodeInt8();const oldThreadPriority=decoder.decodeInt8();const previousCState=decoder.decodeUInt8();const spareByte=decoder.decodeInt8();const oldThreadWaitReason=decoder.decodeInt8();const oldThreadWaitMode=decoder.decodeInt8();const oldThreadState=decoder.decodeInt8();const oldThreadWaitIdealProcessor=decoder.decodeInt8();const newThreadWaitTime=decoder.decodeUInt32();const reserved=decoder.decodeUInt32();return{newThreadId,oldThreadId,newThreadPriority,oldThreadPriority,previousCState,spareByte,oldThreadWaitReason,oldThreadWaitMode,oldThreadState,oldThreadWaitIdealProcessor,newThreadWaitTime,reserved};},decodeStart(header,decoder){const fields=this.decodeFields(header,decoder);this.importer.createThreadIfNeeded(fields.processId,fields.threadId);return true;},decodeEnd(header,decoder){const fields=this.decodeFields(header,decoder);this.importer.removeThreadIfPresent(fields.threadId);return true;},decodeDCStart(header,decoder){const fields=this.decodeFields(header,decoder);this.importer.createThreadIfNeeded(fields.processId,fields.threadId);return true;},decodeDCEnd(header,decoder){const fields=this.decodeFields(header,decoder);this.importer.removeThreadIfPresent(fields.threadId);return true;},decodeCSwitch(header,decoder){const fields=this.decodeCSwitchFields(header,decoder);const cpu=this.importer.getOrCreateCpu(header.cpu);const newThread=this.importer.getThreadFromWindowsTid(fields.newThreadId);let newThreadName;if(newThread&&newThread.userFriendlyName){newThreadName=newThread.userFriendlyName;}else{const newProcessId=this.importer.getPidFromWindowsTid(fields.newThreadId);const newProcess=this.model.getProcess(newProcessId);let newProcessName;if(newProcess){newProcessName=newProcess.name;}else{newProcessName='Unknown process';} 4819newThreadName=newProcessName+' (tid '+fields.newThreadId+')';} 4820cpu.switchActiveThread(header.timestamp,{},fields.newThreadId,newThreadName,fields);return true;}};Parser.register(ThreadParser);return{ThreadParser,};});'use strict';tr.exportTo('tr.b',function(){function max(a,b){if(a===undefined)return b;if(b===undefined)return a;return Math.max(a,b);} 4821function IntervalTree(beginPositionCb,endPositionCb){this.beginPositionCb_=beginPositionCb;this.endPositionCb_=endPositionCb;this.root_=undefined;this.size_=0;} 4822IntervalTree.prototype={insert(datum){const startPosition=this.beginPositionCb_(datum);const endPosition=this.endPositionCb_(datum);const node=new IntervalTreeNode(datum,startPosition,endPosition);this.size_++;this.root_=this.insertNode_(this.root_,node);this.root_.colour=Colour.BLACK;return datum;},insertNode_(root,node){if(root===undefined)return node;if(root.leftNode&&root.leftNode.isRed&&root.rightNode&&root.rightNode.isRed){this.flipNodeColour_(root);} 4823if(node.key<root.key){root.leftNode=this.insertNode_(root.leftNode,node);}else if(node.key===root.key){root.merge(node);}else{root.rightNode=this.insertNode_(root.rightNode,node);} 4824if(root.rightNode&&root.rightNode.isRed&&(root.leftNode===undefined||!root.leftNode.isRed)){root=this.rotateLeft_(root);} 4825if(root.leftNode&&root.leftNode.isRed&&root.leftNode.leftNode&&root.leftNode.leftNode.isRed){root=this.rotateRight_(root);} 4826return root;},rotateRight_(node){const sibling=node.leftNode;node.leftNode=sibling.rightNode;sibling.rightNode=node;sibling.colour=node.colour;node.colour=Colour.RED;return sibling;},rotateLeft_(node){const sibling=node.rightNode;node.rightNode=sibling.leftNode;sibling.leftNode=node;sibling.colour=node.colour;node.colour=Colour.RED;return sibling;},flipNodeColour_(node){node.colour=this.flipColour_(node.colour);node.leftNode.colour=this.flipColour_(node.leftNode.colour);node.rightNode.colour=this.flipColour_(node.rightNode.colour);},flipColour_(colour){return colour===Colour.RED?Colour.BLACK:Colour.RED;},updateHighValues(){this.updateHighValues_(this.root_);},updateHighValues_(node){if(node===undefined)return undefined;node.maxHighLeft=this.updateHighValues_(node.leftNode);node.maxHighRight=this.updateHighValues_(node.rightNode);return max(max(node.maxHighLeft,node.highValue),node.maxHighRight);},validateFindArguments_(queryLow,queryHigh){if(queryLow===undefined||queryHigh===undefined){throw new Error('queryLow and queryHigh must be defined');} 4827if((typeof queryLow!=='number')||(typeof queryHigh!=='number')){throw new Error('queryLow and queryHigh must be numbers');}},findIntersection(queryLow,queryHigh){this.validateFindArguments_(queryLow,queryHigh);if(this.root_===undefined)return[];const ret=[];this.root_.appendIntersectionsInto_(ret,queryLow,queryHigh);return ret;},get size(){return this.size_;},get root(){return this.root_;},dump_(){if(this.root_===undefined)return[];return this.root_.dump();}};const Colour={RED:'red',BLACK:'black'};function IntervalTreeNode(datum,lowValue,highValue){this.lowValue_=lowValue;this.data_=[{datum,high:highValue,low:lowValue}];this.colour_=Colour.RED;this.parentNode_=undefined;this.leftNode_=undefined;this.rightNode_=undefined;this.maxHighLeft_=undefined;this.maxHighRight_=undefined;} 4828IntervalTreeNode.prototype={appendIntersectionsInto_(ret,queryLow,queryHigh){if(this.lowValue_>=queryHigh){if(!this.leftNode_)return;return this.leftNode_.appendIntersectionsInto_(ret,queryLow,queryHigh);} 4829if(this.maxHighLeft_>queryLow){this.leftNode_.appendIntersectionsInto_(ret,queryLow,queryHigh);} 4830if(this.highValue>queryLow){for(let i=(this.data.length-1);i>=0;--i){if(this.data[i].high<queryLow)break;ret.push(this.data[i].datum);}} 4831if(this.rightNode_){this.rightNode_.appendIntersectionsInto_(ret,queryLow,queryHigh);}},get colour(){return this.colour_;},set colour(colour){this.colour_=colour;},get key(){return this.lowValue_;},get lowValue(){return this.lowValue_;},get highValue(){return this.data_[this.data_.length-1].high;},set leftNode(left){this.leftNode_=left;},get leftNode(){return this.leftNode_;},get hasLeftNode(){return this.leftNode_!==undefined;},set rightNode(right){this.rightNode_=right;},get rightNode(){return this.rightNode_;},get hasRightNode(){return this.rightNode_!==undefined;},set parentNode(parent){this.parentNode_=parent;},get parentNode(){return this.parentNode_;},get isRootNode(){return this.parentNode_===undefined;},set maxHighLeft(high){this.maxHighLeft_=high;},get maxHighLeft(){return this.maxHighLeft_;},set maxHighRight(high){this.maxHighRight_=high;},get maxHighRight(){return this.maxHighRight_;},get data(){return this.data_;},get isRed(){return this.colour_===Colour.RED;},merge(node){for(let i=0;i<node.data.length;i++){this.data_.push(node.data[i]);} 4832this.data_.sort(function(a,b){return a.high-b.high;});},dump(){const ret={};if(this.leftNode_){ret.left=this.leftNode_.dump();} 4833ret.data=this.data_.map(function(d){return[d.low,d.high];});if(this.rightNode_){ret.right=this.rightNode_.dump();} 4834return ret;}};return{IntervalTree,};});'use strict';tr.exportTo('tr.b.math',function(){const tmpVec2s=[];for(let i=0;i<8;i++){tmpVec2s[i]=vec2.create();} 4835const tmpVec2a=vec4.create();const tmpVec4a=vec4.create();const tmpVec4b=vec4.create();const tmpMat4=mat4.create();const tmpMat4b=mat4.create();const p00=vec2.createXY(0,0);const p10=vec2.createXY(1,0);const p01=vec2.createXY(0,1);const p11=vec2.createXY(1,1);const lerpingVecA=vec2.create();const lerpingVecB=vec2.create();function lerpVec2(out,a,b,amt){vec2.scale(lerpingVecA,a,amt);vec2.scale(lerpingVecB,b,1-amt);vec2.add(out,lerpingVecA,lerpingVecB);vec2.normalize(out,out);return out;} 4836function Quad(){this.p1=vec2.create();this.p2=vec2.create();this.p3=vec2.create();this.p4=vec2.create();} 4837Quad.fromXYWH=function(x,y,w,h){const q=new Quad();vec2.set(q.p1,x,y);vec2.set(q.p2,x+w,y);vec2.set(q.p3,x+w,y+h);vec2.set(q.p4,x,y+h);return q;};Quad.fromRect=function(r){return new Quad.fromXYWH(r.x,r.y,r.width,r.height);};Quad.from4Vecs=function(p1,p2,p3,p4){const q=new Quad();vec2.set(q.p1,p1[0],p1[1]);vec2.set(q.p2,p2[0],p2[1]);vec2.set(q.p3,p3[0],p3[1]);vec2.set(q.p4,p4[0],p4[1]);return q;};Quad.from8Array=function(arr){if(arr.length!==8){throw new Error('Array must be 8 long');} 4838const q=new Quad();q.p1[0]=arr[0];q.p1[1]=arr[1];q.p2[0]=arr[2];q.p2[1]=arr[3];q.p3[0]=arr[4];q.p3[1]=arr[5];q.p4[0]=arr[6];q.p4[1]=arr[7];return q;};Quad.prototype={pointInside(point){return pointInImplicitQuad(point,this.p1,this.p2,this.p3,this.p4);},boundingRect(){const x0=Math.min(this.p1[0],this.p2[0],this.p3[0],this.p4[0]);const y0=Math.min(this.p1[1],this.p2[1],this.p3[1],this.p4[1]);const x1=Math.max(this.p1[0],this.p2[0],this.p3[0],this.p4[0]);const y1=Math.max(this.p1[1],this.p2[1],this.p3[1],this.p4[1]);return new tr.b.math.Rect.fromXYWH(x0,y0,x1-x0,y1-y0);},clone(){const q=new Quad();vec2.copy(q.p1,this.p1);vec2.copy(q.p2,this.p2);vec2.copy(q.p3,this.p3);vec2.copy(q.p4,this.p4);return q;},scale(s){const q=new Quad();this.scaleFast(q,s);return q;},scaleFast(dstQuad,s){vec2.copy(dstQuad.p1,this.p1,s);vec2.copy(dstQuad.p2,this.p2,s);vec2.copy(dstQuad.p3,this.p3,s);vec2.copy(dstQuad.p3,this.p3,s);},isRectangle(){const bounds=this.boundingRect();return(bounds.x===this.p1[0]&&bounds.y===this.p1[1]&&bounds.width===this.p2[0]-this.p1[0]&&bounds.y===this.p2[1]&&bounds.width===this.p3[0]-this.p1[0]&&bounds.height===this.p3[1]-this.p2[1]&&bounds.x===this.p4[0]&&bounds.height===this.p4[1]-this.p2[1]);},projectUnitRect(rect){const q=new Quad();this.projectUnitRectFast(q,rect);return q;},projectUnitRectFast(dstQuad,rect){const v12=tmpVec2s[0];const v14=tmpVec2s[1];const v23=tmpVec2s[2];const v43=tmpVec2s[3];vec2.sub(v12,this.p2,this.p1);const l12=vec2.length(v12);vec2.scale(v12,v12,1/l12);vec2.sub(v14,this.p4,this.p1);const l14=vec2.length(v14);vec2.scale(v14,v14,1/l14);vec2.sub(v23,this.p3,this.p2);const l23=vec2.length(v23);vec2.scale(v23,v23,1/l23);vec2.sub(v43,this.p3,this.p4);const l43=vec2.length(v43);vec2.scale(v43,v43,1/l43);const b12=tmpVec2s[0];const b14=tmpVec2s[1];const b23=tmpVec2s[2];const b43=tmpVec2s[3];lerpVec2(b12,v12,v43,rect.y);lerpVec2(b43,v12,v43,1-rect.bottom);lerpVec2(b14,v14,v23,rect.x);lerpVec2(b23,v14,v23,1-rect.right);vec2.addTwoScaledUnitVectors(tmpVec2a,b12,l12*rect.x,b14,l14*rect.y);vec2.add(dstQuad.p1,this.p1,tmpVec2a);vec2.addTwoScaledUnitVectors(tmpVec2a,b12,l12*-(1.0-rect.right),b23,l23*rect.y);vec2.add(dstQuad.p2,this.p2,tmpVec2a);vec2.addTwoScaledUnitVectors(tmpVec2a,b43,l43*-(1.0-rect.right),b23,l23*-(1.0-rect.bottom));vec2.add(dstQuad.p3,this.p3,tmpVec2a);vec2.addTwoScaledUnitVectors(tmpVec2a,b43,l43*rect.left,b14,l14*-(1.0-rect.bottom));vec2.add(dstQuad.p4,this.p4,tmpVec2a);},toString(){return'Quad('+ 4839vec2.toString(this.p1)+', '+ 4840vec2.toString(this.p2)+', '+ 4841vec2.toString(this.p3)+', '+ 4842vec2.toString(this.p4)+')';}};function sign(p1,p2,p3){return(p1[0]-p3[0])*(p2[1]-p3[1])- 4843(p2[0]-p3[0])*(p1[1]-p3[1]);} 4844function pointInTriangle2(pt,p1,p2,p3){const b1=sign(pt,p1,p2)<0.0;const b2=sign(pt,p2,p3)<0.0;const b3=sign(pt,p3,p1)<0.0;return((b1===b2)&&(b2===b3));} 4845function pointInImplicitQuad(point,p1,p2,p3,p4){return pointInTriangle2(point,p1,p2,p3)||pointInTriangle2(point,p1,p3,p4);} 4846return{pointInTriangle2,pointInImplicitQuad,Quad,};});'use strict';tr.exportTo('tr.b',function(){function addSingletonGetter(ctor){ctor.getInstance=function(){return ctor.instance_||(ctor.instance_=new ctor());};} 4847function deepCopy(value){if(!(value instanceof Object)){if(value===undefined||value===null)return value;if(typeof value==='string')return value.substring();if(typeof value==='boolean')return value;if(typeof value==='number')return value;throw new Error('Unrecognized: '+typeof value);} 4848const object=value;if(object instanceof Array){const res=new Array(object.length);for(let i=0;i<object.length;i++){res[i]=deepCopy(object[i]);} 4849return res;} 4850if(object.__proto__!==Object.prototype){throw new Error('Can only clone simple types');} 4851const res={};for(const key in object){res[key]=deepCopy(object[key]);} 4852return res;} 4853function normalizeException(e){if(e===undefined||e===null){return{typeName:'UndefinedError',message:'Unknown: null or undefined exception',stack:'Unknown'};} 4854if(typeof(e)==='string'){return{typeName:'StringError',message:e,stack:[e]};} 4855let typeName;if(e.name){typeName=e.name;}else if(e.constructor){if(e.constructor.name){typeName=e.constructor.name;}else{typeName='AnonymousError';}}else{typeName='ErrorWithNoConstructor';} 4856const msg=e.message?e.message:'Unknown';return{typeName,message:msg,stack:e.stack?e.stack:[msg]};} 4857function stackTraceAsString(){return new Error().stack+'';} 4858function stackTrace(){let stack=stackTraceAsString();stack=stack.split('\n');return stack.slice(2);} 4859function getUsingPath(path,fromDict){const parts=path.split('.');let cur=fromDict;for(let part;parts.length&&(part=parts.shift());){if(!parts.length){return cur[part];}else if(part in cur){cur=cur[part];}else{return undefined;}} 4860return undefined;} 4861function formatDate(date){return date.toISOString().replace('T',' ').slice(0,19);} 4862function numberToJson(n){if(isNaN(n))return'NaN';if(n===Infinity)return'Infinity';if(n===-Infinity)return'-Infinity';return n;} 4863function numberFromJson(n){if(n==='NaN'||n===null)return NaN;if(n==='Infinity')return Infinity;if(n==='-Infinity')return-Infinity;return n;} 4864function runLengthEncoding(ary){const encodedArray=[];for(const element of ary){if(encodedArray.length===0||encodedArray[encodedArray.length-1].value!==element){encodedArray.push({value:element,count:1,});}else{encodedArray[encodedArray.length-1].count+=1;}} 4865return encodedArray;} 4866return{addSingletonGetter,deepCopy,normalizeException,stackTrace,stackTraceAsString,formatDate,numberToJson,numberFromJson,getUsingPath,runLengthEncoding,};});'use strict';tr.exportTo('tr.b',function(){const ESTIMATED_IDLE_PERIOD_LENGTH_MILLISECONDS=10;const REQUEST_IDLE_CALLBACK_TIMEOUT_MILLISECONDS=100;const recordRAFStacks=false;let pendingPreAFs=[];let pendingRAFs=[];const pendingIdleCallbacks=[];let currentRAFDispatchList=undefined;let rafScheduled=false;let idleWorkScheduled=false;function scheduleRAF(){if(rafScheduled)return;rafScheduled=true;if(tr.isHeadless){Promise.resolve().then(function(){processRequests(false,0);},function(e){throw e;});}else{if(window.requestAnimationFrame){window.requestAnimationFrame(processRequests.bind(this,false));}else{const delta=Date.now()-window.performance.now();window.webkitRequestAnimationFrame(function(domTimeStamp){processRequests(false,domTimeStamp-delta);});}}} 4867function nativeRequestIdleCallbackSupported(){return!tr.isHeadless&&window.requestIdleCallback;} 4868function scheduleIdleWork(){if(idleWorkScheduled)return;if(!nativeRequestIdleCallbackSupported()){scheduleRAF();return;} 4869idleWorkScheduled=true;window.requestIdleCallback(function(deadline,didTimeout){processIdleWork(false,deadline);},{timeout:REQUEST_IDLE_CALLBACK_TIMEOUT_MILLISECONDS});} 4870function onAnimationFrameError(e,opt_stack){console.log(e.stack);if(tr.isHeadless)throw e;if(opt_stack)console.log(opt_stack);if(e.message){console.error(e.message,e.stack);}else{console.error(e);}} 4871function runTask(task,frameBeginTime){try{task.callback.call(task.context,frameBeginTime);}catch(e){tr.b.onAnimationFrameError(e,task.stack);}} 4872function processRequests(forceAllTasksToRun,frameBeginTime){rafScheduled=false;const currentPreAFs=pendingPreAFs;currentRAFDispatchList=pendingRAFs;pendingPreAFs=[];pendingRAFs=[];const hasRAFTasks=currentPreAFs.length||currentRAFDispatchList.length;for(let i=0;i<currentPreAFs.length;i++){runTask(currentPreAFs[i],frameBeginTime);} 4873while(currentRAFDispatchList.length>0){runTask(currentRAFDispatchList.shift(),frameBeginTime);} 4874currentRAFDispatchList=undefined;if((!hasRAFTasks&&!nativeRequestIdleCallbackSupported())||forceAllTasksToRun){const rafCompletionDeadline=frameBeginTime+ESTIMATED_IDLE_PERIOD_LENGTH_MILLISECONDS;processIdleWork(forceAllTasksToRun,{timeRemaining(){return rafCompletionDeadline-window.performance.now();}});} 4875if(pendingIdleCallbacks.length>0)scheduleIdleWork();} 4876function processIdleWork(forceAllTasksToRun,deadline){idleWorkScheduled=false;while(pendingIdleCallbacks.length>0){runTask(pendingIdleCallbacks.shift());if(!forceAllTasksToRun&&(tr.isHeadless||deadline.timeRemaining()<=0)){break;}} 4877if(pendingIdleCallbacks.length>0)scheduleIdleWork();} 4878function getStack_(){if(!recordRAFStacks)return'';const stackLines=tr.b.stackTrace();stackLines.shift();return stackLines.join('\n');} 4879function requestPreAnimationFrame(callback,opt_this){pendingPreAFs.push({callback,context:opt_this||global,stack:getStack_()});scheduleRAF();} 4880function requestAnimationFrameInThisFrameIfPossible(callback,opt_this){if(!currentRAFDispatchList){requestAnimationFrame(callback,opt_this);return;} 4881currentRAFDispatchList.push({callback,context:opt_this||global,stack:getStack_()});return;} 4882function requestAnimationFrame(callback,opt_this){pendingRAFs.push({callback,context:opt_this||global,stack:getStack_()});scheduleRAF();} 4883function animationFrame(){return new Promise(resolve=>requestAnimationFrame(resolve));} 4884function requestIdleCallback(callback,opt_this){pendingIdleCallbacks.push({callback,context:opt_this||global,stack:getStack_()});scheduleIdleWork();} 4885function forcePendingRAFTasksToRun(frameBeginTime){if(!rafScheduled)return;processRequests(false,frameBeginTime);} 4886function forceAllPendingTasksToRunForTest(){if(!rafScheduled&&!idleWorkScheduled)return;processRequests(true,0);} 4887function timeout(ms){return new Promise(resolve=>window.setTimeout(resolve,ms));} 4888function idle(){return new Promise(resolve=>requestIdleCallback(resolve));} 4889return{animationFrame,forceAllPendingTasksToRunForTest,forcePendingRAFTasksToRun,idle,onAnimationFrameError,requestAnimationFrame,requestAnimationFrameInThisFrameIfPossible,requestIdleCallback,requestPreAnimationFrame,timeout,};});'use strict';tr.exportTo('tr.b',function(){class Mark{constructor(groupName,functionName){if(tr.isHeadless)return;this.groupName_=groupName;this.functionName_=functionName;const guid=tr.b.GUID.allocateSimple();this.measureName_=`${groupName} ${functionName}`;this.startMarkName_=`${this.measureName} ${guid} start`;this.endMarkName_=`${this.measureName} ${guid} end`;window.performance.mark(this.startMarkName_);} 4890get groupName(){return this.groupName_;} 4891get functionName(){return this.functionName_;} 4892get measureName(){return this.measureName_;} 4893get startMark(){return tr.b.getOnlyElement(window.performance.getEntriesByName(this.startMarkName_));} 4894get endMark(){return tr.b.getOnlyElement(window.performance.getEntriesByName(this.endMarkName_));} 4895get durationMs(){return this.endMark.startTime-this.startMark.startTime;} 4896end(){if(tr.isHeadless)return;window.performance.mark(this.endMarkName_);window.performance.measure(this.measureName_,this.startMarkName_,this.endMarkName_);if(!(window.ga instanceof Function))return;ga('send',{hitType:'event',eventCategory:this.groupName,eventAction:this.functionName,eventValue:this.durationMs,});}} 4897class Timing{static mark(groupName,functionName){return new Mark(groupName,functionName);} 4898static instant(groupName,functionName,opt_value){const valueString=opt_value===undefined?'':' '+opt_value;console.timeStamp(`${groupName} ${functionName}${valueString}`);if(!(window.ga instanceof Function))return;ga('send',{hitType:'event',eventCategory:groupName,eventAction:functionName,eventValue:opt_value,});}} 4899return{Timing,};});'use strict';tr.exportTo('tr.b',function(){const Timing=tr.b.Timing;function Task(runCb,thisArg){if(runCb!==undefined&&thisArg===undefined&&runCb.prototype!==undefined){throw new Error('Almost certainly you meant to pass a bound callback '+'or thisArg.');} 4900this.runCb_=runCb;this.thisArg_=thisArg;this.afterTask_=undefined;this.subTasks_=[];this.updatesUi_=false;} 4901Task.prototype={get name(){return this.runCb_.name;},set updatesUi(value){this.updatesUi_=value;},subTask(cb,thisArg){if(cb instanceof Task){this.subTasks_.push(cb);}else{this.subTasks_.push(new Task(cb,thisArg));} 4902return this.subTasks_[this.subTasks_.length-1];},run(){if(this.runCb_!==undefined)this.runCb_.call(this.thisArg_,this);const subTasks=this.subTasks_;this.subTasks_=undefined;if(!subTasks.length)return this.afterTask_;for(let i=1;i<subTasks.length;i++){subTasks[i-1].afterTask_=subTasks[i];} 4903subTasks[subTasks.length-1].afterTask_=this.afterTask_;return subTasks[0];},after(cb,thisArg){if(this.afterTask_){throw new Error('Has an after task already');} 4904if(cb instanceof Task){this.afterTask_=cb;}else{this.afterTask_=new Task(cb,thisArg);} 4905return this.afterTask_;},enqueue(cb,thisArg){if(!this.afterTask_)return this.after(cb,thisArg);return this.afterTask_.enqueue(cb,thisArg);}};Task.RunSynchronously=function(task){let curTask=task;while(curTask){curTask=curTask.run();}};Task.RunWhenIdle=function(task){return new Promise(function(resolve,reject){let curTask=task;function runAnother(){try{curTask=curTask.run();}catch(e){reject(e);return;} 4906if(curTask){if(curTask.updatesUi_){tr.b.requestAnimationFrameInThisFrameIfPossible(runAnother);}else{tr.b.requestIdleCallback(runAnother);} 4907return;} 4908resolve();} 4909tr.b.requestIdleCallback(runAnother);});};return{Task,};});'use strict';tr.exportTo('tr.c',function(){function makeCaseInsensitiveRegex(pattern){pattern=pattern.replace(/[.*+?^${}()|[\]\\]/g,'\\$&');return new RegExp(pattern,'i');} 4910function Filter(){} 4911Filter.prototype={__proto__:Object.prototype,matchCounter(counter){return true;},matchCpu(cpu){return true;},matchProcess(process){return true;},matchSlice(slice){return true;},matchThread(thread){return true;}};function TitleOrCategoryFilter(text){Filter.call(this);this.regex_=makeCaseInsensitiveRegex(text);if(!text.length){throw new Error('Filter text is empty.');}} 4912TitleOrCategoryFilter.prototype={__proto__:Filter.prototype,matchSlice(slice){if(slice.title===undefined&&slice.category===undefined){return false;} 4913return this.regex_.test(slice.title)||(!!slice.category&&this.regex_.test(slice.category));}};function ExactTitleFilter(text){Filter.call(this);this.text_=text;if(!text.length){throw new Error('Filter text is empty.');}} 4914ExactTitleFilter.prototype={__proto__:Filter.prototype,matchSlice(slice){return slice.title===this.text_;}};function FullTextFilter(text){Filter.call(this);this.regex_=makeCaseInsensitiveRegex(text);this.titleOrCategoryFilter_=new TitleOrCategoryFilter(text);} 4915FullTextFilter.prototype={__proto__:Filter.prototype,matchObject_(obj){for(const key in obj){if(!obj.hasOwnProperty(key))continue;if(this.regex_.test(key))return true;if(this.regex_.test(obj[key]))return true;} 4916return false;},matchSlice(slice){if(this.titleOrCategoryFilter_.matchSlice(slice))return true;return this.matchObject_(slice.args);}};return{Filter,TitleOrCategoryFilter,ExactTitleFilter,FullTextFilter,};});'use strict';tr.exportTo('tr.model',function(){const ClockDomainId={BATTOR:'BATTOR',UNKNOWN_CHROME_LEGACY:'UNKNOWN_CHROME_LEGACY',LINUX_CLOCK_MONOTONIC:'LINUX_CLOCK_MONOTONIC',LINUX_FTRACE_GLOBAL:'LINUX_FTRACE_GLOBAL',MAC_MACH_ABSOLUTE_TIME:'MAC_MACH_ABSOLUTE_TIME',WIN_ROLLOVER_PROTECTED_TIME_GET_TIME:'WIN_ROLLOVER_PROTECTED_TIME_GET_TIME',WIN_QPC:'WIN_QPC',SYSTRACE:'SYSTRACE',TELEMETRY:'TELEMETRY'};const POSSIBLE_CHROME_CLOCK_DOMAINS=new Set([ClockDomainId.UNKNOWN_CHROME_LEGACY,ClockDomainId.LINUX_CLOCK_MONOTONIC,ClockDomainId.MAC_MACH_ABSOLUTE_TIME,ClockDomainId.WIN_ROLLOVER_PROTECTED_TIME_GET_TIME,ClockDomainId.WIN_QPC]);const BATTOR_FAST_SYNC_THRESHOLD_MS=3;function ClockSyncManager(){this.domainsSeen_=new Set();this.markersBySyncId_=new Map();this.transformerMapByDomainId_={};} 4917ClockSyncManager.prototype={addClockSyncMarker(domainId,syncId,startTs,opt_endTs){this.onDomainSeen_(domainId);if(Object.values(ClockDomainId).indexOf(domainId)<0){throw new Error('"'+domainId+'" is not in the list of known '+'clock domain IDs.');} 4918if(this.modelDomainId_){throw new Error('Cannot add new clock sync markers after getting '+'a model time transformer.');} 4919const marker=new ClockSyncMarker(domainId,startTs,opt_endTs);if(!this.markersBySyncId_.has(syncId)){this.markersBySyncId_.set(syncId,[marker]);return;} 4920const markers=this.markersBySyncId_.get(syncId);if(markers.length===2){throw new Error('Clock sync with ID "'+syncId+'" is already '+'complete - cannot add a third clock sync marker to it.');} 4921if(markers[0].domainId===domainId){throw new Error('A clock domain cannot sync with itself.');} 4922markers.push(marker);this.onSyncCompleted_(markers[0],marker);},get markersBySyncId(){return this.markersBySyncId_;},get domainsSeen(){return this.domainsSeen_;},getModelTimeTransformer(domainId){this.onDomainSeen_(domainId);if(!this.modelDomainId_){this.selectModelDomainId_();} 4923return this.getTimeTransformerRaw_(domainId,this.modelDomainId_).fn;},getTimeTransformerError(fromDomainId,toDomainId){this.onDomainSeen_(fromDomainId);this.onDomainSeen_(toDomainId);return this.getTimeTransformerRaw_(fromDomainId,toDomainId).error;},getTimeTransformerRaw_(fromDomainId,toDomainId){const transformer=this.getTransformerBetween_(fromDomainId,toDomainId);if(!transformer){throw new Error('No clock sync markers exist pairing clock domain "'+ 4924fromDomainId+'" '+'with target clock domain "'+ 4925toDomainId+'".');} 4926return transformer;},getTransformerBetween_(fromDomainId,toDomainId){const visitedDomainIds=new Set();const queue=[{domainId:fromDomainId,transformer:Transformer.IDENTITY}];while(queue.length>0){queue.sort((domain1,domain2)=>domain1.transformer.error-domain2.transformer.error);const current=queue.shift();if(current.domainId===toDomainId){return current.transformer;} 4927if(visitedDomainIds.has(current.domainId)){continue;} 4928visitedDomainIds.add(current.domainId);const outgoingTransformers=this.transformerMapByDomainId_[current.domainId];if(!outgoingTransformers)continue;for(const outgoingDomainId in outgoingTransformers){const toNextDomainTransformer=outgoingTransformers[outgoingDomainId];const toCurrentDomainTransformer=current.transformer;queue.push({domainId:outgoingDomainId,transformer:Transformer.compose(toNextDomainTransformer,toCurrentDomainTransformer)});}} 4929return undefined;},selectModelDomainId_(){this.ensureAllDomainsAreConnected_();for(const chromeDomainId of POSSIBLE_CHROME_CLOCK_DOMAINS){if(this.domainsSeen_.has(chromeDomainId)){this.modelDomainId_=chromeDomainId;return;}} 4930const domainsSeenArray=Array.from(this.domainsSeen_);domainsSeenArray.sort();this.modelDomainId_=domainsSeenArray[0];},ensureAllDomainsAreConnected_(){let firstDomainId=undefined;for(const domainId of this.domainsSeen_){if(!firstDomainId){firstDomainId=domainId;continue;} 4931if(!this.getTransformerBetween_(firstDomainId,domainId)){throw new Error('Unable to select a primary clock domain because no '+'path can be found from "'+firstDomainId+'" to "'+domainId+'".');}} 4932return true;},onDomainSeen_(domainId){if(domainId===ClockDomainId.UNKNOWN_CHROME_LEGACY&&!this.domainsSeen_.has(ClockDomainId.UNKNOWN_CHROME_LEGACY)){for(const chromeDomainId of POSSIBLE_CHROME_CLOCK_DOMAINS){if(chromeDomainId===ClockDomainId.UNKNOWN_CHROME_LEGACY){continue;} 4933this.collapseDomains_(ClockDomainId.UNKNOWN_CHROME_LEGACY,chromeDomainId);}} 4934this.domainsSeen_.add(domainId);},onSyncCompleted_(marker1,marker2){const forwardTransformer=Transformer.fromMarkers(marker1,marker2);const backwardTransformer=Transformer.fromMarkers(marker2,marker1);const existingTransformer=this.getOrCreateTransformerMap_(marker1.domainId)[marker2.domainId];if(!existingTransformer||forwardTransformer.error<existingTransformer.error){this.getOrCreateTransformerMap_(marker1.domainId)[marker2.domainId]=forwardTransformer;this.getOrCreateTransformerMap_(marker2.domainId)[marker1.domainId]=backwardTransformer;}},collapseDomains_(domain1Id,domain2Id){this.getOrCreateTransformerMap_(domain1Id)[domain2Id]=this.getOrCreateTransformerMap_(domain2Id)[domain1Id]=Transformer.IDENTITY;},getOrCreateTransformerMap_(domainId){if(!this.transformerMapByDomainId_[domainId]){this.transformerMapByDomainId_[domainId]={};} 4935return this.transformerMapByDomainId_[domainId];},computeDotGraph(){let dotString='graph {\n';const domainsSeen=[...this.domainsSeen_].sort();for(const domainId of domainsSeen){dotString+=` ${domainId}[shape=box]\n`;} 4936const markersBySyncIdEntries=[...this.markersBySyncId_.entries()].sort(([syncId1,markers1],[syncId2,markers2])=>syncId1.localeCompare(syncId2));for(const[syncId,markers]of markersBySyncIdEntries){const sortedMarkers=markers.sort((a,b)=>a.domainId.localeCompare(b.domainId));for(const m of markers){dotString+=` "${syncId}" -- ${m.domainId} `;dotString+=`[label="[${m.startTs}, ${m.endTs}]"]\n`;}} 4937dotString+='}';return dotString;}};function ClockSyncMarker(domainId,startTs,opt_endTs){this.domainId=domainId;this.startTs=startTs;this.endTs=opt_endTs===undefined?startTs:opt_endTs;} 4938ClockSyncMarker.prototype={get duration(){return this.endTs-this.startTs;},get ts(){return this.startTs+this.duration/2;}};function Transformer(fn,error){this.fn=fn;this.error=error;} 4939Transformer.IDENTITY=new Transformer(tr.b.identity,0);Transformer.compose=function(aToB,bToC){return new Transformer((ts)=>bToC.fn(aToB.fn(ts)),aToB.error+bToC.error);};Transformer.fromMarkers=function(fromMarker,toMarker){let fromTs=fromMarker.ts;let toTs=toMarker.ts;if(fromMarker.domainId===ClockDomainId.BATTOR&&toMarker.duration>BATTOR_FAST_SYNC_THRESHOLD_MS){toTs=toMarker.startTs;}else if(toMarker.domainId===ClockDomainId.BATTOR&&fromMarker.duration>BATTOR_FAST_SYNC_THRESHOLD_MS){fromTs=fromMarker.startTs;} 4940const tsShift=toTs-fromTs;return new Transformer((ts)=>ts+tsShift,fromMarker.duration+toMarker.duration);};return{ClockDomainId,ClockSyncManager,};});'use strict';tr.exportTo('tr.model',function(){function CounterSample(series,timestamp,value){tr.model.Event.call(this);this.series_=series;this.timestamp_=timestamp;this.value_=value;} 4941CounterSample.groupByTimestamp=function(samples){const samplesByTimestamp=tr.b.groupIntoMap(samples,s=>s.timestamp);const timestamps=Array.from(samplesByTimestamp.keys());timestamps.sort();const groups=[];for(const ts of timestamps){const group=samplesByTimestamp.get(ts);group.sort((x,y)=>x.series.seriesIndex-y.series.seriesIndex);groups.push(group);} 4942return groups;};CounterSample.prototype={__proto__:tr.model.Event.prototype,get series(){return this.series_;},get timestamp(){return this.timestamp_;},get value(){return this.value_;},set timestamp(timestamp){this.timestamp_=timestamp;},addBoundsToRange(range){range.addValue(this.timestamp);},getSampleIndex(){return tr.b.math.findLowIndexInSortedArray(this.series.timestamps,function(x){return x;},this.timestamp_);},get userFriendlyName(){return'Counter sample from '+this.series_.title+' at '+ 4943tr.b.Unit.byName.timeStampInMs.format(this.timestamp);}};tr.model.EventRegistry.register(CounterSample,{name:'counterSample',pluralName:'counterSamples'});return{CounterSample,};});'use strict';tr.exportTo('tr.model',function(){const CounterSample=tr.model.CounterSample;function CounterSeries(name,color){tr.model.EventContainer.call(this);this.name_=name;this.color_=color;this.timestamps_=[];this.samples_=[];this.counter=undefined;this.seriesIndex=undefined;} 4944CounterSeries.prototype={__proto__:tr.model.EventContainer.prototype,get length(){return this.timestamps_.length;},get name(){return this.name_;},get color(){return this.color_;},get samples(){return this.samples_;},get timestamps(){return this.timestamps_;},getSample(idx){return this.samples_[idx];},getTimestamp(idx){return this.timestamps_[idx];},addCounterSample(ts,val){const sample=new CounterSample(this,ts,val);this.addSample(sample);return sample;},addSample(sample){this.timestamps_.push(sample.timestamp);this.samples_.push(sample);},getStatistics(sampleIndices){let sum=0;let min=Number.MAX_VALUE;let max=-Number.MAX_VALUE;for(let i=0;i<sampleIndices.length;++i){const sample=this.getSample(sampleIndices[i]).value;sum+=sample;min=Math.min(sample,min);max=Math.max(sample,max);} 4945return{min,max,avg:(sum/sampleIndices.length),start:this.getSample(sampleIndices[0]).value,end:this.getSample(sampleIndices.length-1).value};},shiftTimestampsForward(amount){for(let i=0;i<this.timestamps_.length;++i){this.timestamps_[i]+=amount;this.samples_[i].timestamp=this.timestamps_[i];}},*childEvents(){yield*this.samples_;},*childEventContainers(){}};return{CounterSeries,};});'use strict';tr.exportTo('tr.model',function(){function Counter(parent,id,category,name){tr.model.EventContainer.call(this);this.parent_=parent;this.id_=id;this.category_=category||'';this.name_=name;this.series_=[];this.totals=[];} 4946Counter.prototype={__proto__:tr.model.EventContainer.prototype,get parent(){return this.parent_;},get id(){return this.id_;},get category(){return this.category_;},get name(){return this.name_;},*childEvents(){},*childEventContainers(){yield*this.series;},set timestamps(arg){throw new Error('Bad counter API. No cookie.');},set seriesNames(arg){throw new Error('Bad counter API. No cookie.');},set seriesColors(arg){throw new Error('Bad counter API. No cookie.');},set samples(arg){throw new Error('Bad counter API. No cookie.');},addSeries(series){series.counter=this;series.seriesIndex=this.series_.length;this.series_.push(series);return series;},getSeries(idx){return this.series_[idx];},get series(){return this.series_;},get numSeries(){return this.series_.length;},get numSamples(){if(this.series_.length===0)return 0;return this.series_[0].length;},get timestamps(){if(this.series_.length===0)return[];return this.series_[0].timestamps;},getSampleStatistics(sampleIndices){sampleIndices.sort();const ret=[];this.series_.forEach(function(series){ret.push(series.getStatistics(sampleIndices));});return ret;},shiftTimestampsForward(amount){for(let i=0;i<this.series_.length;++i){this.series_[i].shiftTimestampsForward(amount);}},updateBounds(){this.totals=[];this.maxTotal=0;this.bounds.reset();if(this.series_.length===0)return;const firstSeries=this.series_[0];const lastSeries=this.series_[this.series_.length-1];this.bounds.addValue(firstSeries.getTimestamp(0));this.bounds.addValue(lastSeries.getTimestamp(lastSeries.length-1));const numSeries=this.numSeries;this.maxTotal=-Infinity;for(let i=0;i<firstSeries.length;++i){let total=0;this.series_.forEach(function(series){total+=series.getSample(i).value;this.totals.push(total);}.bind(this));this.maxTotal=Math.max(total,this.maxTotal);}}};Counter.compare=function(x,y){let tmp=x.parent.compareTo(y.parent);if(tmp!==0)return tmp;tmp=x.name.localeCompare(y.name);if(tmp===0)return x.tid-y.tid;return tmp;};return{Counter,};});'use strict';tr.exportTo('tr.model',function(){const Slice=tr.model.Slice;function CpuSlice(cat,title,colorId,start,args,opt_duration){Slice.apply(this,arguments);this.threadThatWasRunning=undefined;this.cpu=undefined;} 4947CpuSlice.prototype={__proto__:Slice.prototype,get analysisTypeName(){return'tr.ui.analysis.CpuSlice';},getAssociatedTimeslice(){if(!this.threadThatWasRunning){return undefined;} 4948const timeSlices=this.threadThatWasRunning.timeSlices;for(let i=0;i<timeSlices.length;i++){const timeSlice=timeSlices[i];if(timeSlice.start!==this.start){continue;} 4949if(timeSlice.duration!==this.duration){continue;} 4950return timeSlice;} 4951return undefined;}};tr.model.EventRegistry.register(CpuSlice,{name:'cpuSlice',pluralName:'cpuSlices'});return{CpuSlice,};});'use strict';tr.exportTo('tr.model',function(){function TimeToObjectInstanceMap(createObjectInstanceFunction,parent,scopedId){this.createObjectInstanceFunction_=createObjectInstanceFunction;this.parent=parent;this.scopedId=scopedId;this.instances=[];} 4952TimeToObjectInstanceMap.prototype={idWasCreated(category,name,ts){if(this.instances.length===0){this.instances.push(this.createObjectInstanceFunction_(this.parent,this.scopedId,category,name,ts));this.instances[0].creationTsWasExplicit=true;return this.instances[0];} 4953let lastInstance=this.instances[this.instances.length-1];if(ts<lastInstance.deletionTs){throw new Error('Mutation of the TimeToObjectInstanceMap must be '+'done in ascending timestamp order.');} 4954lastInstance=this.createObjectInstanceFunction_(this.parent,this.scopedId,category,name,ts);lastInstance.creationTsWasExplicit=true;this.instances.push(lastInstance);return lastInstance;},addSnapshot(category,name,ts,args,opt_baseTypeName){if(this.instances.length===0){this.instances.push(this.createObjectInstanceFunction_(this.parent,this.scopedId,category,name,ts,opt_baseTypeName));} 4955const i=tr.b.math.findIndexInSortedIntervals(this.instances,function(inst){return inst.creationTs;},function(inst){return inst.deletionTs-inst.creationTs;},ts);let instance;if(i<0){instance=this.instances[0];if(ts>instance.deletionTs||instance.creationTsWasExplicit){throw new Error('At the provided timestamp, no instance was still alive');} 4956if(instance.snapshots.length!==0){throw new Error('Cannot shift creationTs forward, '+'snapshots have been added. First snap was at ts='+ 4957instance.snapshots[0].ts+' and creationTs was '+ 4958instance.creationTs);} 4959instance.creationTs=ts;}else if(i>=this.instances.length){instance=this.instances[this.instances.length-1];if(ts>=instance.deletionTs){instance=this.createObjectInstanceFunction_(this.parent,this.scopedId,category,name,ts,opt_baseTypeName);this.instances.push(instance);}else{let lastValidIndex;for(let i=this.instances.length-1;i>=0;i--){const tmp=this.instances[i];if(ts>=tmp.deletionTs)break;if(tmp.creationTsWasExplicit===false&&tmp.snapshots.length===0){lastValidIndex=i;}} 4960if(lastValidIndex===undefined){throw new Error('Cannot add snapshot. No instance was alive that was mutable.');} 4961instance=this.instances[lastValidIndex];instance.creationTs=ts;}}else{instance=this.instances[i];} 4962return instance.addSnapshot(ts,args,name,opt_baseTypeName);},get lastInstance(){if(this.instances.length===0)return undefined;return this.instances[this.instances.length-1];},idWasDeleted(category,name,ts){if(this.instances.length===0){this.instances.push(this.createObjectInstanceFunction_(this.parent,this.scopedId,category,name,ts));} 4963let lastInstance=this.instances[this.instances.length-1];if(ts<lastInstance.creationTs){throw new Error('Cannot delete an id before it was created');} 4964if(lastInstance.deletionTs===Number.MAX_VALUE){lastInstance.wasDeleted(ts);return lastInstance;} 4965if(ts<lastInstance.deletionTs){throw new Error('id was already deleted earlier.');} 4966lastInstance=this.createObjectInstanceFunction_(this.parent,this.scopedId,category,name,ts);this.instances.push(lastInstance);lastInstance.wasDeleted(ts);return lastInstance;},getInstanceAt(ts){const i=tr.b.math.findIndexInSortedIntervals(this.instances,function(inst){return inst.creationTs;},function(inst){return inst.deletionTs-inst.creationTs;},ts);if(i<0){if(this.instances[0].creationTsWasExplicit){return undefined;} 4967return this.instances[0];}else if(i>=this.instances.length){return undefined;} 4968return this.instances[i];}};return{TimeToObjectInstanceMap,};});'use strict';tr.exportTo('tr.model',function(){const ObjectInstance=tr.model.ObjectInstance;const ObjectSnapshot=tr.model.ObjectSnapshot;function ObjectCollection(parent){tr.model.EventContainer.call(this);this.parent=parent;this.instanceMapsByScopedId_={};this.instancesByTypeName_={};this.createObjectInstance_=this.createObjectInstance_.bind(this);} 4969ObjectCollection.prototype={__proto__:tr.model.EventContainer.prototype,*childEvents(){for(const instance of this.getAllObjectInstances()){yield instance;yield*instance.snapshots;}},createObjectInstance_(parent,scopedId,category,name,creationTs,opt_baseTypeName){const constructor=tr.model.ObjectInstance.subTypes.getConstructor(category,name);const instance=new constructor(parent,scopedId,category,name,creationTs,opt_baseTypeName);const typeName=instance.typeName;let instancesOfTypeName=this.instancesByTypeName_[typeName];if(!instancesOfTypeName){instancesOfTypeName=[];this.instancesByTypeName_[typeName]=instancesOfTypeName;} 4970instancesOfTypeName.push(instance);return instance;},getOrCreateInstanceMap_(scopedId){let dict;if(scopedId.scope in this.instanceMapsByScopedId_){dict=this.instanceMapsByScopedId_[scopedId.scope];}else{dict={};this.instanceMapsByScopedId_[scopedId.scope]=dict;} 4971let instanceMap=dict[scopedId.id];if(instanceMap)return instanceMap;instanceMap=new tr.model.TimeToObjectInstanceMap(this.createObjectInstance_,this.parent,scopedId);dict[scopedId.id]=instanceMap;return instanceMap;},idWasCreated(scopedId,category,name,ts){const instanceMap=this.getOrCreateInstanceMap_(scopedId);return instanceMap.idWasCreated(category,name,ts);},addSnapshot(scopedId,category,name,ts,args,opt_baseTypeName){const instanceMap=this.getOrCreateInstanceMap_(scopedId);const snapshot=instanceMap.addSnapshot(category,name,ts,args,opt_baseTypeName);if(snapshot.objectInstance.category!==category){const msg='Added snapshot name='+name+' with cat='+category+' impossible. It instance was created/snapshotted with cat='+ 4972snapshot.objectInstance.category+' name='+ 4973snapshot.objectInstance.name;throw new Error(msg);} 4974if(opt_baseTypeName&&snapshot.objectInstance.baseTypeName!==opt_baseTypeName){throw new Error('Could not add snapshot with baseTypeName='+ 4975opt_baseTypeName+'. It '+'was previously created with name='+ 4976snapshot.objectInstance.baseTypeName);} 4977if(snapshot.objectInstance.name!==name){throw new Error('Could not add snapshot with name='+name+'. It '+'was previously created with name='+ 4978snapshot.objectInstance.name);} 4979return snapshot;},idWasDeleted(scopedId,category,name,ts){const instanceMap=this.getOrCreateInstanceMap_(scopedId);const deletedInstance=instanceMap.idWasDeleted(category,name,ts);if(!deletedInstance)return;if(deletedInstance.category!==category){const msg='Deleting object '+deletedInstance.name+' with a different category '+'than when it was created. It previous had cat='+ 4980deletedInstance.category+' but the delete command '+'had cat='+category;throw new Error(msg);} 4981if(deletedInstance.baseTypeName!==name){throw new Error('Deletion requested for name='+ 4982name+' could not proceed: '+'An existing object with baseTypeName='+ 4983deletedInstance.baseTypeName+' existed.');}},autoDeleteObjects(maxTimestamp){for(const imapById of Object.values(this.instanceMapsByScopedId_)){for(const i2imap of Object.values(imapById)){const lastInstance=i2imap.lastInstance;if(lastInstance.deletionTs!==Number.MAX_VALUE)continue;i2imap.idWasDeleted(lastInstance.category,lastInstance.name,maxTimestamp);lastInstance.deletionTsWasExplicit=false;}}},getObjectInstanceAt(scopedId,ts){let instanceMap;if(scopedId.scope in this.instanceMapsByScopedId_){instanceMap=this.instanceMapsByScopedId_[scopedId.scope][scopedId.id];} 4984if(!instanceMap)return undefined;return instanceMap.getInstanceAt(ts);},getSnapshotAt(scopedId,ts){const instance=this.getObjectInstanceAt(scopedId,ts);if(!instance)return undefined;return instance.getSnapshotAt(ts);},iterObjectInstances(iter,opt_this){opt_this=opt_this||this;for(const imapById of Object.values(this.instanceMapsByScopedId_)){for(const i2imap of Object.values(imapById)){i2imap.instances.forEach(iter,opt_this);}}},getAllObjectInstances(){const instances=[];this.iterObjectInstances(function(i){instances.push(i);});return instances;},getAllInstancesNamed(name){return this.instancesByTypeName_[name];},getAllInstancesByTypeName(){return this.instancesByTypeName_;},preInitializeAllObjects(){this.iterObjectInstances(function(instance){instance.preInitialize();});},initializeAllObjects(){this.iterObjectInstances(function(instance){instance.initialize();});},initializeInstances(){this.iterObjectInstances(function(instance){instance.initialize();});},updateBounds(){this.bounds.reset();this.iterObjectInstances(function(instance){instance.updateBounds();this.bounds.addRange(instance.bounds);},this);},shiftTimestampsForward(amount){this.iterObjectInstances(function(instance){instance.shiftTimestampsForward(amount);});},addCategoriesToDict(categoriesDict){this.iterObjectInstances(function(instance){categoriesDict[instance.category]=true;});}};return{ObjectCollection,};});'use strict';tr.exportTo('tr.model',function(){function AsyncSliceGroup(parentContainer,opt_name){tr.model.EventContainer.call(this);this.parentContainer_=parentContainer;this.slices=[];this.name_=opt_name;this.viewSubGroups_=undefined;} 4985AsyncSliceGroup.prototype={__proto__:tr.model.EventContainer.prototype,get parentContainer(){return this.parentContainer_;},get model(){return this.parentContainer_.parent.model;},get stableId(){return this.parentContainer_.stableId+'.AsyncSliceGroup';},getSettingsKey(){if(!this.name_)return undefined;const parentKey=this.parentContainer_.getSettingsKey();if(!parentKey)return undefined;return parentKey+'.'+this.name_;},push(slice){slice.parentContainer=this.parentContainer;this.slices.push(slice);return slice;},get length(){return this.slices.length;},shiftTimestampsForward(amount){for(let sI=0;sI<this.slices.length;sI++){const slice=this.slices[sI];slice.start=(slice.start+amount);const shiftSubSlices=function(subSlices){if(subSlices===undefined||subSlices.length===0)return;for(let sJ=0;sJ<subSlices.length;sJ++){subSlices[sJ].start+=amount;shiftSubSlices(subSlices[sJ].subSlices);}};shiftSubSlices(slice.subSlices);}},updateBounds(){this.bounds.reset();for(let i=0;i<this.slices.length;i++){this.bounds.addValue(this.slices[i].start);this.bounds.addValue(this.slices[i].end);}},get viewSubGroups(){if(this.viewSubGroups_===undefined){let prefix='';if(this.name!==undefined){prefix=this.name+'.';}else{prefix='';} 4986const subGroupsByTitle={};for(let i=0;i<this.slices.length;++i){const slice=this.slices[i];const subGroupTitle=slice.viewSubGroupTitle;if(!subGroupsByTitle[subGroupTitle]){subGroupsByTitle[subGroupTitle]=new AsyncSliceGroup(this.parentContainer_,prefix+subGroupTitle);} 4987subGroupsByTitle[subGroupTitle].push(slice);} 4988this.viewSubGroups_=Object.values(subGroupsByTitle);this.viewSubGroups_.sort(function(a,b){return a.slices[0].compareTo(b.slices[0]);});} 4989return this.viewSubGroups_;},*findTopmostSlicesInThisContainer(eventPredicate,opt_this){for(const slice of this.slices){if(slice.isTopLevel){yield*slice.findTopmostSlicesRelativeToThisSlice(eventPredicate,opt_this);}}},*childEvents(){for(const slice of this.slices){yield slice;if(slice.subSlices){yield*slice.subSlices;}}},*childEventContainers(){}};return{AsyncSliceGroup,};});'use strict';tr.exportTo('tr.model',function(){const Slice=tr.model.Slice;function ThreadSlice(cat,title,colorId,start,args,opt_duration,opt_cpuStart,opt_cpuDuration,opt_argsStripped,opt_bindId){Slice.call(this,cat,title,colorId,start,args,opt_duration,opt_cpuStart,opt_cpuDuration,opt_argsStripped,opt_bindId);this.subSlices=[];} 4990ThreadSlice.prototype={__proto__:Slice.prototype,get overlappingSamples(){const samples=new tr.model.EventSet();if(!this.parentContainer||!this.parentContainer.samples){return samples;} 4991this.parentContainer.samples.forEach(function(sample){if(this.start<=sample.start&&sample.start<=this.end){samples.push(sample);}},this);return samples;}};tr.model.EventRegistry.register(ThreadSlice,{name:'slice',pluralName:'slices'});return{ThreadSlice,};});'use strict';tr.exportTo('tr.model',function(){const ColorScheme=tr.b.ColorScheme;const ThreadSlice=tr.model.ThreadSlice;function getSliceLo(s){return s.start;} 4992function getSliceHi(s){return s.end;} 4993function SliceGroup(parentContainer,opt_sliceConstructor,opt_name){tr.model.EventContainer.call(this);this.parentContainer_=parentContainer;const sliceConstructor=opt_sliceConstructor||ThreadSlice;this.sliceConstructor=sliceConstructor;this.sliceConstructorSubTypes=this.sliceConstructor.subTypes;if(!this.sliceConstructorSubTypes){throw new Error('opt_sliceConstructor must have a subtype registry.');} 4994this.openPartialSlices_=[];this.slices=[];this.topLevelSlices=[];this.haveTopLevelSlicesBeenBuilt=false;this.name_=opt_name;if(this.model===undefined){throw new Error('SliceGroup must have model defined.');}} 4995SliceGroup.prototype={__proto__:tr.model.EventContainer.prototype,get parentContainer(){return this.parentContainer_;},get model(){return this.parentContainer_.model;},get stableId(){return this.parentContainer_.stableId+'.SliceGroup';},getSettingsKey(){if(!this.name_)return undefined;const parentKey=this.parentContainer_.getSettingsKey();if(!parentKey)return undefined;return parentKey+'.'+this.name;},get length(){return this.slices.length;},pushSlice(slice){this.haveTopLevelSlicesBeenBuilt=false;slice.parentContainer=this.parentContainer_;this.slices.push(slice);return slice;},pushSlices(slices){this.haveTopLevelSlicesBeenBuilt=false;slices.forEach(function(slice){slice.parentContainer=this.parentContainer_;this.slices.push(slice);},this);},beginSlice(category,title,ts,opt_args,opt_tts,opt_argsStripped,opt_colorId){if(this.openPartialSlices_.length){const prevSlice=this.openPartialSlices_[this.openPartialSlices_.length-1];if(ts<prevSlice.start){throw new Error('Slices must be added in increasing timestamp order');}} 4996const colorId=opt_colorId||ColorScheme.getColorIdForGeneralPurposeString(title);const sliceConstructorSubTypes=this.sliceConstructorSubTypes;const sliceType=sliceConstructorSubTypes.getConstructor(category,title);const slice=new sliceType(category,title,colorId,ts,opt_args?opt_args:{},null,opt_tts,undefined,opt_argsStripped);this.openPartialSlices_.push(slice);slice.didNotFinish=true;this.pushSlice(slice);return slice;},isTimestampValidForBeginOrEnd(ts){if(!this.openPartialSlices_.length)return true;const top=this.openPartialSlices_[this.openPartialSlices_.length-1];return ts>=top.start;},get openSliceCount(){return this.openPartialSlices_.length;},get mostRecentlyOpenedPartialSlice(){if(!this.openPartialSlices_.length)return undefined;return this.openPartialSlices_[this.openPartialSlices_.length-1];},endSlice(ts,opt_tts,opt_colorId){if(!this.openSliceCount){throw new Error('endSlice called without an open slice');} 4997const slice=this.openPartialSlices_[this.openSliceCount-1];this.openPartialSlices_.splice(this.openSliceCount-1,1);if(ts<slice.start){throw new Error('Slice '+slice.title+' end time is before its start.');} 4998slice.duration=ts-slice.start;slice.didNotFinish=false;slice.colorId=opt_colorId||slice.colorId;if(opt_tts&&slice.cpuStart!==undefined){slice.cpuDuration=opt_tts-slice.cpuStart;} 4999return slice;},pushCompleteSlice(category,title,ts,duration,tts,cpuDuration,opt_args,opt_argsStripped,opt_colorId,opt_bindId){const colorId=opt_colorId||ColorScheme.getColorIdForGeneralPurposeString(title);const sliceConstructorSubTypes=this.sliceConstructorSubTypes;const sliceType=sliceConstructorSubTypes.getConstructor(category,title);const slice=new sliceType(category,title,colorId,ts,opt_args?opt_args:{},duration,tts,cpuDuration,opt_argsStripped,opt_bindId);if(duration===undefined){slice.didNotFinish=true;} 5000this.pushSlice(slice);return slice;},autoCloseOpenSlices(){this.updateBounds();const maxTimestamp=this.bounds.max;for(let sI=0;sI<this.slices.length;sI++){const slice=this.slices[sI];if(slice.didNotFinish){slice.duration=maxTimestamp-slice.start;}} 5001this.openPartialSlices_=[];},shiftTimestampsForward(amount){for(let sI=0;sI<this.slices.length;sI++){const slice=this.slices[sI];slice.start=(slice.start+amount);}},updateBounds(){this.bounds.reset();for(let i=0;i<this.slices.length;i++){this.bounds.addValue(this.slices[i].start);this.bounds.addValue(this.slices[i].end);}},copySlice(slice){const sliceConstructorSubTypes=this.sliceConstructorSubTypes;const sliceType=sliceConstructorSubTypes.getConstructor(slice.category,slice.title);const newSlice=new sliceType(slice.category,slice.title,slice.colorId,slice.start,slice.args,slice.duration,slice.cpuStart,slice.cpuDuration);newSlice.didNotFinish=slice.didNotFinish;return newSlice;},*findTopmostSlicesInThisContainer(eventPredicate,opt_this){if(!this.haveTopLevelSlicesBeenBuilt){throw new Error('Nope');} 5002for(const s of this.topLevelSlices){yield*s.findTopmostSlicesRelativeToThisSlice(eventPredicate);}},*childEvents(){yield*this.slices;},*childEventContainers(){},getSlicesOfName(title){const slices=[];for(let i=0;i<this.slices.length;i++){if(this.slices[i].title===title){slices.push(this.slices[i]);}} 5003return slices;},iterSlicesInTimeRange(callback,start,end){const ret=[];tr.b.math.iterateOverIntersectingIntervals(this.topLevelSlices,function(s){return s.start;},function(s){return s.duration;},start,end,function(topLevelSlice){callback(topLevelSlice);for(const slice of topLevelSlice.enumerateAllDescendents()){callback(slice);}});return ret;},findFirstSlice(){if(!this.haveTopLevelSlicesBeenBuilt){throw new Error('Nope');} 5004if(0===this.slices.length)return undefined;return this.slices[0];},findSliceAtTs(ts){if(!this.haveTopLevelSlicesBeenBuilt)throw new Error('Nope');let i=tr.b.math.findIndexInSortedClosedIntervals(this.topLevelSlices,getSliceLo,getSliceHi,ts);if(i===-1||i===this.topLevelSlices.length){return undefined;} 5005let curSlice=this.topLevelSlices[i];while(true){i=tr.b.math.findIndexInSortedClosedIntervals(curSlice.subSlices,getSliceLo,getSliceHi,ts);if(i===-1||i===curSlice.subSlices.length){return curSlice;} 5006curSlice=curSlice.subSlices[i];}},findNextSliceAfter(ts,refGuid){let i=tr.b.math.findLowIndexInSortedArray(this.slices,getSliceLo,ts);if(i===this.slices.length){return undefined;} 5007for(;i<this.slices.length;i++){const slice=this.slices[i];if(slice.start>ts)return slice;if(slice.guid<=refGuid)continue;return slice;} 5008return undefined;},hasCpuDuration_(){if(this.slices.some(function(slice){return slice.cpuDuration!==undefined;}))return true;return false;},createSubSlices(){this.haveTopLevelSlicesBeenBuilt=true;this.createSubSlicesImpl_();if(!this.hasCpuDuration_()&&this.parentContainer.timeSlices){this.addCpuTimeToSubslices_(this.parentContainer.timeSlices);} 5009this.slices.forEach(function(slice){let selfTime=slice.duration;for(let i=0;i<slice.subSlices.length;i++){selfTime-=slice.subSlices[i].duration;} 5010slice.selfTime=selfTime;if(slice.cpuDuration===undefined)return;let cpuSelfTime=slice.cpuDuration;for(let i=0;i<slice.subSlices.length;i++){if(slice.subSlices[i].cpuDuration!==undefined){cpuSelfTime-=slice.subSlices[i].cpuDuration;}} 5011slice.cpuSelfTime=cpuSelfTime;});},createSubSlicesImpl_(){const precisionUnit=this.model.intrinsicTimeUnit;function addSliceIfBounds(parent,child){if(parent.bounds(child,precisionUnit)){child.parentSlice=parent;if(parent.subSlices===undefined){parent.subSlices=[];} 5012parent.subSlices.push(child);return true;} 5013return false;} 5014if(!this.slices.length)return;const ops=[];for(let i=0;i<this.slices.length;i++){if(this.slices[i].subSlices){this.slices[i].subSlices.splice(0,this.slices[i].subSlices.length);} 5015ops.push(i);} 5016const originalSlices=this.slices;ops.sort(function(ix,iy){const x=originalSlices[ix];const y=originalSlices[iy];if(x.start!==y.start){return x.start-y.start;} 5017return ix-iy;});const slices=new Array(this.slices.length);for(let i=0;i<ops.length;i++){slices[i]=originalSlices[ops[i]];} 5018let rootSlice=slices[0];this.topLevelSlices=[];this.topLevelSlices.push(rootSlice);rootSlice.isTopLevel=true;for(let i=1;i<slices.length;i++){const slice=slices[i];while(rootSlice!==undefined&&(!addSliceIfBounds(rootSlice,slice))){rootSlice=rootSlice.parentSlice;} 5019if(rootSlice===undefined){this.topLevelSlices.push(slice);slice.isTopLevel=true;} 5020rootSlice=slice;} 5021this.slices=slices;},addCpuTimeToSubslices_(timeSlices){const SCHEDULING_STATE=tr.model.SCHEDULING_STATE;let sliceIdx=0;timeSlices.forEach(function(timeSlice){if(timeSlice.schedulingState===SCHEDULING_STATE.RUNNING){while(sliceIdx<this.topLevelSlices.length){if(this.addCpuTimeToSubslice_(this.topLevelSlices[sliceIdx],timeSlice)){sliceIdx++;}else{break;}}}},this);},addCpuTimeToSubslice_(slice,timeSlice){if(slice.start>timeSlice.end||slice.end<timeSlice.start){return slice.end<=timeSlice.end;} 5022let duration=timeSlice.duration;if(slice.start>timeSlice.start){duration-=slice.start-timeSlice.start;} 5023if(timeSlice.end>slice.end){duration-=timeSlice.end-slice.end;} 5024if(slice.cpuDuration){slice.cpuDuration+=duration;}else{slice.cpuDuration=duration;} 5025for(let i=0;i<slice.subSlices.length;i++){this.addCpuTimeToSubslice_(slice.subSlices[i],timeSlice);} 5026return slice.end<=timeSlice.end;}};SliceGroup.merge=function(groupA,groupB){if(groupA.openPartialSlices_.length>0){throw new Error('groupA has open partial slices');} 5027if(groupB.openPartialSlices_.length>0){throw new Error('groupB has open partial slices');} 5028if(groupA.parentContainer!==groupB.parentContainer){throw new Error('Different parent threads. Cannot merge');} 5029if(groupA.sliceConstructor!==groupB.sliceConstructor){throw new Error('Different slice constructors. Cannot merge');} 5030const result=new SliceGroup(groupA.parentContainer,groupA.sliceConstructor,groupA.name_);const slicesA=groupA.slices;const slicesB=groupB.slices;let idxA=0;let idxB=0;const openA=[];const openB=[];const splitOpenSlices=function(when){for(let i=0;i<openB.length;i++){const oldSlice=openB[i];const oldEnd=oldSlice.end;if(when<oldSlice.start||oldEnd<when){throw new Error('slice should not be split');} 5031const newSlice=result.copySlice(oldSlice);newSlice.start=when;newSlice.duration=oldEnd-when;if(newSlice.title.indexOf(' (cont.)')===-1){newSlice.title+=' (cont.)';} 5032oldSlice.duration=when-oldSlice.start;openB[i]=newSlice;result.pushSlice(newSlice);}};const closeOpenSlices=function(upTo){while(openA.length>0||openB.length>0){const nextA=openA[openA.length-1];const nextB=openB[openB.length-1];const endA=nextA&&nextA.end;const endB=nextB&&nextB.end;if((endA===undefined||endA>upTo)&&(endB===undefined||endB>upTo)){return;} 5033if(endB===undefined||endA<endB){splitOpenSlices(endA);openA.pop();}else{openB.pop();}}};while(idxA<slicesA.length||idxB<slicesB.length){const sA=slicesA[idxA];const sB=slicesB[idxB];let nextSlice;let isFromB;if(sA===undefined||(sB!==undefined&&sA.start>sB.start)){nextSlice=result.copySlice(sB);isFromB=true;idxB++;}else{nextSlice=result.copySlice(sA);isFromB=false;idxA++;} 5034closeOpenSlices(nextSlice.start);result.pushSlice(nextSlice);if(isFromB){openB.push(nextSlice);}else{splitOpenSlices(nextSlice.start);openA.push(nextSlice);}} 5035closeOpenSlices();return result;};return{SliceGroup,};});'use strict';tr.exportTo('tr.model',function(){const AsyncSlice=tr.model.AsyncSlice;const AsyncSliceGroup=tr.model.AsyncSliceGroup;const SliceGroup=tr.model.SliceGroup;const ThreadSlice=tr.model.ThreadSlice;const ThreadTimeSlice=tr.model.ThreadTimeSlice;function Thread(parent,tid){if(!parent){throw new Error('Parent must be provided.');} 5036tr.model.EventContainer.call(this);this.parent=parent;this.sortIndex=0;this.tid=tid;this.name=undefined;this.samples_=undefined;this.sliceGroup=new SliceGroup(this,ThreadSlice,'slices');this.timeSlices=undefined;this.kernelSliceGroup=new SliceGroup(this,ThreadSlice,'kernel-slices');this.asyncSliceGroup=new AsyncSliceGroup(this,'async-slices');} 5037Thread.prototype={__proto__:tr.model.EventContainer.prototype,get model(){return this.parent.model;},get stableId(){return this.parent.stableId+'.'+this.tid;},compareTo(that){return Thread.compare(this,that);},*childEventContainers(){if(this.sliceGroup.length){yield this.sliceGroup;} 5038if(this.kernelSliceGroup.length){yield this.kernelSliceGroup;} 5039if(this.asyncSliceGroup.length){yield this.asyncSliceGroup;}},*childEvents(){if(this.timeSlices){yield*this.timeSlices;}},iterateAllPersistableObjects(cb){cb(this);if(this.sliceGroup.length){cb(this.sliceGroup);} 5040this.asyncSliceGroup.viewSubGroups.forEach(cb);},shiftTimestampsForward(amount){this.sliceGroup.shiftTimestampsForward(amount);if(this.timeSlices){for(let i=0;i<this.timeSlices.length;i++){const slice=this.timeSlices[i];slice.start+=amount;}} 5041this.kernelSliceGroup.shiftTimestampsForward(amount);this.asyncSliceGroup.shiftTimestampsForward(amount);},get isEmpty(){if(this.sliceGroup.length)return false;if(this.sliceGroup.openSliceCount)return false;if(this.timeSlices&&this.timeSlices.length)return false;if(this.kernelSliceGroup.length)return false;if(this.asyncSliceGroup.length)return false;if(this.samples_.length)return false;return true;},updateBounds(){this.bounds.reset();this.sliceGroup.updateBounds();this.bounds.addRange(this.sliceGroup.bounds);this.kernelSliceGroup.updateBounds();this.bounds.addRange(this.kernelSliceGroup.bounds);this.asyncSliceGroup.updateBounds();this.bounds.addRange(this.asyncSliceGroup.bounds);if(this.timeSlices&&this.timeSlices.length){this.bounds.addValue(this.timeSlices[0].start);this.bounds.addValue(this.timeSlices[this.timeSlices.length-1].end);} 5042if(this.samples_&&this.samples_.length){this.bounds.addValue(this.samples_[0].start);this.bounds.addValue(this.samples_[this.samples_.length-1].end);}},addCategoriesToDict(categoriesDict){for(let i=0;i<this.sliceGroup.length;i++){categoriesDict[this.sliceGroup.slices[i].category]=true;} 5043for(let i=0;i<this.kernelSliceGroup.length;i++){categoriesDict[this.kernelSliceGroup.slices[i].category]=true;} 5044for(let i=0;i<this.asyncSliceGroup.length;i++){categoriesDict[this.asyncSliceGroup.slices[i].category]=true;} 5045if(this.samples_){for(let i=0;i<this.samples_.length;i++){categoriesDict[this.samples_[i].category]=true;}}},autoCloseOpenSlices(){this.sliceGroup.autoCloseOpenSlices();this.kernelSliceGroup.autoCloseOpenSlices();},mergeKernelWithUserland(){if(this.kernelSliceGroup.length>0){const newSlices=SliceGroup.merge(this.sliceGroup,this.kernelSliceGroup);this.sliceGroup.slices=newSlices.slices;this.kernelSliceGroup=new SliceGroup(this);this.updateBounds();}},createSubSlices(){this.sliceGroup.createSubSlices();this.samples_=this.parent.model.samples.filter(sample=>sample.thread===this);},get userFriendlyName(){return this.name||this.tid;},get userFriendlyDetails(){return'tid: '+this.tid+ 5046(this.name?', name: '+this.name:'');},getSettingsKey(){if(!this.name)return undefined;const parentKey=this.parent.getSettingsKey();if(!parentKey)return undefined;return parentKey+'.'+this.name;},getProcess(){return this.parent;},indexOfTimeSlice(timeSlice){const i=tr.b.math.findLowIndexInSortedArray(this.timeSlices,function(slice){return slice.start;},timeSlice.start);if(this.timeSlices[i]!==timeSlice)return undefined;return i;},getCpuStatsForRange(range){const stats={};stats.total=0;if(!this.timeSlices)return stats;function addStatsForSlice(threadTimeSlice){const freqRange=tr.b.math.Range.fromExplicitRange(threadTimeSlice.start,threadTimeSlice.end);const intersection=freqRange.findIntersection(range);if(threadTimeSlice.schedulingState===tr.model.SCHEDULING_STATE.RUNNING){const cpu=threadTimeSlice.cpuOnWhichThreadWasRunning;if(!(cpu.cpuNumber in stats)){stats[cpu.cpuNumber]=0;} 5047stats[cpu.cpuNumber]+=intersection.duration;stats.total+=intersection.duration;}} 5048tr.b.math.iterateOverIntersectingIntervals(this.timeSlices,function(x){return x.start;},function(x){return x.end;},range.min,range.max,addStatsForSlice);return stats;},getSchedulingStatsForRange(start,end){const stats={};if(!this.timeSlices)return stats;function addStatsForSlice(threadTimeSlice){const overlapStart=Math.max(threadTimeSlice.start,start);const overlapEnd=Math.min(threadTimeSlice.end,end);const schedulingState=threadTimeSlice.schedulingState;if(!(schedulingState in stats))stats[schedulingState]=0;stats[schedulingState]+=overlapEnd-overlapStart;} 5049tr.b.math.iterateOverIntersectingIntervals(this.timeSlices,function(x){return x.start;},function(x){return x.end;},start,end,addStatsForSlice);return stats;},get samples(){return this.samples_;},get type(){const re=/^[^0-9|\/]+/;const matches=re.exec(this.name);if(matches&&matches[0])return matches[0];throw new Error('Could not determine thread type for thread name '+ 5050this.name);}};Thread.compare=function(x,y){let tmp=x.parent.compareTo(y.parent);if(tmp)return tmp;tmp=x.sortIndex-y.sortIndex;if(tmp)return tmp;tmp=tr.b.comparePossiblyUndefinedValues(x.name,y.name,function(x,y){return x.localeCompare(y);});if(tmp)return tmp;return x.tid-y.tid;};return{Thread,};});'use strict';tr.exportTo('tr.model',function(){const Thread=tr.model.Thread;const Counter=tr.model.Counter;function ProcessBase(model){if(!model){throw new Error('Must provide a model');} 5051tr.model.EventContainer.call(this);this.model=model;this.threads={};this.counters={};this.objects=new tr.model.ObjectCollection(this);this.sortIndex=0;} 5052ProcessBase.compare=function(x,y){return x.sortIndex-y.sortIndex;};ProcessBase.prototype={__proto__:tr.model.EventContainer.prototype,get stableId(){throw new Error('Not implemented');},*childEventContainers(){yield*Object.values(this.threads);yield*Object.values(this.counters);yield this.objects;},iterateAllPersistableObjects(cb){cb(this);for(const tid in this.threads){this.threads[tid].iterateAllPersistableObjects(cb);}},get numThreads(){let n=0;for(const p in this.threads){n++;} 5053return n;},shiftTimestampsForward(amount){for(const child of this.childEventContainers()){child.shiftTimestampsForward(amount);}},autoCloseOpenSlices(){for(const tid in this.threads){const thread=this.threads[tid];thread.autoCloseOpenSlices();}},autoDeleteObjects(maxTimestamp){this.objects.autoDeleteObjects(maxTimestamp);},preInitializeObjects(){this.objects.preInitializeAllObjects();},initializeObjects(){this.objects.initializeAllObjects();},mergeKernelWithUserland(){for(const tid in this.threads){const thread=this.threads[tid];thread.mergeKernelWithUserland();}},updateBounds(){this.bounds.reset();for(const tid in this.threads){this.threads[tid].updateBounds();this.bounds.addRange(this.threads[tid].bounds);} 5054for(const id in this.counters){this.counters[id].updateBounds();this.bounds.addRange(this.counters[id].bounds);} 5055this.objects.updateBounds();this.bounds.addRange(this.objects.bounds);},addCategoriesToDict(categoriesDict){for(const tid in this.threads){this.threads[tid].addCategoriesToDict(categoriesDict);} 5056for(const id in this.counters){categoriesDict[this.counters[id].category]=true;} 5057this.objects.addCategoriesToDict(categoriesDict);},findAllThreadsMatching(predicate,opt_this){const threads=[];for(const tid in this.threads){const thread=this.threads[tid];if(predicate.call(opt_this,thread)){threads.push(thread);}} 5058return threads;},findAllThreadsNamed(name){const threads=this.findAllThreadsMatching(function(thread){if(!thread.name)return false;return thread.name===name;});return threads;},findAtMostOneThreadNamed(name){const threads=this.findAllThreadsNamed(name);if(threads.length===0)return undefined;if(threads.length>1){throw new Error('Expected no more than one '+name);} 5059return threads[0];},pruneEmptyContainers(){const threadsToKeep={};for(const tid in this.threads){const thread=this.threads[tid];if(!thread.isEmpty){threadsToKeep[tid]=thread;}} 5060this.threads=threadsToKeep;},getThread(tid){return this.threads[tid];},getOrCreateThread(tid){if(!this.threads[tid]){this.threads[tid]=new Thread(this,tid);} 5061return this.threads[tid];},getOrCreateCounter(cat,name){const id=cat+'.'+name;if(!this.counters[id]){this.counters[id]=new Counter(this,id,cat,name);} 5062return this.counters[id];},getSettingsKey(){throw new Error('Not implemented');},createSubSlices(){for(const tid in this.threads){this.threads[tid].createSubSlices();}}};return{ProcessBase,};});'use strict';tr.exportTo('tr.model',function(){const ColorScheme=tr.b.ColorScheme;const Counter=tr.model.Counter;const CpuSlice=tr.model.CpuSlice;function Cpu(kernel,number){if(kernel===undefined||number===undefined){throw new Error('Missing arguments');} 5063this.kernel=kernel;this.cpuNumber=number;this.slices=[];this.counters={};this.bounds_=new tr.b.math.Range();this.samples_=undefined;this.lastActiveTimestamp_=undefined;this.lastActiveThread_=undefined;this.lastActiveName_=undefined;this.lastActiveArgs_=undefined;} 5064Cpu.prototype={__proto__:tr.model.EventContainer.prototype,get samples(){return this.samples_;},get userFriendlyName(){return'CPU '+this.cpuNumber;},*findTopmostSlicesInThisContainer(eventPredicate,opt_this){for(const s of this.slices){yield*s.findTopmostSlicesRelativeToThisSlice(eventPredicate,opt_this);}},*childEvents(){yield*this.slices;if(this.samples_){yield*this.samples_;}},*childEventContainers(){yield*Object.values(this.counters);},getOrCreateCounter(cat,name){const id=cat+'.'+name;if(!this.counters[id]){this.counters[id]=new Counter(this,id,cat,name);} 5065return this.counters[id];},getCounter(cat,name){const id=cat+'.'+name;if(!this.counters[id]){return undefined;} 5066return this.counters[id];},shiftTimestampsForward(amount){for(let sI=0;sI<this.slices.length;sI++){this.slices[sI].start=(this.slices[sI].start+amount);} 5067for(const id in this.counters){this.counters[id].shiftTimestampsForward(amount);}},updateBounds(){this.bounds_.reset();if(this.slices.length){this.bounds_.addValue(this.slices[0].start);this.bounds_.addValue(this.slices[this.slices.length-1].end);} 5068for(const id in this.counters){this.counters[id].updateBounds();this.bounds_.addRange(this.counters[id].bounds);} 5069if(this.samples_&&this.samples_.length){this.bounds_.addValue(this.samples_[0].start);this.bounds_.addValue(this.samples_[this.samples_.length-1].end);}},createSubSlices(){this.samples_=this.kernel.model.samples.filter(function(sample){return sample.cpu===this;},this);},addCategoriesToDict(categoriesDict){for(let i=0;i<this.slices.length;i++){categoriesDict[this.slices[i].category]=true;} 5070for(const id in this.counters){categoriesDict[this.counters[id].category]=true;} 5071for(let i=0;i<this.samples_.length;i++){categoriesDict[this.samples_[i].category]=true;}},indexOf(cpuSlice){const i=tr.b.math.findLowIndexInSortedArray(this.slices,function(slice){return slice.start;},cpuSlice.start);if(this.slices[i]!==cpuSlice)return undefined;return i;},closeActiveThread(endTimestamp,args){if(this.lastActiveThread_===undefined||this.lastActiveThread_===0){return;} 5072if(endTimestamp<this.lastActiveTimestamp_){throw new Error('The end timestamp of a thread running on CPU '+ 5073this.cpuNumber+' is before its start timestamp.');} 5074for(const key in args){this.lastActiveArgs_[key]=args[key];} 5075const duration=endTimestamp-this.lastActiveTimestamp_;const slice=new tr.model.CpuSlice('',this.lastActiveName_,ColorScheme.getColorIdForGeneralPurposeString(this.lastActiveName_),this.lastActiveTimestamp_,this.lastActiveArgs_,duration);slice.cpu=this;this.slices.push(slice);this.lastActiveTimestamp_=undefined;this.lastActiveThread_=undefined;this.lastActiveName_=undefined;this.lastActiveArgs_=undefined;},switchActiveThread(timestamp,oldThreadArgs,newThreadId,newThreadName,newThreadArgs){this.closeActiveThread(timestamp,oldThreadArgs);this.lastActiveTimestamp_=timestamp;this.lastActiveThread_=newThreadId;this.lastActiveName_=newThreadName;this.lastActiveArgs_=newThreadArgs;},getFreqStatsForRange(range){const stats={};function addStatsForFreq(freqSample,index){const freqEnd=(index<freqSample.series_.length-1)?freqSample.series_.samples_[index+1].timestamp:range.max;const freqRange=tr.b.math.Range.fromExplicitRange(freqSample.timestamp,freqEnd);const intersection=freqRange.findIntersection(range);if(!(freqSample.value in stats)){stats[freqSample.value]=0;} 5076stats[freqSample.value]+=intersection.duration;} 5077const freqCounter=this.getCounter('','Clock Frequency');if(freqCounter!==undefined){const freqSeries=freqCounter.getSeries(0);if(!freqSeries)return;tr.b.math.iterateOverIntersectingIntervals(freqSeries.samples_,function(x){return x.timestamp;},function(x,index){if(index<freqSeries.length-1){return freqSeries.samples_[index+1].timestamp;} 5078return range.max;},range.min,range.max,addStatsForFreq);} 5079return stats;}};Cpu.compare=function(x,y){return x.cpuNumber-y.cpuNumber;};return{Cpu,};});'use strict';tr.exportTo('tr.model',function(){const Event=tr.model.Event;const EventRegistry=tr.model.EventRegistry;function PowerSample(series,start,powerInW){Event.call(this);this.series_=series;this.start_=parseFloat(start);this.powerInW_=parseFloat(powerInW);} 5080PowerSample.prototype={__proto__:Event.prototype,get series(){return this.series_;},get start(){return this.start_;},set start(value){this.start_=value;},get powerInW(){return this.powerInW_;},set powerInW(value){this.powerInW_=value;},addBoundsToRange(range){range.addValue(this.start);}};EventRegistry.register(PowerSample,{name:'powerSample',pluralName:'powerSamples'});return{PowerSample,};});'use strict';tr.exportTo('tr.model',function(){const PowerSample=tr.model.PowerSample;function PowerSeries(device){tr.model.EventContainer.call(this);this.device_=device;this.samples_=[];} 5081PowerSeries.prototype={__proto__:tr.model.EventContainer.prototype,get device(){return this.device_;},get samples(){return this.samples_;},get stableId(){return this.device_.stableId+'.PowerSeries';},addPowerSample(ts,val){const sample=new PowerSample(this,ts,val);this.samples_.push(sample);return sample;},getEnergyConsumedInJ(start,end){const measurementRange=tr.b.math.Range.fromExplicitRange(start,end);let energyConsumedInJ=0;let startIndex=tr.b.math.findLowIndexInSortedArray(this.samples,x=>x.start,start)-1;const endIndex=tr.b.math.findLowIndexInSortedArray(this.samples,x=>x.start,end);if(startIndex<0){startIndex=0;} 5082for(let i=startIndex;i<endIndex;i++){const sample=this.samples[i];const nextSample=this.samples[i+1];const sampleRange=new tr.b.math.Range();sampleRange.addValue(sample.start);sampleRange.addValue(nextSample?nextSample.start:sample.start);const intersectionRangeInMs=measurementRange.findIntersection(sampleRange);const durationInS=tr.b.convertUnit(intersectionRangeInMs.duration,tr.b.UnitPrefixScale.METRIC.MILLI,tr.b.UnitPrefixScale.METRIC.NONE);energyConsumedInJ+=durationInS*sample.powerInW;} 5083return energyConsumedInJ;},getSamplesWithinRange(start,end){const startIndex=tr.b.math.findLowIndexInSortedArray(this.samples,x=>x.start,start);const endIndex=tr.b.math.findLowIndexInSortedArray(this.samples,x=>x.start,end);return this.samples.slice(startIndex,endIndex);},shiftTimestampsForward(amount){for(let i=0;i<this.samples_.length;++i){this.samples_[i].start+=amount;}},updateBounds(){this.bounds.reset();if(this.samples_.length===0)return;this.bounds.addValue(this.samples_[0].start);this.bounds.addValue(this.samples_[this.samples_.length-1].start);},*childEvents(){yield*this.samples_;},};return{PowerSeries,};});'use strict';tr.exportTo('tr.model',function(){function Device(model){if(!model){throw new Error('Must provide a model.');} 5084tr.model.EventContainer.call(this);this.powerSeries_=undefined;this.cpuUsageSeries_=undefined;this.vSyncTimestamps_=[];} 5085Device.compare=function(x,y){return x.guid-y.guid;};Device.prototype={__proto__:tr.model.EventContainer.prototype,compareTo(that){return Device.compare(this,that);},get userFriendlyName(){return'Device';},get userFriendlyDetails(){return'Device';},get stableId(){return'Device';},getSettingsKey(){return'device';},get powerSeries(){return this.powerSeries_;},set powerSeries(powerSeries){this.powerSeries_=powerSeries;},get cpuUsageSeries(){return this.cpuUsageSeries_;},set cpuUsageSeries(cpuUsageSeries){this.cpuUsageSeries_=cpuUsageSeries;},get vSyncTimestamps(){return this.vSyncTimestamps_;},set vSyncTimestamps(value){this.vSyncTimestamps_=value;},updateBounds(){this.bounds.reset();for(const child of this.childEventContainers()){child.updateBounds();this.bounds.addRange(child.bounds);}},shiftTimestampsForward(amount){for(const child of this.childEventContainers()){child.shiftTimestampsForward(amount);} 5086for(let i=0;i<this.vSyncTimestamps_.length;i++){this.vSyncTimestamps_[i]+=amount;}},addCategoriesToDict(categoriesDict){},*childEventContainers(){if(this.powerSeries_){yield this.powerSeries_;} 5087if(this.cpuUsageSeries_){yield this.cpuUsageSeries_;}}};return{Device,};});'use strict';tr.exportTo('tr.model',function(){function FlowEvent(category,id,title,colorId,start,args,opt_duration){tr.model.TimedEvent.call(this,start);this.category=category||'';this.title=title;this.colorId=colorId;this.start=start;this.args=args;this.id=id;this.startSlice=undefined;this.endSlice=undefined;this.startStackFrame=undefined;this.endStackFrame=undefined;if(opt_duration!==undefined){this.duration=opt_duration;}} 5088FlowEvent.prototype={__proto__:tr.model.TimedEvent.prototype,get userFriendlyName(){return'Flow event named '+this.title+' at '+ 5089tr.b.Unit.byName.timeStampInMs.format(this.timestamp);}};tr.model.EventRegistry.register(FlowEvent,{name:'flowEvent',pluralName:'flowEvents'});return{FlowEvent,};});'use strict';tr.exportTo('tr.model',function(){function ContainerMemoryDump(start){tr.model.TimedEvent.call(this,start);this.levelOfDetail=undefined;this.memoryAllocatorDumps_=undefined;this.memoryAllocatorDumpsByFullName_=undefined;} 5090ContainerMemoryDump.LevelOfDetail={BACKGROUND:0,LIGHT:1,DETAILED:2};ContainerMemoryDump.prototype={__proto__:tr.model.TimedEvent.prototype,shiftTimestampsForward(amount){this.start+=amount;},get memoryAllocatorDumps(){return this.memoryAllocatorDumps_;},set memoryAllocatorDumps(memoryAllocatorDumps){this.memoryAllocatorDumps_=memoryAllocatorDumps;this.forceRebuildingMemoryAllocatorDumpByFullNameIndex();},getMemoryAllocatorDumpByFullName(fullName){if(this.memoryAllocatorDumps_===undefined)return undefined;if(this.memoryAllocatorDumpsByFullName_===undefined){const index={};function addDumpsToIndex(dumps){dumps.forEach(function(dump){index[dump.fullName]=dump;addDumpsToIndex(dump.children);});} 5091addDumpsToIndex(this.memoryAllocatorDumps_);this.memoryAllocatorDumpsByFullName_=index;} 5092return this.memoryAllocatorDumpsByFullName_[fullName];},forceRebuildingMemoryAllocatorDumpByFullNameIndex(){this.memoryAllocatorDumpsByFullName_=undefined;},iterateRootAllocatorDumps(fn,opt_this){if(this.memoryAllocatorDumps===undefined)return;this.memoryAllocatorDumps.forEach(fn,opt_this||this);}};return{ContainerMemoryDump,};});'use strict';tr.exportTo('tr.model',function(){function MemoryAllocatorDump(containerMemoryDump,fullName,opt_guid){this.fullName=fullName;this.parent=undefined;this.children=[];this.numerics={};this.diagnostics={};this.containerMemoryDump=containerMemoryDump;this.owns=undefined;this.ownedBy=[];this.ownedBySiblingSizes=new Map();this.retains=[];this.retainedBy=[];this.weak=false;this.infos=[];this.guid=opt_guid;} 5093MemoryAllocatorDump.SIZE_NUMERIC_NAME='size';MemoryAllocatorDump.EFFECTIVE_SIZE_NUMERIC_NAME='effective_size';MemoryAllocatorDump.RESIDENT_SIZE_NUMERIC_NAME='resident_size';MemoryAllocatorDump.DISPLAYED_SIZE_NUMERIC_NAME=MemoryAllocatorDump.EFFECTIVE_SIZE_NUMERIC_NAME;MemoryAllocatorDump.prototype={get name(){return this.fullName.substring(this.fullName.lastIndexOf('/')+1);},get quantifiedName(){return'\''+this.fullName+'\' in '+ 5094this.containerMemoryDump.containerName;},getDescendantDumpByFullName(fullName){return this.containerMemoryDump.getMemoryAllocatorDumpByFullName(this.fullName+'/'+fullName);},isDescendantOf(otherDump){if(this===otherDump)return true;if(this.parent===undefined)return false;return this.parent.isDescendantOf(otherDump);},addNumeric(name,numeric){if(!(numeric instanceof tr.b.Scalar)){throw new Error('Numeric value must be an instance of Scalar.');} 5095if(name in this.numerics){throw new Error('Duplicate numeric name: '+name+'.');} 5096this.numerics[name]=numeric;},addDiagnostic(name,text){if(typeof text!=='string'){throw new Error('Diagnostic text must be a string.');} 5097if(name in this.diagnostics){throw new Error('Duplicate diagnostic name: '+name+'.');} 5098this.diagnostics[name]=text;},aggregateNumericsRecursively(opt_model){const numericNames=new Set();this.children.forEach(function(child){child.aggregateNumericsRecursively(opt_model);for(const[item,value]of Object.entries(child.numerics)){numericNames.add(item,value);}},this);numericNames.forEach(function(numericName){if(numericName===MemoryAllocatorDump.SIZE_NUMERIC_NAME||numericName===MemoryAllocatorDump.EFFECTIVE_SIZE_NUMERIC_NAME||this.numerics[numericName]!==undefined){return;} 5099this.numerics[numericName]=MemoryAllocatorDump.aggregateNumerics(this.children.map(function(child){return child.numerics[numericName];}),opt_model);},this);}};MemoryAllocatorDump.aggregateNumerics=function(numerics,opt_model){let shouldLogWarning=!!opt_model;let aggregatedUnit=undefined;let aggregatedValue=0;numerics.forEach(function(numeric){if(numeric===undefined)return;const unit=numeric.unit;if(aggregatedUnit===undefined){aggregatedUnit=unit;}else if(aggregatedUnit!==unit){if(shouldLogWarning){opt_model.importWarning({type:'numeric_parse_error',message:'Multiple units provided for numeric: \''+ 5100aggregatedUnit.unitName+'\' and \''+unit.unitName+'\'.'});shouldLogWarning=false;} 5101aggregatedUnit=tr.b.Unit.byName.unitlessNumber_smallerIsBetter;} 5102aggregatedValue+=numeric.value;},this);if(aggregatedUnit===undefined)return undefined;return new tr.b.Scalar(aggregatedUnit,aggregatedValue);};function MemoryAllocatorDumpLink(source,target,opt_importance){this.source=source;this.target=target;this.importance=opt_importance;this.size=undefined;} 5103const MemoryAllocatorDumpInfoType={PROVIDED_SIZE_LESS_THAN_AGGREGATED_CHILDREN:0,PROVIDED_SIZE_LESS_THAN_LARGEST_OWNER:1};return{MemoryAllocatorDump,MemoryAllocatorDumpLink,MemoryAllocatorDumpInfoType,};});'use strict';tr.exportTo('tr.model',function(){function GlobalMemoryDump(model,start){tr.model.ContainerMemoryDump.call(this,start);this.model=model;this.processMemoryDumps={};} 5104const SIZE_NUMERIC_NAME=tr.model.MemoryAllocatorDump.SIZE_NUMERIC_NAME;const EFFECTIVE_SIZE_NUMERIC_NAME=tr.model.MemoryAllocatorDump.EFFECTIVE_SIZE_NUMERIC_NAME;const MemoryAllocatorDumpInfoType=tr.model.MemoryAllocatorDumpInfoType;const PROVIDED_SIZE_LESS_THAN_AGGREGATED_CHILDREN=MemoryAllocatorDumpInfoType.PROVIDED_SIZE_LESS_THAN_AGGREGATED_CHILDREN;const PROVIDED_SIZE_LESS_THAN_LARGEST_OWNER=MemoryAllocatorDumpInfoType.PROVIDED_SIZE_LESS_THAN_LARGEST_OWNER;function getSize(dump){const numeric=dump.numerics[SIZE_NUMERIC_NAME];if(numeric===undefined)return 0;return numeric.value;} 5105function hasSize(dump){return dump.numerics[SIZE_NUMERIC_NAME]!==undefined;} 5106function optional(value,defaultValue){if(value===undefined)return defaultValue;return value;} 5107GlobalMemoryDump.prototype={__proto__:tr.model.ContainerMemoryDump.prototype,get userFriendlyName(){return'Global memory dump at '+ 5108tr.b.Unit.byName.timeStampInMs.format(this.start);},get containerName(){return'global space';},finalizeGraph(){this.removeWeakDumps();this.setUpTracingOverheadOwnership();this.aggregateNumerics();this.calculateSizes();this.calculateEffectiveSizes();this.discountTracingOverheadFromVmRegions();this.forceRebuildingMemoryAllocatorDumpByFullNameIndices();},removeWeakDumps(){this.traverseAllocatorDumpsInDepthFirstPreOrder(function(dump){if(dump.weak)return;if((dump.owns!==undefined&&dump.owns.target.weak)||(dump.parent!==undefined&&dump.parent.weak)){dump.weak=true;}});function removeWeakDumpsFromListRecursively(dumps){tr.b.inPlaceFilter(dumps,function(dump){if(dump.weak){return false;} 5109removeWeakDumpsFromListRecursively(dump.children);tr.b.inPlaceFilter(dump.ownedBy,function(ownershipLink){return!ownershipLink.source.weak;});return true;});} 5110this.iterateContainerDumps(function(containerDump){const memoryAllocatorDumps=containerDump.memoryAllocatorDumps;if(memoryAllocatorDumps!==undefined){removeWeakDumpsFromListRecursively(memoryAllocatorDumps);}});},calculateSizes(){this.traverseAllocatorDumpsInDepthFirstPostOrder(this.calculateMemoryAllocatorDumpSize_.bind(this));},calculateMemoryAllocatorDumpSize_(dump){let shouldDefineSize=false;function getDependencySize(dependencyDump){const numeric=dependencyDump.numerics[SIZE_NUMERIC_NAME];if(numeric===undefined)return 0;shouldDefineSize=true;return numeric.value;} 5111const sizeNumeric=dump.numerics[SIZE_NUMERIC_NAME];let size=0;let checkDependencySizeIsConsistent=function(){};if(sizeNumeric!==undefined){size=sizeNumeric.value;shouldDefineSize=true;if(sizeNumeric.unit!==tr.b.Unit.byName.sizeInBytes_smallerIsBetter){this.model.importWarning({type:'memory_dump_parse_error',message:'Invalid unit of \'size\' numeric of memory allocator '+'dump '+dump.quantifiedName+': '+ 5112sizeNumeric.unit.unitName+'.'});} 5113checkDependencySizeIsConsistent=function(dependencySize,dependencyInfoType,dependencyName){if(size>=dependencySize)return;this.model.importWarning({type:'memory_dump_parse_error',message:'Size provided by memory allocator dump \''+ 5114dump.fullName+'\''+ 5115tr.b.Unit.byName.sizeInBytes.format(size)+') is less than '+dependencyName+' ('+ 5116tr.b.Unit.byName.sizeInBytes.format(dependencySize)+').'});dump.infos.push({type:dependencyInfoType,providedSize:size,dependencySize});}.bind(this);} 5117let aggregatedChildrenSize=0;const allOverlaps={};dump.children.forEach(function(childDump){function aggregateDescendantDump(descendantDump){const ownedDumpLink=descendantDump.owns;if(ownedDumpLink!==undefined&&ownedDumpLink.target.isDescendantOf(dump)){let ownedChildDump=ownedDumpLink.target;while(ownedChildDump.parent!==dump){ownedChildDump=ownedChildDump.parent;} 5118if(childDump!==ownedChildDump){const ownedBySiblingSize=getDependencySize(descendantDump);if(ownedBySiblingSize>0){const previousTotalOwnedBySiblingSize=ownedChildDump.ownedBySiblingSizes.get(childDump)||0;const updatedTotalOwnedBySiblingSize=previousTotalOwnedBySiblingSize+ownedBySiblingSize;ownedChildDump.ownedBySiblingSizes.set(childDump,updatedTotalOwnedBySiblingSize);}} 5119return;} 5120if(descendantDump.children.length===0){aggregatedChildrenSize+=getDependencySize(descendantDump);return;} 5121descendantDump.children.forEach(aggregateDescendantDump);} 5122aggregateDescendantDump(childDump);});checkDependencySizeIsConsistent(aggregatedChildrenSize,PROVIDED_SIZE_LESS_THAN_AGGREGATED_CHILDREN,'the aggregated size of its children');let largestOwnerSize=0;dump.ownedBy.forEach(function(ownershipLink){const owner=ownershipLink.source;const ownerSize=getDependencySize(owner);largestOwnerSize=Math.max(largestOwnerSize,ownerSize);});checkDependencySizeIsConsistent(largestOwnerSize,PROVIDED_SIZE_LESS_THAN_LARGEST_OWNER,'the size of its largest owner');if(!shouldDefineSize){delete dump.numerics[SIZE_NUMERIC_NAME];return;} 5123size=Math.max(size,aggregatedChildrenSize,largestOwnerSize);dump.numerics[SIZE_NUMERIC_NAME]=new tr.b.Scalar(tr.b.Unit.byName.sizeInBytes_smallerIsBetter,size);if(aggregatedChildrenSize<size&&dump.children!==undefined&&dump.children.length>0){const virtualChild=new tr.model.MemoryAllocatorDump(dump.containerMemoryDump,dump.fullName+'/<unspecified>');virtualChild.parent=dump;dump.children.unshift(virtualChild);virtualChild.numerics[SIZE_NUMERIC_NAME]=new tr.b.Scalar(tr.b.Unit.byName.sizeInBytes_smallerIsBetter,size-aggregatedChildrenSize);}},calculateEffectiveSizes(){this.traverseAllocatorDumpsInDepthFirstPostOrder(this.calculateDumpSubSizes_.bind(this));this.traverseAllocatorDumpsInDepthFirstPostOrder(this.calculateDumpOwnershipCoefficient_.bind(this));this.traverseAllocatorDumpsInDepthFirstPreOrder(this.calculateDumpCumulativeOwnershipCoefficient_.bind(this));this.traverseAllocatorDumpsInDepthFirstPostOrder(this.calculateDumpEffectiveSize_.bind(this));},calculateDumpSubSizes_(dump){if(!hasSize(dump))return;if(dump.children===undefined||dump.children.length===0){const size=getSize(dump);dump.notOwningSubSize_=size;dump.notOwnedSubSize_=size;return;} 5124let notOwningSubSize=0;dump.children.forEach(function(childDump){if(childDump.owns!==undefined)return;notOwningSubSize+=optional(childDump.notOwningSubSize_,0);});dump.notOwningSubSize_=notOwningSubSize;let notOwnedSubSize=0;dump.children.forEach(function(childDump){if(childDump.ownedBy.length===0){notOwnedSubSize+=optional(childDump.notOwnedSubSize_,0);return;} 5125let largestChildOwnerSize=0;childDump.ownedBy.forEach(function(ownershipLink){largestChildOwnerSize=Math.max(largestChildOwnerSize,getSize(ownershipLink.source));});notOwnedSubSize+=getSize(childDump)-largestChildOwnerSize;});dump.notOwnedSubSize_=notOwnedSubSize;},calculateDumpOwnershipCoefficient_(dump){if(!hasSize(dump))return;if(dump.ownedBy.length===0)return;const owners=dump.ownedBy.map(function(ownershipLink){return{dump:ownershipLink.source,importance:optional(ownershipLink.importance,0),notOwningSubSize:optional(ownershipLink.source.notOwningSubSize_,0)};});owners.sort(function(a,b){if(a.importance===b.importance){return a.notOwningSubSize-b.notOwningSubSize;} 5126return b.importance-a.importance;});let currentImportanceStartPos=0;let alreadyAttributedSubSize=0;while(currentImportanceStartPos<owners.length){const currentImportance=owners[currentImportanceStartPos].importance;let nextImportanceStartPos=currentImportanceStartPos+1;while(nextImportanceStartPos<owners.length&&owners[nextImportanceStartPos].importance===currentImportance){nextImportanceStartPos++;} 5127let attributedNotOwningSubSize=0;for(let pos=currentImportanceStartPos;pos<nextImportanceStartPos;pos++){const owner=owners[pos];const notOwningSubSize=owner.notOwningSubSize;if(notOwningSubSize>alreadyAttributedSubSize){attributedNotOwningSubSize+=(notOwningSubSize-alreadyAttributedSubSize)/(nextImportanceStartPos-pos);alreadyAttributedSubSize=notOwningSubSize;} 5128let owningCoefficient=0;if(notOwningSubSize!==0){owningCoefficient=attributedNotOwningSubSize/notOwningSubSize;} 5129owner.dump.owningCoefficient_=owningCoefficient;} 5130currentImportanceStartPos=nextImportanceStartPos;} 5131const notOwnedSubSize=optional(dump.notOwnedSubSize_,0);const remainderSubSize=notOwnedSubSize-alreadyAttributedSubSize;let ownedCoefficient=0;if(notOwnedSubSize!==0){ownedCoefficient=remainderSubSize/notOwnedSubSize;} 5132dump.ownedCoefficient_=ownedCoefficient;},calculateDumpCumulativeOwnershipCoefficient_(dump){if(!hasSize(dump))return;let cumulativeOwnedCoefficient=optional(dump.ownedCoefficient_,1);const parent=dump.parent;if(dump.parent!==undefined){cumulativeOwnedCoefficient*=dump.parent.cumulativeOwnedCoefficient_;} 5133dump.cumulativeOwnedCoefficient_=cumulativeOwnedCoefficient;let cumulativeOwningCoefficient;if(dump.owns!==undefined){cumulativeOwningCoefficient=dump.owningCoefficient_*dump.owns.target.cumulativeOwningCoefficient_;}else if(dump.parent!==undefined){cumulativeOwningCoefficient=dump.parent.cumulativeOwningCoefficient_;}else{cumulativeOwningCoefficient=1;} 5134dump.cumulativeOwningCoefficient_=cumulativeOwningCoefficient;},calculateDumpEffectiveSize_(dump){if(!hasSize(dump)){delete dump.numerics[EFFECTIVE_SIZE_NUMERIC_NAME];return;} 5135let effectiveSize;if(dump.children===undefined||dump.children.length===0){effectiveSize=getSize(dump)*dump.cumulativeOwningCoefficient_*dump.cumulativeOwnedCoefficient_;}else{effectiveSize=0;dump.children.forEach(function(childDump){if(!hasSize(childDump))return;effectiveSize+=childDump.numerics[EFFECTIVE_SIZE_NUMERIC_NAME].value;});} 5136dump.numerics[EFFECTIVE_SIZE_NUMERIC_NAME]=new tr.b.Scalar(tr.b.Unit.byName.sizeInBytes_smallerIsBetter,effectiveSize);},aggregateNumerics(){this.iterateRootAllocatorDumps(function(dump){dump.aggregateNumericsRecursively(this.model);});this.iterateRootAllocatorDumps(this.propagateNumericsAndDiagnosticsRecursively);for(const processMemoryDump of Object.values(this.processMemoryDumps)){processMemoryDump.iterateRootAllocatorDumps(function(dump){dump.aggregateNumericsRecursively(this.model);},this);}},propagateNumericsAndDiagnosticsRecursively(globalAllocatorDump){['numerics','diagnostics'].forEach(function(field){for(const[name,value]of 5137Object.entries(globalAllocatorDump[field])){globalAllocatorDump.ownedBy.forEach(function(ownershipLink){const processAllocatorDump=ownershipLink.source;if(processAllocatorDump[field][name]!==undefined){return;} 5138processAllocatorDump[field][name]=value;});}});globalAllocatorDump.children.forEach(this.propagateNumericsAndDiagnosticsRecursively,this);},setUpTracingOverheadOwnership(){for(const dump of Object.values(this.processMemoryDumps)){dump.setUpTracingOverheadOwnership(this.model);}},discountTracingOverheadFromVmRegions(){for(const dump of Object.values(this.processMemoryDumps)){dump.discountTracingOverheadFromVmRegions(this.model);}},forceRebuildingMemoryAllocatorDumpByFullNameIndices(){this.iterateContainerDumps(function(containerDump){containerDump.forceRebuildingMemoryAllocatorDumpByFullNameIndex();});},iterateContainerDumps(fn){fn.call(this,this);for(const processDump of Object.values(this.processMemoryDumps)){fn.call(this,processDump);}},iterateAllRootAllocatorDumps(fn){this.iterateContainerDumps(function(containerDump){containerDump.iterateRootAllocatorDumps(fn,this);});},traverseAllocatorDumpsInDepthFirstPostOrder(fn){const visitedDumps=new WeakSet();const openDumps=new WeakSet();function visit(dump){if(visitedDumps.has(dump))return;if(openDumps.has(dump)){throw new Error(dump.userFriendlyName+' contains a cycle');} 5139openDumps.add(dump);dump.ownedBy.forEach(function(ownershipLink){visit.call(this,ownershipLink.source);},this);dump.children.forEach(visit,this);fn.call(this,dump);visitedDumps.add(dump);openDumps.delete(dump);} 5140this.iterateAllRootAllocatorDumps(visit);},traverseAllocatorDumpsInDepthFirstPreOrder(fn){const visitedDumps=new WeakSet();function visit(dump){if(visitedDumps.has(dump))return;if(dump.owns!==undefined&&!visitedDumps.has(dump.owns.target)){return;} 5141if(dump.parent!==undefined&&!visitedDumps.has(dump.parent)){return;} 5142fn.call(this,dump);visitedDumps.add(dump);dump.ownedBy.forEach(function(ownershipLink){visit.call(this,ownershipLink.source);},this);dump.children.forEach(visit,this);} 5143this.iterateAllRootAllocatorDumps(visit);}};tr.model.EventRegistry.register(GlobalMemoryDump,{name:'globalMemoryDump',pluralName:'globalMemoryDumps'});return{GlobalMemoryDump,};});'use strict';tr.exportTo('tr.model',function(){const InstantEventType={GLOBAL:1,PROCESS:2};function InstantEvent(category,title,colorId,start,args){tr.model.TimedEvent.call(this,start);this.category=category||'';this.title=title;this.colorId=colorId;this.args=args;this.type=undefined;} 5144InstantEvent.prototype={__proto__:tr.model.TimedEvent.prototype};function GlobalInstantEvent(category,title,colorId,start,args){InstantEvent.apply(this,arguments);this.type=InstantEventType.GLOBAL;} 5145GlobalInstantEvent.prototype={__proto__:InstantEvent.prototype,get userFriendlyName(){return'Global instant event '+this.title+' @ '+ 5146tr.b.Unit.byName.timeStampInMs.format(start);}};function ProcessInstantEvent(category,title,colorId,start,args){InstantEvent.apply(this,arguments);this.type=InstantEventType.PROCESS;} 5147ProcessInstantEvent.prototype={__proto__:InstantEvent.prototype,get userFriendlyName(){return'Process-level instant event '+this.title+' @ '+ 5148tr.b.Unit.byName.timeStampInMs.format(start);}};tr.model.EventRegistry.register(InstantEvent,{name:'instantEvent',pluralName:'instantEvents'});return{GlobalInstantEvent,ProcessInstantEvent,InstantEventType,InstantEvent,};});'use strict';tr.exportTo('tr.model',function(){const Cpu=tr.model.Cpu;const ProcessBase=tr.model.ProcessBase;function Kernel(model){ProcessBase.call(this,model);this.cpus={};this.softwareMeasuredCpuCount_=undefined;} 5149Kernel.compare=function(x,y){return 0;};Kernel.prototype={__proto__:ProcessBase.prototype,compareTo(that){return Kernel.compare(this,that);},get userFriendlyName(){return'Kernel';},get userFriendlyDetails(){return'Kernel';},get stableId(){return'Kernel';},getOrCreateCpu(cpuNumber){if(!this.cpus[cpuNumber]){this.cpus[cpuNumber]=new Cpu(this,cpuNumber);} 5150return this.cpus[cpuNumber];},get softwareMeasuredCpuCount(){return this.softwareMeasuredCpuCount_;},set softwareMeasuredCpuCount(softwareMeasuredCpuCount){if(this.softwareMeasuredCpuCount_!==undefined&&this.softwareMeasuredCpuCount_!==softwareMeasuredCpuCount){throw new Error('Cannot change the softwareMeasuredCpuCount once it is set');} 5151this.softwareMeasuredCpuCount_=softwareMeasuredCpuCount;},get bestGuessAtCpuCount(){const realCpuCount=Object.keys(this.cpus).length;if(realCpuCount!==0){return realCpuCount;} 5152return this.softwareMeasuredCpuCount;},updateBounds(){ProcessBase.prototype.updateBounds.call(this);for(const cpuNumber in this.cpus){const cpu=this.cpus[cpuNumber];cpu.updateBounds();this.bounds.addRange(cpu.bounds);}},createSubSlices(){ProcessBase.prototype.createSubSlices.call(this);for(const cpuNumber in this.cpus){const cpu=this.cpus[cpuNumber];cpu.createSubSlices();}},addCategoriesToDict(categoriesDict){ProcessBase.prototype.addCategoriesToDict.call(this,categoriesDict);for(const cpuNumber in this.cpus){this.cpus[cpuNumber].addCategoriesToDict(categoriesDict);}},getSettingsKey(){return'kernel';},*childEventContainers(){yield*ProcessBase.prototype.childEventContainers.call(this);yield*Object.values(this.cpus);},};return{Kernel,};});'use strict';tr.exportTo('tr.model',function(){function ModelIndices(model){this.flowEventsById_={};model.flowEvents.forEach(function(fe){if(fe.id!==undefined){if(!this.flowEventsById_.hasOwnProperty(fe.id)){this.flowEventsById_[fe.id]=[];} 5153this.flowEventsById_[fe.id].push(fe);}},this);} 5154ModelIndices.prototype={addEventWithId(id,event){if(!this.flowEventsById_.hasOwnProperty(id)){this.flowEventsById_[id]=[];} 5155this.flowEventsById_[id].push(event);},getFlowEventsWithId(id){if(!this.flowEventsById_.hasOwnProperty(id)){return[];} 5156return this.flowEventsById_[id];}};return{ModelIndices,};});'use strict';tr.exportTo('tr.model',function(){function ModelStats(){this.traceEventCountsByKey_=new Map();this.allTraceEventStats_=[];this.traceEventStatsInTimeIntervals_=new Map();this.allTraceEventStatsInTimeIntervals_=[];this.hasEventSizesinBytes_=false;this.traceImportDurationMs_=undefined;} 5157ModelStats.prototype={TIME_INTERVAL_SIZE_IN_MS:100,willProcessBasicTraceEvent(phase,category,title,ts,opt_eventSizeinBytes){const key=phase+'/'+category+'/'+title;let eventStats=this.traceEventCountsByKey_.get(key);if(eventStats===undefined){eventStats={phase,category,title,numEvents:0,totalEventSizeinBytes:0};this.traceEventCountsByKey_.set(key,eventStats);this.allTraceEventStats_.push(eventStats);} 5158eventStats.numEvents++;const timeIntervalKey=Math.floor(tr.b.Unit.timestampFromUs(ts)/this.TIME_INTERVAL_SIZE_IN_MS);let eventStatsByTimeInverval=this.traceEventStatsInTimeIntervals_.get(timeIntervalKey);if(eventStatsByTimeInverval===undefined){eventStatsByTimeInverval={timeInterval:timeIntervalKey,numEvents:0,totalEventSizeinBytes:0};this.traceEventStatsInTimeIntervals_.set(timeIntervalKey,eventStatsByTimeInverval);this.allTraceEventStatsInTimeIntervals_.push(eventStatsByTimeInverval);} 5159eventStatsByTimeInverval.numEvents++;if(opt_eventSizeinBytes!==undefined){this.hasEventSizesinBytes_=true;eventStats.totalEventSizeinBytes+=opt_eventSizeinBytes;eventStatsByTimeInverval.totalEventSizeinBytes+=opt_eventSizeinBytes;}},get allTraceEventStats(){return this.allTraceEventStats_;},get allTraceEventStatsInTimeIntervals(){return this.allTraceEventStatsInTimeIntervals_;},get hasEventSizesinBytes(){return this.hasEventSizesinBytes_;},get traceImportDurationMs(){return this.traceImportDurationMs_;},set traceImportDurationMs(traceImportDurationMs){this.traceImportDurationMs_=traceImportDurationMs;}};return{ModelStats,};});'use strict';tr.exportTo('tr.model',function(){function VMRegion(startAddress,sizeInBytes,protectionFlags,mappedFile,byteStats){this.startAddress=startAddress;this.sizeInBytes=sizeInBytes;this.protectionFlags=protectionFlags;this.mappedFile=mappedFile||'';this.byteStats=byteStats||{};} 5160VMRegion.PROTECTION_FLAG_READ=4;VMRegion.PROTECTION_FLAG_WRITE=2;VMRegion.PROTECTION_FLAG_EXECUTE=1;VMRegion.PROTECTION_FLAG_MAYSHARE=128;VMRegion.prototype={get uniqueIdWithinProcess(){return this.mappedFile+'#'+this.startAddress;},get protectionFlagsToString(){if(this.protectionFlags===undefined)return undefined;return((this.protectionFlags&VMRegion.PROTECTION_FLAG_READ?'r':'-')+ 5161(this.protectionFlags&VMRegion.PROTECTION_FLAG_WRITE?'w':'-')+ 5162(this.protectionFlags&VMRegion.PROTECTION_FLAG_EXECUTE?'x':'-')+ 5163(this.protectionFlags&VMRegion.PROTECTION_FLAG_MAYSHARE?'s':'p'));}};VMRegion.fromDict=function(dict){return new VMRegion(dict.startAddress,dict.sizeInBytes,dict.protectionFlags,dict.mappedFile,dict.byteStats);};function VMRegionClassificationNode(opt_rule){this.rule_=opt_rule||VMRegionClassificationNode.CLASSIFICATION_RULES;this.hasRegions=false;this.sizeInBytes=undefined;this.byteStats={};this.children_=undefined;this.regions_=[];} 5164VMRegionClassificationNode.CLASSIFICATION_RULES={name:'Total',children:[{name:'Android',file:/^\/dev\/ashmem(?!\/libc malloc)/,children:[{name:'Java runtime',file:/^\/dev\/ashmem\/dalvik-/,children:[{name:'Spaces',file:/\/dalvik-(alloc|main|large object|non moving|zygote) space/,children:[{name:'Normal',file:/\/dalvik-(alloc|main)/},{name:'Large',file:/\/dalvik-large object/},{name:'Zygote',file:/\/dalvik-zygote/},{name:'Non-moving',file:/\/dalvik-non moving/}]},{name:'Linear Alloc',file:/\/dalvik-LinearAlloc/},{name:'Indirect Reference Table',file:/\/dalvik-indirect.ref/},{name:'Cache',file:/\/dalvik-jit-code-cache/},{name:'Accounting'}]},{name:'Cursor',file:/\/CursorWindow/},{name:'Ashmem'}]},{name:'Native heap',file:/^((\[heap\])|(\[anon:)|(\/dev\/ashmem\/libc malloc)|(\[discounted tracing overhead\])|$)/},{name:'Stack',file:/^\[stack/},{name:'Files',file:/\.((((jar)|(apk)|(ttf)|(odex)|(oat)|(art))$)|(dex)|(so))/,children:[{name:'so',file:/\.so/},{name:'jar',file:/\.jar$/},{name:'apk',file:/\.apk$/},{name:'ttf',file:/\.ttf$/},{name:'dex',file:/\.((dex)|(odex$))/},{name:'oat',file:/\.oat$/},{name:'art',file:/\.art$/}]},{name:'Devices',file:/(^\/dev\/)|(anon_inode:dmabuf)/,children:[{name:'GPU',file:/\/((nv)|(mali)|(kgsl))/},{name:'DMA',file:/anon_inode:dmabuf/}]}]};VMRegionClassificationNode.OTHER_RULE={name:'Other'};VMRegionClassificationNode.fromRegions=function(regions,opt_rules){const tree=new VMRegionClassificationNode(opt_rules);tree.regions_=regions;for(let i=0;i<regions.length;i++){tree.addStatsFromRegion_(regions[i]);} 5165return tree;};VMRegionClassificationNode.prototype={get title(){return this.rule_.name;},get children(){if(this.isLeafNode){return undefined;} 5166if(this.children_===undefined){this.buildTree_();} 5167return this.children_;},get regions(){if(!this.isLeafNode){return undefined;} 5168return this.regions_;},get allRegionsForTesting(){if(this.regions_!==undefined){if(this.children_!==undefined){throw new Error('Internal error: a VM region classification node '+'cannot have both regions and children');} 5169return this.regions_;} 5170let regions=[];this.children_.forEach(function(childNode){regions=regions.concat(childNode.allRegionsForTesting);});return regions;},get isLeafNode(){const children=this.rule_.children;return children===undefined||children.length===0;},addRegion(region){this.addRegionRecursively_(region,true);},someRegion(fn,opt_this){if(this.regions_!==undefined){return this.regions_.some(fn,opt_this);} 5171return this.children_.some(function(childNode){return childNode.someRegion(fn,opt_this);});},addRegionRecursively_(region,addStatsToThisNode){if(addStatsToThisNode){this.addStatsFromRegion_(region);} 5172if(this.regions_!==undefined){if(this.children_!==undefined){throw new Error('Internal error: a VM region classification node '+'cannot have both regions and children');} 5173this.regions_.push(region);return;} 5174function regionRowMatchesChildNide(child){const fileRegExp=child.rule_.file;if(fileRegExp===undefined)return true;return fileRegExp.test(region.mappedFile);} 5175let matchedChild=tr.b.findFirstInArray(this.children_,regionRowMatchesChildNide);if(matchedChild===undefined){if(this.children_.length!==this.rule_.children.length){throw new Error('Internal error');} 5176matchedChild=new VMRegionClassificationNode(VMRegionClassificationNode.OTHER_RULE);this.children_.push(matchedChild);} 5177matchedChild.addRegionRecursively_(region,true);},buildTree_(){const cachedRegions=this.regions_;this.regions_=undefined;this.buildChildNodesRecursively_();for(let i=0;i<cachedRegions.length;i++){this.addRegionRecursively_(cachedRegions[i],false);}},buildChildNodesRecursively_(){if(this.children_!==undefined){throw new Error('Internal error: Classification node already has children');} 5178if(this.regions_!==undefined&&this.regions_.length!==0){throw new Error('Internal error: Classification node should have no regions');} 5179if(this.isLeafNode){return;} 5180this.regions_=undefined;this.children_=this.rule_.children.map(function(childRule){const child=new VMRegionClassificationNode(childRule);child.buildChildNodesRecursively_();return child;});},addStatsFromRegion_(region){this.hasRegions=true;const regionSizeInBytes=region.sizeInBytes;if(regionSizeInBytes!==undefined){this.sizeInBytes=(this.sizeInBytes||0)+regionSizeInBytes;} 5181const thisByteStats=this.byteStats;const regionByteStats=region.byteStats;for(const byteStatName in regionByteStats){const regionByteStatValue=regionByteStats[byteStatName];if(regionByteStatValue===undefined)continue;thisByteStats[byteStatName]=(thisByteStats[byteStatName]||0)+regionByteStatValue;}}};return{VMRegion,VMRegionClassificationNode,};});'use strict';tr.exportTo('tr.model',function(){const DISCOUNTED_ALLOCATOR_NAMES=['winheap','malloc'];const TRACING_OVERHEAD_PATH=['allocated_objects','tracing_overhead'];const SIZE_NUMERIC_NAME=tr.model.MemoryAllocatorDump.SIZE_NUMERIC_NAME;const RESIDENT_SIZE_NUMERIC_NAME=tr.model.MemoryAllocatorDump.RESIDENT_SIZE_NUMERIC_NAME;function getSizeNumericValue(dump,sizeNumericName){const sizeNumeric=dump.numerics[sizeNumericName];if(sizeNumeric===undefined)return 0;return sizeNumeric.value;} 5182function ProcessMemoryDump(globalMemoryDump,process,start){tr.model.ContainerMemoryDump.call(this,start);this.process=process;this.globalMemoryDump=globalMemoryDump;this.totals=undefined;this.vmRegions=undefined;this.heapDumps=undefined;this.tracingOverheadOwnershipSetUp_=false;this.tracingOverheadDiscountedFromVmRegions_=false;} 5183ProcessMemoryDump.prototype={__proto__:tr.model.ContainerMemoryDump.prototype,get userFriendlyName(){return'Process memory dump at '+ 5184tr.b.Unit.byName.timeStampInMs.format(this.start);},get containerName(){return this.process.userFriendlyName;},get processMemoryDumps(){const dumps={};dumps[this.process.pid]=this;return dumps;},get hasOwnVmRegions(){return this.vmRegions!==undefined;},setUpTracingOverheadOwnership(opt_model){if(this.tracingOverheadOwnershipSetUp_)return;this.tracingOverheadOwnershipSetUp_=true;const tracingDump=this.getMemoryAllocatorDumpByFullName('tracing');if(tracingDump===undefined||tracingDump.owns!==undefined){return;} 5185if(tracingDump.owns!==undefined)return;const hasDiscountedFromAllocatorDumps=DISCOUNTED_ALLOCATOR_NAMES.some(function(allocatorName){const allocatorDump=this.getMemoryAllocatorDumpByFullName(allocatorName);if(allocatorDump===undefined){return false;} 5186let nextPathIndex=0;let currentDump=allocatorDump;let currentFullName=allocatorName;for(;nextPathIndex<TRACING_OVERHEAD_PATH.length;nextPathIndex++){const childFullName=currentFullName+'/'+ 5187TRACING_OVERHEAD_PATH[nextPathIndex];const childDump=this.getMemoryAllocatorDumpByFullName(childFullName);if(childDump===undefined)break;currentDump=childDump;currentFullName=childFullName;} 5188for(;nextPathIndex<TRACING_OVERHEAD_PATH.length;nextPathIndex++){const childFullName=currentFullName+'/'+ 5189TRACING_OVERHEAD_PATH[nextPathIndex];const childDump=new tr.model.MemoryAllocatorDump(currentDump.containerMemoryDump,childFullName);childDump.parent=currentDump;currentDump.children.push(childDump);currentFullName=childFullName;currentDump=childDump;} 5190const ownershipLink=new tr.model.MemoryAllocatorDumpLink(tracingDump,currentDump);tracingDump.owns=ownershipLink;currentDump.ownedBy.push(ownershipLink);return true;},this);if(hasDiscountedFromAllocatorDumps){this.forceRebuildingMemoryAllocatorDumpByFullNameIndex();}},discountTracingOverheadFromVmRegions(opt_model){if(this.tracingOverheadDiscountedFromVmRegions_)return;this.tracingOverheadDiscountedFromVmRegions_=true;const tracingDump=this.getMemoryAllocatorDumpByFullName('tracing');if(tracingDump===undefined)return;const discountedSize=getSizeNumericValue(tracingDump,SIZE_NUMERIC_NAME);const discountedResidentSize=getSizeNumericValue(tracingDump,RESIDENT_SIZE_NUMERIC_NAME);if(discountedSize<=0&&discountedResidentSize<=0)return;if(this.totals!==undefined){if(this.totals.residentBytes!==undefined){this.totals.residentBytes-=discountedResidentSize;} 5191if(this.totals.peakResidentBytes!==undefined){this.totals.peakResidentBytes-=discountedResidentSize;}} 5192if(this.vmRegions!==undefined){const hasSizeInBytes=this.vmRegions.sizeInBytes!==undefined;const hasPrivateDirtyResident=this.vmRegions.byteStats.privateDirtyResident!==undefined;const hasProportionalResident=this.vmRegions.byteStats.proportionalResident!==undefined;if((hasSizeInBytes&&discountedSize>0)||((hasPrivateDirtyResident||hasProportionalResident)&&discountedResidentSize>0)){const byteStats={};if(hasPrivateDirtyResident){byteStats.privateDirtyResident=-discountedResidentSize;} 5193if(hasProportionalResident){byteStats.proportionalResident=-discountedResidentSize;} 5194this.vmRegions.addRegion(tr.model.VMRegion.fromDict({mappedFile:'[discounted tracing overhead]',sizeInBytes:hasSizeInBytes?-discountedSize:undefined,byteStats}));}}}};ProcessMemoryDump.hookUpMostRecentVmRegionsLinks=function(processDumps){let mostRecentVmRegions=undefined;processDumps.forEach(function(processDump){if(processDump.vmRegions!==undefined){mostRecentVmRegions=processDump.vmRegions;} 5195processDump.mostRecentVmRegions=mostRecentVmRegions;});};tr.model.EventRegistry.register(ProcessMemoryDump,{name:'processMemoryDump',pluralName:'processMemoryDumps'});return{ProcessMemoryDump,};});'use strict';tr.exportTo('tr.model',function(){const ProcessBase=tr.model.ProcessBase;const ProcessInstantEvent=tr.model.ProcessInstantEvent;const Frame=tr.model.Frame;const ProcessMemoryDump=tr.model.ProcessMemoryDump;function Process(model,pid){if(model===undefined){throw new Error('model must be provided');} 5196if(pid===undefined){throw new Error('pid must be provided');} 5197tr.model.ProcessBase.call(this,model);this.pid=pid;this.name=undefined;this.labels=[];this.uptime_seconds=0;this.instantEvents=[];this.memoryDumps=[];this.frames=[];this.activities=[];} 5198Process.compare=function(x,y){let tmp=tr.model.ProcessBase.compare(x,y);if(tmp)return tmp;tmp=tr.b.comparePossiblyUndefinedValues(x.name,y.name,function(x,y){return x.localeCompare(y);});if(tmp)return tmp;tmp=tr.b.compareArrays(x.labels,y.labels,function(x,y){return x.localeCompare(y);});if(tmp)return tmp;return x.pid-y.pid;};Process.prototype={__proto__:tr.model.ProcessBase.prototype,get stableId(){return this.pid;},compareTo(that){return Process.compare(this,that);},*childEvents(){yield*ProcessBase.prototype.childEvents.call(this);yield*this.instantEvents;yield*this.frames;yield*this.memoryDumps;},addLabelIfNeeded(labelName){for(let i=0;i<this.labels.length;i++){if(this.labels[i]===labelName)return;} 5199this.labels.push(labelName);},get userFriendlyName(){let res;if(this.name){res=this.name+' (pid '+this.pid+')';}else{res='Process '+this.pid;} 5200if(this.labels.length){res+=': '+this.labels.join(', ');} 5201if(this.uptime_seconds){res+=', uptime:'+this.uptime_seconds+'s';} 5202return res;},get userFriendlyDetails(){if(this.name){return this.name+' (pid '+this.pid+')';} 5203return'pid: '+this.pid;},getSettingsKey(){if(!this.name)return undefined;if(!this.labels.length)return'processes.'+this.name;return'processes.'+this.name+'.'+this.labels.join('.');},shiftTimestampsForward(amount){for(let i=0;i<this.instantEvents.length;i++){this.instantEvents[i].start+=amount;} 5204for(let i=0;i<this.frames.length;i++){this.frames[i].shiftTimestampsForward(amount);} 5205for(let i=0;i<this.memoryDumps.length;i++){this.memoryDumps[i].shiftTimestampsForward(amount);} 5206for(let i=0;i<this.activities.length;i++){this.activities[i].shiftTimestampsForward(amount);} 5207tr.model.ProcessBase.prototype.shiftTimestampsForward.apply(this,arguments);},updateBounds(){tr.model.ProcessBase.prototype.updateBounds.apply(this);for(let i=0;i<this.frames.length;i++){this.frames[i].addBoundsToRange(this.bounds);} 5208for(let i=0;i<this.memoryDumps.length;i++){this.memoryDumps[i].addBoundsToRange(this.bounds);} 5209for(let i=0;i<this.activities.length;i++){this.activities[i].addBoundsToRange(this.bounds);}},sortMemoryDumps(){this.memoryDumps.sort(function(x,y){return x.start-y.start;});tr.model.ProcessMemoryDump.hookUpMostRecentVmRegionsLinks(this.memoryDumps);}};return{Process,};});'use strict';tr.exportTo('tr.model',function(){function Sample(start,title,leafNode,thread,opt_cpu,opt_weight,opt_args){tr.model.TimedEvent.call(this,start);this.start_=start;this.title_=title;this.leafNode_=leafNode;this.thread_=thread;this.colorId_=leafNode.colorId;this.cpu_=opt_cpu;this.weight_=opt_weight;this.args=opt_args||{};} 5210Sample.prototype={__proto__:tr.model.TimedEvent.prototype,get title(){return this.title_;},get colorId(){return this.colorId_;},get thread(){return this.thread_;},get leafNode(){return this.leafNode_;},get userFriendlyName(){return'Sample at '+ 5211tr.b.Unit.byName.timeStampInMs.format(this.start);},get userFriendlyStack(){return this.leafNode_.userFriendlyStack;},getNodesAsArray(){const nodes=[];let node=this.leafNode_;while(node!==undefined){nodes.push(node);node=node.parentNode;} 5212return nodes;},get cpu(){return this.cpu_;},get weight(){return this.weight_;},};tr.model.EventRegistry.register(Sample,{name:'Sample',pluralName:'Samples'});return{Sample,};});'use strict';tr.exportTo('tr.model',function(){function StackFrame(parentFrame,id,title,colorId,opt_sourceInfo){if(id===undefined){throw new Error('id must be given');} 5213this.parentFrame_=parentFrame;this.id=id;this.title_=title;this.colorId=colorId;this.children=[];this.sourceInfo_=opt_sourceInfo;if(this.parentFrame_){this.parentFrame_.addChild(this);}} 5214StackFrame.prototype={get parentFrame(){return this.parentFrame_;},get title(){if(this.sourceInfo_){const src=this.sourceInfo_.toString();return this.title_+(src===''?'':' '+src);} 5215return this.title_;},get domain(){let result='unknown';if(this.sourceInfo_&&this.sourceInfo_.domain){result=this.sourceInfo_.domain;} 5216if(result==='unknown'&&this.parentFrame){result=this.parentFrame.domain;} 5217return result;},get sourceInfo(){return this.sourceInfo_;},set parentFrame(parentFrame){if(this.parentFrame_){Polymer.dom(this.parentFrame_).removeChild(this);} 5218this.parentFrame_=parentFrame;if(this.parentFrame_){this.parentFrame_.addChild(this);}},addChild(child){this.children.push(child);},removeChild(child){const i=this.children.indexOf(child.id);if(i===-1){throw new Error('omg');} 5219this.children.splice(i,1);},removeAllChildren(){for(let i=0;i<this.children.length;i++){this.children[i].parentFrame_=undefined;} 5220this.children.splice(0,this.children.length);},get stackTrace(){const stack=[this];let cur=this.parentFrame;while(cur){stack.push(cur);cur=cur.parentFrame;} 5221return stack;},getUserFriendlyStackTrace(){return this.stackTrace.map(function(x){return x.title;});}};return{StackFrame,};});'use strict';tr.exportTo('tr.model.um',function(){class Segment extends tr.model.TimedEvent{constructor(start,duration){super(start);this.duration=duration;this.expectations_=[];} 5222get expectations(){return this.expectations_;} 5223clone(){const clone=new Segment(this.start,this.duration);clone.expectations.push(...this.expectations);return clone;} 5224addSegment(other){this.duration+=other.duration;this.expectations.push(...other.expectations);}} 5225return{Segment,};});'use strict';tr.exportTo('tr.model.um',function(){class UserModel extends tr.model.EventContainer{constructor(parentModel){super();this.parentModel_=parentModel;this.expectations_=new tr.model.EventSet();this.segments_=[];} 5226get stableId(){return'UserModel';} 5227get parentModel(){return this.parentModel_;} 5228sortExpectations(){this.expectations_.sortEvents((x,y)=>(x.start-y.start));} 5229get expectations(){return this.expectations_;} 5230shiftTimestampsForward(amount){} 5231addCategoriesToDict(categoriesDict){} 5232get segments(){return this.segments_;}*childEvents(){yield*this.expectations;}*childEventContainers(){} 5233updateBounds(){this.bounds.reset();for(const expectation of this.expectations){expectation.addBoundsToRange(this.bounds);}} 5234resegment(getKeyForSegment){const newSegments=[];let prevKey=undefined;let prevSegment=undefined;for(let i=0;i<this.segments.length;++i){const segment=this.segments[i];const key=getKeyForSegment(segment,i);if(prevSegment!==undefined&&key===prevKey){prevSegment.addSegment(segment);}else{prevSegment=segment.clone();newSegments.push(prevSegment);} 5235prevKey=key;} 5236return newSegments;}} 5237return{UserModel,};});'use strict';tr.exportTo('tr',function(){const Process=tr.model.Process;const Device=tr.model.Device;const Kernel=tr.model.Kernel;const GlobalMemoryDump=tr.model.GlobalMemoryDump;const GlobalInstantEvent=tr.model.GlobalInstantEvent;const FlowEvent=tr.model.FlowEvent;const Alert=tr.model.Alert;const Sample=tr.model.Sample;function Model(){tr.model.EventContainer.call(this);tr.b.EventTarget.decorate(this);this.timestampShiftToZeroAmount_=0;this.faviconHue='blue';this.device=new Device(this);this.kernel=new Kernel(this);this.processes={};this.metadata=[];this.categories=[];this.instantEvents=[];this.flowEvents=[];this.clockSyncManager=new tr.model.ClockSyncManager();this.intrinsicTimeUnit_=undefined;this.stackFrames={};this.samples=[];this.alerts=[];this.userModel=new tr.model.um.UserModel(this);this.flowIntervalTree=new tr.b.IntervalTree((f)=>f.start,(f)=>f.end);this.globalMemoryDumps=[];this.userFriendlyCategoryDrivers_=[];this.annotationsByGuid_={};this.modelIndices=undefined;this.stats=new tr.model.ModelStats();this.importWarnings_=[];this.reportedImportWarnings_={};this.isTimeHighResolution_=true;this.patchupsToApply_=[];this.doesHelperGUIDSupportThisModel_={};this.helpersByConstructorGUID_={};this.eventsByStableId_=undefined;} 5238Model.prototype={__proto__:tr.model.EventContainer.prototype,getEventByStableId(stableId){if(this.eventsByStableId_===undefined){this.eventsByStableId_={};for(const event of this.getDescendantEvents()){this.eventsByStableId_[event.stableId]=event;}} 5239return this.eventsByStableId_[stableId];},getOrCreateHelper(constructor){if(!constructor.guid){throw new Error('Helper constructors must have GUIDs');} 5240if(this.helpersByConstructorGUID_[constructor.guid]===undefined){if(this.doesHelperGUIDSupportThisModel_[constructor.guid]===undefined){this.doesHelperGUIDSupportThisModel_[constructor.guid]=constructor.supportsModel(this);} 5241if(!this.doesHelperGUIDSupportThisModel_[constructor.guid]){return undefined;} 5242this.helpersByConstructorGUID_[constructor.guid]=new constructor(this);} 5243return this.helpersByConstructorGUID_[constructor.guid];},*childEvents(){yield*this.globalMemoryDumps;yield*this.instantEvents;yield*this.flowEvents;yield*this.alerts;yield*this.samples;},*childEventContainers(){yield this.userModel;yield this.device;yield this.kernel;yield*Object.values(this.processes);},iterateAllPersistableObjects(callback){this.kernel.iterateAllPersistableObjects(callback);for(const pid in this.processes){this.processes[pid].iterateAllPersistableObjects(callback);}},updateBounds(){this.bounds.reset();const bounds=this.bounds;for(const ec of this.childEventContainers()){ec.updateBounds();bounds.addRange(ec.bounds);} 5244for(const event of this.childEvents()){event.addBoundsToRange(bounds);}},shiftWorldToZero(){const shiftAmount=-this.bounds.min;this.timestampShiftToZeroAmount_=shiftAmount;for(const ec of this.childEventContainers()){ec.shiftTimestampsForward(shiftAmount);} 5245for(const event of this.childEvents()){event.start+=shiftAmount;} 5246this.updateBounds();},convertTimestampToModelTime(sourceClockDomainName,ts){if(sourceClockDomainName!=='traceEventClock'){throw new Error('Only traceEventClock is supported.');} 5247return tr.b.Unit.timestampFromUs(ts)+ 5248this.timestampShiftToZeroAmount_;},get numProcesses(){let n=0;for(const p in this.processes){n++;} 5249return n;},getProcess(pid){return this.processes[pid];},getOrCreateProcess(pid){if(!this.processes[pid]){this.processes[pid]=new Process(this,pid);} 5250return this.processes[pid];},addStackFrame(stackFrame){if(this.stackFrames[stackFrame.id]){throw new Error('Stack frame already exists');} 5251this.stackFrames[stackFrame.id]=stackFrame;return stackFrame;},updateCategories_(){const categoriesDict={};this.userModel.addCategoriesToDict(categoriesDict);this.device.addCategoriesToDict(categoriesDict);this.kernel.addCategoriesToDict(categoriesDict);for(const pid in this.processes){this.processes[pid].addCategoriesToDict(categoriesDict);} 5252this.categories=[];for(const category in categoriesDict){if(category!==''){this.categories.push(category);}}},getAllThreads(){const threads=[];for(const tid in this.kernel.threads){threads.push(process.threads[tid]);} 5253for(const pid in this.processes){const process=this.processes[pid];for(const tid in process.threads){threads.push(process.threads[tid]);}} 5254return threads;},getAllProcesses(opt_predicate){const processes=[];for(const pid in this.processes){const process=this.processes[pid];if(opt_predicate===undefined||opt_predicate(process)){processes.push(process);}} 5255return processes;},getAllCounters(){const counters=[];counters.push.apply(counters,Object.values(this.device.counters||{}));counters.push.apply(counters,Object.values(this.kernel.counters||{}));for(const pid in this.processes){const process=this.processes[pid];for(const tid in process.counters){counters.push(process.counters[tid]);}} 5256return counters;},getAnnotationByGUID(guid){return this.annotationsByGuid_[guid];},addAnnotation(annotation){if(!annotation.guid){throw new Error('Annotation with undefined guid given');} 5257this.annotationsByGuid_[annotation.guid]=annotation;tr.b.dispatchSimpleEvent(this,'annotationChange');},removeAnnotation(annotation){this.annotationsByGuid_[annotation.guid].onRemove();delete this.annotationsByGuid_[annotation.guid];tr.b.dispatchSimpleEvent(this,'annotationChange');},getAllAnnotations(){return Object.values(this.annotationsByGuid_);},addUserFriendlyCategoryDriver(ufcd){this.userFriendlyCategoryDrivers_.push(ufcd);},getUserFriendlyCategoryFromEvent(event){for(let i=0;i<this.userFriendlyCategoryDrivers_.length;i++){const ufc=this.userFriendlyCategoryDrivers_[i].fromEvent(event);if(ufc!==undefined)return ufc;} 5258return undefined;},findAllThreadsNamed(name){const namedThreads=[];namedThreads.push.apply(namedThreads,this.kernel.findAllThreadsNamed(name));for(const pid in this.processes){namedThreads.push.apply(namedThreads,this.processes[pid].findAllThreadsNamed(name));} 5259return namedThreads;},get importOptions(){return this.importOptions_;},set importOptions(options){this.importOptions_=options;},get intrinsicTimeUnit(){if(this.intrinsicTimeUnit_===undefined){return tr.b.TimeDisplayModes.ms;} 5260return this.intrinsicTimeUnit_;},set intrinsicTimeUnit(value){if(this.intrinsicTimeUnit_===value)return;if(this.intrinsicTimeUnit_!==undefined){throw new Error('Intrinsic time unit already set');} 5261this.intrinsicTimeUnit_=value;},get isTimeHighResolution(){return this.isTimeHighResolution_;},set isTimeHighResolution(value){this.isTimeHighResolution_=value;},get canonicalUrl(){return this.canonicalUrl_;},set canonicalUrl(value){if(this.canonicalUrl_===value)return;if(this.canonicalUrl_!==undefined){throw new Error('canonicalUrl already set');} 5262this.canonicalUrl_=value;},importWarning(data){data.showToUser=!!data.showToUser;this.importWarnings_.push(data);if(this.reportedImportWarnings_[data.type]===true)return;this.reportedImportWarnings_[data.type]=true;},get hasImportWarnings(){return(this.importWarnings_.length>0);},get importWarnings(){return this.importWarnings_;},get importWarningsThatShouldBeShownToUser(){return this.importWarnings_.filter(function(warning){return warning.showToUser;});},autoCloseOpenSlices(){this.samples.sort(function(x,y){return x.start-y.start;});this.updateBounds();this.kernel.autoCloseOpenSlices();for(const pid in this.processes){this.processes[pid].autoCloseOpenSlices();}},createSubSlices(){this.kernel.createSubSlices();for(const pid in this.processes){this.processes[pid].createSubSlices();}},preInitializeObjects(){for(const pid in this.processes){this.processes[pid].preInitializeObjects();}},initializeObjects(){for(const pid in this.processes){this.processes[pid].initializeObjects();}},pruneEmptyContainers(){this.kernel.pruneEmptyContainers();for(const pid in this.processes){this.processes[pid].pruneEmptyContainers();}},mergeKernelWithUserland(){for(const pid in this.processes){this.processes[pid].mergeKernelWithUserland();}},computeWorldBounds(shiftWorldToZero){this.updateBounds();this.updateCategories_();if(shiftWorldToZero){this.shiftWorldToZero();}},buildFlowEventIntervalTree(){for(let i=0;i<this.flowEvents.length;++i){const flowEvent=this.flowEvents[i];this.flowIntervalTree.insert(flowEvent);} 5263this.flowIntervalTree.updateHighValues();},cleanupUndeletedObjects(){for(const pid in this.processes){this.processes[pid].autoDeleteObjects(this.bounds.max);}},sortMemoryDumps(){this.globalMemoryDumps.sort(function(x,y){return x.start-y.start;});for(const pid in this.processes){this.processes[pid].sortMemoryDumps();}},finalizeMemoryGraphs(){this.globalMemoryDumps.forEach(function(dump){dump.finalizeGraph();});},buildEventIndices(){this.modelIndices=new tr.model.ModelIndices(this);},sortAlerts(){this.alerts.sort(function(x,y){return x.start-y.start;});},applyObjectRefPatchups(){const unresolved=[];this.patchupsToApply_.forEach(function(patchup){if(patchup.pidRef in this.processes){const snapshot=this.processes[patchup.pidRef].objects.getSnapshotAt(patchup.scopedId,patchup.ts);if(snapshot){patchup.object[patchup.field]=snapshot;snapshot.referencedAt(patchup.item,patchup.object,patchup.field);return;}} 5264unresolved.push(patchup);},this);this.patchupsToApply_=unresolved;},replacePIDRefsInPatchups(oldPidRef,newPidRef){this.patchupsToApply_.forEach(function(patchup){if(patchup.pidRef===oldPidRef){patchup.pidRef=newPidRef;}});},joinRefs(){this.joinObjectRefs_();this.applyObjectRefPatchups();},joinObjectRefs_(){for(const[pid,process]of Object.entries(this.processes)){this.joinObjectRefsForProcess_(pid,process);}},joinObjectRefsForProcess_(pid,process){for(const thread of Object.values(process.threads)){thread.asyncSliceGroup.slices.forEach(function(item){this.searchItemForIDRefs_(pid,'start',item);},this);thread.sliceGroup.slices.forEach(function(item){this.searchItemForIDRefs_(pid,'start',item);},this);} 5265process.objects.iterObjectInstances(function(instance){instance.snapshots.forEach(function(item){this.searchItemForIDRefs_(pid,'ts',item);},this);},this);},searchItemForIDRefs_(pid,itemTimestampField,item){if(!item.args&&!item.contexts)return;const patchupsToApply=this.patchupsToApply_;function handleField(object,fieldName,fieldValue){if(!fieldValue||(!fieldValue.id_ref&&!fieldValue.idRef)){return;} 5266const scope=fieldValue.scope||tr.model.OBJECT_DEFAULT_SCOPE;const idRef=fieldValue.id_ref||fieldValue.idRef;const scopedId=new tr.model.ScopedId(scope,idRef);const pidRef=fieldValue.pid_ref||fieldValue.pidRef||pid;const ts=item[itemTimestampField];patchupsToApply.push({item,object,field:fieldName,pidRef,scopedId,ts});} 5267function iterObjectFieldsRecursively(object){if(!(object instanceof Object))return;if((object instanceof tr.model.ObjectSnapshot)||(object instanceof Float32Array)||(object instanceof tr.b.math.Quad)){return;} 5268if(object instanceof Array){for(let i=0;i<object.length;i++){handleField(object,i,object[i]);iterObjectFieldsRecursively(object[i]);} 5269return;} 5270for(const key in object){const value=object[key];handleField(object,key,value);iterObjectFieldsRecursively(value);}} 5271iterObjectFieldsRecursively(item.args);iterObjectFieldsRecursively(item.contexts);}};return{Model,};});'use strict';tr.exportTo('tr.e.importer.etw',function(){const kThreadGuid='3D6FA8D1-FE05-11D0-9DDA-00C04FD7BA7C';const kThreadDCStartOpcode=3;function Decoder(){this.payload_=new DataView(new ArrayBuffer(256));} 5272Decoder.prototype={__proto__:Object.prototype,reset(base64Payload){const decodedSize=tr.b.Base64.getDecodedBufferLength(base64Payload);if(decodedSize>this.payload_.byteLength){this.payload_=new DataView(new ArrayBuffer(decodedSize));} 5273tr.b.Base64.DecodeToTypedArray(base64Payload,this.payload_);this.position_=0;},skip(length){this.position_+=length;},decodeUInt8(){const result=this.payload_.getUint8(this.position_,true);this.position_+=1;return result;},decodeUInt16(){const result=this.payload_.getUint16(this.position_,true);this.position_+=2;return result;},decodeUInt32(){const result=this.payload_.getUint32(this.position_,true);this.position_+=4;return result;},decodeUInt64ToString(){const low=this.decodeUInt32();const high=this.decodeUInt32();const lowStr=('0000000'+low.toString(16)).substr(-8);const highStr=('0000000'+high.toString(16)).substr(-8);const result=highStr+lowStr;return result;},decodeInt8(){const result=this.payload_.getInt8(this.position_,true);this.position_+=1;return result;},decodeInt16(){const result=this.payload_.getInt16(this.position_,true);this.position_+=2;return result;},decodeInt32(){const result=this.payload_.getInt32(this.position_,true);this.position_+=4;return result;},decodeInt64ToString(){return this.decodeUInt64ToString();},decodeUInteger(is64){if(is64){return this.decodeUInt64ToString();} 5274return this.decodeUInt32();},decodeString(){let str='';while(true){const c=this.decodeUInt8();if(!c)return str;str=str+String.fromCharCode(c);}},decodeW16String(){let str='';while(true){const c=this.decodeUInt16();if(!c)return str;str=str+String.fromCharCode(c);}},decodeFixedW16String(length){const oldPosition=this.position_;let str='';for(let i=0;i<length;i++){const c=this.decodeUInt16();if(!c)break;str=str+String.fromCharCode(c);} 5275this.position_=oldPosition+2*length;return str;},decodeBytes(length){const bytes=[];for(let i=0;i<length;++i){const c=this.decodeUInt8();bytes.push(c);} 5276return bytes;},decodeSID(is64){const pSid=this.decodeUInteger(is64);const attributes=this.decodeUInt32();if(is64){this.decodeUInt32();} 5277const revision=this.decodeUInt8();const subAuthorityCount=this.decodeUInt8();this.decodeUInt16();this.decodeUInt32();if(revision!==1){throw new Error('Invalid SID revision: could not decode the SID structure.');} 5278const sid=this.decodeBytes(4*subAuthorityCount);return{pSid,attributes,sid};},decodeSystemTime(){const wYear=this.decodeInt16();const wMonth=this.decodeInt16();const wDayOfWeek=this.decodeInt16();const wDay=this.decodeInt16();const wHour=this.decodeInt16();const wMinute=this.decodeInt16();const wSecond=this.decodeInt16();const wMilliseconds=this.decodeInt16();return{wYear,wMonth,wDayOfWeek,wDay,wHour,wMinute,wSecond,wMilliseconds};},decodeTimeZoneInformation(){const bias=this.decodeUInt32();const standardName=this.decodeFixedW16String(32);const standardDate=this.decodeSystemTime();const standardBias=this.decodeUInt32();const daylightName=this.decodeFixedW16String(32);const daylightDate=this.decodeSystemTime();const daylightBias=this.decodeUInt32();return{bias,standardName,standardDate,standardBias,daylightName,daylightDate,daylightBias};}};function EtwImporter(model,events){this.importPriority=3;this.model_=model;this.events_=events;this.handlers_={};this.decoder_=new Decoder();this.walltime_=undefined;this.ticks_=undefined;this.is64bit_=undefined;this.tidsToPid_={};const allTypeInfos=tr.e.importer.etw.Parser.getAllRegisteredTypeInfos();this.parsers_=allTypeInfos.map(function(typeInfo){return new typeInfo.constructor(this);},this);} 5279EtwImporter.canImport=function(events){if(!events.hasOwnProperty('name')||!events.hasOwnProperty('content')||events.name!=='ETW'){return false;} 5280return true;};EtwImporter.prototype={__proto__:tr.importer.Importer.prototype,get importerName(){return'EtwImporter';},get model(){return this.model_;},createThreadIfNeeded(pid,tid){this.tidsToPid_[tid]=pid;},removeThreadIfPresent(tid){this.tidsToPid_[tid]=undefined;},getPidFromWindowsTid(tid){if(tid===0)return 0;const pid=this.tidsToPid_[tid];if(pid===undefined){return 0;} 5281return pid;},getThreadFromWindowsTid(tid){const pid=this.getPidFromWindowsTid(tid);const process=this.model_.getProcess(pid);if(!process)return undefined;return process.getThread(tid);},getOrCreateCpu(cpuNumber){const cpu=this.model_.kernel.getOrCreateCpu(cpuNumber);return cpu;},importEvents(){this.events_.content.forEach(this.parseInfo.bind(this));if(this.walltime_===undefined||this.ticks_===undefined){throw Error('Cannot find clock sync information in the system trace.');} 5282if(this.is64bit_===undefined){throw Error('Cannot determine pointer size of the system trace.');} 5283this.events_.content.forEach(this.parseEvent.bind(this));},importTimestamp(timestamp){const ts=parseInt(timestamp,16);return(ts-this.walltime_+this.ticks_)/1000.;},parseInfo(event){if(event.hasOwnProperty('guid')&&event.hasOwnProperty('walltime')&&event.hasOwnProperty('tick')&&event.guid==='ClockSync'){this.walltime_=parseInt(event.walltime,16);this.ticks_=parseInt(event.tick,16);} 5284if(this.is64bit_===undefined&&event.hasOwnProperty('guid')&&event.hasOwnProperty('op')&&event.hasOwnProperty('ver')&&event.hasOwnProperty('payload')&&event.guid===kThreadGuid&&event.op===kThreadDCStartOpcode){const decodedSize=tr.b.Base64.getDecodedBufferLength(event.payload);if(event.ver===1){if(decodedSize>=52){this.is64bit_=true;}else{this.is64bit_=false;}}else if(event.ver===2){if(decodedSize>=64){this.is64bit_=true;}else{this.is64bit_=false;}}else if(event.ver===3){if(decodedSize>=60){this.is64bit_=true;}else{this.is64bit_=false;}}} 5285return true;},parseEvent(event){if(!event.hasOwnProperty('guid')||!event.hasOwnProperty('op')||!event.hasOwnProperty('ver')||!event.hasOwnProperty('cpu')||!event.hasOwnProperty('ts')||!event.hasOwnProperty('payload')){return false;} 5286const timestamp=this.importTimestamp(event.ts);const header={guid:event.guid,opcode:event.op,version:event.ver,cpu:event.cpu,timestamp,is64:this.is64bit_};const decoder=this.decoder_;decoder.reset(event.payload);const handler=this.getEventHandler(header.guid,header.opcode);if(!handler)return false;if(!handler(header,decoder)){this.model_.importWarning({type:'parse_error',message:'Malformed '+header.guid+' event ('+event.payload+')'});return false;} 5287return true;},registerEventHandler(guid,opcode,handler){if(this.handlers_[guid]===undefined){this.handlers_[guid]=[];} 5288this.handlers_[guid][opcode]=handler;},getEventHandler(guid,opcode){if(this.handlers_[guid]===undefined){return undefined;} 5289return this.handlers_[guid][opcode];}};tr.importer.Importer.register(EtwImporter);return{EtwImporter,};});'use strict';tr.exportTo('tr.b',function(){class TraceStream{static get HEADER_SIZE(){return Math.pow(2,10);} 5290static get CHUNK_SIZE(){return Math.pow(2,20);} 5291get isBinary(){throw new Error('Not implemented');} 5292get hasData(){throw new Error('Not implemented');} 5293get header(){throw new Error('Not implemented');} 5294readUntilDelimiter(delim){throw new Error('Not implemented');} 5295readNumBytes(opt_size){throw new Error('Not implemented');} 5296rewind(){throw new Error('Not implemented');} 5297substream(offset,opt_length,opt_headerSize){throw new Error('Not implemented');}} 5298return{TraceStream,};});'use strict';tr.exportTo('tr.b',function(){const MAX_FUNCTION_ARGS_COUNT=Math.pow(2,15)-1;class InMemoryTraceStream extends tr.b.TraceStream{constructor(buffer,isBinary,opt_headerSize){super();if(!buffer instanceof Uint8Array){throw new Error('buffer should be a Uint8Array');} 5299const headerSize=opt_headerSize||tr.b.TraceStream.HEADER_SIZE;this.data_=buffer;this.isBinary_=isBinary;this.header_=InMemoryTraceStream.uint8ArrayToString_(this.data_.subarray(0,headerSize));this.cursor_=0;} 5300get isBinary(){return this.isBinary_;} 5301get hasData(){return this.cursor_<this.data_.length;} 5302get header(){return this.header_;} 5303get data(){return this.data_;} 5304toString(){this.rewind();return this.readNumBytes(Number.MAX_VALUE);} 5305readUntilDelimiter(delim){if(delim.length!==1){throw new Error('delim must be exactly one character');} 5306const offset=this.data_.indexOf(delim.charCodeAt(0),this.cursor_)+1;return this.readToOffset_(offset>0?Math.min(offset,this.data_.length):this.data_.length);} 5307readNumBytes(opt_size){if(opt_size!==undefined&&opt_size<=0){throw new Error(`readNumBytes expects a positive size (${opt_size} given)`);} 5308const size=opt_size||tr.b.TraceStream.CHUNK_SIZE;const offset=Math.min(this.cursor_+size,this.data_.length);return this.readToOffset_(offset);} 5309rewind(){this.cursor_=0;} 5310substream(startOffset,opt_endOffset,opt_headerSize){return new InMemoryTraceStream(this.data_.subarray(startOffset,opt_endOffset),this.isBinary_,opt_headerSize);} 5311readToOffset_(offset){const out=InMemoryTraceStream.uint8ArrayToString_(this.data_.subarray(this.cursor_,offset));this.cursor_=offset;return out;} 5312static uint8ArrayToString_(arr){const c=[];for(let i=0;i<arr.length;i+=MAX_FUNCTION_ARGS_COUNT){c.push(String.fromCharCode(...arr.subarray(i,i+MAX_FUNCTION_ARGS_COUNT)));} 5313return c.join('');}} 5314return{InMemoryTraceStream,};});!function(a){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=a();else if("function"==typeof define&&define.amd)define([],a);else{var b;"undefined"!=typeof window?b=window:"undefined"!=typeof global?b=global:"undefined"!=typeof self&&(b=self),b.JSZip=a()}}(function(){return function a(b,c,d){function e(g,h){if(!c[g]){if(!b[g]){var i="function"==typeof require&&require;if(!h&&i)return i(g,!0);if(f)return f(g,!0);throw new Error("Cannot find module '"+g+"'")}var j=c[g]={exports:{}};b[g][0].call(j.exports,function(a){var c=b[g][1][a];return e(c?c:a)},j,j.exports,a,b,c,d)}return c[g].exports}for(var f="function"==typeof require&&require,g=0;g<d.length;g++)e(d[g]);return e}({1:[function(a,b,c){"use strict";var d="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";c.encode=function(a){for(var b,c,e,f,g,h,i,j="",k=0;k<a.length;)b=a.charCodeAt(k++),c=a.charCodeAt(k++),e=a.charCodeAt(k++),f=b>>2,g=(3&b)<<4|c>>4,h=(15&c)<<2|e>>6,i=63&e,isNaN(c)?h=i=64:isNaN(e)&&(i=64),j=j+d.charAt(f)+d.charAt(g)+d.charAt(h)+d.charAt(i);return j},c.decode=function(a){var b,c,e,f,g,h,i,j="",k=0;for(a=a.replace(/[^A-Za-z0-9\+\/\=]/g,"");k<a.length;)f=d.indexOf(a.charAt(k++)),g=d.indexOf(a.charAt(k++)),h=d.indexOf(a.charAt(k++)),i=d.indexOf(a.charAt(k++)),b=f<<2|g>>4,c=(15&g)<<4|h>>2,e=(3&h)<<6|i,j+=String.fromCharCode(b),64!=h&&(j+=String.fromCharCode(c)),64!=i&&(j+=String.fromCharCode(e));return j}},{}],2:[function(a,b){"use strict";function c(){this.compressedSize=0,this.uncompressedSize=0,this.crc32=0,this.compressionMethod=null,this.compressedContent=null}c.prototype={getContent:function(){return null},getCompressedContent:function(){return null}},b.exports=c},{}],3:[function(a,b,c){"use strict";c.STORE={magic:"\x00\x00",compress:function(a){return a},uncompress:function(a){return a},compressInputType:null,uncompressInputType:null},c.DEFLATE=a("./flate")},{"./flate":8}],4:[function(a,b){"use strict";var c=a("./utils"),d=[0,1996959894,3993919788,2567524794,124634137,1886057615,3915621685,2657392035,249268274,2044508324,3772115230,2547177864,162941995,2125561021,3887607047,2428444049,498536548,1789927666,4089016648,2227061214,450548861,1843258603,4107580753,2211677639,325883990,1684777152,4251122042,2321926636,335633487,1661365465,4195302755,2366115317,997073096,1281953886,3579855332,2724688242,1006888145,1258607687,3524101629,2768942443,901097722,1119000684,3686517206,2898065728,853044451,1172266101,3705015759,2882616665,651767980,1373503546,3369554304,3218104598,565507253,1454621731,3485111705,3099436303,671266974,1594198024,3322730930,2970347812,795835527,1483230225,3244367275,3060149565,1994146192,31158534,2563907772,4023717930,1907459465,112637215,2680153253,3904427059,2013776290,251722036,2517215374,3775830040,2137656763,141376813,2439277719,3865271297,1802195444,476864866,2238001368,4066508878,1812370925,453092731,2181625025,4111451223,1706088902,314042704,2344532202,4240017532,1658658271,366619977,2362670323,4224994405,1303535960,984961486,2747007092,3569037538,1256170817,1037604311,2765210733,3554079995,1131014506,879679996,2909243462,3663771856,1141124467,855842277,2852801631,3708648649,1342533948,654459306,3188396048,3373015174,1466479909,544179635,3110523913,3462522015,1591671054,702138776,2966460450,3352799412,1504918807,783551873,3082640443,3233442989,3988292384,2596254646,62317068,1957810842,3939845945,2647816111,81470997,1943803523,3814918930,2489596804,225274430,2053790376,3826175755,2466906013,167816743,2097651377,4027552580,2265490386,503444072,1762050814,4150417245,2154129355,426522225,1852507879,4275313526,2312317920,282753626,1742555852,4189708143,2394877945,397917763,1622183637,3604390888,2714866558,953729732,1340076626,3518719985,2797360999,1068828381,1219638859,3624741850,2936675148,906185462,1090812512,3747672003,2825379669,829329135,1181335161,3412177804,3160834842,628085408,1382605366,3423369109,3138078467,570562233,1426400815,3317316542,2998733608,733239954,1555261956,3268935591,3050360625,752459403,1541320221,2607071920,3965973030,1969922972,40735498,2617837225,3943577151,1913087877,83908371,2512341634,3803740692,2075208622,213261112,2463272603,3855990285,2094854071,198958881,2262029012,4057260610,1759359992,534414190,2176718541,4139329115,1873836001,414664567,2282248934,4279200368,1711684554,285281116,2405801727,4167216745,1634467795,376229701,2685067896,3608007406,1308918612,956543938,2808555105,3495958263,1231636301,1047427035,2932959818,3654703836,1088359270,936918e3,2847714899,3736837829,1202900863,817233897,3183342108,3401237130,1404277552,615818150,3134207493,3453421203,1423857449,601450431,3009837614,3294710456,1567103746,711928724,3020668471,3272380065,1510334235,755167117];b.exports=function(a,b){if("undefined"==typeof a||!a.length)return 0;var e="string"!==c.getTypeOf(a);"undefined"==typeof b&&(b=0);var f=0,g=0,h=0;b=-1^b;for(var i=0,j=a.length;j>i;i++)h=e?a[i]:a.charCodeAt(i),g=255&(b^h),f=d[g],b=b>>>8^f;return-1^b}},{"./utils":21}],5:[function(a,b){"use strict";function c(){this.data=null,this.length=0,this.index=0}var d=a("./utils");c.prototype={checkOffset:function(a){this.checkIndex(this.index+a)},checkIndex:function(a){if(this.length<a||0>a)throw new Error("End of data reached (data length = "+this.length+", asked index = "+a+"). Corrupted zip ?")},setIndex:function(a){this.checkIndex(a),this.index=a},skip:function(a){this.setIndex(this.index+a)},byteAt:function(){},readInt:function(a){var b,c=0;for(this.checkOffset(a),b=this.index+a-1;b>=this.index;b--)c=(c<<8)+this.byteAt(b);return this.index+=a,c},readString:function(a){return d.transformTo("string",this.readData(a))},readData:function(){},lastIndexOfSignature:function(){},readDate:function(){var a=this.readInt(4);return new Date((a>>25&127)+1980,(a>>21&15)-1,a>>16&31,a>>11&31,a>>5&63,(31&a)<<1)}},b.exports=c},{"./utils":21}],6:[function(a,b,c){"use strict";c.base64=!1,c.binary=!1,c.dir=!1,c.createFolders=!1,c.date=null,c.compression=null,c.comment=null},{}],7:[function(a,b,c){"use strict";var d=a("./utils");c.string2binary=function(a){return d.string2binary(a)},c.string2Uint8Array=function(a){return d.transformTo("uint8array",a)},c.uint8Array2String=function(a){return d.transformTo("string",a)},c.string2Blob=function(a){var b=d.transformTo("arraybuffer",a);return d.arrayBuffer2Blob(b)},c.arrayBuffer2Blob=function(a){return d.arrayBuffer2Blob(a)},c.transformTo=function(a,b){return d.transformTo(a,b)},c.getTypeOf=function(a){return d.getTypeOf(a)},c.checkSupport=function(a){return d.checkSupport(a)},c.MAX_VALUE_16BITS=d.MAX_VALUE_16BITS,c.MAX_VALUE_32BITS=d.MAX_VALUE_32BITS,c.pretty=function(a){return d.pretty(a)},c.findCompression=function(a){return d.findCompression(a)},c.isRegExp=function(a){return d.isRegExp(a)}},{"./utils":21}],8:[function(a,b,c){"use strict";var d="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Uint32Array,e=a("pako");c.uncompressInputType=d?"uint8array":"array",c.compressInputType=d?"uint8array":"array",c.magic="\b\x00",c.compress=function(a){return e.deflateRaw(a)},c.uncompress=function(a){return e.inflateRaw(a)}},{pako:24}],9:[function(a,b){"use strict";function c(a,b){return this instanceof c?(this.files={},this.comment=null,this.root="",a&&this.load(a,b),void(this.clone=function(){var a=new c;for(var b in this)"function"!=typeof this[b]&&(a[b]=this[b]);return a})):new c(a,b)}var d=a("./base64");c.prototype=a("./object"),c.prototype.load=a("./load"),c.support=a("./support"),c.defaults=a("./defaults"),c.utils=a("./deprecatedPublicUtils"),c.base64={encode:function(a){return d.encode(a)},decode:function(a){return d.decode(a)}},c.compressions=a("./compressions"),b.exports=c},{"./base64":1,"./compressions":3,"./defaults":6,"./deprecatedPublicUtils":7,"./load":10,"./object":13,"./support":17}],10:[function(a,b){"use strict";var c=a("./base64"),d=a("./zipEntries");b.exports=function(a,b){var e,f,g,h;for(b=b||{},b.base64&&(a=c.decode(a)),f=new d(a,b),e=f.files,g=0;g<e.length;g++)h=e[g],this.file(h.fileName,h.decompressed,{binary:!0,optimizedBinaryString:!0,date:h.date,dir:h.dir,comment:h.fileComment.length?h.fileComment:null,createFolders:b.createFolders});return f.zipComment.length&&(this.comment=f.zipComment),this}},{"./base64":1,"./zipEntries":22}],11:[function(a,b){(function(a){"use strict";b.exports=function(b,c){return new a(b,c)},b.exports.test=function(b){return a.isBuffer(b)}}).call(this,"undefined"!=typeof Buffer?Buffer:void 0)},{}],12:[function(a,b){"use strict";function c(a){this.data=a,this.length=this.data.length,this.index=0}var d=a("./uint8ArrayReader");c.prototype=new d,c.prototype.readData=function(a){this.checkOffset(a);var b=this.data.slice(this.index,this.index+a);return this.index+=a,b},b.exports=c},{"./uint8ArrayReader":18}],13:[function(a,b){"use strict";var c=a("./support"),d=a("./utils"),e=a("./crc32"),f=a("./signature"),g=a("./defaults"),h=a("./base64"),i=a("./compressions"),j=a("./compressedObject"),k=a("./nodeBuffer"),l=a("./utf8"),m=a("./stringWriter"),n=a("./uint8ArrayWriter"),o=function(a){if(a._data instanceof j&&(a._data=a._data.getContent(),a.options.binary=!0,a.options.base64=!1,"uint8array"===d.getTypeOf(a._data))){var b=a._data;a._data=new Uint8Array(b.length),0!==b.length&&a._data.set(b,0)}return a._data},p=function(a){var b=o(a),e=d.getTypeOf(b);return"string"===e?!a.options.binary&&c.nodebuffer?k(b,"utf-8"):a.asBinary():b},q=function(a){var b=o(this);return null===b||"undefined"==typeof b?"":(this.options.base64&&(b=h.decode(b)),b=a&&this.options.binary?A.utf8decode(b):d.transformTo("string",b),a||this.options.binary||(b=d.transformTo("string",A.utf8encode(b))),b)},r=function(a,b,c){this.name=a,this.dir=c.dir,this.date=c.date,this.comment=c.comment,this._data=b,this.options=c,this._initialMetadata={dir:c.dir,date:c.date}};r.prototype={asText:function(){return q.call(this,!0)},asBinary:function(){return q.call(this,!1)},asNodeBuffer:function(){var a=p(this);return d.transformTo("nodebuffer",a)},asUint8Array:function(){var a=p(this);return d.transformTo("uint8array",a)},asArrayBuffer:function(){return this.asUint8Array().buffer}};var s=function(a,b){var c,d="";for(c=0;b>c;c++)d+=String.fromCharCode(255&a),a>>>=8;return d},t=function(){var a,b,c={};for(a=0;a<arguments.length;a++)for(b in arguments[a])arguments[a].hasOwnProperty(b)&&"undefined"==typeof c[b]&&(c[b]=arguments[a][b]);return c},u=function(a){return a=a||{},a.base64!==!0||null!==a.binary&&void 0!==a.binary||(a.binary=!0),a=t(a,g),a.date=a.date||new Date,null!==a.compression&&(a.compression=a.compression.toUpperCase()),a},v=function(a,b,c){var e,f=d.getTypeOf(b);if(c=u(c),c.createFolders&&(e=w(a))&&x.call(this,e,!0),c.dir||null===b||"undefined"==typeof b)c.base64=!1,c.binary=!1,b=null;else if("string"===f)c.binary&&!c.base64&&c.optimizedBinaryString!==!0&&(b=d.string2binary(b));else{if(c.base64=!1,c.binary=!0,!(f||b instanceof j))throw new Error("The data of '"+a+"' is in an unsupported format !");"arraybuffer"===f&&(b=d.transformTo("uint8array",b))}var g=new r(a,b,c);return this.files[a]=g,g},w=function(a){"/"==a.slice(-1)&&(a=a.substring(0,a.length-1));var b=a.lastIndexOf("/");return b>0?a.substring(0,b):""},x=function(a,b){return"/"!=a.slice(-1)&&(a+="/"),b="undefined"!=typeof b?b:!1,this.files[a]||v.call(this,a,null,{dir:!0,createFolders:b}),this.files[a]},y=function(a,b){var c,f=new j;return a._data instanceof j?(f.uncompressedSize=a._data.uncompressedSize,f.crc32=a._data.crc32,0===f.uncompressedSize||a.dir?(b=i.STORE,f.compressedContent="",f.crc32=0):a._data.compressionMethod===b.magic?f.compressedContent=a._data.getCompressedContent():(c=a._data.getContent(),f.compressedContent=b.compress(d.transformTo(b.compressInputType,c)))):(c=p(a),(!c||0===c.length||a.dir)&&(b=i.STORE,c=""),f.uncompressedSize=c.length,f.crc32=e(c),f.compressedContent=b.compress(d.transformTo(b.compressInputType,c))),f.compressedSize=f.compressedContent.length,f.compressionMethod=b.magic,f},z=function(a,b,c,g){var h,i,j,k,m=(c.compressedContent,d.transformTo("string",l.utf8encode(b.name))),n=b.comment||"",o=d.transformTo("string",l.utf8encode(n)),p=m.length!==b.name.length,q=o.length!==n.length,r=b.options,t="",u="",v="";j=b._initialMetadata.dir!==b.dir?b.dir:r.dir,k=b._initialMetadata.date!==b.date?b.date:r.date,h=k.getHours(),h<<=6,h|=k.getMinutes(),h<<=5,h|=k.getSeconds()/2,i=k.getFullYear()-1980,i<<=4,i|=k.getMonth()+1,i<<=5,i|=k.getDate(),p&&(u=s(1,1)+s(e(m),4)+m,t+="up"+s(u.length,2)+u),q&&(v=s(1,1)+s(this.crc32(o),4)+o,t+="uc"+s(v.length,2)+v);var w="";w+="\n\x00",w+=p||q?"\x00\b":"\x00\x00",w+=c.compressionMethod,w+=s(h,2),w+=s(i,2),w+=s(c.crc32,4),w+=s(c.compressedSize,4),w+=s(c.uncompressedSize,4),w+=s(m.length,2),w+=s(t.length,2);var x=f.LOCAL_FILE_HEADER+w+m+t,y=f.CENTRAL_FILE_HEADER+"\x00"+w+s(o.length,2)+"\x00\x00\x00\x00"+(j===!0?"\x00\x00\x00":"\x00\x00\x00\x00")+s(g,4)+m+t+o;return{fileRecord:x,dirRecord:y,compressedObject:c}},A={load:function(){throw new Error("Load method is not defined. Is the file jszip-load.js included ?")},filter:function(a){var b,c,d,e,f=[];for(b in this.files)this.files.hasOwnProperty(b)&&(d=this.files[b],e=new r(d.name,d._data,t(d.options)),c=b.slice(this.root.length,b.length),b.slice(0,this.root.length)===this.root&&a(c,e)&&f.push(e));return f},file:function(a,b,c){if(1===arguments.length){if(d.isRegExp(a)){var e=a;return this.filter(function(a,b){return!b.dir&&e.test(a)})}return this.filter(function(b,c){return!c.dir&&b===a})[0]||null}return a=this.root+a,v.call(this,a,b,c),this},folder:function(a){if(!a)return this;if(d.isRegExp(a))return this.filter(function(b,c){return c.dir&&a.test(b)});var b=this.root+a,c=x.call(this,b),e=this.clone();return e.root=c.name,e},remove:function(a){a=this.root+a;var b=this.files[a];if(b||("/"!=a.slice(-1)&&(a+="/"),b=this.files[a]),b&&!b.dir)delete this.files[a];else for(var c=this.filter(function(b,c){return c.name.slice(0,a.length)===a}),d=0;d<c.length;d++)delete this.files[c[d].name];return this},generate:function(a){a=t(a||{},{base64:!0,compression:"STORE",type:"base64",comment:null}),d.checkSupport(a.type);var b,c,e=[],g=0,j=0,k=d.transformTo("string",this.utf8encode(a.comment||this.comment||""));for(var l in this.files)if(this.files.hasOwnProperty(l)){var o=this.files[l],p=o.options.compression||a.compression.toUpperCase(),q=i[p];if(!q)throw new Error(p+" is not a valid compression method !");var r=y.call(this,o,q),u=z.call(this,l,o,r,g);g+=u.fileRecord.length+r.compressedSize,j+=u.dirRecord.length,e.push(u)}var v="";v=f.CENTRAL_DIRECTORY_END+"\x00\x00\x00\x00"+s(e.length,2)+s(e.length,2)+s(j,4)+s(g,4)+s(k.length,2)+k;var w=a.type.toLowerCase();for(b="uint8array"===w||"arraybuffer"===w||"blob"===w||"nodebuffer"===w?new n(g+j+v.length):new m(g+j+v.length),c=0;c<e.length;c++)b.append(e[c].fileRecord),b.append(e[c].compressedObject.compressedContent);for(c=0;c<e.length;c++)b.append(e[c].dirRecord);b.append(v);var x=b.finalize();switch(a.type.toLowerCase()){case"uint8array":case"arraybuffer":case"nodebuffer":return d.transformTo(a.type.toLowerCase(),x);case"blob":return d.arrayBuffer2Blob(d.transformTo("arraybuffer",x));case"base64":return a.base64?h.encode(x):x;default:return x}},crc32:function(a,b){return e(a,b)},utf8encode:function(a){return d.transformTo("string",l.utf8encode(a))},utf8decode:function(a){return l.utf8decode(a)}};b.exports=A},{"./base64":1,"./compressedObject":2,"./compressions":3,"./crc32":4,"./defaults":6,"./nodeBuffer":11,"./signature":14,"./stringWriter":16,"./support":17,"./uint8ArrayWriter":19,"./utf8":20,"./utils":21}],14:[function(a,b,c){"use strict";c.LOCAL_FILE_HEADER="PK",c.CENTRAL_FILE_HEADER="PK",c.CENTRAL_DIRECTORY_END="PK",c.ZIP64_CENTRAL_DIRECTORY_LOCATOR="PK",c.ZIP64_CENTRAL_DIRECTORY_END="PK",c.DATA_DESCRIPTOR="PK\b"},{}],15:[function(a,b){"use strict";function c(a,b){this.data=a,b||(this.data=e.string2binary(this.data)),this.length=this.data.length,this.index=0}var d=a("./dataReader"),e=a("./utils");c.prototype=new d,c.prototype.byteAt=function(a){return this.data.charCodeAt(a)},c.prototype.lastIndexOfSignature=function(a){return this.data.lastIndexOf(a)},c.prototype.readData=function(a){this.checkOffset(a);var b=this.data.slice(this.index,this.index+a);return this.index+=a,b},b.exports=c},{"./dataReader":5,"./utils":21}],16:[function(a,b){"use strict";var c=a("./utils"),d=function(){this.data=[]};d.prototype={append:function(a){a=c.transformTo("string",a),this.data.push(a)},finalize:function(){return this.data.join("")}},b.exports=d},{"./utils":21}],17:[function(a,b,c){(function(a){"use strict";if(c.base64=!0,c.array=!0,c.string=!0,c.arraybuffer="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8Array,c.nodebuffer="undefined"!=typeof a,c.uint8array="undefined"!=typeof Uint8Array,"undefined"==typeof ArrayBuffer)c.blob=!1;else{var b=new ArrayBuffer(0);try{c.blob=0===new Blob([b],{type:"application/zip"}).size}catch(d){try{var e=window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder||window.MSBlobBuilder,f=new e;f.append(b),c.blob=0===f.getBlob("application/zip").size}catch(d){c.blob=!1}}}}).call(this,"undefined"!=typeof Buffer?Buffer:void 0)},{}],18:[function(a,b){"use strict";function c(a){a&&(this.data=a,this.length=this.data.length,this.index=0)}var d=a("./dataReader");c.prototype=new d,c.prototype.byteAt=function(a){return this.data[a]},c.prototype.lastIndexOfSignature=function(a){for(var b=a.charCodeAt(0),c=a.charCodeAt(1),d=a.charCodeAt(2),e=a.charCodeAt(3),f=this.length-4;f>=0;--f)if(this.data[f]===b&&this.data[f+1]===c&&this.data[f+2]===d&&this.data[f+3]===e)return f;return-1},c.prototype.readData=function(a){if(this.checkOffset(a),0===a)return new Uint8Array(0);var b=this.data.subarray(this.index,this.index+a);return this.index+=a,b},b.exports=c},{"./dataReader":5}],19:[function(a,b){"use strict";var c=a("./utils"),d=function(a){this.data=new Uint8Array(a),this.index=0};d.prototype={append:function(a){0!==a.length&&(a=c.transformTo("uint8array",a),this.data.set(a,this.index),this.index+=a.length)},finalize:function(){return this.data}},b.exports=d},{"./utils":21}],20:[function(a,b,c){"use strict";for(var d=a("./utils"),e=a("./support"),f=a("./nodeBuffer"),g=new Array(256),h=0;256>h;h++)g[h]=h>=252?6:h>=248?5:h>=240?4:h>=224?3:h>=192?2:1;g[254]=g[254]=1;var i=function(a){var b,c,d,f,g,h=a.length,i=0;for(f=0;h>f;f++)c=a.charCodeAt(f),55296===(64512&c)&&h>f+1&&(d=a.charCodeAt(f+1),56320===(64512&d)&&(c=65536+(c-55296<<10)+(d-56320),f++)),i+=128>c?1:2048>c?2:65536>c?3:4;for(b=e.uint8array?new Uint8Array(i):new Array(i),g=0,f=0;i>g;f++)c=a.charCodeAt(f),55296===(64512&c)&&h>f+1&&(d=a.charCodeAt(f+1),56320===(64512&d)&&(c=65536+(c-55296<<10)+(d-56320),f++)),128>c?b[g++]=c:2048>c?(b[g++]=192|c>>>6,b[g++]=128|63&c):65536>c?(b[g++]=224|c>>>12,b[g++]=128|c>>>6&63,b[g++]=128|63&c):(b[g++]=240|c>>>18,b[g++]=128|c>>>12&63,b[g++]=128|c>>>6&63,b[g++]=128|63&c);return b},j=function(a,b){var c;for(b=b||a.length,b>a.length&&(b=a.length),c=b-1;c>=0&&128===(192&a[c]);)c--;return 0>c?b:0===c?b:c+g[a[c]]>b?c:b},k=function(a){var b,c,e,f,h=a.length,i=new Array(2*h);for(c=0,b=0;h>b;)if(e=a[b++],128>e)i[c++]=e;else if(f=g[e],f>4)i[c++]=65533,b+=f-1;else{for(e&=2===f?31:3===f?15:7;f>1&&h>b;)e=e<<6|63&a[b++],f--;f>1?i[c++]=65533:65536>e?i[c++]=e:(e-=65536,i[c++]=55296|e>>10&1023,i[c++]=56320|1023&e)}return i.length!==c&&(i.subarray?i=i.subarray(0,c):i.length=c),d.applyFromCharCode(i)};c.utf8encode=function(a){return e.nodebuffer?f(a,"utf-8"):i(a)},c.utf8decode=function(a){if(e.nodebuffer)return d.transformTo("nodebuffer",a).toString("utf-8");a=d.transformTo(e.uint8array?"uint8array":"array",a);for(var b=[],c=0,f=a.length,g=65536;f>c;){var h=j(a,Math.min(c+g,f));b.push(e.uint8array?k(a.subarray(c,h)):k(a.slice(c,h))),c=h}return b.join("")}},{"./nodeBuffer":11,"./support":17,"./utils":21}],21:[function(a,b,c){"use strict";function d(a){return a}function e(a,b){for(var c=0;c<a.length;++c)b[c]=255&a.charCodeAt(c);return b}function f(a){var b=65536,d=[],e=a.length,f=c.getTypeOf(a),g=0,h=!0;try{switch(f){case"uint8array":String.fromCharCode.apply(null,new Uint8Array(0));break;case"nodebuffer":String.fromCharCode.apply(null,j(0))}}catch(i){h=!1}if(!h){for(var k="",l=0;l<a.length;l++)k+=String.fromCharCode(a[l]);return k}for(;e>g&&b>1;)try{d.push("array"===f||"nodebuffer"===f?String.fromCharCode.apply(null,a.slice(g,Math.min(g+b,e))):String.fromCharCode.apply(null,a.subarray(g,Math.min(g+b,e)))),g+=b}catch(i){b=Math.floor(b/2)}return d.join("")}function g(a,b){for(var c=0;c<a.length;c++)b[c]=a[c];return b}var h=a("./support"),i=a("./compressions"),j=a("./nodeBuffer");c.string2binary=function(a){for(var b="",c=0;c<a.length;c++)b+=String.fromCharCode(255&a.charCodeAt(c));return b},c.arrayBuffer2Blob=function(a){c.checkSupport("blob");try{return new Blob([a],{type:"application/zip"})}catch(b){try{var d=window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder||window.MSBlobBuilder,e=new d;return e.append(a),e.getBlob("application/zip")}catch(b){throw new Error("Bug : can't construct the Blob.")}}},c.applyFromCharCode=f;var k={};k.string={string:d,array:function(a){return e(a,new Array(a.length))},arraybuffer:function(a){return k.string.uint8array(a).buffer},uint8array:function(a){return e(a,new Uint8Array(a.length))},nodebuffer:function(a){return e(a,j(a.length))}},k.array={string:f,array:d,arraybuffer:function(a){return new Uint8Array(a).buffer},uint8array:function(a){return new Uint8Array(a)},nodebuffer:function(a){return j(a)}},k.arraybuffer={string:function(a){return f(new Uint8Array(a))},array:function(a){return g(new Uint8Array(a),new Array(a.byteLength))},arraybuffer:d,uint8array:function(a){return new Uint8Array(a)},nodebuffer:function(a){return j(new Uint8Array(a))}},k.uint8array={string:f,array:function(a){return g(a,new Array(a.length))},arraybuffer:function(a){return a.buffer},uint8array:d,nodebuffer:function(a){return j(a)}},k.nodebuffer={string:f,array:function(a){return g(a,new Array(a.length))},arraybuffer:function(a){return k.nodebuffer.uint8array(a).buffer},uint8array:function(a){return g(a,new Uint8Array(a.length))},nodebuffer:d},c.transformTo=function(a,b){if(b||(b=""),!a)return b;c.checkSupport(a);var d=c.getTypeOf(b),e=k[d][a](b);return e},c.getTypeOf=function(a){return"string"==typeof a?"string":"[object Array]"===Object.prototype.toString.call(a)?"array":h.nodebuffer&&j.test(a)?"nodebuffer":h.uint8array&&a instanceof Uint8Array?"uint8array":h.arraybuffer&&a instanceof ArrayBuffer?"arraybuffer":void 0},c.checkSupport=function(a){var b=h[a.toLowerCase()];if(!b)throw new Error(a+" is not supported by this browser")},c.MAX_VALUE_16BITS=65535,c.MAX_VALUE_32BITS=-1,c.pretty=function(a){var b,c,d="";for(c=0;c<(a||"").length;c++)b=a.charCodeAt(c),d+="\\x"+(16>b?"0":"")+b.toString(16).toUpperCase();return d},c.findCompression=function(a){for(var b in i)if(i.hasOwnProperty(b)&&i[b].magic===a)return i[b];return null},c.isRegExp=function(a){return"[object RegExp]"===Object.prototype.toString.call(a)}},{"./compressions":3,"./nodeBuffer":11,"./support":17}],22:[function(a,b){"use strict";function c(a,b){this.files=[],this.loadOptions=b,a&&this.load(a)}var d=a("./stringReader"),e=a("./nodeBufferReader"),f=a("./uint8ArrayReader"),g=a("./utils"),h=a("./signature"),i=a("./zipEntry"),j=a("./support"),k=a("./object");c.prototype={checkSignature:function(a){var b=this.reader.readString(4);if(b!==a)throw new Error("Corrupted zip or bug : unexpected signature ("+g.pretty(b)+", expected "+g.pretty(a)+")")},readBlockEndOfCentral:function(){this.diskNumber=this.reader.readInt(2),this.diskWithCentralDirStart=this.reader.readInt(2),this.centralDirRecordsOnThisDisk=this.reader.readInt(2),this.centralDirRecords=this.reader.readInt(2),this.centralDirSize=this.reader.readInt(4),this.centralDirOffset=this.reader.readInt(4),this.zipCommentLength=this.reader.readInt(2),this.zipComment=this.reader.readString(this.zipCommentLength),this.zipComment=k.utf8decode(this.zipComment)},readBlockZip64EndOfCentral:function(){this.zip64EndOfCentralSize=this.reader.readInt(8),this.versionMadeBy=this.reader.readString(2),this.versionNeeded=this.reader.readInt(2),this.diskNumber=this.reader.readInt(4),this.diskWithCentralDirStart=this.reader.readInt(4),this.centralDirRecordsOnThisDisk=this.reader.readInt(8),this.centralDirRecords=this.reader.readInt(8),this.centralDirSize=this.reader.readInt(8),this.centralDirOffset=this.reader.readInt(8),this.zip64ExtensibleData={};for(var a,b,c,d=this.zip64EndOfCentralSize-44,e=0;d>e;)a=this.reader.readInt(2),b=this.reader.readInt(4),c=this.reader.readString(b),this.zip64ExtensibleData[a]={id:a,length:b,value:c}},readBlockZip64EndOfCentralLocator:function(){if(this.diskWithZip64CentralDirStart=this.reader.readInt(4),this.relativeOffsetEndOfZip64CentralDir=this.reader.readInt(8),this.disksCount=this.reader.readInt(4),this.disksCount>1)throw new Error("Multi-volumes zip are not supported")},readLocalFiles:function(){var a,b;for(a=0;a<this.files.length;a++)b=this.files[a],this.reader.setIndex(b.localHeaderOffset),this.checkSignature(h.LOCAL_FILE_HEADER),b.readLocalPart(this.reader),b.handleUTF8()},readCentralDir:function(){var a;for(this.reader.setIndex(this.centralDirOffset);this.reader.readString(4)===h.CENTRAL_FILE_HEADER;)a=new i({zip64:this.zip64},this.loadOptions),a.readCentralPart(this.reader),this.files.push(a)},readEndOfCentral:function(){var a=this.reader.lastIndexOfSignature(h.CENTRAL_DIRECTORY_END);if(-1===a)throw new Error("Corrupted zip : can't find end of central directory");if(this.reader.setIndex(a),this.checkSignature(h.CENTRAL_DIRECTORY_END),this.readBlockEndOfCentral(),this.diskNumber===g.MAX_VALUE_16BITS||this.diskWithCentralDirStart===g.MAX_VALUE_16BITS||this.centralDirRecordsOnThisDisk===g.MAX_VALUE_16BITS||this.centralDirRecords===g.MAX_VALUE_16BITS||this.centralDirSize===g.MAX_VALUE_32BITS||this.centralDirOffset===g.MAX_VALUE_32BITS){if(this.zip64=!0,a=this.reader.lastIndexOfSignature(h.ZIP64_CENTRAL_DIRECTORY_LOCATOR),-1===a)throw new Error("Corrupted zip : can't find the ZIP64 end of central directory locator");this.reader.setIndex(a),this.checkSignature(h.ZIP64_CENTRAL_DIRECTORY_LOCATOR),this.readBlockZip64EndOfCentralLocator(),this.reader.setIndex(this.relativeOffsetEndOfZip64CentralDir),this.checkSignature(h.ZIP64_CENTRAL_DIRECTORY_END),this.readBlockZip64EndOfCentral()}},prepareReader:function(a){var b=g.getTypeOf(a);this.reader="string"!==b||j.uint8array?"nodebuffer"===b?new e(a):new f(g.transformTo("uint8array",a)):new d(a,this.loadOptions.optimizedBinaryString)},load:function(a){this.prepareReader(a),this.readEndOfCentral(),this.readCentralDir(),this.readLocalFiles()}},b.exports=c},{"./nodeBufferReader":12,"./object":13,"./signature":14,"./stringReader":15,"./support":17,"./uint8ArrayReader":18,"./utils":21,"./zipEntry":23}],23:[function(a,b){"use strict";function c(a,b){this.options=a,this.loadOptions=b}var d=a("./stringReader"),e=a("./utils"),f=a("./compressedObject"),g=a("./object");c.prototype={isEncrypted:function(){return 1===(1&this.bitFlag)},useUTF8:function(){return 2048===(2048&this.bitFlag)},prepareCompressedContent:function(a,b,c){return function(){var d=a.index;a.setIndex(b);var e=a.readData(c);return a.setIndex(d),e}},prepareContent:function(a,b,c,d,f){return function(){var a=e.transformTo(d.uncompressInputType,this.getCompressedContent()),b=d.uncompress(a);if(b.length!==f)throw new Error("Bug : uncompressed data size mismatch");return b}},readLocalPart:function(a){var b,c;if(a.skip(22),this.fileNameLength=a.readInt(2),c=a.readInt(2),this.fileName=a.readString(this.fileNameLength),a.skip(c),-1==this.compressedSize||-1==this.uncompressedSize)throw new Error("Bug or corrupted zip : didn't get enough informations from the central directory (compressedSize == -1 || uncompressedSize == -1)");if(b=e.findCompression(this.compressionMethod),null===b)throw new Error("Corrupted zip : compression "+e.pretty(this.compressionMethod)+" unknown (inner file : "+this.fileName+")");if(this.decompressed=new f,this.decompressed.compressedSize=this.compressedSize,this.decompressed.uncompressedSize=this.uncompressedSize,this.decompressed.crc32=this.crc32,this.decompressed.compressionMethod=this.compressionMethod,this.decompressed.getCompressedContent=this.prepareCompressedContent(a,a.index,this.compressedSize,b),this.decompressed.getContent=this.prepareContent(a,a.index,this.compressedSize,b,this.uncompressedSize),this.loadOptions.checkCRC32&&(this.decompressed=e.transformTo("string",this.decompressed.getContent()),g.crc32(this.decompressed)!==this.crc32))throw new Error("Corrupted zip : CRC32 mismatch")},readCentralPart:function(a){if(this.versionMadeBy=a.readString(2),this.versionNeeded=a.readInt(2),this.bitFlag=a.readInt(2),this.compressionMethod=a.readString(2),this.date=a.readDate(),this.crc32=a.readInt(4),this.compressedSize=a.readInt(4),this.uncompressedSize=a.readInt(4),this.fileNameLength=a.readInt(2),this.extraFieldsLength=a.readInt(2),this.fileCommentLength=a.readInt(2),this.diskNumberStart=a.readInt(2),this.internalFileAttributes=a.readInt(2),this.externalFileAttributes=a.readInt(4),this.localHeaderOffset=a.readInt(4),this.isEncrypted())throw new Error("Encrypted zip are not supported");this.fileName=a.readString(this.fileNameLength),this.readExtraFields(a),this.parseZIP64ExtraField(a),this.fileComment=a.readString(this.fileCommentLength),this.dir=16&this.externalFileAttributes?!0:!1},parseZIP64ExtraField:function(){if(this.extraFields[1]){var a=new d(this.extraFields[1].value);this.uncompressedSize===e.MAX_VALUE_32BITS&&(this.uncompressedSize=a.readInt(8)),this.compressedSize===e.MAX_VALUE_32BITS&&(this.compressedSize=a.readInt(8)),this.localHeaderOffset===e.MAX_VALUE_32BITS&&(this.localHeaderOffset=a.readInt(8)),this.diskNumberStart===e.MAX_VALUE_32BITS&&(this.diskNumberStart=a.readInt(4))}},readExtraFields:function(a){var b,c,d,e=a.index;for(this.extraFields=this.extraFields||{};a.index<e+this.extraFieldsLength;)b=a.readInt(2),c=a.readInt(2),d=a.readString(c),this.extraFields[b]={id:b,length:c,value:d}},handleUTF8:function(){if(this.useUTF8())this.fileName=g.utf8decode(this.fileName),this.fileComment=g.utf8decode(this.fileComment);else{var a=this.findExtraFieldUnicodePath();null!==a&&(this.fileName=a);var b=this.findExtraFieldUnicodeComment();null!==b&&(this.fileComment=b)}},findExtraFieldUnicodePath:function(){var a=this.extraFields[28789];if(a){var b=new d(a.value);return 1!==b.readInt(1)?null:g.crc32(this.fileName)!==b.readInt(4)?null:g.utf8decode(b.readString(a.length-5))}return null},findExtraFieldUnicodeComment:function(){var a=this.extraFields[25461];if(a){var b=new d(a.value);return 1!==b.readInt(1)?null:g.crc32(this.fileComment)!==b.readInt(4)?null:g.utf8decode(b.readString(a.length-5))}return null}},b.exports=c},{"./compressedObject":2,"./object":13,"./stringReader":15,"./utils":21}],24:[function(a,b){"use strict";var c=a("./lib/utils/common").assign,d=a("./lib/deflate"),e=a("./lib/inflate"),f=a("./lib/zlib/constants"),g={};c(g,d,e,f),b.exports=g},{"./lib/deflate":25,"./lib/inflate":26,"./lib/utils/common":27,"./lib/zlib/constants":30}],25:[function(a,b,c){"use strict";function d(a,b){var c=new s(b);if(c.push(a,!0),c.err)throw c.msg;return c.result}function e(a,b){return b=b||{},b.raw=!0,d(a,b)}function f(a,b){return b=b||{},b.gzip=!0,d(a,b)}var g=a("./zlib/deflate.js"),h=a("./utils/common"),i=a("./utils/strings"),j=a("./zlib/messages"),k=a("./zlib/zstream"),l=0,m=4,n=0,o=1,p=-1,q=0,r=8,s=function(a){this.options=h.assign({level:p,method:r,chunkSize:16384,windowBits:15,memLevel:8,strategy:q,to:""},a||{});var b=this.options;b.raw&&b.windowBits>0?b.windowBits=-b.windowBits:b.gzip&&b.windowBits>0&&b.windowBits<16&&(b.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new k,this.strm.avail_out=0;var c=g.deflateInit2(this.strm,b.level,b.method,b.windowBits,b.memLevel,b.strategy);if(c!==n)throw new Error(j[c]);b.header&&g.deflateSetHeader(this.strm,b.header)};s.prototype.push=function(a,b){var c,d,e=this.strm,f=this.options.chunkSize;if(this.ended)return!1;d=b===~~b?b:b===!0?m:l,e.input="string"==typeof a?i.string2buf(a):a,e.next_in=0,e.avail_in=e.input.length;do{if(0===e.avail_out&&(e.output=new h.Buf8(f),e.next_out=0,e.avail_out=f),c=g.deflate(e,d),c!==o&&c!==n)return this.onEnd(c),this.ended=!0,!1;(0===e.avail_out||0===e.avail_in&&d===m)&&this.onData("string"===this.options.to?i.buf2binstring(h.shrinkBuf(e.output,e.next_out)):h.shrinkBuf(e.output,e.next_out))}while((e.avail_in>0||0===e.avail_out)&&c!==o);return d===m?(c=g.deflateEnd(this.strm),this.onEnd(c),this.ended=!0,c===n):!0},s.prototype.onData=function(a){this.chunks.push(a)},s.prototype.onEnd=function(a){a===n&&(this.result="string"===this.options.to?this.chunks.join(""):h.flattenChunks(this.chunks)),this.chunks=[],this.err=a,this.msg=this.strm.msg},c.Deflate=s,c.deflate=d,c.deflateRaw=e,c.gzip=f},{"./utils/common":27,"./utils/strings":28,"./zlib/deflate.js":32,"./zlib/messages":37,"./zlib/zstream":39}],26:[function(a,b,c){"use strict";function d(a,b){var c=new m(b);if(c.push(a,!0),c.err)throw c.msg;return c.result}function e(a,b){return b=b||{},b.raw=!0,d(a,b)}var f=a("./zlib/inflate.js"),g=a("./utils/common"),h=a("./utils/strings"),i=a("./zlib/constants"),j=a("./zlib/messages"),k=a("./zlib/zstream"),l=a("./zlib/gzheader"),m=function(a){this.options=g.assign({chunkSize:16384,windowBits:0,to:""},a||{});var b=this.options;b.raw&&b.windowBits>=0&&b.windowBits<16&&(b.windowBits=-b.windowBits,0===b.windowBits&&(b.windowBits=-15)),!(b.windowBits>=0&&b.windowBits<16)||a&&a.windowBits||(b.windowBits+=32),b.windowBits>15&&b.windowBits<48&&0===(15&b.windowBits)&&(b.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new k,this.strm.avail_out=0;var c=f.inflateInit2(this.strm,b.windowBits);if(c!==i.Z_OK)throw new Error(j[c]);this.header=new l,f.inflateGetHeader(this.strm,this.header)};m.prototype.push=function(a,b){var c,d,e,j,k,l=this.strm,m=this.options.chunkSize;if(this.ended)return!1;d=b===~~b?b:b===!0?i.Z_FINISH:i.Z_NO_FLUSH,l.input="string"==typeof a?h.binstring2buf(a):a,l.next_in=0,l.avail_in=l.input.length;do{if(0===l.avail_out&&(l.output=new g.Buf8(m),l.next_out=0,l.avail_out=m),c=f.inflate(l,i.Z_NO_FLUSH),c!==i.Z_STREAM_END&&c!==i.Z_OK)return this.onEnd(c),this.ended=!0,!1;l.next_out&&(0===l.avail_out||c===i.Z_STREAM_END||0===l.avail_in&&d===i.Z_FINISH)&&("string"===this.options.to?(e=h.utf8border(l.output,l.next_out),j=l.next_out-e,k=h.buf2string(l.output,e),l.next_out=j,l.avail_out=m-j,j&&g.arraySet(l.output,l.output,e,j,0),this.onData(k)):this.onData(g.shrinkBuf(l.output,l.next_out)))}while(l.avail_in>0&&c!==i.Z_STREAM_END);return c===i.Z_STREAM_END&&(d=i.Z_FINISH),d===i.Z_FINISH?(c=f.inflateEnd(this.strm),this.onEnd(c),this.ended=!0,c===i.Z_OK):!0},m.prototype.onData=function(a){this.chunks.push(a)},m.prototype.onEnd=function(a){a===i.Z_OK&&(this.result="string"===this.options.to?this.chunks.join(""):g.flattenChunks(this.chunks)),this.chunks=[],this.err=a,this.msg=this.strm.msg},c.Inflate=m,c.inflate=d,c.inflateRaw=e,c.ungzip=d},{"./utils/common":27,"./utils/strings":28,"./zlib/constants":30,"./zlib/gzheader":33,"./zlib/inflate.js":35,"./zlib/messages":37,"./zlib/zstream":39}],27:[function(a,b,c){"use strict";var d="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Int32Array;c.assign=function(a){for(var b=Array.prototype.slice.call(arguments,1);b.length;){var c=b.shift();if(c){if("object"!=typeof c)throw new TypeError(c+"must be non-object");for(var d in c)c.hasOwnProperty(d)&&(a[d]=c[d])}}return a},c.shrinkBuf=function(a,b){return a.length===b?a:a.subarray?a.subarray(0,b):(a.length=b,a)};var e={arraySet:function(a,b,c,d,e){if(b.subarray&&a.subarray)return void a.set(b.subarray(c,c+d),e);for(var f=0;d>f;f++)a[e+f]=b[c+f]},flattenChunks:function(a){var b,c,d,e,f,g;for(d=0,b=0,c=a.length;c>b;b++)d+=a[b].length;for(g=new Uint8Array(d),e=0,b=0,c=a.length;c>b;b++)f=a[b],g.set(f,e),e+=f.length;return g}},f={arraySet:function(a,b,c,d,e){for(var f=0;d>f;f++)a[e+f]=b[c+f]},flattenChunks:function(a){return[].concat.apply([],a)}};c.setTyped=function(a){a?(c.Buf8=Uint8Array,c.Buf16=Uint16Array,c.Buf32=Int32Array,c.assign(c,e)):(c.Buf8=Array,c.Buf16=Array,c.Buf32=Array,c.assign(c,f))},c.setTyped(d)},{}],28:[function(a,b,c){"use strict";function d(a,b){if(65537>b&&(a.subarray&&g||!a.subarray&&f))return String.fromCharCode.apply(null,e.shrinkBuf(a,b));for(var c="",d=0;b>d;d++)c+=String.fromCharCode(a[d]);return c}var e=a("./common"),f=!0,g=!0;try{String.fromCharCode.apply(null,[0])}catch(h){f=!1}try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(h){g=!1}for(var i=new e.Buf8(256),j=0;256>j;j++)i[j]=j>=252?6:j>=248?5:j>=240?4:j>=224?3:j>=192?2:1;i[254]=i[254]=1,c.string2buf=function(a){var b,c,d,f,g,h=a.length,i=0;for(f=0;h>f;f++)c=a.charCodeAt(f),55296===(64512&c)&&h>f+1&&(d=a.charCodeAt(f+1),56320===(64512&d)&&(c=65536+(c-55296<<10)+(d-56320),f++)),i+=128>c?1:2048>c?2:65536>c?3:4;for(b=new e.Buf8(i),g=0,f=0;i>g;f++)c=a.charCodeAt(f),55296===(64512&c)&&h>f+1&&(d=a.charCodeAt(f+1),56320===(64512&d)&&(c=65536+(c-55296<<10)+(d-56320),f++)),128>c?b[g++]=c:2048>c?(b[g++]=192|c>>>6,b[g++]=128|63&c):65536>c?(b[g++]=224|c>>>12,b[g++]=128|c>>>6&63,b[g++]=128|63&c):(b[g++]=240|c>>>18,b[g++]=128|c>>>12&63,b[g++]=128|c>>>6&63,b[g++]=128|63&c);return b},c.buf2binstring=function(a){return d(a,a.length)},c.binstring2buf=function(a){for(var b=new e.Buf8(a.length),c=0,d=b.length;d>c;c++)b[c]=a.charCodeAt(c);return b},c.buf2string=function(a,b){var c,e,f,g,h=b||a.length,j=new Array(2*h);for(e=0,c=0;h>c;)if(f=a[c++],128>f)j[e++]=f;else if(g=i[f],g>4)j[e++]=65533,c+=g-1;else{for(f&=2===g?31:3===g?15:7;g>1&&h>c;)f=f<<6|63&a[c++],g--;g>1?j[e++]=65533:65536>f?j[e++]=f:(f-=65536,j[e++]=55296|f>>10&1023,j[e++]=56320|1023&f)}return d(j,e)},c.utf8border=function(a,b){var c;for(b=b||a.length,b>a.length&&(b=a.length),c=b-1;c>=0&&128===(192&a[c]);)c--;return 0>c?b:0===c?b:c+i[a[c]]>b?c:b}},{"./common":27}],29:[function(a,b){"use strict";function c(a,b,c,d){for(var e=65535&a|0,f=a>>>16&65535|0,g=0;0!==c;){g=c>2e3?2e3:c,c-=g;do e=e+b[d++]|0,f=f+e|0;while(--g);e%=65521,f%=65521}return e|f<<16|0}b.exports=c},{}],30:[function(a,b){b.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}},{}],31:[function(a,b){"use strict";function c(){for(var a,b=[],c=0;256>c;c++){a=c;for(var d=0;8>d;d++)a=1&a?3988292384^a>>>1:a>>>1;b[c]=a}return b}function d(a,b,c,d){var f=e,g=d+c;a=-1^a;for(var h=d;g>h;h++)a=a>>>8^f[255&(a^b[h])];return-1^a}var e=c();b.exports=d},{}],32:[function(a,b,c){"use strict";function d(a,b){return a.msg=G[b],b}function e(a){return(a<<1)-(a>4?9:0)}function f(a){for(var b=a.length;--b>=0;)a[b]=0}function g(a){var b=a.state,c=b.pending;c>a.avail_out&&(c=a.avail_out),0!==c&&(C.arraySet(a.output,b.pending_buf,b.pending_out,c,a.next_out),a.next_out+=c,b.pending_out+=c,a.total_out+=c,a.avail_out-=c,b.pending-=c,0===b.pending&&(b.pending_out=0))}function h(a,b){D._tr_flush_block(a,a.block_start>=0?a.block_start:-1,a.strstart-a.block_start,b),a.block_start=a.strstart,g(a.strm)}function i(a,b){a.pending_buf[a.pending++]=b}function j(a,b){a.pending_buf[a.pending++]=b>>>8&255,a.pending_buf[a.pending++]=255&b}function k(a,b,c,d){var e=a.avail_in;return e>d&&(e=d),0===e?0:(a.avail_in-=e,C.arraySet(b,a.input,a.next_in,e,c),1===a.state.wrap?a.adler=E(a.adler,b,e,c):2===a.state.wrap&&(a.adler=F(a.adler,b,e,c)),a.next_in+=e,a.total_in+=e,e)}function l(a,b){var c,d,e=a.max_chain_length,f=a.strstart,g=a.prev_length,h=a.nice_match,i=a.strstart>a.w_size-jb?a.strstart-(a.w_size-jb):0,j=a.window,k=a.w_mask,l=a.prev,m=a.strstart+ib,n=j[f+g-1],o=j[f+g];a.prev_length>=a.good_match&&(e>>=2),h>a.lookahead&&(h=a.lookahead);do if(c=b,j[c+g]===o&&j[c+g-1]===n&&j[c]===j[f]&&j[++c]===j[f+1]){f+=2,c++;do;while(j[++f]===j[++c]&&j[++f]===j[++c]&&j[++f]===j[++c]&&j[++f]===j[++c]&&j[++f]===j[++c]&&j[++f]===j[++c]&&j[++f]===j[++c]&&j[++f]===j[++c]&&m>f);if(d=ib-(m-f),f=m-ib,d>g){if(a.match_start=b,g=d,d>=h)break;n=j[f+g-1],o=j[f+g]}}while((b=l[b&k])>i&&0!==--e);return g<=a.lookahead?g:a.lookahead}function m(a){var b,c,d,e,f,g=a.w_size;do{if(e=a.window_size-a.lookahead-a.strstart,a.strstart>=g+(g-jb)){C.arraySet(a.window,a.window,g,g,0),a.match_start-=g,a.strstart-=g,a.block_start-=g,c=a.hash_size,b=c;do d=a.head[--b],a.head[b]=d>=g?d-g:0;while(--c);c=g,b=c;do d=a.prev[--b],a.prev[b]=d>=g?d-g:0;while(--c);e+=g}if(0===a.strm.avail_in)break;if(c=k(a.strm,a.window,a.strstart+a.lookahead,e),a.lookahead+=c,a.lookahead+a.insert>=hb)for(f=a.strstart-a.insert,a.ins_h=a.window[f],a.ins_h=(a.ins_h<<a.hash_shift^a.window[f+1])&a.hash_mask;a.insert&&(a.ins_h=(a.ins_h<<a.hash_shift^a.window[f+hb-1])&a.hash_mask,a.prev[f&a.w_mask]=a.head[a.ins_h],a.head[a.ins_h]=f,f++,a.insert--,!(a.lookahead+a.insert<hb)););}while(a.lookahead<jb&&0!==a.strm.avail_in)}function n(a,b){var c=65535;for(c>a.pending_buf_size-5&&(c=a.pending_buf_size-5);;){if(a.lookahead<=1){if(m(a),0===a.lookahead&&b===H)return sb;if(0===a.lookahead)break}a.strstart+=a.lookahead,a.lookahead=0;var d=a.block_start+c;if((0===a.strstart||a.strstart>=d)&&(a.lookahead=a.strstart-d,a.strstart=d,h(a,!1),0===a.strm.avail_out))return sb;if(a.strstart-a.block_start>=a.w_size-jb&&(h(a,!1),0===a.strm.avail_out))return sb}return a.insert=0,b===K?(h(a,!0),0===a.strm.avail_out?ub:vb):a.strstart>a.block_start&&(h(a,!1),0===a.strm.avail_out)?sb:sb}function o(a,b){for(var c,d;;){if(a.lookahead<jb){if(m(a),a.lookahead<jb&&b===H)return sb;if(0===a.lookahead)break}if(c=0,a.lookahead>=hb&&(a.ins_h=(a.ins_h<<a.hash_shift^a.window[a.strstart+hb-1])&a.hash_mask,c=a.prev[a.strstart&a.w_mask]=a.head[a.ins_h],a.head[a.ins_h]=a.strstart),0!==c&&a.strstart-c<=a.w_size-jb&&(a.match_length=l(a,c)),a.match_length>=hb)if(d=D._tr_tally(a,a.strstart-a.match_start,a.match_length-hb),a.lookahead-=a.match_length,a.match_length<=a.max_lazy_match&&a.lookahead>=hb){a.match_length--;do a.strstart++,a.ins_h=(a.ins_h<<a.hash_shift^a.window[a.strstart+hb-1])&a.hash_mask,c=a.prev[a.strstart&a.w_mask]=a.head[a.ins_h],a.head[a.ins_h]=a.strstart;while(0!==--a.match_length);a.strstart++}else a.strstart+=a.match_length,a.match_length=0,a.ins_h=a.window[a.strstart],a.ins_h=(a.ins_h<<a.hash_shift^a.window[a.strstart+1])&a.hash_mask;else d=D._tr_tally(a,0,a.window[a.strstart]),a.lookahead--,a.strstart++;if(d&&(h(a,!1),0===a.strm.avail_out))return sb}return a.insert=a.strstart<hb-1?a.strstart:hb-1,b===K?(h(a,!0),0===a.strm.avail_out?ub:vb):a.last_lit&&(h(a,!1),0===a.strm.avail_out)?sb:tb}function p(a,b){for(var c,d,e;;){if(a.lookahead<jb){if(m(a),a.lookahead<jb&&b===H)return sb;if(0===a.lookahead)break}if(c=0,a.lookahead>=hb&&(a.ins_h=(a.ins_h<<a.hash_shift^a.window[a.strstart+hb-1])&a.hash_mask,c=a.prev[a.strstart&a.w_mask]=a.head[a.ins_h],a.head[a.ins_h]=a.strstart),a.prev_length=a.match_length,a.prev_match=a.match_start,a.match_length=hb-1,0!==c&&a.prev_length<a.max_lazy_match&&a.strstart-c<=a.w_size-jb&&(a.match_length=l(a,c),a.match_length<=5&&(a.strategy===S||a.match_length===hb&&a.strstart-a.match_start>4096)&&(a.match_length=hb-1)),a.prev_length>=hb&&a.match_length<=a.prev_length){e=a.strstart+a.lookahead-hb,d=D._tr_tally(a,a.strstart-1-a.prev_match,a.prev_length-hb),a.lookahead-=a.prev_length-1,a.prev_length-=2;do++a.strstart<=e&&(a.ins_h=(a.ins_h<<a.hash_shift^a.window[a.strstart+hb-1])&a.hash_mask,c=a.prev[a.strstart&a.w_mask]=a.head[a.ins_h],a.head[a.ins_h]=a.strstart);while(0!==--a.prev_length);if(a.match_available=0,a.match_length=hb-1,a.strstart++,d&&(h(a,!1),0===a.strm.avail_out))return sb}else if(a.match_available){if(d=D._tr_tally(a,0,a.window[a.strstart-1]),d&&h(a,!1),a.strstart++,a.lookahead--,0===a.strm.avail_out)return sb}else a.match_available=1,a.strstart++,a.lookahead--}return a.match_available&&(d=D._tr_tally(a,0,a.window[a.strstart-1]),a.match_available=0),a.insert=a.strstart<hb-1?a.strstart:hb-1,b===K?(h(a,!0),0===a.strm.avail_out?ub:vb):a.last_lit&&(h(a,!1),0===a.strm.avail_out)?sb:tb}function q(a,b){for(var c,d,e,f,g=a.window;;){if(a.lookahead<=ib){if(m(a),a.lookahead<=ib&&b===H)return sb;if(0===a.lookahead)break}if(a.match_length=0,a.lookahead>=hb&&a.strstart>0&&(e=a.strstart-1,d=g[e],d===g[++e]&&d===g[++e]&&d===g[++e])){f=a.strstart+ib;do;while(d===g[++e]&&d===g[++e]&&d===g[++e]&&d===g[++e]&&d===g[++e]&&d===g[++e]&&d===g[++e]&&d===g[++e]&&f>e);a.match_length=ib-(f-e),a.match_length>a.lookahead&&(a.match_length=a.lookahead)}if(a.match_length>=hb?(c=D._tr_tally(a,1,a.match_length-hb),a.lookahead-=a.match_length,a.strstart+=a.match_length,a.match_length=0):(c=D._tr_tally(a,0,a.window[a.strstart]),a.lookahead--,a.strstart++),c&&(h(a,!1),0===a.strm.avail_out))return sb}return a.insert=0,b===K?(h(a,!0),0===a.strm.avail_out?ub:vb):a.last_lit&&(h(a,!1),0===a.strm.avail_out)?sb:tb}function r(a,b){for(var c;;){if(0===a.lookahead&&(m(a),0===a.lookahead)){if(b===H)return sb;break}if(a.match_length=0,c=D._tr_tally(a,0,a.window[a.strstart]),a.lookahead--,a.strstart++,c&&(h(a,!1),0===a.strm.avail_out))return sb}return a.insert=0,b===K?(h(a,!0),0===a.strm.avail_out?ub:vb):a.last_lit&&(h(a,!1),0===a.strm.avail_out)?sb:tb}function s(a){a.window_size=2*a.w_size,f(a.head),a.max_lazy_match=B[a.level].max_lazy,a.good_match=B[a.level].good_length,a.nice_match=B[a.level].nice_length,a.max_chain_length=B[a.level].max_chain,a.strstart=0,a.block_start=0,a.lookahead=0,a.insert=0,a.match_length=a.prev_length=hb-1,a.match_available=0,a.ins_h=0}function t(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=Y,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new C.Buf16(2*fb),this.dyn_dtree=new C.Buf16(2*(2*db+1)),this.bl_tree=new C.Buf16(2*(2*eb+1)),f(this.dyn_ltree),f(this.dyn_dtree),f(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new C.Buf16(gb+1),this.heap=new C.Buf16(2*cb+1),f(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new C.Buf16(2*cb+1),f(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function u(a){var b;return a&&a.state?(a.total_in=a.total_out=0,a.data_type=X,b=a.state,b.pending=0,b.pending_out=0,b.wrap<0&&(b.wrap=-b.wrap),b.status=b.wrap?lb:qb,a.adler=2===b.wrap?0:1,b.last_flush=H,D._tr_init(b),M):d(a,O)}function v(a){var b=u(a);return b===M&&s(a.state),b}function w(a,b){return a&&a.state?2!==a.state.wrap?O:(a.state.gzhead=b,M):O}function x(a,b,c,e,f,g){if(!a)return O;var h=1;if(b===R&&(b=6),0>e?(h=0,e=-e):e>15&&(h=2,e-=16),1>f||f>Z||c!==Y||8>e||e>15||0>b||b>9||0>g||g>V)return d(a,O);8===e&&(e=9);var i=new t;return a.state=i,i.strm=a,i.wrap=h,i.gzhead=null,i.w_bits=e,i.w_size=1<<i.w_bits,i.w_mask=i.w_size-1,i.hash_bits=f+7,i.hash_size=1<<i.hash_bits,i.hash_mask=i.hash_size-1,i.hash_shift=~~((i.hash_bits+hb-1)/hb),i.window=new C.Buf8(2*i.w_size),i.head=new C.Buf16(i.hash_size),i.prev=new C.Buf16(i.w_size),i.lit_bufsize=1<<f+6,i.pending_buf_size=4*i.lit_bufsize,i.pending_buf=new C.Buf8(i.pending_buf_size),i.d_buf=i.lit_bufsize>>1,i.l_buf=3*i.lit_bufsize,i.level=b,i.strategy=g,i.method=c,v(a)}function y(a,b){return x(a,b,Y,$,_,W)}function z(a,b){var c,h,k,l;if(!a||!a.state||b>L||0>b)return a?d(a,O):O;if(h=a.state,!a.output||!a.input&&0!==a.avail_in||h.status===rb&&b!==K)return d(a,0===a.avail_out?Q:O);if(h.strm=a,c=h.last_flush,h.last_flush=b,h.status===lb)if(2===h.wrap)a.adler=0,i(h,31),i(h,139),i(h,8),h.gzhead?(i(h,(h.gzhead.text?1:0)+(h.gzhead.hcrc?2:0)+(h.gzhead.extra?4:0)+(h.gzhead.name?8:0)+(h.gzhead.comment?16:0)),i(h,255&h.gzhead.time),i(h,h.gzhead.time>>8&255),i(h,h.gzhead.time>>16&255),i(h,h.gzhead.time>>24&255),i(h,9===h.level?2:h.strategy>=T||h.level<2?4:0),i(h,255&h.gzhead.os),h.gzhead.extra&&h.gzhead.extra.length&&(i(h,255&h.gzhead.extra.length),i(h,h.gzhead.extra.length>>8&255)),h.gzhead.hcrc&&(a.adler=F(a.adler,h.pending_buf,h.pending,0)),h.gzindex=0,h.status=mb):(i(h,0),i(h,0),i(h,0),i(h,0),i(h,0),i(h,9===h.level?2:h.strategy>=T||h.level<2?4:0),i(h,wb),h.status=qb);else{var m=Y+(h.w_bits-8<<4)<<8,n=-1;n=h.strategy>=T||h.level<2?0:h.level<6?1:6===h.level?2:3,m|=n<<6,0!==h.strstart&&(m|=kb),m+=31-m%31,h.status=qb,j(h,m),0!==h.strstart&&(j(h,a.adler>>>16),j(h,65535&a.adler)),a.adler=1}if(h.status===mb)if(h.gzhead.extra){for(k=h.pending;h.gzindex<(65535&h.gzhead.extra.length)&&(h.pending!==h.pending_buf_size||(h.gzhead.hcrc&&h.pending>k&&(a.adler=F(a.adler,h.pending_buf,h.pending-k,k)),g(a),k=h.pending,h.pending!==h.pending_buf_size));)i(h,255&h.gzhead.extra[h.gzindex]),h.gzindex++;h.gzhead.hcrc&&h.pending>k&&(a.adler=F(a.adler,h.pending_buf,h.pending-k,k)),h.gzindex===h.gzhead.extra.length&&(h.gzindex=0,h.status=nb)}else h.status=nb;if(h.status===nb)if(h.gzhead.name){k=h.pending;do{if(h.pending===h.pending_buf_size&&(h.gzhead.hcrc&&h.pending>k&&(a.adler=F(a.adler,h.pending_buf,h.pending-k,k)),g(a),k=h.pending,h.pending===h.pending_buf_size)){l=1;break}l=h.gzindex<h.gzhead.name.length?255&h.gzhead.name.charCodeAt(h.gzindex++):0,i(h,l)}while(0!==l);h.gzhead.hcrc&&h.pending>k&&(a.adler=F(a.adler,h.pending_buf,h.pending-k,k)),0===l&&(h.gzindex=0,h.status=ob)}else h.status=ob;if(h.status===ob)if(h.gzhead.comment){k=h.pending;do{if(h.pending===h.pending_buf_size&&(h.gzhead.hcrc&&h.pending>k&&(a.adler=F(a.adler,h.pending_buf,h.pending-k,k)),g(a),k=h.pending,h.pending===h.pending_buf_size)){l=1;break}l=h.gzindex<h.gzhead.comment.length?255&h.gzhead.comment.charCodeAt(h.gzindex++):0,i(h,l)}while(0!==l);h.gzhead.hcrc&&h.pending>k&&(a.adler=F(a.adler,h.pending_buf,h.pending-k,k)),0===l&&(h.status=pb)}else h.status=pb;if(h.status===pb&&(h.gzhead.hcrc?(h.pending+2>h.pending_buf_size&&g(a),h.pending+2<=h.pending_buf_size&&(i(h,255&a.adler),i(h,a.adler>>8&255),a.adler=0,h.status=qb)):h.status=qb),0!==h.pending){if(g(a),0===a.avail_out)return h.last_flush=-1,M}else if(0===a.avail_in&&e(b)<=e(c)&&b!==K)return d(a,Q);if(h.status===rb&&0!==a.avail_in)return d(a,Q);if(0!==a.avail_in||0!==h.lookahead||b!==H&&h.status!==rb){var o=h.strategy===T?r(h,b):h.strategy===U?q(h,b):B[h.level].func(h,b);if((o===ub||o===vb)&&(h.status=rb),o===sb||o===ub)return 0===a.avail_out&&(h.last_flush=-1),M;if(o===tb&&(b===I?D._tr_align(h):b!==L&&(D._tr_stored_block(h,0,0,!1),b===J&&(f(h.head),0===h.lookahead&&(h.strstart=0,h.block_start=0,h.insert=0))),g(a),0===a.avail_out))return h.last_flush=-1,M}return b!==K?M:h.wrap<=0?N:(2===h.wrap?(i(h,255&a.adler),i(h,a.adler>>8&255),i(h,a.adler>>16&255),i(h,a.adler>>24&255),i(h,255&a.total_in),i(h,a.total_in>>8&255),i(h,a.total_in>>16&255),i(h,a.total_in>>24&255)):(j(h,a.adler>>>16),j(h,65535&a.adler)),g(a),h.wrap>0&&(h.wrap=-h.wrap),0!==h.pending?M:N)}function A(a){var b;return a&&a.state?(b=a.state.status,b!==lb&&b!==mb&&b!==nb&&b!==ob&&b!==pb&&b!==qb&&b!==rb?d(a,O):(a.state=null,b===qb?d(a,P):M)):O}var B,C=a("../utils/common"),D=a("./trees"),E=a("./adler32"),F=a("./crc32"),G=a("./messages"),H=0,I=1,J=3,K=4,L=5,M=0,N=1,O=-2,P=-3,Q=-5,R=-1,S=1,T=2,U=3,V=4,W=0,X=2,Y=8,Z=9,$=15,_=8,ab=29,bb=256,cb=bb+1+ab,db=30,eb=19,fb=2*cb+1,gb=15,hb=3,ib=258,jb=ib+hb+1,kb=32,lb=42,mb=69,nb=73,ob=91,pb=103,qb=113,rb=666,sb=1,tb=2,ub=3,vb=4,wb=3,xb=function(a,b,c,d,e){this.good_length=a,this.max_lazy=b,this.nice_length=c,this.max_chain=d,this.func=e};B=[new xb(0,0,0,0,n),new xb(4,4,8,4,o),new xb(4,5,16,8,o),new xb(4,6,32,32,o),new xb(4,4,16,16,p),new xb(8,16,32,32,p),new xb(8,16,128,128,p),new xb(8,32,128,256,p),new xb(32,128,258,1024,p),new xb(32,258,258,4096,p)],c.deflateInit=y,c.deflateInit2=x,c.deflateReset=v,c.deflateResetKeep=u,c.deflateSetHeader=w,c.deflate=z,c.deflateEnd=A,c.deflateInfo="pako deflate (from Nodeca project)"},{"../utils/common":27,"./adler32":29,"./crc32":31,"./messages":37,"./trees":38}],33:[function(a,b){"use strict";function c(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}b.exports=c},{}],34:[function(a,b){"use strict";var c=30,d=12;b.exports=function(a,b){var e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C;e=a.state,f=a.next_in,B=a.input,g=f+(a.avail_in-5),h=a.next_out,C=a.output,i=h-(b-a.avail_out),j=h+(a.avail_out-257),k=e.dmax,l=e.wsize,m=e.whave,n=e.wnext,o=e.window,p=e.hold,q=e.bits,r=e.lencode,s=e.distcode,t=(1<<e.lenbits)-1,u=(1<<e.distbits)-1;a:do{15>q&&(p+=B[f++]<<q,q+=8,p+=B[f++]<<q,q+=8),v=r[p&t];b:for(;;){if(w=v>>>24,p>>>=w,q-=w,w=v>>>16&255,0===w)C[h++]=65535&v;else{if(!(16&w)){if(0===(64&w)){v=r[(65535&v)+(p&(1<<w)-1)];continue b}if(32&w){e.mode=d;break a}a.msg="invalid literal/length code",e.mode=c;break a}x=65535&v,w&=15,w&&(w>q&&(p+=B[f++]<<q,q+=8),x+=p&(1<<w)-1,p>>>=w,q-=w),15>q&&(p+=B[f++]<<q,q+=8,p+=B[f++]<<q,q+=8),v=s[p&u];c:for(;;){if(w=v>>>24,p>>>=w,q-=w,w=v>>>16&255,!(16&w)){if(0===(64&w)){v=s[(65535&v)+(p&(1<<w)-1)];continue c}a.msg="invalid distance code",e.mode=c;break a}if(y=65535&v,w&=15,w>q&&(p+=B[f++]<<q,q+=8,w>q&&(p+=B[f++]<<q,q+=8)),y+=p&(1<<w)-1,y>k){a.msg="invalid distance too far back",e.mode=c;break a}if(p>>>=w,q-=w,w=h-i,y>w){if(w=y-w,w>m&&e.correct){a.msg="invalid distance too far back",e.mode=c;break a}if(z=0,A=o,0===n){if(z+=l-w,x>w){x-=w;do C[h++]=o[z++];while(--w);z=h-y,A=C}}else if(w>n){if(z+=l+n-w,w-=n,x>w){x-=w;do C[h++]=o[z++];while(--w);if(z=0,x>n){w=n,x-=w;do C[h++]=o[z++];while(--w);z=h-y,A=C}}}else if(z+=n-w,x>w){x-=w;do C[h++]=o[z++];while(--w);z=h-y,A=C}for(;x>2;)C[h++]=A[z++],C[h++]=A[z++],C[h++]=A[z++],x-=3;x&&(C[h++]=A[z++],x>1&&(C[h++]=A[z++]))}else{z=h-y;do C[h++]=C[z++],C[h++]=C[z++],C[h++]=C[z++],x-=3;while(x>2);x&&(C[h++]=C[z++],x>1&&(C[h++]=C[z++]))}break}}break}}while(g>f&&j>h);x=q>>3,f-=x,q-=x<<3,p&=(1<<q)-1,a.next_in=f,a.next_out=h,a.avail_in=g>f?5+(g-f):5-(f-g),a.avail_out=j>h?257+(j-h):257-(h-j),e.hold=p,e.bits=q}},{}],35:[function(a,b,c){"use strict";function d(a){return(a>>>24&255)+(a>>>8&65280)+((65280&a)<<8)+((255&a)<<24)}function e(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new r.Buf16(320),this.work=new r.Buf16(288),this.lendyn=null,this.distdyn=null,this.correct=0,this.back=0,this.was=0}function f(a){var b;return a&&a.state?(b=a.state,a.total_in=a.total_out=b.total=0,a.msg="",b.wrap&&(a.adler=1&b.wrap),b.mode=K,b.last=0,b.havedict=0,b.dmax=32768,b.head=null,b.hold=0,b.bits=0,b.lencode=b.lendyn=new r.Buf32(ob),b.distcode=b.distdyn=new r.Buf32(pb),b.correct=1,b.back=-1,C):F}function g(a){var b;return a&&a.state?(b=a.state,b.wsize=0,b.whave=0,b.wnext=0,f(a)):F}function h(a,b){var c,d;return a&&a.state?(d=a.state,0>b?(c=0,b=-b):(c=(b>>4)+1,48>b&&(b&=15)),b&&(8>b||b>15)?F:(null!==d.window&&d.wbits!==b&&(d.window=null),d.wrap=c,d.wbits=b,g(a))):F}function i(a,b){var c,d;return a?(d=new e,a.state=d,d.window=null,c=h(a,b),c!==C&&(a.state=null),c):F}function j(a){return i(a,rb)}function k(a){if(sb){var b;for(p=new r.Buf32(512),q=new r.Buf32(32),b=0;144>b;)a.lens[b++]=8;for(;256>b;)a.lens[b++]=9;for(;280>b;)a.lens[b++]=7;for(;288>b;)a.lens[b++]=8;for(v(x,a.lens,0,288,p,0,a.work,{bits:9}),b=0;32>b;)a.lens[b++]=5;v(y,a.lens,0,32,q,0,a.work,{bits:5}),sb=!1}a.lencode=p,a.lenbits=9,a.distcode=q,a.distbits=5}function l(a,b,c,d){var e,f=a.state;return null===f.window&&(f.wsize=1<<f.wbits,f.wnext=0,f.whave=0,f.window=new r.Buf8(f.wsize)),d>=f.wsize?(r.arraySet(f.window,b,c-f.wsize,f.wsize,0),f.wnext=0,f.whave=f.wsize):(e=f.wsize-f.wnext,e>d&&(e=d),r.arraySet(f.window,b,c-d,e,f.wnext),d-=e,d?(r.arraySet(f.window,b,c-d,d,0),f.wnext=d,f.whave=f.wsize):(f.wnext+=e,f.wnext===f.wsize&&(f.wnext=0),f.whave<f.wsize&&(f.whave+=e))),0}function m(a,b){var c,e,f,g,h,i,j,m,n,o,p,q,ob,pb,qb,rb,sb,tb,ub,vb,wb,xb,yb,zb,Ab=0,Bb=new r.Buf8(4),Cb=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!a||!a.state||!a.output||!a.input&&0!==a.avail_in)return F;c=a.state,c.mode===V&&(c.mode=W),h=a.next_out,f=a.output,j=a.avail_out,g=a.next_in,e=a.input,i=a.avail_in,m=c.hold,n=c.bits,o=i,p=j,xb=C;a:for(;;)switch(c.mode){case K:if(0===c.wrap){c.mode=W;break}for(;16>n;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}if(2&c.wrap&&35615===m){c.check=0,Bb[0]=255&m,Bb[1]=m>>>8&255,c.check=t(c.check,Bb,2,0),m=0,n=0,c.mode=L;break}if(c.flags=0,c.head&&(c.head.done=!1),!(1&c.wrap)||(((255&m)<<8)+(m>>8))%31){a.msg="incorrect header check",c.mode=lb;break}if((15&m)!==J){a.msg="unknown compression method",c.mode=lb;break}if(m>>>=4,n-=4,wb=(15&m)+8,0===c.wbits)c.wbits=wb;else if(wb>c.wbits){a.msg="invalid window size",c.mode=lb;break}c.dmax=1<<wb,a.adler=c.check=1,c.mode=512&m?T:V,m=0,n=0;break;case L:for(;16>n;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}if(c.flags=m,(255&c.flags)!==J){a.msg="unknown compression method",c.mode=lb;break}if(57344&c.flags){a.msg="unknown header flags set",c.mode=lb;break}c.head&&(c.head.text=m>>8&1),512&c.flags&&(Bb[0]=255&m,Bb[1]=m>>>8&255,c.check=t(c.check,Bb,2,0)),m=0,n=0,c.mode=M;case M:for(;32>n;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}c.head&&(c.head.time=m),512&c.flags&&(Bb[0]=255&m,Bb[1]=m>>>8&255,Bb[2]=m>>>16&255,Bb[3]=m>>>24&255,c.check=t(c.check,Bb,4,0)),m=0,n=0,c.mode=N;case N:for(;16>n;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}c.head&&(c.head.xflags=255&m,c.head.os=m>>8),512&c.flags&&(Bb[0]=255&m,Bb[1]=m>>>8&255,c.check=t(c.check,Bb,2,0)),m=0,n=0,c.mode=O;case O:if(1024&c.flags){for(;16>n;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}c.length=m,c.head&&(c.head.extra_len=m),512&c.flags&&(Bb[0]=255&m,Bb[1]=m>>>8&255,c.check=t(c.check,Bb,2,0)),m=0,n=0}else c.head&&(c.head.extra=null);c.mode=P;case P:if(1024&c.flags&&(q=c.length,q>i&&(q=i),q&&(c.head&&(wb=c.head.extra_len-c.length,c.head.extra||(c.head.extra=new Array(c.head.extra_len)),r.arraySet(c.head.extra,e,g,q,wb)),512&c.flags&&(c.check=t(c.check,e,q,g)),i-=q,g+=q,c.length-=q),c.length))break a;c.length=0,c.mode=Q;case Q:if(2048&c.flags){if(0===i)break a;q=0;do wb=e[g+q++],c.head&&wb&&c.length<65536&&(c.head.name+=String.fromCharCode(wb));while(wb&&i>q);if(512&c.flags&&(c.check=t(c.check,e,q,g)),i-=q,g+=q,wb)break a}else c.head&&(c.head.name=null);c.length=0,c.mode=R;case R:if(4096&c.flags){if(0===i)break a;q=0;do wb=e[g+q++],c.head&&wb&&c.length<65536&&(c.head.comment+=String.fromCharCode(wb));while(wb&&i>q);if(512&c.flags&&(c.check=t(c.check,e,q,g)),i-=q,g+=q,wb)break a}else c.head&&(c.head.comment=null);c.mode=S;case S:if(512&c.flags){for(;16>n;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}if(m!==(65535&c.check)){a.msg="header crc mismatch",c.mode=lb;break}m=0,n=0}c.head&&(c.head.hcrc=c.flags>>9&1,c.head.done=!0),a.adler=c.check=0,c.mode=V;break;case T:for(;32>n;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}a.adler=c.check=d(m),m=0,n=0,c.mode=U;case U:if(0===c.havedict)return a.next_out=h,a.avail_out=j,a.next_in=g,a.avail_in=i,c.hold=m,c.bits=n,E;a.adler=c.check=1,c.mode=V;case V:if(b===A||b===B)break a;case W:if(c.last){m>>>=7&n,n-=7&n,c.mode=ib;break}for(;3>n;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}switch(c.last=1&m,m>>>=1,n-=1,3&m){case 0:c.mode=X;break;case 1:if(k(c),c.mode=bb,b===B){m>>>=2,n-=2;break a}break;case 2:c.mode=$;break;case 3:a.msg="invalid block type",c.mode=lb}m>>>=2,n-=2;break;case X:for(m>>>=7&n,n-=7&n;32>n;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}if((65535&m)!==(m>>>16^65535)){a.msg="invalid stored block lengths",c.mode=lb;break}if(c.length=65535&m,m=0,n=0,c.mode=Y,b===B)break a;case Y:c.mode=Z;case Z:if(q=c.length){if(q>i&&(q=i),q>j&&(q=j),0===q)break a;r.arraySet(f,e,g,q,h),i-=q,g+=q,j-=q,h+=q,c.length-=q;break}c.mode=V;break;case $:for(;14>n;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}if(c.nlen=(31&m)+257,m>>>=5,n-=5,c.ndist=(31&m)+1,m>>>=5,n-=5,c.ncode=(15&m)+4,m>>>=4,n-=4,c.nlen>286||c.ndist>30){a.msg="too many length or distance symbols",c.mode=lb;break}c.have=0,c.mode=_;case _:for(;c.have<c.ncode;){for(;3>n;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}c.lens[Cb[c.have++]]=7&m,m>>>=3,n-=3}for(;c.have<19;)c.lens[Cb[c.have++]]=0;if(c.lencode=c.lendyn,c.lenbits=7,yb={bits:c.lenbits},xb=v(w,c.lens,0,19,c.lencode,0,c.work,yb),c.lenbits=yb.bits,xb){a.msg="invalid code lengths set",c.mode=lb;break}c.have=0,c.mode=ab;case ab:for(;c.have<c.nlen+c.ndist;){for(;Ab=c.lencode[m&(1<<c.lenbits)-1],qb=Ab>>>24,rb=Ab>>>16&255,sb=65535&Ab,!(n>=qb);){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}if(16>sb)m>>>=qb,n-=qb,c.lens[c.have++]=sb;else{if(16===sb){for(zb=qb+2;zb>n;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}if(m>>>=qb,n-=qb,0===c.have){a.msg="invalid bit length repeat",c.mode=lb;break}wb=c.lens[c.have-1],q=3+(3&m),m>>>=2,n-=2}else if(17===sb){for(zb=qb+3;zb>n;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}m>>>=qb,n-=qb,wb=0,q=3+(7&m),m>>>=3,n-=3}else{for(zb=qb+7;zb>n;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}m>>>=qb,n-=qb,wb=0,q=11+(127&m),m>>>=7,n-=7}if(c.have+q>c.nlen+c.ndist){a.msg="invalid bit length repeat",c.mode=lb;break}for(;q--;)c.lens[c.have++]=wb}}if(c.mode===lb)break;if(0===c.lens[256]){a.msg="invalid code -- missing end-of-block",c.mode=lb;break}if(c.lenbits=9,yb={bits:c.lenbits},xb=v(x,c.lens,0,c.nlen,c.lencode,0,c.work,yb),c.lenbits=yb.bits,xb){a.msg="invalid literal/lengths set",c.mode=lb;break}if(c.distbits=6,c.distcode=c.distdyn,yb={bits:c.distbits},xb=v(y,c.lens,c.nlen,c.ndist,c.distcode,0,c.work,yb),c.distbits=yb.bits,xb){a.msg="invalid distances set",c.mode=lb;break}if(c.mode=bb,b===B)break a;case bb:c.mode=cb;case cb:if(i>=6&&j>=258){a.next_out=h,a.avail_out=j,a.next_in=g,a.avail_in=i,c.hold=m,c.bits=n,u(a,p),h=a.next_out,f=a.output,j=a.avail_out,g=a.next_in,e=a.input,i=a.avail_in,m=c.hold,n=c.bits,c.mode===V&&(c.back=-1);break}for(c.back=0;Ab=c.lencode[m&(1<<c.lenbits)-1],qb=Ab>>>24,rb=Ab>>>16&255,sb=65535&Ab,!(n>=qb);){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}if(rb&&0===(240&rb)){for(tb=qb,ub=rb,vb=sb;Ab=c.lencode[vb+((m&(1<<tb+ub)-1)>>tb)],qb=Ab>>>24,rb=Ab>>>16&255,sb=65535&Ab,!(n>=tb+qb);){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}m>>>=tb,n-=tb,c.back+=tb}if(m>>>=qb,n-=qb,c.back+=qb,c.length=sb,0===rb){c.mode=hb;break}if(32&rb){c.back=-1,c.mode=V;break}if(64&rb){a.msg="invalid literal/length code",c.mode=lb;break}c.extra=15&rb,c.mode=db;case db:if(c.extra){for(zb=c.extra;zb>n;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}c.length+=m&(1<<c.extra)-1,m>>>=c.extra,n-=c.extra,c.back+=c.extra}c.was=c.length,c.mode=eb;case eb:for(;Ab=c.distcode[m&(1<<c.distbits)-1],qb=Ab>>>24,rb=Ab>>>16&255,sb=65535&Ab,!(n>=qb);){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}if(0===(240&rb)){for(tb=qb,ub=rb,vb=sb;Ab=c.distcode[vb+((m&(1<<tb+ub)-1)>>tb)],qb=Ab>>>24,rb=Ab>>>16&255,sb=65535&Ab,!(n>=tb+qb);){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}m>>>=tb,n-=tb,c.back+=tb}if(m>>>=qb,n-=qb,c.back+=qb,64&rb){a.msg="invalid distance code",c.mode=lb;break}c.offset=sb,c.extra=15&rb,c.mode=fb;case fb:if(c.extra){for(zb=c.extra;zb>n;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}c.offset+=m&(1<<c.extra)-1,m>>>=c.extra,n-=c.extra,c.back+=c.extra}if(c.offset>c.dmax){a.msg="invalid distance too far back",c.mode=lb;break}c.mode=gb;case gb:if(0===j)break a;if(q=p-j,c.offset>q){if(q=c.offset-q,q>c.whave&&c.correct){a.msg="invalid distance too far back",c.mode=lb;break}q>c.wnext?(q-=c.wnext,ob=c.wsize-q):ob=c.wnext-q,q>c.length&&(q=c.length),pb=c.window}else pb=f,ob=h-c.offset,q=c.length;q>j&&(q=j),j-=q,c.length-=q;do f[h++]=pb[ob++];while(--q);0===c.length&&(c.mode=cb);break;case hb:if(0===j)break a;f[h++]=c.length,j--,c.mode=cb;break;case ib:if(c.wrap){for(;32>n;){if(0===i)break a;i--,m|=e[g++]<<n,n+=8}if(p-=j,a.total_out+=p,c.total+=p,p&&(a.adler=c.check=c.flags?t(c.check,f,p,h-p):s(c.check,f,p,h-p)),p=j,(c.flags?m:d(m))!==c.check){a.msg="incorrect data check",c.mode=lb;break}m=0,n=0}c.mode=jb;case jb:if(c.wrap&&c.flags){for(;32>n;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}if(m!==(4294967295&c.total)){a.msg="incorrect length check",c.mode=lb;break}m=0,n=0}c.mode=kb;case kb:xb=D;break a;case lb:xb=G;break a;case mb:return H;case nb:default:return F}return a.next_out=h,a.avail_out=j,a.next_in=g,a.avail_in=i,c.hold=m,c.bits=n,(c.wsize||p!==a.avail_out&&c.mode<lb&&(c.mode<ib||b!==z))&&l(a,a.output,a.next_out,p-a.avail_out)?(c.mode=mb,H):(o-=a.avail_in,p-=a.avail_out,a.total_in+=o,a.total_out+=p,c.total+=p,c.wrap&&p&&(a.adler=c.check=c.flags?t(c.check,f,p,a.next_out-p):s(c.check,f,p,a.next_out-p)),a.data_type=c.bits+(c.last?64:0)+(c.mode===V?128:0)+(c.mode===bb||c.mode===Y?256:0),(0===o&&0===p||b===z)&&xb===C&&(xb=I),xb)}function n(a){if(!a||!a.state)return F;var b=a.state;return b.window&&(b.window=null),a.state=null,C}function o(a,b){var c;return a&&a.state?(c=a.state,0===(2&c.wrap)?F:(c.head=b,b.done=!1,C)):F}var p,q,r=a("../utils/common"),s=a("./adler32"),t=a("./crc32"),u=a("./inffast"),v=a("./inftrees"),w=0,x=1,y=2,z=4,A=5,B=6,C=0,D=1,E=2,F=-2,G=-3,H=-4,I=-5,J=8,K=1,L=2,M=3,N=4,O=5,P=6,Q=7,R=8,S=9,T=10,U=11,V=12,W=13,X=14,Y=15,Z=16,$=17,_=18,ab=19,bb=20,cb=21,db=22,eb=23,fb=24,gb=25,hb=26,ib=27,jb=28,kb=29,lb=30,mb=31,nb=32,ob=852,pb=592,qb=15,rb=qb,sb=!0;c.inflateReset=g,c.inflateReset2=h,c.inflateResetKeep=f,c.inflateInit=j,c.inflateInit2=i,c.inflate=m,c.inflateEnd=n,c.inflateGetHeader=o,c.inflateInfo="pako inflate (from Nodeca project)"},{"../utils/common":27,"./adler32":29,"./crc32":31,"./inffast":34,"./inftrees":36}],36:[function(a,b){"use strict";var c=a("../utils/common"),d=15,e=852,f=592,g=0,h=1,i=2,j=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],k=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78],l=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0],m=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64];b.exports=function(a,b,n,o,p,q,r,s){var t,u,v,w,x,y,z,A,B,C=s.bits,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=null,O=0,P=new c.Buf16(d+1),Q=new c.Buf16(d+1),R=null,S=0;for(D=0;d>=D;D++)P[D]=0;for(E=0;o>E;E++)P[b[n+E]]++;for(H=C,G=d;G>=1&&0===P[G];G--);if(H>G&&(H=G),0===G)return p[q++]=20971520,p[q++]=20971520,s.bits=1,0;for(F=1;G>F&&0===P[F];F++);for(F>H&&(H=F),K=1,D=1;d>=D;D++)if(K<<=1,K-=P[D],0>K)return-1;if(K>0&&(a===g||1!==G))return-1;for(Q[1]=0,D=1;d>D;D++)Q[D+1]=Q[D]+P[D];for(E=0;o>E;E++)0!==b[n+E]&&(r[Q[b[n+E]]++]=E);if(a===g?(N=R=r,y=19):a===h?(N=j,O-=257,R=k,S-=257,y=256):(N=l,R=m,y=-1),M=0,E=0,D=F,x=q,I=H,J=0,v=-1,L=1<<H,w=L-1,a===h&&L>e||a===i&&L>f)return 1;for(var T=0;;){T++,z=D-J,r[E]<y?(A=0,B=r[E]):r[E]>y?(A=R[S+r[E]],B=N[O+r[E]]):(A=96,B=0),t=1<<D-J,u=1<<I,F=u;do u-=t,p[x+(M>>J)+u]=z<<24|A<<16|B|0;while(0!==u);for(t=1<<D-1;M&t;)t>>=1;if(0!==t?(M&=t-1,M+=t):M=0,E++,0===--P[D]){if(D===G)break;D=b[n+r[E]]}if(D>H&&(M&w)!==v){for(0===J&&(J=H),x+=F,I=D-J,K=1<<I;G>I+J&&(K-=P[I+J],!(0>=K));)I++,K<<=1;if(L+=1<<I,a===h&&L>e||a===i&&L>f)return 1;v=M&w,p[v]=H<<24|I<<16|x-q|0}}return 0!==M&&(p[x+M]=D-J<<24|64<<16|0),s.bits=H,0}},{"../utils/common":27}],37:[function(a,b){"use strict";b.exports={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"}},{}],38:[function(a,b,c){"use strict";function d(a){for(var b=a.length;--b>=0;)a[b]=0}function e(a){return 256>a?gb[a]:gb[256+(a>>>7)]}function f(a,b){a.pending_buf[a.pending++]=255&b,a.pending_buf[a.pending++]=b>>>8&255}function g(a,b,c){a.bi_valid>V-c?(a.bi_buf|=b<<a.bi_valid&65535,f(a,a.bi_buf),a.bi_buf=b>>V-a.bi_valid,a.bi_valid+=c-V):(a.bi_buf|=b<<a.bi_valid&65535,a.bi_valid+=c)}function h(a,b,c){g(a,c[2*b],c[2*b+1])}function i(a,b){var c=0;do c|=1&a,a>>>=1,c<<=1;while(--b>0);return c>>>1}function j(a){16===a.bi_valid?(f(a,a.bi_buf),a.bi_buf=0,a.bi_valid=0):a.bi_valid>=8&&(a.pending_buf[a.pending++]=255&a.bi_buf,a.bi_buf>>=8,a.bi_valid-=8)}function k(a,b){var c,d,e,f,g,h,i=b.dyn_tree,j=b.max_code,k=b.stat_desc.static_tree,l=b.stat_desc.has_stree,m=b.stat_desc.extra_bits,n=b.stat_desc.extra_base,o=b.stat_desc.max_length,p=0;for(f=0;U>=f;f++)a.bl_count[f]=0;for(i[2*a.heap[a.heap_max]+1]=0,c=a.heap_max+1;T>c;c++)d=a.heap[c],f=i[2*i[2*d+1]+1]+1,f>o&&(f=o,p++),i[2*d+1]=f,d>j||(a.bl_count[f]++,g=0,d>=n&&(g=m[d-n]),h=i[2*d],a.opt_len+=h*(f+g),l&&(a.static_len+=h*(k[2*d+1]+g)));if(0!==p){do{for(f=o-1;0===a.bl_count[f];)f--;a.bl_count[f]--,a.bl_count[f+1]+=2,a.bl_count[o]--,p-=2}while(p>0);for(f=o;0!==f;f--)for(d=a.bl_count[f];0!==d;)e=a.heap[--c],e>j||(i[2*e+1]!==f&&(a.opt_len+=(f-i[2*e+1])*i[2*e],i[2*e+1]=f),d--)}}function l(a,b,c){var d,e,f=new Array(U+1),g=0;for(d=1;U>=d;d++)f[d]=g=g+c[d-1]<<1;for(e=0;b>=e;e++){var h=a[2*e+1];0!==h&&(a[2*e]=i(f[h]++,h))}}function m(){var a,b,c,d,e,f=new Array(U+1);for(c=0,d=0;O-1>d;d++)for(ib[d]=c,a=0;a<1<<_[d];a++)hb[c++]=d;for(hb[c-1]=d,e=0,d=0;16>d;d++)for(jb[d]=e,a=0;a<1<<ab[d];a++)gb[e++]=d;for(e>>=7;R>d;d++)for(jb[d]=e<<7,a=0;a<1<<ab[d]-7;a++)gb[256+e++]=d;for(b=0;U>=b;b++)f[b]=0;for(a=0;143>=a;)eb[2*a+1]=8,a++,f[8]++;for(;255>=a;)eb[2*a+1]=9,a++,f[9]++;for(;279>=a;)eb[2*a+1]=7,a++,f[7]++;for(;287>=a;)eb[2*a+1]=8,a++,f[8]++;for(l(eb,Q+1,f),a=0;R>a;a++)fb[2*a+1]=5,fb[2*a]=i(a,5);kb=new nb(eb,_,P+1,Q,U),lb=new nb(fb,ab,0,R,U),mb=new nb(new Array(0),bb,0,S,W)}function n(a){var b;for(b=0;Q>b;b++)a.dyn_ltree[2*b]=0;for(b=0;R>b;b++)a.dyn_dtree[2*b]=0;for(b=0;S>b;b++)a.bl_tree[2*b]=0;a.dyn_ltree[2*X]=1,a.opt_len=a.static_len=0,a.last_lit=a.matches=0}function o(a){a.bi_valid>8?f(a,a.bi_buf):a.bi_valid>0&&(a.pending_buf[a.pending++]=a.bi_buf),a.bi_buf=0,a.bi_valid=0}function p(a,b,c,d){o(a),d&&(f(a,c),f(a,~c)),E.arraySet(a.pending_buf,a.window,b,c,a.pending),a.pending+=c}function q(a,b,c,d){var e=2*b,f=2*c;return a[e]<a[f]||a[e]===a[f]&&d[b]<=d[c]}function r(a,b,c){for(var d=a.heap[c],e=c<<1;e<=a.heap_len&&(e<a.heap_len&&q(b,a.heap[e+1],a.heap[e],a.depth)&&e++,!q(b,d,a.heap[e],a.depth));)a.heap[c]=a.heap[e],c=e,e<<=1;a.heap[c]=d}function s(a,b,c){var d,f,i,j,k=0;if(0!==a.last_lit)do d=a.pending_buf[a.d_buf+2*k]<<8|a.pending_buf[a.d_buf+2*k+1],f=a.pending_buf[a.l_buf+k],k++,0===d?h(a,f,b):(i=hb[f],h(a,i+P+1,b),j=_[i],0!==j&&(f-=ib[i],g(a,f,j)),d--,i=e(d),h(a,i,c),j=ab[i],0!==j&&(d-=jb[i],g(a,d,j)));while(k<a.last_lit);h(a,X,b)}function t(a,b){var c,d,e,f=b.dyn_tree,g=b.stat_desc.static_tree,h=b.stat_desc.has_stree,i=b.stat_desc.elems,j=-1;for(a.heap_len=0,a.heap_max=T,c=0;i>c;c++)0!==f[2*c]?(a.heap[++a.heap_len]=j=c,a.depth[c]=0):f[2*c+1]=0;for(;a.heap_len<2;)e=a.heap[++a.heap_len]=2>j?++j:0,f[2*e]=1,a.depth[e]=0,a.opt_len--,h&&(a.static_len-=g[2*e+1]);for(b.max_code=j,c=a.heap_len>>1;c>=1;c--)r(a,f,c);e=i;do c=a.heap[1],a.heap[1]=a.heap[a.heap_len--],r(a,f,1),d=a.heap[1],a.heap[--a.heap_max]=c,a.heap[--a.heap_max]=d,f[2*e]=f[2*c]+f[2*d],a.depth[e]=(a.depth[c]>=a.depth[d]?a.depth[c]:a.depth[d])+1,f[2*c+1]=f[2*d+1]=e,a.heap[1]=e++,r(a,f,1);while(a.heap_len>=2);a.heap[--a.heap_max]=a.heap[1],k(a,b),l(f,j,a.bl_count)}function u(a,b,c){var d,e,f=-1,g=b[1],h=0,i=7,j=4;for(0===g&&(i=138,j=3),b[2*(c+1)+1]=65535,d=0;c>=d;d++)e=g,g=b[2*(d+1)+1],++h<i&&e===g||(j>h?a.bl_tree[2*e]+=h:0!==e?(e!==f&&a.bl_tree[2*e]++,a.bl_tree[2*Y]++):10>=h?a.bl_tree[2*Z]++:a.bl_tree[2*$]++,h=0,f=e,0===g?(i=138,j=3):e===g?(i=6,j=3):(i=7,j=4))}function v(a,b,c){var d,e,f=-1,i=b[1],j=0,k=7,l=4;for(0===i&&(k=138,l=3),d=0;c>=d;d++)if(e=i,i=b[2*(d+1)+1],!(++j<k&&e===i)){if(l>j){do h(a,e,a.bl_tree);while(0!==--j)}else 0!==e?(e!==f&&(h(a,e,a.bl_tree),j--),h(a,Y,a.bl_tree),g(a,j-3,2)):10>=j?(h(a,Z,a.bl_tree),g(a,j-3,3)):(h(a,$,a.bl_tree),g(a,j-11,7));j=0,f=e,0===i?(k=138,l=3):e===i?(k=6,l=3):(k=7,l=4)}}function w(a){var b;for(u(a,a.dyn_ltree,a.l_desc.max_code),u(a,a.dyn_dtree,a.d_desc.max_code),t(a,a.bl_desc),b=S-1;b>=3&&0===a.bl_tree[2*cb[b]+1];b--);return a.opt_len+=3*(b+1)+5+5+4,b}function x(a,b,c,d){var e;for(g(a,b-257,5),g(a,c-1,5),g(a,d-4,4),e=0;d>e;e++)g(a,a.bl_tree[2*cb[e]+1],3);v(a,a.dyn_ltree,b-1),v(a,a.dyn_dtree,c-1)}function y(a){var b,c=4093624447;for(b=0;31>=b;b++,c>>>=1)if(1&c&&0!==a.dyn_ltree[2*b])return G;if(0!==a.dyn_ltree[18]||0!==a.dyn_ltree[20]||0!==a.dyn_ltree[26])return H;for(b=32;P>b;b++)if(0!==a.dyn_ltree[2*b])return H;return G}function z(a){pb||(m(),pb=!0),a.l_desc=new ob(a.dyn_ltree,kb),a.d_desc=new ob(a.dyn_dtree,lb),a.bl_desc=new ob(a.bl_tree,mb),a.bi_buf=0,a.bi_valid=0,n(a)}function A(a,b,c,d){g(a,(J<<1)+(d?1:0),3),p(a,b,c,!0)}function B(a){g(a,K<<1,3),h(a,X,eb),j(a)}function C(a,b,c,d){var e,f,h=0;a.level>0?(a.strm.data_type===I&&(a.strm.data_type=y(a)),t(a,a.l_desc),t(a,a.d_desc),h=w(a),e=a.opt_len+3+7>>>3,f=a.static_len+3+7>>>3,e>=f&&(e=f)):e=f=c+5,e>=c+4&&-1!==b?A(a,b,c,d):a.strategy===F||f===e?(g(a,(K<<1)+(d?1:0),3),s(a,eb,fb)):(g(a,(L<<1)+(d?1:0),3),x(a,a.l_desc.max_code+1,a.d_desc.max_code+1,h+1),s(a,a.dyn_ltree,a.dyn_dtree)),n(a),d&&o(a)}function D(a,b,c){return a.pending_buf[a.d_buf+2*a.last_lit]=b>>>8&255,a.pending_buf[a.d_buf+2*a.last_lit+1]=255&b,a.pending_buf[a.l_buf+a.last_lit]=255&c,a.last_lit++,0===b?a.dyn_ltree[2*c]++:(a.matches++,b--,a.dyn_ltree[2*(hb[c]+P+1)]++,a.dyn_dtree[2*e(b)]++),a.last_lit===a.lit_bufsize-1}var E=a("../utils/common"),F=4,G=0,H=1,I=2,J=0,K=1,L=2,M=3,N=258,O=29,P=256,Q=P+1+O,R=30,S=19,T=2*Q+1,U=15,V=16,W=7,X=256,Y=16,Z=17,$=18,_=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],ab=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],bb=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],cb=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],db=512,eb=new Array(2*(Q+2));d(eb);var fb=new Array(2*R);d(fb);var gb=new Array(db);d(gb);var hb=new Array(N-M+1);d(hb);var ib=new Array(O);d(ib);var jb=new Array(R);d(jb);var kb,lb,mb,nb=function(a,b,c,d,e){this.static_tree=a,this.extra_bits=b,this.extra_base=c,this.elems=d,this.max_length=e,this.has_stree=a&&a.length},ob=function(a,b){this.dyn_tree=a,this.max_code=0,this.stat_desc=b},pb=!1;c._tr_init=z,c._tr_stored_block=A,c._tr_flush_block=C,c._tr_tally=D,c._tr_align=B},{"../utils/common":27}],39:[function(a,b){"use strict";function c(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}b.exports=c},{}]},{},[9])(9)});'use strict';if(tr.isVinn){global.window={};}'use strict';if(tr.isVinn){global.JSZip=global.window.JSZip;global.window=undefined;}else if(tr.isNode){const jsZipAbsPath=HTMLImportsLoader.hrefToAbsolutePath('/jszip.min.js');const jsZipModule=require(jsZipAbsPath);global.JSZip=jsZipModule;}'use strict';tr.exportTo('tr.e.importer',function(){const GZIP_MEMBER_HEADER_ID_SIZE=3;const GZIP_HEADER_ID1=0x1f;const GZIP_HEADER_ID2=0x8b;const GZIP_DEFLATE_COMPRESSION=8;function GzipImporter(model,eventData){this.inflateAsTraceStream=false;if(typeof(eventData)==='string'||eventData instanceof String){eventData=JSZip.utils.transformTo('uint8array',eventData);}else if(eventData instanceof ArrayBuffer){eventData=new Uint8Array(eventData);}else if(eventData instanceof tr.b.InMemoryTraceStream){eventData=eventData.data;this.inflateAsTraceStream_=true;}else{throw new Error('Unknown gzip data format');} 5315this.model_=model;this.gzipData_=eventData;} 5316GzipImporter.canImport=function(eventData){if(eventData instanceof tr.b.InMemoryTraceStream){eventData=eventData.header;} 5317let header;if(eventData instanceof ArrayBuffer){header=new Uint8Array(eventData.slice(0,GZIP_MEMBER_HEADER_ID_SIZE));}else if(typeof(eventData)==='string'||eventData instanceof String){header=eventData.substring(0,GZIP_MEMBER_HEADER_ID_SIZE);header=JSZip.utils.transformTo('uint8array',header);}else{return false;} 5318return header[0]===GZIP_HEADER_ID1&&header[1]===GZIP_HEADER_ID2&&header[2]===GZIP_DEFLATE_COMPRESSION;};GzipImporter.inflateGzipData_=function(data){let position=0;function getByte(){if(position>=data.length){throw new Error('Unexpected end of gzip data');} 5319return data[position++];} 5320function getWord(){const low=getByte();const high=getByte();return(high<<8)+low;} 5321function skipBytes(amount){position+=amount;} 5322function skipZeroTerminatedString(){while(getByte()!==0){}} 5323const id1=getByte();const id2=getByte();if(id1!==GZIP_HEADER_ID1||id2!==GZIP_HEADER_ID2){throw new Error('Not gzip data');} 5324const compressionMethod=getByte();if(compressionMethod!==GZIP_DEFLATE_COMPRESSION){throw new Error('Unsupported compression method: '+compressionMethod);} 5325const flags=getByte();const haveHeaderCrc=flags&(1<<1);const haveExtraFields=flags&(1<<2);const haveFileName=flags&(1<<3);const haveComment=flags&(1<<4);skipBytes(4+1+1);if(haveExtraFields){const bytesToSkip=getWord();skipBytes(bytesToSkip);} 5326if(haveFileName)skipZeroTerminatedString();if(haveComment)skipZeroTerminatedString();if(haveHeaderCrc)getWord();const inflatedData=JSZip.compressions.DEFLATE.uncompress(data.subarray(position));if(this.inflateAsTraceStream_){return GzipImporter.transformToStream(inflatedData);} 5327let string;try{string=GzipImporter.transformToString(inflatedData);}catch(err){return GzipImporter.transformToStream(inflatedData);} 5328if(inflatedData.length>0&&string.length===0){throw new RangeError('Inflated gzip data too long to fit into a string'+' ('+inflatedData.length+').');} 5329return string;};GzipImporter.transformToStream=function(data){const type=JSZip.utils.getTypeOf(data);if(type==='uint8array')return new tr.b.InMemoryTraceStream(data,false);throw new Error(`Cannot transform ${type} to TraceStream.`);};GzipImporter.transformToString=function(data){if(typeof TextDecoder==='undefined'){return JSZip.utils.transformTo('string',data);} 5330const type=JSZip.utils.getTypeOf(data);if(type==='string')return data;if(type==='array'){data=new Uint8Array(data);} 5331const decoder=new TextDecoder('utf-8');return decoder.decode(data);};GzipImporter.prototype={__proto__:tr.importer.Importer.prototype,get importerName(){return'GzipImporter';},isTraceDataContainer(){return true;},extractSubtraces(){const eventData=GzipImporter.inflateGzipData_(this.gzipData_);return eventData?[eventData]:[];}};tr.importer.Importer.register(GzipImporter);return{GzipImporter,};});'use strict';tr.exportTo('tr.importer',function(){class SimpleLineReader{constructor(text){this.data_=text instanceof tr.b.TraceStream?text:text.split('\n');this.curLine_=0;this.readLastLine_=false;this.savedLines_=undefined;}*[Symbol.iterator](){let lastLine=undefined;while(this.hasData_){if(this.readLastLine_){this.curLine_++;this.readLastLine_=false;}else if(this.data_ instanceof tr.b.TraceStream){this.curLine_++;const line=this.data_.readUntilDelimiter('\n');lastLine=line.endsWith('\n')?line.slice(0,-1):line;}else{this.curLine_++;lastLine=this.data_[this.curLine_-1];} 5332yield lastLine;}} 5333get curLineNumber(){return this.curLine_;} 5334get hasData_(){if(this.data_ instanceof tr.b.TraceStream)return this.data_.hasData;return this.curLine_<this.data_.length;} 5335advanceToLineMatching(regex){for(const line of this){if(this.savedLines_!==undefined)this.savedLines_.push(line);if(regex.test(line)){this.goBack_();return true;}} 5336return false;} 5337goBack_(){if(this.readLastLine_){throw new Error('There should be at least one nextLine call between '+'any two goBack calls.');} 5338if(this.curLine_===0){throw new Error('There should be at least one nextLine call before '+'the first goBack call.');} 5339this.readLastLine_=true;this.curLine_--;} 5340beginSavingLines(){this.savedLines_=[];} 5341endSavingLinesAndGetResult(){const tmp=this.savedLines_;this.savedLines_=undefined;return tmp;}} 5342return{SimpleLineReader,};});'use strict';tr.exportTo('tr.e.importer',function(){function Trace2HTMLImporter(model,events){this.importPriority=0;} 5343Trace2HTMLImporter.subtraces_=[];function _extractEventsFromHTML(text){Trace2HTMLImporter.subtraces_=[];const r=new tr.importer.SimpleLineReader(text);while(true){if(!r.advanceToLineMatching(new RegExp('^<\s*script id="viewer-data" '+'type="(application\/json|text\/plain)">$'))){break;} 5344r.beginSavingLines();if(!r.advanceToLineMatching(/^<\/\s*script>$/))return;let rawEvents=r.endSavingLinesAndGetResult();rawEvents=rawEvents.slice(1,rawEvents.length-1);const data64=rawEvents.join('\n');const buffer=new ArrayBuffer(tr.b.Base64.getDecodedBufferLength(data64));const len=tr.b.Base64.DecodeToTypedArray(data64,new DataView(buffer));Trace2HTMLImporter.subtraces_.push(buffer.slice(0,len));}} 5345function _canImportFromHTML(text){if(!/^<!DOCTYPE html>/.test(text))return false;_extractEventsFromHTML(text);if(Trace2HTMLImporter.subtraces_.length===0)return false;return true;} 5346Trace2HTMLImporter.canImport=function(events){if(events instanceof tr.b.TraceStream)return false;return _canImportFromHTML(events);};Trace2HTMLImporter.prototype={__proto__:tr.importer.Importer.prototype,get importerName(){return'Trace2HTMLImporter';},isTraceDataContainer(){return true;},extractSubtraces(){return Trace2HTMLImporter.subtraces_;},importEvents(){}};tr.importer.Importer.register(Trace2HTMLImporter);return{Trace2HTMLImporter,};});'use strict';tr.exportTo('tr.e.importer.v8',function(){function SplayTree(){} 5347SplayTree.prototype.root_=null;SplayTree.prototype.isEmpty=function(){return!this.root_;};SplayTree.prototype.insert=function(key,value){if(this.isEmpty()){this.root_=new SplayTree.Node(key,value);return;} 5348this.splay_(key);if(this.root_.key===key){return;} 5349const node=new SplayTree.Node(key,value);if(key>this.root_.key){node.left=this.root_;node.right=this.root_.right;this.root_.right=null;}else{node.right=this.root_;node.left=this.root_.left;this.root_.left=null;} 5350this.root_=node;};SplayTree.prototype.remove=function(key){if(this.isEmpty()){throw Error('Key not found: '+key);} 5351this.splay_(key);if(this.root_.key!==key){throw Error('Key not found: '+key);} 5352const removed=this.root_;if(!this.root_.left){this.root_=this.root_.right;}else{const right=this.root_.right;this.root_=this.root_.left;this.splay_(key);this.root_.right=right;} 5353return removed;};SplayTree.prototype.find=function(key){if(this.isEmpty())return null;this.splay_(key);return this.root_.key===key?this.root_:null;};SplayTree.prototype.findMin=function(){if(this.isEmpty())return null;let current=this.root_;while(current.left){current=current.left;} 5354return current;};SplayTree.prototype.findMax=function(opt_startNode){if(this.isEmpty())return null;let current=opt_startNode||this.root_;while(current.right){current=current.right;} 5355return current;};SplayTree.prototype.findGreatestLessThan=function(key){if(this.isEmpty())return null;this.splay_(key);if(this.root_.key<=key){return this.root_;} 5356if(this.root_.left){return this.findMax(this.root_.left);} 5357return null;};SplayTree.prototype.exportKeysAndValues=function(){const result=[];this.traverse_(function(node){result.push([node.key,node.value]);});return result;};SplayTree.prototype.exportValues=function(){const result=[];this.traverse_(function(node){result.push(node.value);});return result;};SplayTree.prototype.splay_=function(key){if(this.isEmpty())return;const dummy=new SplayTree.Node(null,null);let left=dummy;let right=dummy;let current=this.root_;while(true){if(key<current.key){if(!current.left){break;} 5358if(key<current.left.key){const tmp=current.left;current.left=tmp.right;tmp.right=current;current=tmp;if(!current.left){break;}} 5359right.left=current;right=current;current=current.left;}else if(key>current.key){if(!current.right){break;} 5360if(key>current.right.key){const tmp=current.right;current.right=tmp.left;tmp.left=current;current=tmp;if(!current.right){break;}} 5361left.right=current;left=current;current=current.right;}else{break;}} 5362left.right=current.left;right.left=current.right;current.left=dummy.right;current.right=dummy.left;this.root_=current;};SplayTree.prototype.traverse_=function(f){const nodesToVisit=[this.root_];while(nodesToVisit.length>0){const node=nodesToVisit.shift();if(node===null)continue;f(node);nodesToVisit.push(node.left);nodesToVisit.push(node.right);}};SplayTree.Node=function(key,value){this.key=key;this.value=value;};SplayTree.Node.prototype.left=null;SplayTree.Node.prototype.right=null;return{SplayTree,};});'use strict';tr.exportTo('tr.e.importer.v8',function(){function CodeMap(){this.dynamics_=new tr.e.importer.v8.SplayTree();this.dynamicsNameGen_=new tr.e.importer.v8.CodeMap.NameGenerator();this.statics_=new tr.e.importer.v8.SplayTree();this.libraries_=new tr.e.importer.v8.SplayTree();this.pages_=[];} 5363CodeMap.PAGE_ALIGNMENT=12;CodeMap.PAGE_SIZE=1<<CodeMap.PAGE_ALIGNMENT;CodeMap.prototype.addCode=function(start,codeEntry){this.deleteAllCoveredNodes_(this.dynamics_,start,start+codeEntry.size);this.dynamics_.insert(start,codeEntry);};CodeMap.prototype.moveCode=function(from,to){const removedNode=this.dynamics_.remove(from);this.deleteAllCoveredNodes_(this.dynamics_,to,to+removedNode.value.size);this.dynamics_.insert(to,removedNode.value);};CodeMap.prototype.deleteCode=function(start){const removedNode=this.dynamics_.remove(start);};CodeMap.prototype.addLibrary=function(start,codeEntry){this.markPages_(start,start+codeEntry.size);this.libraries_.insert(start,codeEntry);};CodeMap.prototype.addStaticCode=function(start,codeEntry){this.statics_.insert(start,codeEntry);};CodeMap.prototype.markPages_=function(start,end){for(let addr=start;addr<=end;addr+=CodeMap.PAGE_SIZE){this.pages_[addr>>>CodeMap.PAGE_ALIGNMENT]=1;}};CodeMap.prototype.deleteAllCoveredNodes_=function(tree,start,end){const toDelete=[];let addr=end-1;while(addr>=start){const node=tree.findGreatestLessThan(addr);if(!node)break;const start2=node.key;const end2=start2+node.value.size;if(start2<end&&start<end2)toDelete.push(start2);addr=start2-1;} 5364for(let i=0,l=toDelete.length;i<l;++i)tree.remove(toDelete[i]);};CodeMap.prototype.isAddressBelongsTo_=function(addr,node){return addr>=node.key&&addr<(node.key+node.value.size);};CodeMap.prototype.findInTree_=function(tree,addr){const node=tree.findGreatestLessThan(addr);return node&&this.isAddressBelongsTo_(addr,node)?node.value:null;};CodeMap.prototype.findEntryInLibraries=function(addr){const pageAddr=addr>>>CodeMap.PAGE_ALIGNMENT;if(pageAddr in this.pages_){return this.findInTree_(this.libraries_,addr);} 5365return undefined;};CodeMap.prototype.findEntry=function(addr){const pageAddr=addr>>>CodeMap.PAGE_ALIGNMENT;if(pageAddr in this.pages_){return this.findInTree_(this.statics_,addr)||this.findInTree_(this.libraries_,addr);} 5366const min=this.dynamics_.findMin();const max=this.dynamics_.findMax();if(max!==null&&addr<(max.key+max.value.size)&&addr>=min.key){const dynaEntry=this.findInTree_(this.dynamics_,addr);if(dynaEntry===null)return null;if(!dynaEntry.nameUpdated_){dynaEntry.name=this.dynamicsNameGen_.getName(dynaEntry.name);dynaEntry.nameUpdated_=true;} 5367return dynaEntry;} 5368return null;};CodeMap.prototype.findDynamicEntryByStartAddress=function(addr){const node=this.dynamics_.find(addr);return node?node.value:null;};CodeMap.prototype.getAllDynamicEntries=function(){return this.dynamics_.exportValues();};CodeMap.prototype.getAllDynamicEntriesWithAddresses=function(){return this.dynamics_.exportKeysAndValues();};CodeMap.prototype.getAllStaticEntries=function(){return this.statics_.exportValues();};CodeMap.prototype.getAllLibrariesEntries=function(){return this.libraries_.exportValues();};CodeMap.CodeState={COMPILED:0,OPTIMIZABLE:1,OPTIMIZED:2};CodeMap.CodeEntry=function(size,opt_name,opt_type){this.id=tr.b.GUID.allocateSimple();this.size=size;this.name_=opt_name||'';this.type=opt_type||'';this.nameUpdated_=false;};CodeMap.CodeEntry.prototype={__proto__:Object.prototype,get name(){return this.name_;},set name(value){this.name_=value;},toString(){this.name_+': '+this.size.toString(16);}};CodeMap.CodeEntry.TYPE={SHARED_LIB:'SHARED_LIB',CPP:'CPP'};CodeMap.DynamicFuncCodeEntry=function(size,type,func,state){CodeMap.CodeEntry.call(this,size,'',type);this.func=func;this.state=state;};CodeMap.DynamicFuncCodeEntry.STATE_PREFIX=['','~','*'];CodeMap.DynamicFuncCodeEntry.prototype={__proto__:CodeMap.CodeEntry.prototype,get name(){return CodeMap.DynamicFuncCodeEntry.STATE_PREFIX[this.state]+ 5369this.func.name;},set name(value){this.name_=value;},getRawName(){return this.func.getName();},isJSFunction(){return true;},toString(){return this.type+': '+this.name+': '+this.size.toString(16);}};CodeMap.FunctionEntry=function(name){CodeMap.CodeEntry.call(this,0,name);};CodeMap.FunctionEntry.prototype={__proto__:CodeMap.CodeEntry.prototype,get name(){let name=this.name_;if(name.length===0){name='<anonymous>';}else if(name.charAt(0)===' '){name='<anonymous>'+name;} 5370return name;},set name(value){this.name_=value;}};CodeMap.NameGenerator=function(){this.knownNames_={};};CodeMap.NameGenerator.prototype.getName=function(name){if(!(name in this.knownNames_)){this.knownNames_[name]=0;return name;} 5371const count=++this.knownNames_[name];return name+' {'+count+'}';};return{CodeMap,};});'use strict';tr.exportTo('tr.e.importer.v8',function(){function CsvParser(){} 5372CsvParser.CSV_FIELD_RE_=/^"((?:[^"]|"")*)"|([^,]*)/;CsvParser.DOUBLE_QUOTE_RE_=/""/g;CsvParser.prototype.parseLine=function(line){const fieldRe=CsvParser.CSV_FIELD_RE_;const doubleQuoteRe=CsvParser.DOUBLE_QUOTE_RE_;let pos=0;const endPos=line.length;const fields=[];if(endPos>0){do{const fieldMatch=fieldRe.exec(line.substr(pos));if(typeof fieldMatch[1]==='string'){const field=fieldMatch[1];pos+=field.length+3;fields.push(field.replace(doubleQuoteRe,'"'));}else{const field=fieldMatch[2];pos+=field.length+1;fields.push(field);}}while(pos<=endPos);} 5373return fields;};function LogReader(dispatchTable){this.dispatchTable_=dispatchTable;this.lineNum_=0;this.csvParser_=new CsvParser();} 5374LogReader.prototype.printError=function(str){};LogReader.prototype.processLogChunk=function(chunk){this.processLog_(chunk.split('\n'));};LogReader.prototype.processLogLine=function(line){this.processLog_([line]);};LogReader.prototype.processStack=function(pc,func,stack){const fullStack=func?[pc,func]:[pc];let prevFrame=pc;for(let i=0,n=stack.length;i<n;++i){const frame=stack[i];const firstChar=frame.charAt(0);if(firstChar==='+'||firstChar==='-'){prevFrame+=parseInt(frame,16);fullStack.push(prevFrame);}else if(firstChar!=='o'){fullStack.push(parseInt(frame,16));}} 5375return fullStack;};LogReader.prototype.skipDispatch=function(dispatch){return false;};LogReader.prototype.dispatchLogRow_=function(fields){const command=fields[0];if(!(command in this.dispatchTable_))return;const dispatch=this.dispatchTable_[command];if(dispatch===null||this.skipDispatch(dispatch)){return;} 5376const parsedFields=[];for(let i=0;i<dispatch.parsers.length;++i){const parser=dispatch.parsers[i];if(parser===null){parsedFields.push(fields[1+i]);}else if(typeof parser==='function'){parsedFields.push(parser(fields[1+i]));}else{parsedFields.push(fields.slice(1+i));break;}} 5377dispatch.processor.apply(this,parsedFields);};LogReader.prototype.processLog_=function(lines){for(let i=0,n=lines.length;i<n;++i,++this.lineNum_){const line=lines[i];if(!line){continue;} 5378try{const fields=this.csvParser_.parseLine(line);this.dispatchLogRow_(fields);}catch(e){this.printError('line '+(this.lineNum_+1)+': '+ 5379(e.message||e));}}};return{LogReader,};});'use strict';tr.exportTo('tr.model',function(){function ProfileNode(id,title,parentNode){this.id_=id;this.title_=title;this.parentNode_=parentNode;this.colorId_=-1;this.userFriendlyStack_=[];} 5380ProfileNode.prototype={__proto__:Object.prototype,get title(){return this.title_;},get parentNode(){return this.parentNode_;},set parentNode(value){this.parentNode_=value;},get id(){return this.id_;},get colorId(){return this.colorId_;},set colorId(value){this.colorId_=value;},get userFriendlyName(){return this.title_;},get userFriendlyStack(){if(this.userFriendlyStack_.length===0){this.userFriendlyStack_=[this.userFriendlyName];if(this.parentNode_!==undefined){this.userFriendlyStack_=this.userFriendlyStack_.concat(this.parentNode_.userFriendlyStack);}} 5381return this.userFriendlyStack_;},get sampleTitle(){throw new Error('Not implemented.');}};tr.model.EventRegistry.register(ProfileNode,{name:'Node',pluralName:'Nodes'});return{ProfileNode,};});'use strict';tr.exportTo('tr.e.v8',function(){const ProfileNode=tr.model.ProfileNode;function V8CpuProfileNode(id,callFrame,parentNode){ProfileNode.call(this,id,callFrame.functionName,parentNode);this.callFrame_=tr.b.deepCopy(callFrame);this.deoptReason_='';this.colorId_=tr.b.ColorScheme.getColorIdForGeneralPurposeString(callFrame.functionName);} 5382V8CpuProfileNode.prototype={__proto__:ProfileNode.prototype,get functionName(){return this.callFrame_.functionName;},get scriptId(){return this.callFrame_.scriptId;},get url(){if(!this.callFrame_.url){return'unknown';} 5383let url=this.callFrame_.url;if(this.callFrame_.lineNumber===undefined){return url;} 5384url=url+':'+this.callFrame_.lineNumber;if(this.callFrame_.columnNumber===undefined){return url;} 5385url=url+':'+this.callFrame_.columnNumber;return url;},get deoptReason(){return this.deoptReason_;},set deoptReason(value){this.deoptReason_=value;},get userFriendlyName(){const name=this.functionName+' url: '+this.url;return!this.deoptReason_?name:name+' Deoptimized reason: '+this.deoptReason_;},get sampleTitle(){return'V8 Sample';}};V8CpuProfileNode.constructFromObject=function(profileTree,node){const nodeId=node.id;if(nodeId===1){return undefined;} 5386const parentNode=profileTree.getNode(node.parent);const profileNode=new V8CpuProfileNode(nodeId,node.callFrame,parentNode);if(node.deoptReason!==undefined){profileNode.deoptReason=node.deoptReason;} 5387return profileNode;};ProfileNode.subTypes.register(V8CpuProfileNode,{typeName:'cpuProfile',name:'v8 cpu profile node',pluralName:'v8 cpu profile nodes'});ProfileNode.subTypes.register(V8CpuProfileNode,{typeName:'legacySample',name:'v8 cpu profile node',pluralName:'v8 cpu profile nodes'});return{ProfileNode,};});'use strict';tr.exportTo('tr.model',function(){function ProfileTree(){this.startTime_=undefined;this.endTime_=undefined;this.tree_=new Map();this.pid_=-1;this.tid_=-1;} 5388ProfileTree.prototype={__proto__:Object.prototype,get pid(){return this.pid_;},set pid(value){this.pid_=value;},get tid(){return this.tid_;},set tid(value){this.tid_=value;},get tree(){return this.tree_;},get startTime(){return this.startTime_;},set startTime(value){this.startTime_=value;this.endTime_=value;},get endTime(){return this.endTime_;},set endTime(value){this.endTime_=value;},add(node){if(this.tree_.has(node.id)){throw new Error('Conflict id in the profile tree.');} 5389this.tree_.set(node.id,node);return node;},getNode(nodeId){return this.tree_.get(nodeId);}};return{ProfileTree,};});'use strict';tr.exportTo('tr.e.importer.v8',function(){const CodeEntry=tr.e.importer.v8.CodeMap.CodeEntry;const CodeMap=tr.e.importer.v8.CodeMap;const ColorScheme=tr.b.ColorScheme;const DynamicFuncCodeEntry=tr.e.importer.v8.CodeMap.DynamicFuncCodeEntry;const FunctionEntry=tr.e.importer.v8.CodeMap.FunctionEntry;const ProfileNodeType=tr.model.ProfileNode.subTypes.getConstructor(undefined,'legacySample');function V8LogImporter(model,eventData){this.importPriority=3;this.model_=model;this.logData_=eventData;this.code_map_=new CodeMap();this.v8_timer_thread_=undefined;this.v8_thread_=undefined;this.profileTree_=new tr.model.ProfileTree();this.profileTree_.add(new ProfileNodeType(-1,{url:'',functionName:'unknown'}));this.v8_stack_timeline_=[];} 5390const kV8BinarySuffixes=['/d8','/libv8.so'];const TimerEventDefaultArgs={'V8.Execute':{pause:false,no_execution:false},'V8.External':{pause:false,no_execution:true},'V8.CompileFullCode':{pause:true,no_execution:true},'V8.RecompileSynchronous':{pause:true,no_execution:true},'V8.RecompileParallel':{pause:false,no_execution:false},'V8.CompileEval':{pause:true,no_execution:true},'V8.Parse':{pause:true,no_execution:true},'V8.PreParse':{pause:true,no_execution:true},'V8.ParseLazy':{pause:true,no_execution:true},'V8.GCScavenger':{pause:true,no_execution:true},'V8.GCCompactor':{pause:true,no_execution:true},'V8.GCContext':{pause:true,no_execution:true}};V8LogImporter.canImport=function(eventData){if(typeof(eventData)!=='string'&&!(eventData instanceof String)){return false;} 5391return eventData.substring(0,11)==='v8-version,'||eventData.substring(0,12)==='timer-event,'||eventData.substring(0,5)==='tick,'||eventData.substring(0,15)==='shared-library,'||eventData.substring(0,9)==='profiler,'||eventData.substring(0,14)==='code-creation,';};V8LogImporter.prototype={__proto__:tr.importer.Importer.prototype,get importerName(){return'V8LogImporter';},processTimerEvent_(name,startInUs,lengthInUs){const args=TimerEventDefaultArgs[name];if(args===undefined)return;const startInMs=tr.b.convertUnit(startInUs,tr.b.UnitPrefixScale.METRIC.MICRO,tr.b.UnitPrefixScale.METRIC.MILLI);const lengthInMs=tr.b.convertUnit(lengthInUs,tr.b.UnitPrefixScale.METRIC.MICRO,tr.b.UnitPrefixScale.METRIC.MILLI);const colorId=ColorScheme.getColorIdForGeneralPurposeString(name);const slice=new tr.model.ThreadSlice('v8',name,colorId,startInMs,args,lengthInMs);this.v8_timer_thread_.sliceGroup.pushSlice(slice);},processTimerEventStart_(name,startInUs){const args=TimerEventDefaultArgs[name];if(args===undefined)return;const startInMs=tr.b.convertUnit(startInUs,tr.b.UnitPrefixScale.METRIC.MICRO,tr.b.UnitPrefixScale.METRIC.MILLI);this.v8_timer_thread_.sliceGroup.beginSlice('v8',name,startInMs,args);},processTimerEventEnd_(name,endInUs){const endInMs=tr.b.convertUnit(endInUs,tr.b.UnitPrefixScale.METRIC.MICRO,tr.b.UnitPrefixScale.METRIC.MILLI);this.v8_timer_thread_.sliceGroup.endSlice(endInMs);},processCodeCreateEvent_(type,kind,address,size,name,maybeFunc){function parseState(s){switch(s){case'':return CodeMap.CodeState.COMPILED;case'~':return CodeMap.CodeState.OPTIMIZABLE;case'*':return CodeMap.CodeState.OPTIMIZED;} 5392throw new Error('unknown code state: '+s);} 5393if(maybeFunc.length){const funcAddr=parseInt(maybeFunc[0]);const state=parseState(maybeFunc[1]);let func=this.code_map_.findDynamicEntryByStartAddress(funcAddr);if(!func){func=new FunctionEntry(name);func.kind=kind;this.code_map_.addCode(funcAddr,func);}else if(func.name!==name){func.name=name;} 5394let entry=this.code_map_.findDynamicEntryByStartAddress(address);if(entry){if(entry.size===size&&entry.func===func){entry.state=state;}}else{entry=new DynamicFuncCodeEntry(size,type,func,state);entry.kind=kind;this.code_map_.addCode(address,entry);}}else{const codeEntry=new CodeEntry(size,name);codeEntry.kind=kind;this.code_map_.addCode(address,codeEntry);}},processCodeMoveEvent_(from,to){this.code_map_.moveCode(from,to);},processCodeDeleteEvent_(address){this.code_map_.deleteCode(address);},processSharedLibrary_(name,start,end){const codeEntry=new CodeEntry(end-start,name,CodeEntry.TYPE.SHARED_LIB);codeEntry.kind=-3;for(let i=0;i<kV8BinarySuffixes.length;i++){const suffix=kV8BinarySuffixes[i];if(name.indexOf(suffix,name.length-suffix.length)>=0){codeEntry.kind=-1;break;}} 5395this.code_map_.addLibrary(start,codeEntry);},processCppSymbol_(address,size,name){const codeEntry=new CodeEntry(size,name,CodeEntry.TYPE.CPP);codeEntry.kind=-1;this.code_map_.addStaticCode(address,codeEntry);},processTickEvent_(pc,startInUs,isExternalCallback,tosOrExternalCallback,vmstate,stack){const startInMs=tr.b.convertUnit(startInUs,tr.b.UnitPrefixScale.METRIC.MICRO,tr.b.UnitPrefixScale.METRIC.MILLI);function findChildWithEntryID(stackFrame,entryID){for(let i=0;i<stackFrame.children.length;i++){if(stackFrame.children[i].entryID===entryID){return stackFrame.children[i];}} 5396return undefined;} 5397function processStack(pc,func,stack){const fullStack=func?[pc,func]:[pc];let prevFrame=pc;for(let i=0,n=stack.length;i<n;++i){const frame=stack[i];const firstChar=frame.charAt(0);if(firstChar==='+'||firstChar==='-'){prevFrame+=parseInt(frame,16);fullStack.push(prevFrame);}else if(firstChar!=='o'){fullStack.push(parseInt(frame,16));}} 5398return fullStack;} 5399if(isExternalCallback){pc=tosOrExternalCallback;tosOrExternalCallback=0;}else if(tosOrExternalCallback){const funcEntry=this.code_map_.findEntry(tosOrExternalCallback);if(!funcEntry||!funcEntry.isJSFunction||!funcEntry.isJSFunction()){tosOrExternalCallback=0;}} 5400let processedStack=processStack(pc,tosOrExternalCallback,stack);let node=undefined;let lastNode=undefined;processedStack=processedStack.reverse();for(let i=0,n=processedStack.length;i<n;i++){const frame=processedStack[i];if(!frame)break;const entry=this.code_map_.findEntry(frame);if(!entry&&i!==0){continue;} 5401let sourceInfo=undefined;if(entry&&entry.type===CodeEntry.TYPE.CPP){const libEntry=this.code_map_.findEntryInLibraries(frame);if(libEntry){sourceInfo={file:libEntry.name};}} 5402const entryId=entry?entry.id:-1;node=this.profileTree_.getNode(entryId);if(node===undefined){node=this.profileTree_.add(new ProfileNodeType(entryId,{functionName:entry.name,url:sourceInfo?sourceInfo.file:'',lineNumber:sourceInfo?sourceInfo.line:undefined,columnNumber:sourceInfo?sourceInfo.column:undefined,scriptId:sourceInfo?sourceInfo.scriptId:undefined},lastNode));} 5403lastNode=node;} 5404this.model_.samples.push(new tr.model.Sample(startInMs,'V8 PC',node,this.v8_thread_,undefined,1));},processDistortion_(distortionInPicoseconds){},processPlotRange_(start,end){},processV8Version_(major,minor,build,patch,candidate){},importEvents(){const logreader=new tr.e.importer.v8.LogReader({'timer-event':{parsers:[null,parseInt,parseInt],processor:this.processTimerEvent_.bind(this)},'shared-library':{parsers:[null,parseInt,parseInt],processor:this.processSharedLibrary_.bind(this)},'timer-event-start':{parsers:[null,parseInt],processor:this.processTimerEventStart_.bind(this)},'timer-event-end':{parsers:[null,parseInt],processor:this.processTimerEventEnd_.bind(this)},'code-creation':{parsers:[null,parseInt,parseInt,parseInt,null,'var-args'],processor:this.processCodeCreateEvent_.bind(this)},'code-move':{parsers:[parseInt,parseInt],processor:this.processCodeMoveEvent_.bind(this)},'code-delete':{parsers:[parseInt],processor:this.processCodeDeleteEvent_.bind(this)},'cpp':{parsers:[parseInt,parseInt,null],processor:this.processCppSymbol_.bind(this)},'tick':{parsers:[parseInt,parseInt,parseInt,parseInt,parseInt,'var-args'],processor:this.processTickEvent_.bind(this)},'distortion':{parsers:[parseInt],processor:this.processDistortion_.bind(this)},'plot-range':{parsers:[parseInt,parseInt],processor:this.processPlotRange_.bind(this)},'v8-version':{parsers:[parseInt,parseInt,parseInt,parseInt,parseInt],processor:this.processV8Version_.bind(this)}});this.v8_timer_thread_=this.model_.getOrCreateProcess(-32).getOrCreateThread(1);this.v8_timer_thread_.name='V8 Timers';this.v8_thread_=this.model_.getOrCreateProcess(-32).getOrCreateThread(2);this.v8_thread_.name='V8';const lines=this.logData_.split('\n');for(let i=0;i<lines.length;i++){logreader.processLogLine(lines[i]);} 5405function addSlices(slices,thread){for(let i=0;i<slices.length;i++){const duration=slices[i].end-slices[i].start;const slice=new tr.model.ThreadSlice('v8',slices[i].name,ColorScheme.getColorIdForGeneralPurposeString(slices[i].name),slices[i].start,{},duration);thread.sliceGroup.pushSlice(slice);addSlices(slices[i].children,thread);}} 5406addSlices(this.v8_stack_timeline_,this.v8_thread_);}};tr.importer.Importer.register(V8LogImporter);return{V8LogImporter,};});'use strict';tr.exportTo('tr.e.importer',function(){function ZipImporter(model,eventData){if(eventData instanceof ArrayBuffer){eventData=new Uint8Array(eventData);} 5407this.model_=model;this.eventData_=eventData;} 5408ZipImporter.canImport=function(eventData){let header;if(eventData instanceof ArrayBuffer){header=new Uint8Array(eventData.slice(0,2));}else if(typeof(eventData)==='string'||eventData instanceof String){header=[eventData.charCodeAt(0),eventData.charCodeAt(1)];}else{return false;} 5409return header[0]==='P'.charCodeAt(0)&&header[1]==='K'.charCodeAt(0);};ZipImporter.prototype={__proto__:tr.importer.Importer.prototype,get importerName(){return'ZipImporter';},isTraceDataContainer(){return true;},extractSubtraces(){const zip=new JSZip(this.eventData_);const subtraces=[];for(const idx in zip.files){subtraces.push(zip.files[idx].asBinary());} 5410return subtraces;}};tr.importer.Importer.register(ZipImporter);return{ZipImporter,};});'use strict';tr.exportTo('tr.model',function(){function HeapEntry(heapDump,leafStackFrame,objectTypeName,size,count,valuesAreTotals){this.heapDump=heapDump;this.leafStackFrame=leafStackFrame;this.objectTypeName=objectTypeName;this.size=size;this.count=count;this.valuesAreTotals=valuesAreTotals;} 5411function HeapDump(processMemoryDump,allocatorName,isComplete){this.processMemoryDump=processMemoryDump;this.allocatorName=allocatorName;this.isComplete=isComplete;this.entries=[];} 5412HeapDump.prototype={addEntry(leafStackFrame,objectTypeName,size,count,opt_valuesAreTotals){if(opt_valuesAreTotals===undefined)opt_valuesAreTotals=true;const valuesAreTotals=opt_valuesAreTotals;const entry=new HeapEntry(this,leafStackFrame,objectTypeName,size,count,valuesAreTotals);this.entries.push(entry);return entry;}};return{HeapEntry,HeapDump,};});'use strict';tr.exportTo('tr.e.importer',function(){function HeapDumpTraceEventImporter(heapProfileExpander,stackFrames,processMemoryDump,idPrefix,model){this.expander=heapProfileExpander;this.stackFrames=stackFrames;this.processMemoryDump=processMemoryDump;this.idPrefix=idPrefix;this.model=model;} 5413HeapDumpTraceEventImporter.prototype={getLeafStackFrame(stackFrameId){if(stackFrameId==='')return undefined;const parentId=this.idPrefix+stackFrameId;const id=parentId+':self';if(!this.stackFrames[id]){const parentStackFrame=this.stackFrames[parentId];const stackFrame=new tr.model.StackFrame(parentStackFrame,id,'<self>',undefined);this.model.addStackFrame(stackFrame);} 5414return this.stackFrames[id];},parseEntry(entry,heapDump){const size=entry.size;const count=entry.count;const leafStackFrame=this.getLeafStackFrame(entry.node.id);const objectTypeName=entry.type.name;const valuesAreTotals=false;if(objectTypeName===undefined){this.model_.importWarning({type:'memory_dump_parse_error',message:'Missing object type name (ID '+typeId+')',});} 5415heapDump.addEntry(leafStackFrame,objectTypeName,size,count,valuesAreTotals);},parse(){const heapDumps={};const inflated=this.expander.inflated;for(const[allocatorName,entries]of Object.entries(inflated)){const heapDump=new tr.model.HeapDump(this.processMemoryDump,allocatorName);for(const entry of entries){this.parseEntry(entry,heapDump);} 5416heapDump.isComplete=true;heapDumps[allocatorName]=heapDump;} 5417return heapDumps;},};return{HeapDumpTraceEventImporter,};});'use strict';tr.exportTo('tr.e.importer',function(){function LegacyHeapDumpTraceEventImporter(model,processMemoryDump,processObjectTypeNameMap,idPrefix,dumpId,rawHeapDumps){this.model_=model;this.processObjectTypeNameMap_=processObjectTypeNameMap;this.idPrefix_=idPrefix;this.processMemoryDump_=processMemoryDump;this.pid_=this.processMemoryDump_.process.pid;this.dumpId_=dumpId;this.rawHeapDumps_=rawHeapDumps;} 5418LegacyHeapDumpTraceEventImporter.prototype={parseRawHeapDump(rawHeapDump,allocatorName){const model=this.model_;const processMemoryDump=this.processMemoryDump_;const heapDump=new tr.model.HeapDump(processMemoryDump,allocatorName);const entries=rawHeapDump.entries;if(entries===undefined||entries.length===0){this.model_.importWarning({type:'memory_dump_parse_error',message:'No heap entries in a '+allocatorName+' heap dump for PID='+this.pid_+' and dump ID='+this.dumpId_+'.'});return undefined;} 5419const isOldFormat=entries[0].bt===undefined;if(!isOldFormat&&this.processObjectTypeNameMap_===undefined){return undefined;} 5420for(let i=0;i<entries.length;i++){const entry=entries[i];const size=parseInt(entry.size,16);const leafStackFrameIndex=entry.bt;let leafStackFrame;if(isOldFormat){if(leafStackFrameIndex===undefined){leafStackFrame=undefined;}else{let leafStackFrameId=this.idPrefix_+leafStackFrameIndex;if(leafStackFrameIndex===''){leafStackFrame=undefined;}else{leafStackFrame=model.stackFrames[leafStackFrameId];if(leafStackFrame===undefined){this.model_.importWarning({type:'memory_dump_parse_error',message:'Missing leaf stack frame (ID '+ 5421leafStackFrameId+') of heap entry '+i+' (size '+ 5422size+') in a '+allocatorName+' heap dump for PID='+this.pid_+'.'});continue;}} 5423leafStackFrameId+=':self';if(model.stackFrames[leafStackFrameId]!==undefined){leafStackFrame=model.stackFrames[leafStackFrameId];}else{leafStackFrame=new tr.model.StackFrame(leafStackFrame,leafStackFrameId,'<self>',undefined);model.addStackFrame(leafStackFrame);}}}else{if(leafStackFrameIndex===undefined){this.model_.importWarning({type:'memory_dump_parse_error',message:'Missing stack frame ID of heap entry '+i+' (size '+size+') in a '+allocatorName+' heap dump for PID='+this.pid_+'.'});continue;} 5424const leafStackFrameId=this.idPrefix_+leafStackFrameIndex;if(leafStackFrameIndex===''){leafStackFrame=undefined;}else{leafStackFrame=model.stackFrames[leafStackFrameId];if(leafStackFrame===undefined){this.model_.importWarning({type:'memory_dump_parse_error',message:'Missing leaf stack frame (ID '+leafStackFrameId+') of heap entry '+i+' (size '+size+') in a '+ 5425allocatorName+' heap dump for PID='+this.pid_+'.'});continue;}}} 5426const objectTypeId=entry.type;let objectTypeName;if(objectTypeId===undefined){objectTypeName=undefined;}else if(this.processObjectTypeNameMap_===undefined){continue;}else{objectTypeName=this.processObjectTypeNameMap_[objectTypeId];if(objectTypeName===undefined){this.model_.importWarning({type:'memory_dump_parse_error',message:'Missing object type name (ID '+objectTypeId+') of heap entry '+i+' (size '+size+') in a '+ 5427allocatorName+' heap dump for PID='+this.pid_+'.'});continue;}} 5428const count=entry.count===undefined?undefined:parseInt(entry.count,16);heapDump.addEntry(leafStackFrame,objectTypeName,size,count);} 5429return heapDump;},parse(){const heapDumps={};for(const allocatorName in this.rawHeapDumps_){const rawHeapDump=this.rawHeapDumps_[allocatorName];const heapDump=this.parseRawHeapDump(rawHeapDump,allocatorName);if(heapDump!==undefined&&heapDump.entries.length>0){heapDumps[allocatorName]=heapDump;}} 5430return heapDumps;},};return{LegacyHeapDumpTraceEventImporter,};});(function(window,Object,Array,Error,JSON,undefined){var partialComplete=varArgs(function(fn,args){var numBoundArgs=args.length;return varArgs(function(callArgs){for(var i=0;i<callArgs.length;i++){args[numBoundArgs+i]=callArgs[i];} 5431args.length=numBoundArgs+callArgs.length;return fn.apply(this,args);});}),compose=varArgs(function(fns){var fnsList=arrayAsList(fns);function next(params,curFn){return[apply(params,curFn)];} 5432return varArgs(function(startParams){return foldR(next,startParams,fnsList)[0];});});function compose2(f1,f2){return function(){return f1.call(this,f2.apply(this,arguments));}} 5433function attr(key){return function(o){return o[key];};} 5434var lazyUnion=varArgs(function(fns){return varArgs(function(params){var maybeValue;for(var i=0;i<len(fns);i++){maybeValue=apply(params,fns[i]);if(maybeValue){return maybeValue;}}});});function apply(args,fn){return fn.apply(undefined,args);} 5435function varArgs(fn){var numberOfFixedArguments=fn.length-1,slice=Array.prototype.slice;if(numberOfFixedArguments==0){return function(){return fn.call(this,slice.call(arguments));}}else if(numberOfFixedArguments==1){return function(){return fn.call(this,arguments[0],slice.call(arguments,1));}} 5436var argsHolder=Array(fn.length);return function(){for(var i=0;i<numberOfFixedArguments;i++){argsHolder[i]=arguments[i];} 5437argsHolder[numberOfFixedArguments]=slice.call(arguments,numberOfFixedArguments);return fn.apply(this,argsHolder);}} 5438function flip(fn){return function(a,b){return fn(b,a);}} 5439function lazyIntersection(fn1,fn2){return function(param){return fn1(param)&&fn2(param);};} 5440function noop(){} 5441function always(){return true} 5442function functor(val){return function(){return val;}} 5443function isOfType(T,maybeSomething){return maybeSomething&&maybeSomething.constructor===T;} 5444var len=attr('length'),isString=partialComplete(isOfType,String);function defined(value){return value!==undefined;} 5445function hasAllProperties(fieldList,o){return(o instanceof Object)&&all(function(field){return(field in o);},fieldList);} 5446function cons(x,xs){return[x,xs];} 5447var emptyList=null,head=attr(0),tail=attr(1);function arrayAsList(inputArray){return reverseList(inputArray.reduce(flip(cons),emptyList));} 5448var list=varArgs(arrayAsList);function listAsArray(list){return foldR(function(arraySoFar,listItem){arraySoFar.unshift(listItem);return arraySoFar;},[],list);} 5449function map(fn,list){return list?cons(fn(head(list)),map(fn,tail(list))):emptyList;} 5450function foldR(fn,startValue,list){return list?fn(foldR(fn,startValue,tail(list)),head(list)):startValue;} 5451function foldR1(fn,list){return tail(list)?fn(foldR1(fn,tail(list)),head(list)):head(list);} 5452function without(list,test,removedFn){return withoutInner(list,removedFn||noop);function withoutInner(subList,removedFn){return subList?(test(head(subList))?(removedFn(head(subList)),tail(subList)):cons(head(subList),withoutInner(tail(subList),removedFn))):emptyList;}} 5453function all(fn,list){return!list||(fn(head(list))&&all(fn,tail(list)));} 5454function applyEach(fnList,args){if(fnList){head(fnList).apply(null,args);applyEach(tail(fnList),args);}} 5455function reverseList(list){function reverseInner(list,reversedAlready){if(!list){return reversedAlready;} 5456return reverseInner(tail(list),cons(head(list),reversedAlready))} 5457return reverseInner(list,emptyList);} 5458function first(test,list){return list&&(test(head(list))?head(list):first(test,tail(list)));} 5459function clarinet(eventBus){"use strict";var 5460emitSaxKey=eventBus(SAX_KEY).emit,emitValueOpen=eventBus(SAX_VALUE_OPEN).emit,emitValueClose=eventBus(SAX_VALUE_CLOSE).emit,emitFail=eventBus(FAIL_EVENT).emit,MAX_BUFFER_LENGTH=64*1024,stringTokenPattern=/[\\"\n]/g,_n=0,BEGIN=_n++,VALUE=_n++,OPEN_OBJECT=_n++,CLOSE_OBJECT=_n++,OPEN_ARRAY=_n++,CLOSE_ARRAY=_n++,STRING=_n++,OPEN_KEY=_n++,CLOSE_KEY=_n++,TRUE=_n++,TRUE2=_n++,TRUE3=_n++,FALSE=_n++,FALSE2=_n++,FALSE3=_n++,FALSE4=_n++,NULL=_n++,NULL2=_n++,NULL3=_n++,NUMBER_DECIMAL_POINT=_n++,NUMBER_DIGIT=_n,bufferCheckPosition=MAX_BUFFER_LENGTH,latestError,c,p,textNode=undefined,numberNode="",slashed=false,closed=false,state=BEGIN,stack=[],unicodeS=null,unicodeI=0,depth=0,position=0,column=0,line=1;function checkBufferLength(){var maxActual=0;if(textNode!==undefined&&textNode.length>MAX_BUFFER_LENGTH){emitError("Max buffer length exceeded: textNode");maxActual=Math.max(maxActual,textNode.length);} 5461if(numberNode.length>MAX_BUFFER_LENGTH){emitError("Max buffer length exceeded: numberNode");maxActual=Math.max(maxActual,numberNode.length);} 5462bufferCheckPosition=(MAX_BUFFER_LENGTH-maxActual) 5463+position;} 5464eventBus(STREAM_DATA).on(handleData);eventBus(STREAM_END).on(handleStreamEnd);function emitError(errorString){if(textNode!==undefined){emitValueOpen(textNode);emitValueClose();textNode=undefined;} 5465latestError=Error(errorString+"\nLn: "+line+"\nCol: "+column+"\nChr: "+c);emitFail(errorReport(undefined,undefined,latestError));} 5466function handleStreamEnd(){if(state==BEGIN){emitValueOpen({});emitValueClose();closed=true;return;} 5467if(state!==VALUE||depth!==0) 5468emitError("Unexpected end");if(textNode!==undefined){emitValueOpen(textNode);emitValueClose();textNode=undefined;} 5469closed=true;} 5470function whitespace(c){return c=='\r'||c=='\n'||c==' '||c=='\t';} 5471function handleData(chunk){if(latestError) 5472return;if(closed){return emitError("Cannot write after close");} 5473var i=0;c=chunk[0];while(c){p=c;c=chunk[i++];if(!c)break;position++;if(c=="\n"){line++;column=0;}else column++;switch(state){case BEGIN:if(c==="{")state=OPEN_OBJECT;else if(c==="[")state=OPEN_ARRAY;else if(!whitespace(c)) 5474return emitError("Non-whitespace before {[.");continue;case OPEN_KEY:case OPEN_OBJECT:if(whitespace(c))continue;if(state===OPEN_KEY)stack.push(CLOSE_KEY);else{if(c==='}'){emitValueOpen({});emitValueClose();state=stack.pop()||VALUE;continue;}else stack.push(CLOSE_OBJECT);} 5475if(c==='"') 5476state=STRING;else 5477return emitError("Malformed object key should start with \" ");continue;case CLOSE_KEY:case CLOSE_OBJECT:if(whitespace(c))continue;if(c===':'){if(state===CLOSE_OBJECT){stack.push(CLOSE_OBJECT);if(textNode!==undefined){emitValueOpen({});emitSaxKey(textNode);textNode=undefined;} 5478depth++;}else{if(textNode!==undefined){emitSaxKey(textNode);textNode=undefined;}} 5479state=VALUE;}else if(c==='}'){if(textNode!==undefined){emitValueOpen(textNode);emitValueClose();textNode=undefined;} 5480emitValueClose();depth--;state=stack.pop()||VALUE;}else if(c===','){if(state===CLOSE_OBJECT) 5481stack.push(CLOSE_OBJECT);if(textNode!==undefined){emitValueOpen(textNode);emitValueClose();textNode=undefined;} 5482state=OPEN_KEY;}else 5483return emitError('Bad object');continue;case OPEN_ARRAY:case VALUE:if(whitespace(c))continue;if(state===OPEN_ARRAY){emitValueOpen([]);depth++;state=VALUE;if(c===']'){emitValueClose();depth--;state=stack.pop()||VALUE;continue;}else{stack.push(CLOSE_ARRAY);}} 5484if(c==='"')state=STRING;else if(c==='{')state=OPEN_OBJECT;else if(c==='[')state=OPEN_ARRAY;else if(c==='t')state=TRUE;else if(c==='f')state=FALSE;else if(c==='n')state=NULL;else if(c==='-'){numberNode+=c;}else if(c==='0'){numberNode+=c;state=NUMBER_DIGIT;}else if('123456789'.indexOf(c)!==-1){numberNode+=c;state=NUMBER_DIGIT;}else 5485return emitError("Bad value");continue;case CLOSE_ARRAY:if(c===','){stack.push(CLOSE_ARRAY);if(textNode!==undefined){emitValueOpen(textNode);emitValueClose();textNode=undefined;} 5486state=VALUE;}else if(c===']'){if(textNode!==undefined){emitValueOpen(textNode);emitValueClose();textNode=undefined;} 5487emitValueClose();depth--;state=stack.pop()||VALUE;}else if(whitespace(c)) 5488continue;else 5489return emitError('Bad array');continue;case STRING:if(textNode===undefined){textNode="";} 5490var starti=i-1;STRING_BIGLOOP:while(true){while(unicodeI>0){unicodeS+=c;c=chunk.charAt(i++);if(unicodeI===4){textNode+=String.fromCharCode(parseInt(unicodeS,16));unicodeI=0;starti=i-1;}else{unicodeI++;} 5491if(!c)break STRING_BIGLOOP;} 5492if(c==='"'&&!slashed){state=stack.pop()||VALUE;textNode+=chunk.substring(starti,i-1);break;} 5493if(c==='\\'&&!slashed){slashed=true;textNode+=chunk.substring(starti,i-1);c=chunk.charAt(i++);if(!c)break;} 5494if(slashed){slashed=false;if(c==='n'){textNode+='\n';} 5495else if(c==='r'){textNode+='\r';} 5496else if(c==='t'){textNode+='\t';} 5497else if(c==='f'){textNode+='\f';} 5498else if(c==='b'){textNode+='\b';} 5499else if(c==='u'){unicodeI=1;unicodeS='';}else{textNode+=c;} 5500c=chunk.charAt(i++);starti=i-1;if(!c)break;else continue;} 5501stringTokenPattern.lastIndex=i;var reResult=stringTokenPattern.exec(chunk);if(!reResult){i=chunk.length+1;textNode+=chunk.substring(starti,i-1);break;} 5502i=reResult.index+1;c=chunk.charAt(reResult.index);if(!c){textNode+=chunk.substring(starti,i-1);break;}} 5503continue;case TRUE:if(!c)continue;if(c==='r')state=TRUE2;else 5504return emitError('Invalid true started with t'+c);continue;case TRUE2:if(!c)continue;if(c==='u')state=TRUE3;else 5505return emitError('Invalid true started with tr'+c);continue;case TRUE3:if(!c)continue;if(c==='e'){emitValueOpen(true);emitValueClose();state=stack.pop()||VALUE;}else 5506return emitError('Invalid true started with tru'+c);continue;case FALSE:if(!c)continue;if(c==='a')state=FALSE2;else 5507return emitError('Invalid false started with f'+c);continue;case FALSE2:if(!c)continue;if(c==='l')state=FALSE3;else 5508return emitError('Invalid false started with fa'+c);continue;case FALSE3:if(!c)continue;if(c==='s')state=FALSE4;else 5509return emitError('Invalid false started with fal'+c);continue;case FALSE4:if(!c)continue;if(c==='e'){emitValueOpen(false);emitValueClose();state=stack.pop()||VALUE;}else 5510return emitError('Invalid false started with fals'+c);continue;case NULL:if(!c)continue;if(c==='u')state=NULL2;else 5511return emitError('Invalid null started with n'+c);continue;case NULL2:if(!c)continue;if(c==='l')state=NULL3;else 5512return emitError('Invalid null started with nu'+c);continue;case NULL3:if(!c)continue;if(c==='l'){emitValueOpen(null);emitValueClose();state=stack.pop()||VALUE;}else 5513return emitError('Invalid null started with nul'+c);continue;case NUMBER_DECIMAL_POINT:if(c==='.'){numberNode+=c;state=NUMBER_DIGIT;}else 5514return emitError('Leading zero not followed by .');continue;case NUMBER_DIGIT:if('0123456789'.indexOf(c)!==-1)numberNode+=c;else if(c==='.'){if(numberNode.indexOf('.')!==-1) 5515return emitError('Invalid number has two dots');numberNode+=c;}else if(c==='e'||c==='E'){if(numberNode.indexOf('e')!==-1||numberNode.indexOf('E')!==-1) 5516return emitError('Invalid number has two exponential');numberNode+=c;}else if(c==="+"||c==="-"){if(!(p==='e'||p==='E')) 5517return emitError('Invalid symbol in number');numberNode+=c;}else{if(numberNode){emitValueOpen(parseFloat(numberNode));emitValueClose();numberNode="";} 5518i--;state=stack.pop()||VALUE;} 5519continue;default:return emitError("Unknown state: "+state);}} 5520if(position>=bufferCheckPosition) 5521checkBufferLength();}} 5522function ascentManager(oboeBus,handlers){"use strict";var listenerId={},ascent;function stateAfter(handler){return function(param){ascent=handler(ascent,param);}} 5523for(var eventName in handlers){oboeBus(eventName).on(stateAfter(handlers[eventName]),listenerId);} 5524oboeBus(NODE_SWAP).on(function(newNode){var oldHead=head(ascent),key=keyOf(oldHead),ancestors=tail(ascent),parentNode;if(ancestors){parentNode=nodeOf(head(ancestors));parentNode[key]=newNode;}});oboeBus(NODE_DROP).on(function(){var oldHead=head(ascent),key=keyOf(oldHead),ancestors=tail(ascent),parentNode;if(ancestors){parentNode=nodeOf(head(ancestors));delete parentNode[key];}});oboeBus(ABORTING).on(function(){for(var eventName in handlers){oboeBus(eventName).un(listenerId);}});} 5525function parseResponseHeaders(headerStr){var headers={};headerStr&&headerStr.split('\u000d\u000a').forEach(function(headerPair){var index=headerPair.indexOf('\u003a\u0020');headers[headerPair.substring(0,index)]=headerPair.substring(index+2);});return headers;} 5526function isCrossOrigin(pageLocation,ajaxHost){function defaultPort(protocol){return{'http:':80,'https:':443}[protocol];} 5527function portOf(location){return location.port||defaultPort(location.protocol||pageLocation.protocol);} 5528return!!((ajaxHost.protocol&&(ajaxHost.protocol!=pageLocation.protocol))||(ajaxHost.host&&(ajaxHost.host!=pageLocation.host))||(ajaxHost.host&&(portOf(ajaxHost)!=portOf(pageLocation))));} 5529function parseUrlOrigin(url){var URL_HOST_PATTERN=/(\w+:)?(?:\/\/)([\w.-]+)?(?::(\d+))?\/?/,urlHostMatch=URL_HOST_PATTERN.exec(url)||[];return{protocol:urlHostMatch[1]||'',host:urlHostMatch[2]||'',port:urlHostMatch[3]||''};} 5530function httpTransport(){return new XMLHttpRequest();} 5531function streamingHttp(oboeBus,xhr,method,url,data,headers,withCredentials){"use strict";var emitStreamData=oboeBus(STREAM_DATA).emit,emitFail=oboeBus(FAIL_EVENT).emit,numberOfCharsAlreadyGivenToCallback=0,stillToSendStartEvent=true;oboeBus(ABORTING).on(function(){xhr.onreadystatechange=null;xhr.abort();});function handleProgress(){var textSoFar=xhr.responseText,newText=textSoFar.substr(numberOfCharsAlreadyGivenToCallback);if(newText){emitStreamData(newText);} 5532numberOfCharsAlreadyGivenToCallback=len(textSoFar);} 5533if('onprogress'in xhr){xhr.onprogress=handleProgress;} 5534xhr.onreadystatechange=function(){function sendStartIfNotAlready(){try{stillToSendStartEvent&&oboeBus(HTTP_START).emit(xhr.status,parseResponseHeaders(xhr.getAllResponseHeaders()));stillToSendStartEvent=false;}catch(e){}} 5535switch(xhr.readyState){case 2:case 3:return sendStartIfNotAlready();case 4:sendStartIfNotAlready();var successful=String(xhr.status)[0]==2;if(successful){handleProgress();oboeBus(STREAM_END).emit();}else{emitFail(errorReport(xhr.status,xhr.responseText));}}};try{xhr.open(method,url,true);for(var headerName in headers){xhr.setRequestHeader(headerName,headers[headerName]);} 5536if(!isCrossOrigin(window.location,parseUrlOrigin(url))){xhr.setRequestHeader('X-Requested-With','XMLHttpRequest');} 5537xhr.withCredentials=withCredentials;xhr.send(data);}catch(e){window.setTimeout(partialComplete(emitFail,errorReport(undefined,undefined,e)),0);}} 5538var jsonPathSyntax=(function(){var 5539regexDescriptor=function regexDescriptor(regex){return regex.exec.bind(regex);},jsonPathClause=varArgs(function(componentRegexes){componentRegexes.unshift(/^/);return regexDescriptor(RegExp(componentRegexes.map(attr('source')).join('')));}),possiblyCapturing=/(\$?)/,namedNode=/([\w-_]+|\*)/,namePlaceholder=/()/,nodeInArrayNotation=/\["([^"]+)"\]/,numberedNodeInArrayNotation=/\[(\d+|\*)\]/,fieldList=/{([\w ]*?)}/,optionalFieldList=/(?:{([\w ]*?)})?/ 5540,jsonPathNamedNodeInObjectNotation=jsonPathClause(possiblyCapturing,namedNode,optionalFieldList),jsonPathNamedNodeInArrayNotation=jsonPathClause(possiblyCapturing,nodeInArrayNotation,optionalFieldList),jsonPathNumberedNodeInArrayNotation=jsonPathClause(possiblyCapturing,numberedNodeInArrayNotation,optionalFieldList),jsonPathPureDuckTyping=jsonPathClause(possiblyCapturing,namePlaceholder,fieldList),jsonPathDoubleDot=jsonPathClause(/\.\./),jsonPathDot=jsonPathClause(/\./),jsonPathBang=jsonPathClause(possiblyCapturing,/!/),emptyString=jsonPathClause(/$/);return function(fn){return fn(lazyUnion(jsonPathNamedNodeInObjectNotation,jsonPathNamedNodeInArrayNotation,jsonPathNumberedNodeInArrayNotation,jsonPathPureDuckTyping),jsonPathDoubleDot,jsonPathDot,jsonPathBang,emptyString);};}());function namedNode(key,node){return{key:key,node:node};} 5541var keyOf=attr('key');var nodeOf=attr('node');var ROOT_PATH={};function incrementalContentBuilder(oboeBus){var emitNodeOpened=oboeBus(NODE_OPENED).emit,emitNodeClosed=oboeBus(NODE_CLOSED).emit,emitRootOpened=oboeBus(ROOT_PATH_FOUND).emit,emitRootClosed=oboeBus(ROOT_NODE_FOUND).emit;function arrayIndicesAreKeys(possiblyInconsistentAscent,newDeepestNode){var parentNode=nodeOf(head(possiblyInconsistentAscent));return isOfType(Array,parentNode)?keyFound(possiblyInconsistentAscent,len(parentNode),newDeepestNode):possiblyInconsistentAscent;} 5542function nodeOpened(ascent,newDeepestNode){if(!ascent){emitRootOpened(newDeepestNode);return keyFound(ascent,ROOT_PATH,newDeepestNode);} 5543var arrayConsistentAscent=arrayIndicesAreKeys(ascent,newDeepestNode),ancestorBranches=tail(arrayConsistentAscent),previouslyUnmappedName=keyOf(head(arrayConsistentAscent));appendBuiltContent(ancestorBranches,previouslyUnmappedName,newDeepestNode);return cons(namedNode(previouslyUnmappedName,newDeepestNode),ancestorBranches);} 5544function appendBuiltContent(ancestorBranches,key,node){nodeOf(head(ancestorBranches))[key]=node;} 5545function keyFound(ascent,newDeepestName,maybeNewDeepestNode){if(ascent){appendBuiltContent(ascent,newDeepestName,maybeNewDeepestNode);} 5546var ascentWithNewPath=cons(namedNode(newDeepestName,maybeNewDeepestNode),ascent);emitNodeOpened(ascentWithNewPath);return ascentWithNewPath;} 5547function nodeClosed(ascent){emitNodeClosed(ascent);return tail(ascent)||emitRootClosed(nodeOf(head(ascent)));} 5548var contentBuilderHandlers={};contentBuilderHandlers[SAX_VALUE_OPEN]=nodeOpened;contentBuilderHandlers[SAX_VALUE_CLOSE]=nodeClosed;contentBuilderHandlers[SAX_KEY]=keyFound;return contentBuilderHandlers;} 5549var jsonPathCompiler=jsonPathSyntax(function(pathNodeSyntax,doubleDotSyntax,dotSyntax,bangSyntax,emptySyntax){var CAPTURING_INDEX=1;var NAME_INDEX=2;var FIELD_LIST_INDEX=3;var headKey=compose2(keyOf,head),headNode=compose2(nodeOf,head);function nameClause(previousExpr,detection){var name=detection[NAME_INDEX],matchesName=(!name||name=='*')?always:function(ascent){return headKey(ascent)==name};return lazyIntersection(matchesName,previousExpr);} 5550function duckTypeClause(previousExpr,detection){var fieldListStr=detection[FIELD_LIST_INDEX];if(!fieldListStr) 5551return previousExpr;var hasAllrequiredFields=partialComplete(hasAllProperties,arrayAsList(fieldListStr.split(/\W+/))),isMatch=compose2(hasAllrequiredFields,headNode);return lazyIntersection(isMatch,previousExpr);} 5552function capture(previousExpr,detection){var capturing=!!detection[CAPTURING_INDEX];if(!capturing) 5553return previousExpr;return lazyIntersection(previousExpr,head);} 5554function skip1(previousExpr){if(previousExpr==always){return always;} 5555function notAtRoot(ascent){return headKey(ascent)!=ROOT_PATH;} 5556return lazyIntersection(notAtRoot,compose2(previousExpr,tail));} 5557function skipMany(previousExpr){if(previousExpr==always){return always;} 5558var 5559terminalCaseWhenArrivingAtRoot=rootExpr(),terminalCaseWhenPreviousExpressionIsSatisfied=previousExpr,recursiveCase=skip1(function(ascent){return cases(ascent);}),cases=lazyUnion(terminalCaseWhenArrivingAtRoot,terminalCaseWhenPreviousExpressionIsSatisfied,recursiveCase);return cases;} 5560function rootExpr(){return function(ascent){return headKey(ascent)==ROOT_PATH;};} 5561function statementExpr(lastClause){return function(ascent){var exprMatch=lastClause(ascent);return exprMatch===true?head(ascent):exprMatch;};} 5562function expressionsReader(exprs,parserGeneratedSoFar,detection){return foldR(function(parserGeneratedSoFar,expr){return expr(parserGeneratedSoFar,detection);},parserGeneratedSoFar,exprs);} 5563function generateClauseReaderIfTokenFound(tokenDetector,clauseEvaluatorGenerators,jsonPath,parserGeneratedSoFar,onSuccess){var detected=tokenDetector(jsonPath);if(detected){var compiledParser=expressionsReader(clauseEvaluatorGenerators,parserGeneratedSoFar,detected),remainingUnparsedJsonPath=jsonPath.substr(len(detected[0]));return onSuccess(remainingUnparsedJsonPath,compiledParser);}} 5564function clauseMatcher(tokenDetector,exprs){return partialComplete(generateClauseReaderIfTokenFound,tokenDetector,exprs);} 5565var clauseForJsonPath=lazyUnion(clauseMatcher(pathNodeSyntax,list(capture,duckTypeClause,nameClause,skip1)),clauseMatcher(doubleDotSyntax,list(skipMany)),clauseMatcher(dotSyntax,list()),clauseMatcher(bangSyntax,list(capture,rootExpr)),clauseMatcher(emptySyntax,list(statementExpr)),function(jsonPath){throw Error('"'+jsonPath+'" could not be tokenised')});function returnFoundParser(_remainingJsonPath,compiledParser){return compiledParser} 5566function compileJsonPathToFunction(uncompiledJsonPath,parserGeneratedSoFar){var onFind=uncompiledJsonPath?compileJsonPathToFunction:returnFoundParser;return clauseForJsonPath(uncompiledJsonPath,parserGeneratedSoFar,onFind);} 5567return function(jsonPath){try{return compileJsonPathToFunction(jsonPath,always);}catch(e){throw Error('Could not compile "'+jsonPath+'" because '+e.message);}}});function singleEventPubSub(eventType,newListener,removeListener){var listenerTupleList,listenerList;function hasId(id){return function(tuple){return tuple.id==id;};} 5568return{on:function(listener,listenerId){var tuple={listener:listener,id:listenerId||listener};if(newListener){newListener.emit(eventType,listener,tuple.id);} 5569listenerTupleList=cons(tuple,listenerTupleList);listenerList=cons(listener,listenerList);return this;},emit:function(){applyEach(listenerList,arguments);},un:function(listenerId){var removed;listenerTupleList=without(listenerTupleList,hasId(listenerId),function(tuple){removed=tuple;});if(removed){listenerList=without(listenerList,function(listener){return listener==removed.listener;});if(removeListener){removeListener.emit(eventType,removed.listener,removed.id);}}},listeners:function(){return listenerList;},hasListener:function(listenerId){var test=listenerId?hasId(listenerId):always;return defined(first(test,listenerTupleList));}};} 5570function pubSub(){var singles={},newListener=newSingle('newListener'),removeListener=newSingle('removeListener');function newSingle(eventName){return singles[eventName]=singleEventPubSub(eventName,newListener,removeListener);} 5571function pubSubInstance(eventName){return singles[eventName]||newSingle(eventName);} 5572['emit','on','un'].forEach(function(methodName){pubSubInstance[methodName]=varArgs(function(eventName,parameters){apply(parameters,pubSubInstance(eventName)[methodName]);});});return pubSubInstance;} 5573var 5574_S=1,NODE_OPENED=_S++,NODE_CLOSED=_S++,NODE_SWAP=_S++,NODE_DROP=_S++,FAIL_EVENT='fail',ROOT_NODE_FOUND=_S++,ROOT_PATH_FOUND=_S++,HTTP_START='start',STREAM_DATA='data',STREAM_END='end',ABORTING=_S++,SAX_KEY=_S++,SAX_VALUE_OPEN=_S++,SAX_VALUE_CLOSE=_S++;function errorReport(statusCode,body,error){try{var jsonBody=JSON.parse(body);}catch(e){} 5575return{statusCode:statusCode,body:body,jsonBody:jsonBody,thrown:error};} 5576function patternAdapter(oboeBus,jsonPathCompiler){var predicateEventMap={node:oboeBus(NODE_CLOSED),path:oboeBus(NODE_OPENED)};function emitMatchingNode(emitMatch,node,ascent){var descent=reverseList(ascent);emitMatch(node,listAsArray(tail(map(keyOf,descent))),listAsArray(map(nodeOf,descent)));} 5577function addUnderlyingListener(fullEventName,predicateEvent,compiledJsonPath){var emitMatch=oboeBus(fullEventName).emit;predicateEvent.on(function(ascent){var maybeMatchingMapping=compiledJsonPath(ascent);if(maybeMatchingMapping!==false){emitMatchingNode(emitMatch,nodeOf(maybeMatchingMapping),ascent);}},fullEventName);oboeBus('removeListener').on(function(removedEventName){if(removedEventName==fullEventName){if(!oboeBus(removedEventName).listeners()){predicateEvent.un(fullEventName);}}});} 5578oboeBus('newListener').on(function(fullEventName){var match=/(node|path):(.*)/.exec(fullEventName);if(match){var predicateEvent=predicateEventMap[match[1]];if(!predicateEvent.hasListener(fullEventName)){addUnderlyingListener(fullEventName,predicateEvent,jsonPathCompiler(match[2]));}}})} 5579function instanceApi(oboeBus,contentSource){var oboeApi,fullyQualifiedNamePattern=/^(node|path):./,rootNodeFinishedEvent=oboeBus(ROOT_NODE_FOUND),emitNodeDrop=oboeBus(NODE_DROP).emit,emitNodeSwap=oboeBus(NODE_SWAP).emit,addListener=varArgs(function(eventId,parameters){if(oboeApi[eventId]){apply(parameters,oboeApi[eventId]);}else{var event=oboeBus(eventId),listener=parameters[0];if(fullyQualifiedNamePattern.test(eventId)){addForgettableCallback(event,listener);}else{event.on(listener);}} 5580return oboeApi;}),removeListener=function(eventId,p2,p3){if(eventId=='done'){rootNodeFinishedEvent.un(p2);}else if(eventId=='node'||eventId=='path'){oboeBus.un(eventId+':'+p2,p3);}else{var listener=p2;oboeBus(eventId).un(listener);} 5581return oboeApi;};function addProtectedCallback(eventName,callback){oboeBus(eventName).on(protectedCallback(callback),callback);return oboeApi;} 5582function addForgettableCallback(event,callback,listenerId){listenerId=listenerId||callback;var safeCallback=protectedCallback(callback);event.on(function(){var discard=false;oboeApi.forget=function(){discard=true;};apply(arguments,safeCallback);delete oboeApi.forget;if(discard){event.un(listenerId);}},listenerId);return oboeApi;} 5583function protectedCallback(callback){return function(){try{return callback.apply(oboeApi,arguments);}catch(e){setTimeout(function(){throw new Error(e.message);});}}} 5584function fullyQualifiedPatternMatchEvent(type,pattern){return oboeBus(type+':'+pattern);} 5585function wrapCallbackToSwapNodeIfSomethingReturned(callback){return function(){var returnValueFromCallback=callback.apply(this,arguments);if(defined(returnValueFromCallback)){if(returnValueFromCallback==oboe.drop){emitNodeDrop();}else{emitNodeSwap(returnValueFromCallback);}}}} 5586function addSingleNodeOrPathListener(eventId,pattern,callback){var effectiveCallback;if(eventId=='node'){effectiveCallback=wrapCallbackToSwapNodeIfSomethingReturned(callback);}else{effectiveCallback=callback;} 5587addForgettableCallback(fullyQualifiedPatternMatchEvent(eventId,pattern),effectiveCallback,callback);} 5588function addMultipleNodeOrPathListeners(eventId,listenerMap){for(var pattern in listenerMap){addSingleNodeOrPathListener(eventId,pattern,listenerMap[pattern]);}} 5589function addNodeOrPathListenerApi(eventId,jsonPathOrListenerMap,callback){if(isString(jsonPathOrListenerMap)){addSingleNodeOrPathListener(eventId,jsonPathOrListenerMap,callback);}else{addMultipleNodeOrPathListeners(eventId,jsonPathOrListenerMap);} 5590return oboeApi;} 5591oboeBus(ROOT_PATH_FOUND).on(function(rootNode){oboeApi.root=functor(rootNode);});oboeBus(HTTP_START).on(function(_statusCode,headers){oboeApi.header=function(name){return name?headers[name]:headers;}});return oboeApi={on:addListener,addListener:addListener,removeListener:removeListener,emit:oboeBus.emit,node:partialComplete(addNodeOrPathListenerApi,'node'),path:partialComplete(addNodeOrPathListenerApi,'path'),done:partialComplete(addForgettableCallback,rootNodeFinishedEvent),start:partialComplete(addProtectedCallback,HTTP_START),fail:oboeBus(FAIL_EVENT).on,abort:oboeBus(ABORTING).emit,write:oboeBus(STREAM_DATA).emit,finish:oboeBus(STREAM_END).emit,header:noop,root:noop,source:contentSource};} 5592function wire(httpMethodName,contentSource,body,headers,withCredentials){var oboeBus=pubSub();if(contentSource){streamingHttp(oboeBus,httpTransport(),httpMethodName,contentSource,body,headers,withCredentials);} 5593clarinet(oboeBus);ascentManager(oboeBus,incrementalContentBuilder(oboeBus));patternAdapter(oboeBus,jsonPathCompiler);return instanceApi(oboeBus,contentSource);} 5594function applyDefaults(passthrough,url,httpMethodName,body,headers,withCredentials,cached){headers=headers?JSON.parse(JSON.stringify(headers)):{};if(body){if(!isString(body)){body=JSON.stringify(body);headers['Content-Type']=headers['Content-Type']||'application/json';}}else{body=null;} 5595function modifiedUrl(baseUrl,cached){if(cached===false){if(baseUrl.indexOf('?')==-1){baseUrl+='?';}else{baseUrl+='&';} 5596baseUrl+='_='+new Date().getTime();} 5597return baseUrl;} 5598return passthrough(httpMethodName||'GET',modifiedUrl(url,cached),body,headers,withCredentials||false);} 5599function oboe(arg1){var nodeStreamMethodNames=list('resume','pause','pipe'),isStream=partialComplete(hasAllProperties,nodeStreamMethodNames);if(arg1){if(isStream(arg1)||isString(arg1)){return applyDefaults(wire,arg1);}else{return applyDefaults(wire,arg1.url,arg1.method,arg1.body,arg1.headers,arg1.withCredentials,arg1.cached);}}else{return wire();}} 5600oboe.drop=function(){return oboe.drop;};if(typeof define==="function"&&define.amd){define("oboe",[],function(){return oboe;});}else if(typeof exports==='object'){module.exports=oboe;}else{window.oboe=oboe;}})((function(){try{return window;}catch(e){return self;}}()),Object,Array,Error,JSON);'use strict';if(tr.isHeadless){global.window={};}'use strict';if(tr.isVinn){global.oboe=global.window.oboe;global.window=undefined;}else if(tr.isNode){global.window=undefined;const path=HTMLImportsLoader.hrefToAbsolutePath('/oboe/dist/oboe-node.js');global.oboe=require(path);}'use strict';tr.exportTo('tr.e.importer',function(){const STRING_ID_SUFFIX='_sid';const PLURAL_STRING_ID_SUFFIX='_sids';function isStringReference(s){return s.endsWith(STRING_ID_SUFFIX)||s.endsWith(PLURAL_STRING_ID_SUFFIX);} 5601function getStringReferenceName(name){if(name.endsWith(PLURAL_STRING_ID_SUFFIX)){return name.slice(0,-PLURAL_STRING_ID_SUFFIX.length);} 5602return name.slice(0,-STRING_ID_SUFFIX.length);} 5603function deferenceStrings(idToString,o){const clone=Object.assign({},o);for(const[key,value]of Object.entries(clone)){if(isStringReference(key)){const name=getStringReferenceName(key);clone[name]=idToString(value);}} 5604return clone;} 5605function singularize(word){if(word.endsWith('s')){return word.slice(0,-1);} 5606return word;} 5607function getMetadataPairs(dataJson){const isMetadata=v=>typeof v!=='object'||Array.isArray(v);const pairs=Object.entries(dataJson);const metadataPairs=pairs.filter(([_,v])=>isMetadata(v));return metadataPairs;} 5608function getGroupPairs(dataJson){const pairs=Object.entries(dataJson);const nonMapPairs=pairs.filter(([k,_])=>k!=='maps');const groupPairs=nonMapPairs.filter(([_,v])=>typeof v==='object');return groupPairs;} 5609function createMap(mapJson){const map=new Map();for(const entry of mapJson){if(entry.id===undefined){throw new Error('Missing required key "id" in streaming event.');} 5610map.set(entry.id,entry);} 5611return map;} 5612function createMaps(mapsJson){const maps=new Map();for(const[name,mapJson]of Object.entries(mapsJson)){maps.set(name,createMap(mapJson));} 5613return maps;} 5614function createGroup(groupJson,opt_startTime){const entries=[];const n=Object.values(groupJson)[0].length;for(let i=0;i<n;i++){const entry={};for(const name in groupJson){entry[name]=groupJson[name][i];} 5615entries.push(entry);} 5616const timeDelta=groupJson.timeDelta;if(opt_startTime===undefined&&timeDelta!==undefined){throw new Error('Missing required key "startTime" in streaming event.');} 5617if(opt_startTime){let delta=0;for(const entry of entries){delta+=entry.timeDelta?entry.timeDelta:0;entry.time=opt_startTime+delta;}} 5618return entries;} 5619function createGroups(groupsJson,opt_startTime){const groups=new Map();for(const[name,groupJson]of Object.entries(groupsJson)){groups.set(name,createGroup(groupJson,opt_startTime));} 5620return groups;} 5621function createMetadata(metadataPairs){const metadata=new Map();for(const[name,value]of metadataPairs){metadata.set(name,value);} 5622if(metadata.get('version')===undefined){throw new Error('Missing required key "version" in streaming event.');} 5623return metadata;} 5624class ProfilingDictionaryReader{constructor(opt_metadata,opt_maps,opt_groups,opt_parent){this.metadata=opt_metadata||new Map();this.maps=opt_maps||new Map();this.groups=opt_groups||new Map();this.parent_=opt_parent||undefined;this.inflated_=undefined;this.raw_=undefined;this.boundGetString_=this.getString.bind(this);this.deferenceStrings_=o=>deferenceStrings(this.boundGetString_,o);} 5625static empty(){return new ProfilingDictionaryReader();} 5626get parent(){return this.parent_;} 5627get raw(){if(this.raw_)return this.raw_;this.raw_={};for(const[name,group]of this.groups.entries()){this.raw_[name]=group;} 5628return this.raw_;} 5629get inflated(){if(this.inflated_)return this.inflated_;this.inflated_={};for(const[name,group]of this.groups.entries()){this.inflated_[name]=this.inflateGroup(group);} 5630return this.inflated_;} 5631getNewMap(name){return this.maps.get(name)||new Map();} 5632getMapValue(mapName,id){let value=this.getNewMap(mapName).get(id);if(value===undefined&&this.parent){value=this.parent.getMapValue(mapName,id);} 5633return value;} 5634getString(id){const value=this.getMapValue('strings',id);if(value===undefined)return undefined;return value.string;} 5635hasMap(name){if(this.maps.has(name))return true;if(this.parent===undefined)return false;return this.parent.hasMap(name);} 5636inflateGroup(group){return group.map(this.inflateEntry.bind(this));} 5637inflateEntry(entry){const inflatedEntry={};for(const[name,value]of Object.entries(entry)){let inflatedValue;if(this.hasMap(name)){const id=value;inflatedValue=this.deferenceStrings_(this.getMapValue(name,id));}else{inflatedValue=value;} 5638inflatedEntry[singularize(name)]=inflatedValue;} 5639return this.deferenceStrings_(inflatedEntry);} 5640expandData(data){const mapsJson=data.maps||{};const groupsJson=data.allocators||{};const metadataPairs=getMetadataPairs(data);const metadata=createMetadata(metadataPairs);const opt_startTime=metadata.get('startTime');const maps=createMaps(mapsJson);const groups=createGroups(groupsJson,opt_startTime);return new ProfilingDictionaryReader(metadata,maps,groups,this);} 5641expandEvent(event){return this.expandData(event.args.data);}} 5642return{ProfilingDictionaryReader,singularize,deferenceStringsForTest:deferenceStrings,};});'use strict';tr.exportTo('tr.model.source_info',function(){function SourceInfo(file,opt_line,opt_column){this.file_=file;this.line_=opt_line||-1;this.column_=opt_column||-1;} 5643SourceInfo.prototype={get file(){return this.file_;},get line(){return this.line_;},get column(){return this.column_;},get domain(){if(!this.file_)return undefined;const domain=this.file_.match(/(.*:\/\/[^:\/]*)/i);return domain?domain[1]:undefined;},toString(){let str='';if(this.file_){str+=this.file_;} 5644if(this.line_>0){str+=':'+this.line_;} 5645if(this.column_>0){str+=':'+this.column_;} 5646return str;}};return{SourceInfo,};});'use strict';tr.exportTo('tr.model.source_info',function(){function JSSourceInfo(file,line,column,isNative,scriptId,state){tr.model.source_info.SourceInfo.call(this,file,line,column);this.isNative_=isNative;this.scriptId_=scriptId;this.state_=state;} 5647JSSourceInfo.prototype={__proto__:tr.model.source_info.SourceInfo.prototype,get state(){return this.state_;},get isNative(){return this.isNative_;},get scriptId(){return this.scriptId_;},toString(){const str=this.isNative_?'[native v8] ':'';return str+ 5648tr.model.source_info.SourceInfo.prototype.toString.call(this);}};const JSSourceState={COMPILED:'compiled',OPTIMIZABLE:'optimizable',OPTIMIZED:'optimized',UNKNOWN:'unknown',};return{JSSourceInfo,JSSourceState,};});'use strict';tr.exportTo('tr.e.importer',function(){function TraceCodeEntry(address,size,name,scriptId){this.id_=tr.b.GUID.allocateSimple();this.address_=address;this.size_=size;const rePrefix=/^(\w*:)?([*~]?)(.*)$/m;const tokens=rePrefix.exec(name);const prefix=tokens[1];let state=tokens[2];const body=tokens[3];if(state==='*'){state=tr.model.source_info.JSSourceState.OPTIMIZED;}else if(state==='~'){state=tr.model.source_info.JSSourceState.OPTIMIZABLE;}else if(state===''){state=tr.model.source_info.JSSourceState.COMPILED;}else{state=tr.model.source_info.JSSourceState.UNKNOWN;} 5649let rawName;let rawUrl;if(prefix==='Script:'){rawName='';rawUrl=body;}else{const spacePos=body.lastIndexOf(' ');rawName=spacePos!==-1?body.substr(0,spacePos):body;rawUrl=spacePos!==-1?body.substr(spacePos+1):'';} 5650function splitLineAndColumn(url){const lineColumnRegEx=/(?::(\d+))?(?::(\d+))?$/;const lineColumnMatch=lineColumnRegEx.exec(url);let lineNumber;let columnNumber;if(typeof(lineColumnMatch[1])==='string'){lineNumber=parseInt(lineColumnMatch[1],10);lineNumber=isNaN(lineNumber)?undefined:lineNumber-1;} 5651if(typeof(lineColumnMatch[2])==='string'){columnNumber=parseInt(lineColumnMatch[2],10);columnNumber=isNaN(columnNumber)?undefined:columnNumber-1;} 5652return{url:url.substring(0,url.length-lineColumnMatch[0].length),lineNumber,columnNumber};} 5653const nativeSuffix=' native';const isNative=rawName.endsWith(nativeSuffix);this.name_=isNative?rawName.slice(0,-nativeSuffix.length):rawName;const urlData=splitLineAndColumn(rawUrl);const url=urlData.url||'';const line=urlData.lineNumber||0;const column=urlData.columnNumber||0;this.sourceInfo_=new tr.model.source_info.JSSourceInfo(url,line,column,isNative,scriptId,state);} 5654TraceCodeEntry.prototype={get id(){return this.id_;},get sourceInfo(){return this.sourceInfo_;},get name(){return this.name_;},set address(address){this.address_=address;},get address(){return this.address_;},set size(size){this.size_=size;},get size(){return this.size_;}};return{TraceCodeEntry,};});'use strict';tr.exportTo('tr.e.importer',function(){function TraceCodeMap(){this.banks_=new Map();} 5655TraceCodeMap.prototype={addEntry(addressHex,size,name,scriptId){const entry=new tr.e.importer.TraceCodeEntry(this.getAddress_(addressHex),size,name,scriptId);this.addEntry_(addressHex,entry);},moveEntry(oldAddressHex,newAddressHex,size){const entry=this.getBank_(oldAddressHex).removeEntry(this.getAddress_(oldAddressHex));if(!entry)return;entry.address=this.getAddress_(newAddressHex);entry.size=size;this.addEntry_(newAddressHex,entry);},lookupEntry(addressHex){return this.getBank_(addressHex).lookupEntry(this.getAddress_(addressHex));},addEntry_(addressHex,entry){this.getBank_(addressHex).addEntry(entry);},getAddress_(addressHex){const bankSizeHexDigits=13;addressHex=addressHex.slice(2);return parseInt(addressHex.slice(-bankSizeHexDigits),16);},getBank_(addressHex){addressHex=addressHex.slice(2);const bankSizeHexDigits=13;const maxHexDigits=16;const bankName=addressHex.slice(-maxHexDigits,-bankSizeHexDigits);let bank=this.banks_.get(bankName);if(!bank){bank=new TraceCodeBank();this.banks_.set(bankName,bank);} 5656return bank;}};function TraceCodeBank(){this.entries_=[];} 5657TraceCodeBank.prototype={removeEntry(address){if(this.entries_.length===0)return undefined;const index=tr.b.math.findLowIndexInSortedArray(this.entries_,function(entry){return entry.address;},address);const entry=this.entries_[index];if(!entry||entry.address!==address)return undefined;this.entries_.splice(index,1);return entry;},lookupEntry(address){const index=tr.b.math.findHighIndexInSortedArray(this.entries_,function(e){return address-e.address;})-1;const entry=this.entries_[index];return entry&&address<entry.address+entry.size?entry:undefined;},addEntry(newEntry){if(this.entries_.length===0){this.entries_.push(newEntry);} 5658const endAddress=newEntry.address+newEntry.size;const lastIndex=tr.b.math.findLowIndexInSortedArray(this.entries_,function(entry){return entry.address;},endAddress);let index;for(index=lastIndex-1;index>=0;--index){const entry=this.entries_[index];const entryEndAddress=entry.address+entry.size;if(entryEndAddress<=newEntry.address)break;} 5659++index;this.entries_.splice(index,lastIndex-index,newEntry);}};return{TraceCodeMap,};});'use strict';tr.exportTo('tr.importer',function(){function ContextProcessor(model){this.model_=model;this.activeContexts_=[];this.stackPerType_={};this.contextCache_={};this.contextSetCache_={};this.cachedEntryForActiveContexts_=undefined;this.seenSnapshots_={};} 5660ContextProcessor.prototype={enterContext(contextType,scopedId){const newActiveContexts=[this.getOrCreateContext_(contextType,scopedId),];for(const oldContext of this.activeContexts_){if(oldContext.type===contextType){this.pushContext_(oldContext);}else{newActiveContexts.push(oldContext);}} 5661this.activeContexts_=newActiveContexts;this.cachedEntryForActiveContexts_=undefined;},leaveContext(contextType,scopedId){this.leaveContextImpl_(context=>context.type===contextType&&context.snapshot.scope===scopedId.scope&&context.snapshot.idRef===scopedId.id);},destroyContext(scopedId){for(const stack of Object.values(this.stackPerType_)){let newLength=0;for(let i=0;i<stack.length;++i){if(stack[i].snapshot.scope!==scopedId.scope||stack[i].snapshot.idRef!==scopedId.id){stack[newLength++]=stack[i];}} 5662stack.length=newLength;} 5663this.leaveContextImpl_(context=>context.snapshot.scope===scopedId.scope&&context.snapshot.idRef===scopedId.id);},leaveContextImpl_(predicate){const newActiveContexts=[];for(const oldContext of this.activeContexts_){if(predicate(oldContext)){const previousContext=this.popContext_(oldContext.type);if(previousContext){newActiveContexts.push(previousContext);}}else{newActiveContexts.push(oldContext);}} 5664this.activeContexts_=newActiveContexts;this.cachedEntryForActiveContexts_=undefined;},getOrCreateContext_(contextType,scopedId){const context={type:contextType,snapshot:{scope:scopedId.scope,idRef:scopedId.id}};const key=this.getContextKey_(context);if(key in this.contextCache_){return this.contextCache_[key];} 5665this.contextCache_[key]=context;const snapshotKey=this.getSnapshotKey_(scopedId);this.seenSnapshots_[snapshotKey]=true;return context;},pushContext_(context){if(!(context.type in this.stackPerType_)){this.stackPerType_[context.type]=[];} 5666this.stackPerType_[context.type].push(context);},popContext_(contextType){if(!(contextType in this.stackPerType_)){return undefined;} 5667return this.stackPerType_[contextType].pop();},getContextKey_(context){return[context.type,context.snapshot.scope,context.snapshot.idRef].join('\x00');},getSnapshotKey_(scopedId){return[scopedId.scope,scopedId.idRef].join('\x00');},get activeContexts(){if(this.cachedEntryForActiveContexts_===undefined){let key=[];for(const context of this.activeContexts_){key.push(this.getContextKey_(context));} 5668key.sort();key=key.join('\x00');if(key in this.contextSetCache_){this.cachedEntryForActiveContexts_=this.contextSetCache_[key];}else{this.activeContexts_.sort(function(a,b){const keyA=this.getContextKey_(a);const keyB=this.getContextKey_(b);if(keyA<keyB){return-1;} 5669if(keyA>keyB){return 1;} 5670return 0;}.bind(this));this.contextSetCache_[key]=Object.freeze(this.activeContexts_);this.cachedEntryForActiveContexts_=this.contextSetCache_[key];}} 5671return this.cachedEntryForActiveContexts_;},invalidateContextCacheForSnapshot(scopedId){const snapshotKey=this.getSnapshotKey_(scopedId);if(!(snapshotKey in this.seenSnapshots_))return;this.contextCache_={};this.contextSetCache_={};this.cachedEntryForActiveContexts_=undefined;this.activeContexts_=this.activeContexts_.map(function(context){if(context.snapshot.scope!==scopedId.scope||context.snapshot.idRef!==scopedId.id){return context;} 5672return{type:context.type,snapshot:{scope:context.snapshot.scope,idRef:context.snapshot.idRef}};});this.seenSnapshots_={};},};return{ContextProcessor,};});'use strict';tr.exportTo('tr.model',function(){function Annotation(){this.guid_=tr.b.GUID.allocateSimple();this.view_=undefined;} 5673Annotation.fromDictIfPossible=function(args){if(args.typeName===undefined){throw new Error('Missing typeName argument');} 5674const typeInfo=Annotation.findTypeInfoMatching(function(typeInfo){return typeInfo.metadata.typeName===args.typeName;});if(typeInfo===undefined)return undefined;return typeInfo.constructor.fromDict(args);};Annotation.fromDict=function(){throw new Error('Not implemented');};Annotation.prototype={get guid(){return this.guid_;},onRemove(){},toDict(){throw new Error('Not implemented');},getOrCreateView(viewport){if(!this.view_){this.view_=this.createView_(viewport);} 5675return this.view_;},createView_(){throw new Error('Not implemented');}};const options=new tr.b.ExtensionRegistryOptions(tr.b.BASIC_REGISTRY_MODE);tr.b.decorateExtensionRegistry(Annotation,options);Annotation.addEventListener('will-register',function(e){if(!e.typeInfo.constructor.hasOwnProperty('fromDict')){throw new Error('Must have fromDict method');} 5676if(!e.typeInfo.metadata.typeName){throw new Error('Registered Annotations must provide typeName');}});return{Annotation,};});'use strict';tr.exportTo('tr.model',function(){function YComponent(stableId,yPercentOffset){this.stableId=stableId;this.yPercentOffset=yPercentOffset;} 5677YComponent.prototype={toDict(){return{stableId:this.stableId,yPercentOffset:this.yPercentOffset};}};function Location(xWorld,yComponents){this.xWorld_=xWorld;this.yComponents_=yComponents;} 5678Location.fromViewCoordinates=function(viewport,viewX,viewY){const dt=viewport.currentDisplayTransform;const xWorld=dt.xViewToWorld(viewX);const yComponents=[];let elem=document.elementFromPoint(viewX+viewport.modelTrackContainer.canvas.offsetLeft,viewY+viewport.modelTrackContainer.canvas.offsetTop);while(elem instanceof tr.ui.tracks.Track){if(elem.eventContainer){const boundRect=elem.getBoundingClientRect();const yPercentOffset=(viewY-boundRect.top)/boundRect.height;yComponents.push(new YComponent(elem.eventContainer.stableId,yPercentOffset));} 5679elem=elem.parentElement;} 5680if(yComponents.length===0)return;return new Location(xWorld,yComponents);};Location.fromStableIdAndTimestamp=function(viewport,stableId,ts){const xWorld=ts;const yComponents=[];const containerToTrack=viewport.containerToTrackMap;let elem=containerToTrack.getTrackByStableId(stableId);if(!elem)return;const firstY=elem.getBoundingClientRect().top;while(elem instanceof tr.ui.tracks.Track){if(elem.eventContainer){const boundRect=elem.getBoundingClientRect();const yPercentOffset=(firstY-boundRect.top)/boundRect.height;yComponents.push(new YComponent(elem.eventContainer.stableId,yPercentOffset));} 5681elem=elem.parentElement;} 5682if(yComponents.length===0)return;return new Location(xWorld,yComponents);};Location.prototype={get xWorld(){return this.xWorld_;},getContainingTrack(viewport){const containerToTrack=viewport.containerToTrackMap;for(const i in this.yComponents_){const yComponent=this.yComponents_[i];const track=containerToTrack.getTrackByStableId(yComponent.stableId);if(track!==undefined)return track;}},toViewCoordinates(viewport){const dt=viewport.currentDisplayTransform;const containerToTrack=viewport.containerToTrackMap;const viewX=dt.xWorldToView(this.xWorld_);let viewY=-1;for(const index in this.yComponents_){const yComponent=this.yComponents_[index];const track=containerToTrack.getTrackByStableId(yComponent.stableId);if(track!==undefined){const boundRect=track.getBoundingClientRect();viewY=yComponent.yPercentOffset*boundRect.height+boundRect.top;break;}} 5683return{viewX,viewY};},toDict(){return{xWorld:this.xWorld_,yComponents:this.yComponents_};}};return{Location,};});'use strict';tr.exportTo('tr.ui.annotations',function(){function AnnotationView(viewport,annotation){} 5684AnnotationView.prototype={draw(ctx){throw new Error('Not implemented');}};return{AnnotationView,};});'use strict';tr.exportTo('tr.ui.annotations',function(){function RectAnnotationView(viewport,annotation){this.viewport_=viewport;this.annotation_=annotation;} 5685RectAnnotationView.prototype={__proto__:tr.ui.annotations.AnnotationView.prototype,draw(ctx){const dt=this.viewport_.currentDisplayTransform;const startCoords=this.annotation_.startLocation.toViewCoordinates(this.viewport_);const endCoords=this.annotation_.endLocation.toViewCoordinates(this.viewport_);let startY=startCoords.viewY-ctx.canvas.getBoundingClientRect().top;const sizeY=endCoords.viewY-startCoords.viewY;if(startY+sizeY<0){startY=sizeY;}else if(startY<0){startY=0;} 5686ctx.fillStyle=this.annotation_.fillStyle;ctx.fillRect(startCoords.viewX,startY,endCoords.viewX-startCoords.viewX,sizeY);}};return{RectAnnotationView,};});'use strict';tr.exportTo('tr.model',function(){function RectAnnotation(start,end){tr.model.Annotation.apply(this,arguments);this.startLocation_=start;this.endLocation_=end;this.fillStyle='rgba(255, 180, 0, 0.3)';} 5687RectAnnotation.fromDict=function(dict){const args=dict.args;const startLoc=new tr.model.Location(args.start.xWorld,args.start.yComponents);const endLoc=new tr.model.Location(args.end.xWorld,args.end.yComponents);return new tr.model.RectAnnotation(startLoc,endLoc);};RectAnnotation.prototype={__proto__:tr.model.Annotation.prototype,get startLocation(){return this.startLocation_;},get endLocation(){return this.endLocation_;},toDict(){return{typeName:'rect',args:{start:this.startLocation.toDict(),end:this.endLocation.toDict()}};},createView_(viewport){return new tr.ui.annotations.RectAnnotationView(viewport,this);}};tr.model.Annotation.register(RectAnnotation,{typeName:'rect'});return{RectAnnotation,};});'use strict';tr.exportTo('tr.ui.annotations',function(){function CommentBoxAnnotationView(viewport,annotation){this.viewport_=viewport;this.annotation_=annotation;this.textArea_=undefined;this.styleWidth=250;this.styleHeight=50;this.fontSize=10;this.rightOffset=50;this.topOffset=25;} 5688CommentBoxAnnotationView.prototype={__proto__:tr.ui.annotations.AnnotationView.prototype,removeTextArea(){Polymer.dom(Polymer.dom(this.textArea_).parentNode).removeChild(this.textArea_);},draw(ctx){const coords=this.annotation_.location.toViewCoordinates(this.viewport_);if(coords.viewX<0){if(this.textArea_){this.textArea_.style.visibility='hidden';} 5689return;} 5690if(!this.textArea_){this.textArea_=document.createElement('textarea');this.textArea_.style.position='absolute';this.textArea_.readOnly=true;this.textArea_.value=this.annotation_.text;this.textArea_.style.zIndex=1;Polymer.dom(Polymer.dom(ctx.canvas).parentNode).appendChild(this.textArea_);} 5691this.textArea_.style.width=this.styleWidth+'px';this.textArea_.style.height=this.styleHeight+'px';this.textArea_.style.fontSize=this.fontSize+'px';this.textArea_.style.visibility='visible';this.textArea_.style.left=coords.viewX+ctx.canvas.getBoundingClientRect().left+ 5692this.rightOffset+'px';this.textArea_.style.top=coords.viewY-ctx.canvas.getBoundingClientRect().top- 5693this.topOffset+'px';ctx.strokeStyle='rgb(0, 0, 0)';ctx.lineWidth=2;ctx.beginPath();tr.ui.b.drawLine(ctx,coords.viewX,coords.viewY-ctx.canvas.getBoundingClientRect().top,coords.viewX+this.rightOffset,coords.viewY-this.topOffset- 5694ctx.canvas.getBoundingClientRect().top);ctx.stroke();}};return{CommentBoxAnnotationView,};});'use strict';tr.exportTo('tr.model',function(){function CommentBoxAnnotation(location,text){tr.model.Annotation.apply(this,arguments);this.location=location;this.text=text;} 5695CommentBoxAnnotation.fromDict=function(dict){const args=dict.args;const location=new tr.model.Location(args.location.xWorld,args.location.yComponents);return new tr.model.CommentBoxAnnotation(location,args.text);};CommentBoxAnnotation.prototype={__proto__:tr.model.Annotation.prototype,onRemove(){this.view_.removeTextArea();},toDict(){return{typeName:'comment_box',args:{text:this.text,location:this.location.toDict()}};},createView_(viewport){return new tr.ui.annotations.CommentBoxAnnotationView(viewport,this);}};tr.model.Annotation.register(CommentBoxAnnotation,{typeName:'comment_box'});return{CommentBoxAnnotation,};});'use strict';tr.exportTo('tr.model',function(){function ScopedId(scope,id,pid){if(scope===undefined){throw new Error('Scope should be defined. Use \''+ 5696tr.model.OBJECT_DEFAULT_SCOPE+'\' as the default scope.');} 5697this.scope=scope;this.id=id;this.pid=pid;} 5698ScopedId.prototype={toString(){const pidStr=this.pid===undefined?'':'pid: '+this.pid+', ';return'{'+pidStr+'scope: '+this.scope+', id: '+this.id+'}';},toStringWithDelimiter(delim){return(this.pid===undefined?'':this.pid)+delim+ 5699this.scope+delim+this.id;}};return{ScopedId,};});'use strict';tr.exportTo('tr.ui.annotations',function(){function XMarkerAnnotationView(viewport,annotation){this.viewport_=viewport;this.annotation_=annotation;} 5700XMarkerAnnotationView.prototype={__proto__:tr.ui.annotations.AnnotationView.prototype,draw(ctx){const dt=this.viewport_.currentDisplayTransform;const viewX=dt.xWorldToView(this.annotation_.timestamp);ctx.beginPath();tr.ui.b.drawLine(ctx,viewX,0,viewX,ctx.canvas.height);ctx.strokeStyle=this.annotation_.strokeStyle;ctx.stroke();}};return{XMarkerAnnotationView,};});'use strict';tr.exportTo('tr.model',function(){function XMarkerAnnotation(timestamp){tr.model.Annotation.apply(this,arguments);this.timestamp=timestamp;this.strokeStyle='rgba(0, 0, 255, 0.5)';} 5701XMarkerAnnotation.fromDict=function(dict){return new XMarkerAnnotation(dict.args.timestamp);};XMarkerAnnotation.prototype={__proto__:tr.model.Annotation.prototype,toDict(){return{typeName:'xmarker',args:{timestamp:this.timestamp}};},createView_(viewport){return new tr.ui.annotations.XMarkerAnnotationView(viewport,this);}};tr.model.Annotation.register(XMarkerAnnotation,{typeName:'xmarker'});return{XMarkerAnnotation,};});'use strict';tr.exportTo('tr.e.importer',function(){const Base64=tr.b.Base64;const deepCopy=tr.b.deepCopy;const ColorScheme=tr.b.ColorScheme;const HeapDumpTraceEventImporter=tr.e.importer.HeapDumpTraceEventImporter;const LegacyHeapDumpTraceEventImporter=tr.e.importer.LegacyHeapDumpTraceEventImporter;const StreamingEventExpander=tr.e.importer.StreamingEventExpander;const ProfilingDictionaryReader=tr.e.importer.ProfilingDictionaryReader;function getEventColor(event,opt_customName){if(event.cname){return ColorScheme.getColorIdForReservedName(event.cname);}else if(opt_customName||event.name){return ColorScheme.getColorIdForGeneralPurposeString(opt_customName||event.name);}} 5702function isLegacyChromeClockSyncEvent(event){return event.name!==undefined&&event.name.startsWith(LEGACY_CHROME_CLOCK_SYNC_EVENT_NAME_PREFIX)&&((event.ph==='S')||(event.ph==='F'));} 5703const PRODUCER='producer';const CONSUMER='consumer';const STEP='step';const BACKGROUND=tr.model.ContainerMemoryDump.LevelOfDetail.BACKGROUND;const LIGHT=tr.model.ContainerMemoryDump.LevelOfDetail.LIGHT;const DETAILED=tr.model.ContainerMemoryDump.LevelOfDetail.DETAILED;const MEMORY_DUMP_LEVEL_OF_DETAIL_ORDER=[undefined,BACKGROUND,LIGHT,DETAILED];const GLOBAL_MEMORY_ALLOCATOR_DUMP_PREFIX='global/';const LEGACY_CHROME_CLOCK_SYNC_EVENT_NAME_PREFIX='ClockSyncEvent.';const BYTE_STAT_NAME_MAP={'pc':'privateCleanResident','pd':'privateDirtyResident','sc':'sharedCleanResident','sd':'sharedDirtyResident','pss':'proportionalResident','sw':'swapped'};const WEAK_MEMORY_ALLOCATOR_DUMP_FLAG=1<<0;const OBJECT_TYPE_NAME_PATTERNS=[{prefix:'const char *WOW::getStringWithTypeName() [T = ',suffix:']'},{prefix:'const char* WOW::getStringWithTypeName() [with T = ',suffix:']'},{prefix:'const char *__cdecl WOW::getStringWithTypeName<',suffix:'>(void)'}];const SUBTRACE_FIELDS=new Set(['powerTraceAsString','systemTraceEvents',]);const NON_METADATA_FIELDS=new Set(['displayTimeUnit','samples','stackFrames','traceAnnotations','traceEvents',...SUBTRACE_FIELDS]);function TraceEventImporter(model,eventData){this.hasEvents_=undefined;this.importPriority=1;this.model_=model;this.events_=undefined;this.sampleEvents_=undefined;this.stackFrameEvents_=undefined;this.stackFrameTree_=new tr.model.ProfileTree();this.subtraces_=[];this.eventsWereFromString_=false;this.softwareMeasuredCpuCount_=undefined;this.allAsyncEvents_=[];this.allFlowEvents_=[];this.allObjectEvents_=[];this.contextProcessorPerThread={};this.traceEventSampleStackFramesByName_={};this.v8ProcessCodeMaps_={};this.v8ProcessRootStackFrame_={};this.v8SamplingData_=[];this.profileTrees_=new Map();this.profileInfo_=new Map();this.legacyChromeClockSyncStartEvent_=undefined;this.legacyChromeClockSyncFinishEvent_=undefined;this.allMemoryDumpEvents_={};this.heapProfileExpander=new ProfilingDictionaryReader();this.objectTypeNameMap_={};this.clockDomainId_=tr.model.ClockDomainId.UNKNOWN_CHROME_LEGACY;this.toModelTime_=undefined;if(typeof(eventData)==='string'||eventData instanceof String){eventData=eventData.trim();if(eventData[0]==='['){eventData=eventData.replace(/\s*,\s*$/,'');if(eventData[eventData.length-1]!==']'){eventData=eventData+']';}} 5704this.events_=JSON.parse(eventData);this.eventsWereFromString_=true;}else{this.events_=eventData;} 5705if(this.events_.traceEvents){const container=this.events_;this.events_=this.events_.traceEvents;for(const subtraceField of SUBTRACE_FIELDS){if(container[subtraceField]){this.storeSubtrace_(container[subtraceField]);}} 5706this.storeSamples_(container.samples);this.storeStackFrames_(container.stackFrames);this.storeDisplayTimeUnit_(container.displayTimeUnit);this.storeTraceAnnotations_(container.traceAnnotations);this.storeMetadata_(container);}else if(this.events_ instanceof tr.b.TraceStream){const parser=oboe().node('{cat ph}',function(e){return oboe.drop;}).node('!.powerTraceAsString',this.storeSubtrace_.bind(this)).node('!.systemTraceEvents',this.storeSubtrace_.bind(this)).node('!.samples',this.storeSamples_.bind(this)).node('!.stackFrames',this.storeStackFrames_.bind(this)).node('!.displayTimeUnit',this.storeDisplayTimeUnit_.bind(this)).node('!.traceAnnotations',this.storeTraceAnnotations_.bind(this)).done(this.storeMetadata_.bind(this));this.events_.rewind();while(this.events_.hasData){parser.write(this.events_.readNumBytes());} 5707parser.finish();}} 5708TraceEventImporter.canImport=function(eventData){if(eventData instanceof tr.b.TraceStream){if(eventData.isBinary)return false;eventData=eventData.header;} 5709if(typeof(eventData)==='string'||eventData instanceof String){eventData=eventData.trim();return eventData[0]==='{'||eventData[0]==='[';} 5710if(eventData instanceof Array&&eventData.length&&eventData[0].ph){return true;} 5711if(eventData.traceEvents){if(eventData.traceEvents instanceof Array){if(eventData.traceEvents.length&&eventData.traceEvents[0].ph){return true;} 5712if(eventData.samples&&eventData.samples.length&&eventData.stackFrames!==undefined){return true;}}} 5713return false;};TraceEventImporter.scopedIdForEvent_=function(event){const scope=event.scope||tr.model.OBJECT_DEFAULT_SCOPE;let pid=undefined;if(event.id!==undefined){if(event.id2!==undefined){throw new Error('Event has both id and id2');} 5714pid=tr.model.LOCAL_ID_PHASES.has(event.ph)?event.pid:undefined;return new tr.model.ScopedId(scope,event.id,pid);}else if(event.id2!==undefined){if(event.id2.global!==undefined){return new tr.model.ScopedId(scope,event.id2.global);}else if(event.id2.local!==undefined){return new tr.model.ScopedId(scope,event.id2.local,event.pid);} 5715throw new Error('Event that uses id2 must have either a global or local ID');} 5716return undefined;};TraceEventImporter.prototype={__proto__:tr.importer.Importer.prototype,get importerName(){return'TraceEventImporter';},extractSubtraces(){const subtraces=this.subtraces_;this.subtraces_=[];return subtraces;},deepCopyIfNeeded_(obj){if(obj===undefined)obj={};if(this.eventsWereFromString_)return obj;return deepCopy(obj);},deepCopyAlways_(obj){if(obj===undefined)obj={};return deepCopy(obj);},processAsyncEvent(event){const thread=this.model_.getOrCreateProcess(event.pid).getOrCreateThread(event.tid);this.allAsyncEvents_.push({sequenceNumber:this.allAsyncEvents_.length,event,thread});},processFlowEvent(event,opt_slice){const thread=this.model_.getOrCreateProcess(event.pid).getOrCreateThread(event.tid);this.allFlowEvents_.push({refGuid:tr.b.GUID.getLastSimpleGuid(),sequenceNumber:this.allFlowEvents_.length,event,slice:opt_slice,thread});},processCounterEvent(event){let ctrName;if(event.id!==undefined){ctrName=event.name+'['+event.id+']';}else{ctrName=event.name;} 5717const ctr=this.model_.getOrCreateProcess(event.pid).getOrCreateCounter(event.cat,ctrName);const reservedColorId=event.cname?getEventColor(event):undefined;if(ctr.numSeries===0){for(const seriesName in event.args){const colorId=reservedColorId||getEventColor(event,ctr.name+'.'+seriesName);ctr.addSeries(new tr.model.CounterSeries(seriesName,colorId));} 5718if(ctr.numSeries===0){this.model_.importWarning({type:'counter_parse_error',message:'Expected counter '+event.name+' to have at least one argument to use as a value.'});delete ctr.parent.counters[ctr.name];return;}} 5719const ts=this.toModelTimeFromUs_(event.ts);ctr.series.forEach(function(series){const val=event.args[series.name]?event.args[series.name]:0;series.addCounterSample(ts,val);});},processObjectEvent(event){const thread=this.model_.getOrCreateProcess(event.pid).getOrCreateThread(event.tid);this.allObjectEvents_.push({sequenceNumber:this.allObjectEvents_.length,event,thread});if(thread.guid in this.contextProcessorPerThread){const processor=this.contextProcessorPerThread[thread.guid];const scopedId=TraceEventImporter.scopedIdForEvent_(event);if(event.ph==='D'){processor.destroyContext(scopedId);} 5720processor.invalidateContextCacheForSnapshot(scopedId);}},processContextEvent(event){const thread=this.model_.getOrCreateProcess(event.pid).getOrCreateThread(event.tid);if(!(thread.guid in this.contextProcessorPerThread)){this.contextProcessorPerThread[thread.guid]=new tr.importer.ContextProcessor(this.model_);} 5721const scopedId=TraceEventImporter.scopedIdForEvent_(event);const contextType=event.name;const processor=this.contextProcessorPerThread[thread.guid];if(event.ph==='('){processor.enterContext(contextType,scopedId);}else if(event.ph===')'){processor.leaveContext(contextType,scopedId);}else{this.model_.importWarning({type:'unknown_context_phase',message:'Unknown context event phase: '+event.ph+'.'});}},setContextsFromThread_(thread,slice){if(thread.guid in this.contextProcessorPerThread){slice.contexts=this.contextProcessorPerThread[thread.guid].activeContexts;}},processDurationEvent(event){const thread=this.model_.getOrCreateProcess(event.pid).getOrCreateThread(event.tid);const ts=this.toModelTimeFromUs_(event.ts);if(!thread.sliceGroup.isTimestampValidForBeginOrEnd(ts)){this.model_.importWarning({type:'duration_parse_error',message:'Timestamps are moving backward.'});return;} 5722if(event.ph==='B'){const slice=thread.sliceGroup.beginSlice(event.cat,event.name,this.toModelTimeFromUs_(event.ts),this.deepCopyIfNeeded_(event.args),this.toModelTimeFromUs_(event.tts),event.argsStripped,getEventColor(event));slice.startStackFrame=this.getStackFrameForEvent_(event);this.setContextsFromThread_(thread,slice);}else if(event.ph==='I'||event.ph==='i'||event.ph==='R'){if(event.s!==undefined&&event.s!=='t'){throw new Error('This should never happen');} 5723thread.sliceGroup.beginSlice(event.cat,event.name,this.toModelTimeFromUs_(event.ts),this.deepCopyIfNeeded_(event.args),this.toModelTimeFromUs_(event.tts),event.argsStripped,getEventColor(event));const slice=thread.sliceGroup.endSlice(this.toModelTimeFromUs_(event.ts),this.toModelTimeFromUs_(event.tts));slice.startStackFrame=this.getStackFrameForEvent_(event);slice.endStackFrame=undefined;}else{if(!thread.sliceGroup.openSliceCount){this.model_.importWarning({type:'duration_parse_error',message:'E phase event without a matching B phase event.'});return;} 5724const slice=thread.sliceGroup.endSlice(this.toModelTimeFromUs_(event.ts),this.toModelTimeFromUs_(event.tts),getEventColor(event));if(event.name&&slice.title!==event.name){this.model_.importWarning({type:'title_match_error',message:'Titles do not match. Title is '+ 5725slice.title+' in openSlice, and is '+ 5726event.name+' in endSlice'});} 5727slice.endStackFrame=this.getStackFrameForEvent_(event);this.mergeArgsInto_(slice.args,event.args,slice.title);}},mergeArgsInto_(dstArgs,srcArgs,eventName){for(const arg in srcArgs){if(dstArgs[arg]!==undefined){this.model_.importWarning({type:'arg_merge_error',message:'Different phases of '+eventName+' provided values for argument '+arg+'.'+' The last provided value will be used.'});} 5728dstArgs[arg]=this.deepCopyIfNeeded_(srcArgs[arg]);}},processCompleteEvent(event){if(event.cat!==undefined&&event.cat.indexOf('trace_event_overhead')>-1){return undefined;} 5729const thread=this.model_.getOrCreateProcess(event.pid).getOrCreateThread(event.tid);if(event.flow_out){if(event.flow_in){event.flowPhase=STEP;}else{event.flowPhase=PRODUCER;}}else if(event.flow_in){event.flowPhase=CONSUMER;} 5730const slice=thread.sliceGroup.pushCompleteSlice(event.cat,event.name,this.toModelTimeFromUs_(event.ts),this.maybeToModelTimeFromUs_(event.dur),this.maybeToModelTimeFromUs_(event.tts),this.maybeToModelTimeFromUs_(event.tdur),this.deepCopyIfNeeded_(event.args),event.argsStripped,getEventColor(event),event.bind_id);slice.startStackFrame=this.getStackFrameForEvent_(event);slice.endStackFrame=this.getStackFrameForEvent_(event,true);this.setContextsFromThread_(thread,slice);return slice;},processJitCodeEvent(event){if(this.v8ProcessCodeMaps_[event.pid]===undefined){this.v8ProcessCodeMaps_[event.pid]=new tr.e.importer.TraceCodeMap();} 5731const map=this.v8ProcessCodeMaps_[event.pid];const data=event.args.data;if(event.name==='JitCodeMoved'){map.moveEntry(data.code_start,data.new_code_start,data.code_len);}else{map.addEntry(data.code_start,data.code_len,data.name,data.script_id);}},processMetadataEvent(event){if(event.name==='JitCodeAdded'||event.name==='JitCodeMoved'){this.v8SamplingData_.push(event);return;} 5732if(event.argsStripped)return;if(event.name==='process_name'){const process=this.model_.getOrCreateProcess(event.pid);process.name=event.args.name;}else if(event.name==='process_labels'){const process=this.model_.getOrCreateProcess(event.pid);const labels=event.args.labels.split(',');for(let i=0;i<labels.length;i++){process.addLabelIfNeeded(labels[i]);}}else if(event.name==='process_uptime_seconds'){const process=this.model_.getOrCreateProcess(event.pid);process.uptime_seconds=event.args.uptime;}else if(event.name==='process_sort_index'){const process=this.model_.getOrCreateProcess(event.pid);process.sortIndex=event.args.sort_index;}else if(event.name==='thread_name'){const thread=this.model_.getOrCreateProcess(event.pid).getOrCreateThread(event.tid);thread.name=event.args.name;}else if(event.name==='thread_sort_index'){const thread=this.model_.getOrCreateProcess(event.pid).getOrCreateThread(event.tid);thread.sortIndex=event.args.sort_index;}else if(event.name==='num_cpus'){let n=event.args.number;if(this.softwareMeasuredCpuCount_!==undefined){n=Math.max(n,this.softwareMeasuredCpuCount_);} 5733this.softwareMeasuredCpuCount_=n;}else if(event.name==='stackFrames'){const stackFrames=event.args.stackFrames;if(stackFrames===undefined){this.model_.importWarning({type:'metadata_parse_error',message:'No stack frames found in a \''+event.name+'\' metadata event'});}else{this.importStackFrames_(stackFrames,'p'+event.pid+':');}}else if(event.name==='typeNames'){const objectTypeNameMap=event.args.typeNames;if(objectTypeNameMap===undefined){this.model_.importWarning({type:'metadata_parse_error',message:'No mapping from object type IDs to names found in a \''+ 5734event.name+'\' metadata event'});}else{this.importObjectTypeNameMap_(objectTypeNameMap,event.pid);}}else if(event.name==='TraceConfig'){this.model_.metadata.push({name:'TraceConfig',value:event.args.value});}else{this.model_.importWarning({type:'metadata_parse_error',message:'Unrecognized metadata name: '+event.name});}},processInstantEvent(event){if(event.name==='JitCodeAdded'||event.name==='JitCodeMoved'){this.v8SamplingData_.push(event);return;} 5735if(event.s==='t'||event.s===undefined){this.processDurationEvent(event);return;} 5736let constructor;switch(event.s){case'g':constructor=tr.model.GlobalInstantEvent;break;case'p':constructor=tr.model.ProcessInstantEvent;break;default:this.model_.importWarning({type:'instant_parse_error',message:'I phase event with unknown "s" field value.'});return;} 5737const instantEvent=new constructor(event.cat,event.name,getEventColor(event),this.toModelTimeFromUs_(event.ts),this.deepCopyIfNeeded_(event.args));switch(instantEvent.type){case tr.model.InstantEventType.GLOBAL:this.model_.instantEvents.push(instantEvent);break;case tr.model.InstantEventType.PROCESS:{const process=this.model_.getOrCreateProcess(event.pid);process.instantEvents.push(instantEvent);break;} 5738default:throw new Error('Unknown instant event type: '+event.s);}},getOrCreateProfileTree_(sampleType,id){if(!this.profileTrees_.has(sampleType)){this.profileTrees_.set(sampleType,new Map());} 5739const profileTreeMap=this.profileTrees_.get(sampleType);if(profileTreeMap.has(id)){return profileTreeMap.get(id);} 5740const profileTree=new tr.model.ProfileTree();profileTreeMap.set(id,profileTree);const info=this.profileInfo_.get(id);if(info!==undefined){profileTree.startTime=info.startTime;profileTree.pid=info.pid;profileTree.tid=info.tid;} 5741return profileTree;},processSample(event){if(event.args===undefined||event.args.data===undefined){return;} 5742if(event.id===undefined){throw new Error('No event ID in sample');} 5743const data=event.args.data;if(data.startTime!==undefined){this.profileInfo_.set(event.id,{startTime:data.startTime,pid:event.pid,tid:event.tid});} 5744const timeDeltas=data.timeDeltas;for(const sampleType in data){if(sampleType==='timeDeltas'||sampleType==='startTime'){continue;} 5745if(data[sampleType].samples&&timeDeltas&&data[sampleType].samples.length!==timeDeltas.length){throw new Error('samples and timeDeltas array should have same length');} 5746const profileTree=this.getOrCreateProfileTree_(sampleType,event.id);const nodes=data[sampleType].nodes;const samples=data[sampleType].samples;if(nodes!==undefined){for(const node of nodes){const ProfileNodeType=tr.model.ProfileNode.subTypes.getConstructor(undefined,sampleType);const profileNode=ProfileNodeType.constructFromObject(profileTree,node);if(profileNode===undefined){continue;} 5747profileTree.add(profileNode);}} 5748if(samples!==undefined){const thread=this.model_.getOrCreateProcess(profileTree.pid).getOrCreateThread(profileTree.tid);for(let i=0,len=samples.length;i<len;++i){const node=profileTree.getNode(samples[i]);profileTree.endTime+=timeDeltas[i];const start=this.toModelTimeFromUs_(profileTree.endTime);this.model_.samples.push(new tr.model.Sample(start,node.sampleTitle,node,thread));}}}},processLegacyV8Sample(event){const data=event.args.data;const sampleType='legacySample';const ProfileNodeType=tr.model.ProfileNode.subTypes.getConstructor(undefined,sampleType);if(data.vm_state==='js'&&!data.stack.length)return;const profileTree=this.getOrCreateProfileTree_(sampleType,event.pid);if(profileTree.getNode(-1)===undefined){profileTree.add(new ProfileNodeType(-1,{url:'',scriptId:-1,functionName:'unknown'},undefined));} 5749let node=undefined;if(data.stack.length>0&&this.v8ProcessCodeMaps_[event.pid]){const map=this.v8ProcessCodeMaps_[event.pid];data.stack.reverse();let parentNode=undefined;for(let i=0;i<data.stack.length;i++){const entry=map.lookupEntry(data.stack[i]);if(entry===undefined){node=profileTree.getNode(-1);}else{node=profileTree.getNode(entry.id);if(node===undefined){const sourceInfo=entry.sourceInfo;node=new ProfileNodeType(entry.id,{functionName:entry.name,url:entry.sourceInfo.file,lineNumber:sourceInfo.line!==-1?sourceInfo.line:undefined,columnNumber:sourceInfo.column!==-1?sourceInfo.column:undefined,scriptid:entry.sourceInfo.scriptId},parentNode);profileTree.add(node);}} 5750parentNode=node;}}else{node=profileTree.getNode(data.vm_state);if(node===undefined){node=new ProfileNodeType(data.vm_state,{url:'',functionName:data.vm_state},undefined);profileTree.add(node);}} 5751const thread=this.model_.getOrCreateProcess(event.pid).getOrCreateThread(event.tid);this.model_.samples.push(new tr.model.Sample(this.toModelTimeFromUs_(event.ts),node.sampleTitle,node,thread));},processTraceSampleEvent(event){if(event.name==='V8Sample'||event.name.startsWith('Profile')){this.v8SamplingData_.push(event);return;} 5752let node=this.stackFrameTree_.getNode(event.name);if(node===undefined&&event.sf!==undefined){node=this.stackFrameTree_.getNode('g'+event.sf);} 5753if(node===undefined){let id=event.name;if(event.sf){id='g'+event.sf;} 5754const ProfileNodeType=tr.model.ProfileNode.subTypes.getConstructor(undefined,'legacySample');node=this.stackFrameTree_.add(new ProfileNodeType(id,{functionName:event.name},undefined));} 5755const thread=this.model_.getOrCreateProcess(event.pid).getOrCreateThread(event.tid);const sample=new tr.model.Sample(this.toModelTimeFromUs_(event.ts),'Trace Event Sample',node,thread,undefined,1,this.deepCopyIfNeeded_(event.args));this.setContextsFromThread_(thread,sample);this.model_.samples.push(sample);},processMemoryDumpEvent(event){if(event.ph!=='v'){throw new Error('Invalid memory dump event phase "'+event.ph+'".');} 5756const dumpId=event.id;if(dumpId===undefined){this.model_.importWarning({type:'memory_dump_parse_error',message:'Memory dump event (phase \''+event.ph+'\') without a dump ID.'});return;} 5757const pid=event.pid;if(pid===undefined){this.model_.importWarning({type:'memory_dump_parse_error',message:'Memory dump event (phase\''+event.ph+'\', dump ID \''+ 5758dumpId+'\') without a PID.'});return;} 5759const allEvents=this.allMemoryDumpEvents_;let dumpIdEvents=allEvents[dumpId];if(dumpIdEvents===undefined){allEvents[dumpId]=dumpIdEvents={};} 5760let processEvents=dumpIdEvents[pid];if(processEvents===undefined){dumpIdEvents[pid]=processEvents=[];} 5761processEvents.push(event);},processClockSyncEvent(event){if(event.ph!=='c'){throw new Error('Invalid clock sync event phase "'+event.ph+'".');} 5762const syncId=event.args.sync_id;if(syncId===undefined){this.model_.importWarning({type:'clock_sync_parse_error',message:'Clock sync at time '+event.ts+' without an ID.'});return;} 5763if(event.args&&event.args.issue_ts!==undefined){this.model_.clockSyncManager.addClockSyncMarker(this.clockDomainId_,syncId,tr.b.Unit.timestampFromUs(event.args.issue_ts),tr.b.Unit.timestampFromUs(event.ts));}else{this.model_.clockSyncManager.addClockSyncMarker(this.clockDomainId_,syncId,tr.b.Unit.timestampFromUs(event.ts));}},processLegacyChromeClockSyncEvent(event){if(event.ph==='S'){this.legacyChromeClockSyncStartEvent_=event;}else if(event.ph==='F'){this.legacyChromeClockSyncFinishEvent_=event;} 5764if(this.legacyChromeClockSyncStartEvent_===undefined||this.legacyChromeClockSyncFinishEvent_===undefined){return;} 5765const startSyncId=this.legacyChromeClockSyncStartEvent_.name.substring(LEGACY_CHROME_CLOCK_SYNC_EVENT_NAME_PREFIX.length);const finishSyncId=this.legacyChromeClockSyncFinishEvent_.name.substring(LEGACY_CHROME_CLOCK_SYNC_EVENT_NAME_PREFIX.length);if(startSyncId!==finishSyncId){throw new Error('Inconsistent clock sync ID of legacy Chrome clock sync events');} 5766this.model_.clockSyncManager.addClockSyncMarker(this.clockDomainId_,startSyncId,tr.b.Unit.timestampFromUs(this.legacyChromeClockSyncStartEvent_.ts),tr.b.Unit.timestampFromUs(this.legacyChromeClockSyncFinishEvent_.ts));},processV8Events(){this.v8SamplingData_.sort(function(a,b){if(a.ts!==b.ts)return a.ts-b.ts;if(a.ph==='M'||a.ph==='I'){return-1;}else if(b.ph==='M'||b.ph==='I'){return 1;} 5767return 0;});const length=this.v8SamplingData_.length;for(let i=0;i<length;++i){const event=this.v8SamplingData_[i];if(event.ph==='M'||event.ph==='I'){this.processJitCodeEvent(event);}else if(event.ph==='P'){if(event.name.startsWith('Profile')){this.processSample(event);}else{this.processLegacyV8Sample(event);}}}},importClockSyncMarkers(){if(this.events_ instanceof tr.b.TraceStream){const parser=oboe().node('{cat ph}',this.importClockSyncMarker_.bind(this));this.events_.rewind();while(this.events_.hasData){parser.write(this.events_.readNumBytes());} 5768parser.finish();}else{for(let i=0;i<this.events_.length;i++){this.importClockSyncMarker_(this.events_[i]);}}},importClockSyncMarker_(event){const isLegacyChromeClockSync=isLegacyChromeClockSyncEvent(event);if(event.ph!=='c'&&!isLegacyChromeClockSync)return;const eventSizeInBytes=this.model_.importOptions.trackDetailedModelStats?JSON.stringify(event).length:undefined;this.model_.stats.willProcessBasicTraceEvent('clock_sync',event.cat,event.name,event.ts,eventSizeInBytes);if(isLegacyChromeClockSync){this.processLegacyChromeClockSyncEvent(event);}else{this.processClockSyncEvent(event);}},importEvents(){this.hasEvents_=false;if(this.stackFrameEvents_){this.importStackFrames_(this.stackFrameEvents_,'g');} 5769if(this.traceAnnotations_)this.importAnnotations_();if(this.events_ instanceof tr.b.TraceStream){const parser=oboe().node('{cat ph}',this.processEvent_.bind(this));this.events_.rewind();while(this.events_.hasData){parser.write(this.events_.readNumBytes());} 5770parser.finish();}else{for(let eI=0;eI<this.events_.length;eI++){this.processEvent_(this.events_[eI]);}} 5771this.processV8Events();for(const frame of Object.values(this.v8ProcessRootStackFrame_)){frame.removeAllChildren();}},storeSubtrace_(subtrace){this.subtraces_.push(subtrace);return oboe.drop;},storeSamples_(samples){this.sampleEvents_=samples;return oboe.drop;},storeStackFrames_(stackFrames){this.stackFrameEvents_=stackFrames;return oboe.drop;},storeDisplayTimeUnit_(unitName){if(!unitName)return;const unit=tr.b.TimeDisplayModes[unitName];if(unit===undefined){throw new Error('Unit '+unitName+' is not supported.');} 5772this.model_.intrinsicTimeUnit=unit;return oboe.drop;},storeTraceAnnotations_(traceAnnotations){this.traceAnnotations_=traceAnnotations;return oboe.drop;},storeMetadata_(container){for(const fieldName of Object.keys(container)){if(NON_METADATA_FIELDS.has(fieldName))continue;this.model_.metadata.push({name:fieldName,value:container[fieldName]});if(fieldName!=='metadata')continue;const metadata=container[fieldName];if(metadata['highres-ticks']){this.model_.isTimeHighResolution=metadata['highres-ticks'];} 5773if(metadata['clock-domain']){this.clockDomainId_=metadata['clock-domain'];}} 5774return oboe.drop;},processEvent_(event){this.hasEvents_=true;const importOptions=this.model_.importOptions;const trackDetailedModelStats=importOptions.trackDetailedModelStats;const modelStats=this.model_.stats;if(event.args==='__stripped__'){event.argsStripped=true;event.args=undefined;} 5775let eventSizeInBytes=undefined;if(trackDetailedModelStats){eventSizeInBytes=JSON.stringify(event).length;} 5776switch(event.ph){case'B':case'E':modelStats.willProcessBasicTraceEvent('begin_end (non-compact)',event.cat,event.name,event.ts,eventSizeInBytes);this.processDurationEvent(event);break;case'X':{modelStats.willProcessBasicTraceEvent('begin_end (compact)',event.cat,event.name,event.ts,eventSizeInBytes);const slice=this.processCompleteEvent(event);if(slice!==undefined&&event.bind_id!==undefined){this.processFlowEvent(event,slice);} 5777break;} 5778case'b':case'e':case'n':case'S':case'F':case'T':case'p':modelStats.willProcessBasicTraceEvent('async',event.cat,event.name,event.ts,eventSizeInBytes);this.processAsyncEvent(event);break;case'I':case'i':case'R':modelStats.willProcessBasicTraceEvent('instant',event.cat,event.name,event.ts,eventSizeInBytes);this.processInstantEvent(event);break;case'P':modelStats.willProcessBasicTraceEvent('samples',event.cat,event.name,event.ts,eventSizeInBytes);this.processTraceSampleEvent(event);break;case'C':modelStats.willProcessBasicTraceEvent('counters',event.cat,event.name,event.ts,eventSizeInBytes);this.processCounterEvent(event);break;case'M':modelStats.willProcessBasicTraceEvent('metadata',event.cat,event.name,event.ts,eventSizeInBytes);this.processMetadataEvent(event);break;case'N':case'D':case'O':modelStats.willProcessBasicTraceEvent('objects',event.cat,event.name,event.ts,eventSizeInBytes);this.processObjectEvent(event);break;case's':case't':case'f':modelStats.willProcessBasicTraceEvent('flows',event.cat,event.name,event.ts,eventSizeInBytes);this.processFlowEvent(event);break;case'v':modelStats.willProcessBasicTraceEvent('memory_dumps',event.cat,event.name,event.ts,eventSizeInBytes);this.processMemoryDumpEvent(event);break;case'(':case')':this.processContextEvent(event);break;case'c':break;default:modelStats.willProcessBasicTraceEvent('unknown',event.cat,event.name,event.ts,eventSizeInBytes);this.model_.importWarning({type:'parse_error',message:'Unrecognized event phase: '+ 5779event.ph+' ('+event.name+')'});} 5780return oboe.drop;},importStackFrames_(rawStackFrames,idPrefix){const model=this.model_;for(const id in rawStackFrames){const rawStackFrame=rawStackFrames[id];const fullId=idPrefix+id;const textForColor=rawStackFrame.category?rawStackFrame.category:rawStackFrame.name;const stackFrame=new tr.model.StackFrame(undefined,fullId,rawStackFrame.name,ColorScheme.getColorIdForGeneralPurposeString(textForColor));model.addStackFrame(stackFrame);} 5781for(const id in rawStackFrames){const fullId=idPrefix+id;const stackFrame=model.stackFrames[fullId];if(stackFrame===undefined){throw new Error('Internal error');} 5782const rawStackFrame=rawStackFrames[id];const parentId=rawStackFrame.parent;let parentStackFrame;if(parentId===undefined){parentStackFrame=undefined;}else{const parentFullId=idPrefix+parentId;parentStackFrame=model.stackFrames[parentFullId];if(parentStackFrame===undefined){this.model_.importWarning({type:'metadata_parse_error',message:'Missing parent frame with ID '+parentFullId+' for stack frame \''+stackFrame.name+'\' (ID '+fullId+').'});}} 5783stackFrame.parentFrame=parentStackFrame;} 5784const ProfileNodeType=tr.model.ProfileNode.subTypes.getConstructor(undefined,'legacySample');if(idPrefix==='g'){for(const id in rawStackFrames){const rawStackFrame=rawStackFrames[id];const textForColor=rawStackFrame.category?rawStackFrame.category:rawStackFrame.name;const node=this.stackFrameTree_.add(new ProfileNodeType('g'+id,{functionName:rawStackFrame.name},undefined));node.colorId=ColorScheme.getColorIdForGeneralPurposeString(textForColor);node.parentId=rawStackFrame.parent;} 5785for(const id in rawStackFrames){const node=this.stackFrameTree_.getNode('g'+id);const parentId=node.parentId;let parentNode=undefined;if(parentId!==undefined){parentNode=this.stackFrameTree_.getNode('g'+parentId);if(parentNode===undefined){this.model_.importWarning({type:'metadata_parse_error',message:'Missing parent frame with ID '+parentId+' for stack frame \''+node.name+'\' (ID '+node.id+').'});} 5786node.parentNode=parentNode;}}}},importObjectTypeNameMap_(rawObjectTypeNameMap,pid){if(pid in this.objectTypeNameMap_){this.model_.importWarning({type:'metadata_parse_error',message:'Mapping from object type IDs to names provided for pid='+ 5787pid+' multiple times.'});return;} 5788let objectTypeNamePrefix=undefined;let objectTypeNameSuffix=undefined;const objectTypeNameMap={};for(const objectTypeId in rawObjectTypeNameMap){const rawObjectTypeName=rawObjectTypeNameMap[objectTypeId];if(objectTypeNamePrefix===undefined){for(let i=0;i<OBJECT_TYPE_NAME_PATTERNS.length;i++){const pattern=OBJECT_TYPE_NAME_PATTERNS[i];if(rawObjectTypeName.startsWith(pattern.prefix)&&rawObjectTypeName.endsWith(pattern.suffix)){objectTypeNamePrefix=pattern.prefix;objectTypeNameSuffix=pattern.suffix;break;}}} 5789if(objectTypeNamePrefix!==undefined&&rawObjectTypeName.startsWith(objectTypeNamePrefix)&&rawObjectTypeName.endsWith(objectTypeNameSuffix)){objectTypeNameMap[objectTypeId]=rawObjectTypeName.substring(objectTypeNamePrefix.length,rawObjectTypeName.length-objectTypeNameSuffix.length);}else{objectTypeNameMap[objectTypeId]=rawObjectTypeName;}} 5790this.objectTypeNameMap_[pid]=objectTypeNameMap;},importAnnotations_(){for(const id in this.traceAnnotations_){const annotation=tr.model.Annotation.fromDictIfPossible(this.traceAnnotations_[id]);if(!annotation){this.model_.importWarning({type:'annotation_warning',message:'Unrecognized traceAnnotation typeName \"'+ 5791this.traceAnnotations_[id].typeName+'\"'});continue;} 5792this.model_.addAnnotation(annotation);}},finalizeImport(){if(this.softwareMeasuredCpuCount_!==undefined){this.model_.kernel.softwareMeasuredCpuCount=this.softwareMeasuredCpuCount_;} 5793this.createAsyncSlices_();this.createFlowSlices_();this.createExplicitObjects_();this.createImplicitObjects_();this.createMemoryDumps_();},getStackFrameForEvent_(event,opt_lookForEndEvent){let sf;let stack;if(opt_lookForEndEvent){sf=event.esf;stack=event.estack;}else{sf=event.sf;stack=event.stack;} 5794if(stack!==undefined&&sf!==undefined){this.model_.importWarning({type:'stack_frame_and_stack_error',message:'Event at '+event.ts+' cannot have both a stack and a stackframe.'});return undefined;} 5795if(stack!==undefined){return this.model_.resolveStackToStackFrame_(event.pid,stack);} 5796if(sf===undefined)return undefined;const stackFrame=this.model_.stackFrames['g'+sf];if(stackFrame===undefined){this.model_.importWarning({type:'sample_import_error',message:'No frame for '+sf});return;} 5797return stackFrame;},resolveStackToStackFrame_(pid,stack){return undefined;},importSampleData(){if(!this.sampleEvents_)return;const m=this.model_;const events=this.sampleEvents_;if(this.hasEvents_===undefined){throw new Error('importEvents is not run before importSampleData');}else if(!this.hasEvents_){for(let i=0;i<events.length;i++){const event=events[i];m.getOrCreateProcess(event.tid).getOrCreateThread(event.tid);}} 5798const threadsByTid={};m.getAllThreads().forEach(function(t){threadsByTid[t.tid]=t;});for(let i=0;i<events.length;i++){const event=events[i];const thread=threadsByTid[event.tid];if(thread===undefined){m.importWarning({type:'sample_import_error',message:'Thread '+events.tid+'not found'});continue;} 5799let cpu;if(event.cpu!==undefined){cpu=m.kernel.getOrCreateCpu(event.cpu);} 5800const leafNode=this.stackFrameTree_.getNode('g'+event.sf);const sample=new tr.model.Sample(this.toModelTimeFromUs_(event.ts),event.name,leafNode,thread,cpu,event.weight);m.samples.push(sample);}},createAsyncSlices_(){if(this.allAsyncEvents_.length===0)return;this.allAsyncEvents_.sort(function(x,y){const d=x.event.ts-y.event.ts;if(d!==0)return d;return x.sequenceNumber-y.sequenceNumber;});const legacyEvents=[];const nestableAsyncEventsByKey={};const nestableMeasureAsyncEventsByKey={};for(let i=0;i<this.allAsyncEvents_.length;i++){const asyncEventState=this.allAsyncEvents_[i];const event=asyncEventState.event;if(event.ph==='S'||event.ph==='F'||event.ph==='T'||event.ph==='p'){legacyEvents.push(asyncEventState);continue;} 5801if(event.cat===undefined){this.model_.importWarning({type:'async_slice_parse_error',message:'Nestable async events (ph: b, e, or n) require a '+'cat parameter.'});continue;} 5802if(event.name===undefined){this.model_.importWarning({type:'async_slice_parse_error',message:'Nestable async events (ph: b, e, or n) require a '+'name parameter.'});continue;} 5803const id=TraceEventImporter.scopedIdForEvent_(event);if(id===undefined){this.model_.importWarning({type:'async_slice_parse_error',message:'Nestable async events (ph: b, e, or n) require an '+'id parameter.'});continue;} 5804if(event.cat==='blink.user_timing'){const matched=/([^\/:]+):([^\/:]+)\/?(.*)/.exec(event.name);if(matched!==null){const key=matched[1]+':'+event.cat;event.args=JSON.parse(Base64.atob(matched[3])||'{}');if(nestableMeasureAsyncEventsByKey[key]===undefined){nestableMeasureAsyncEventsByKey[key]=[];} 5805nestableMeasureAsyncEventsByKey[key].push(asyncEventState);continue;}} 5806const key=event.cat+':'+id.toStringWithDelimiter(':');if(nestableAsyncEventsByKey[key]===undefined){nestableAsyncEventsByKey[key]=[];} 5807nestableAsyncEventsByKey[key].push(asyncEventState);} 5808this.createLegacyAsyncSlices_(legacyEvents);this.createNestableAsyncSlices_(nestableMeasureAsyncEventsByKey);this.createNestableAsyncSlices_(nestableAsyncEventsByKey);},createLegacyAsyncSlices_(legacyEvents){if(legacyEvents.length===0)return;legacyEvents.sort(function(x,y){const d=x.event.ts-y.event.ts;if(d!==0)return d;return x.sequenceNumber-y.sequenceNumber;});const asyncEventStatesByNameThenID={};for(let i=0;i<legacyEvents.length;i++){const asyncEventState=legacyEvents[i];const event=asyncEventState.event;const name=event.name;if(name===undefined){this.model_.importWarning({type:'async_slice_parse_error',message:'Async events (ph: S, T, p, or F) require a name '+' parameter.'});continue;} 5809const id=TraceEventImporter.scopedIdForEvent_(event);if(id===undefined){this.model_.importWarning({type:'async_slice_parse_error',message:'Async events (ph: S, T, p, or F) require an id parameter.'});continue;} 5810const key=id.toStringWithDelimiter(':');if(event.ph==='S'){if(asyncEventStatesByNameThenID[name]===undefined){asyncEventStatesByNameThenID[name]={};} 5811if(asyncEventStatesByNameThenID[name][key]){this.model_.importWarning({type:'async_slice_parse_error',message:'At '+event.ts+', a slice of the same id '+id+' was alrady open.'});continue;} 5812asyncEventStatesByNameThenID[name][key]=[];asyncEventStatesByNameThenID[name][key].push(asyncEventState);}else{if(asyncEventStatesByNameThenID[name]===undefined){this.model_.importWarning({type:'async_slice_parse_error',message:'At '+event.ts+', no slice named '+name+' was open.'});continue;} 5813if(asyncEventStatesByNameThenID[name][key]===undefined){this.model_.importWarning({type:'async_slice_parse_error',message:'At '+event.ts+', no slice named '+name+' with id='+id+' was open.'});continue;} 5814const events=asyncEventStatesByNameThenID[name][key];events.push(asyncEventState);if(event.ph==='F'){const asyncSliceConstructor=tr.model.AsyncSlice.subTypes.getConstructor(events[0].event.cat,name);const slice=new asyncSliceConstructor(events[0].event.cat,name,getEventColor(events[0].event),this.toModelTimeFromUs_(events[0].event.ts),tr.b.concatenateObjects(events[0].event.args,events[events.length-1].event.args),this.toModelTimeFromUs_(event.ts-events[0].event.ts),true,undefined,undefined,events[0].event.argsStripped);slice.startThread=events[0].thread;slice.endThread=asyncEventState.thread;slice.id=key;const stepType=events[1].event.ph;let isValid=true;for(let j=1;j<events.length-1;++j){if(events[j].event.ph==='T'||events[j].event.ph==='p'){isValid=this.assertStepTypeMatches_(stepType,events[j]);if(!isValid)break;} 5815if(events[j].event.ph==='S'){this.model_.importWarning({type:'async_slice_parse_error',message:'At '+events[j].event.ts+', a slice named '+ 5816name+' with id='+id+' had a step before the start event.'});continue;} 5817if(events[j].event.ph==='F'){this.model_.importWarning({type:'async_slice_parse_error',message:'At '+events[j].event.ts+', a slice named '+ 5818name+' with id='+id+' had a step after the finish event.'});continue;} 5819const startIndex=j+(stepType==='T'?0:-1);const endIndex=startIndex+1;let subName=name;if(!events[j].event.argsStripped&&(events[j].event.ph==='T'||events[j].event.ph==='p')){subName=subName+':'+events[j].event.args.step;} 5820const asyncSliceConstructor=tr.model.AsyncSlice.subTypes.getConstructor(events[0].event.cat,subName);const subSlice=new asyncSliceConstructor(events[0].event.cat,subName,getEventColor(event,subName+j),this.toModelTimeFromUs_(events[startIndex].event.ts),this.deepCopyIfNeeded_(events[j].event.args),this.toModelTimeFromUs_(events[endIndex].event.ts-events[startIndex].event.ts),undefined,undefined,events[startIndex].event.argsStripped);subSlice.startThread=events[startIndex].thread;subSlice.endThread=events[endIndex].thread;subSlice.id=key;slice.subSlices.push(subSlice);} 5821if(isValid){slice.startThread.asyncSliceGroup.push(slice);} 5822delete asyncEventStatesByNameThenID[name][key];}}}},createNestableAsyncSlices_(nestableEventsByKey){for(const key in nestableEventsByKey){const eventStateEntries=nestableEventsByKey[key];const parentStack=[];for(let i=0;i<eventStateEntries.length;++i){const eventStateEntry=eventStateEntries[i];if(eventStateEntry.event.ph==='e'){let parentIndex=-1;for(let k=parentStack.length-1;k>=0;--k){if(parentStack[k].event.name===eventStateEntry.event.name){parentIndex=k;break;}} 5823if(parentIndex===-1){eventStateEntry.finished=false;}else{parentStack[parentIndex].end=eventStateEntry;while(parentIndex<parentStack.length){parentStack.pop();}}} 5824if(parentStack.length>0){eventStateEntry.parentEntry=parentStack[parentStack.length-1];} 5825if(eventStateEntry.event.ph==='b'){parentStack.push(eventStateEntry);}} 5826const topLevelSlices=[];for(let i=0;i<eventStateEntries.length;++i){const eventStateEntry=eventStateEntries[i];if(eventStateEntry.event.ph==='e'&&eventStateEntry.finished===undefined){continue;} 5827let startState=undefined;let endState=undefined;let sliceArgs=eventStateEntry.event.args||{};let sliceError=undefined;const id=TraceEventImporter.scopedIdForEvent_(eventStateEntry.event);if(eventStateEntry.event.ph==='n'){startState=eventStateEntry;endState=eventStateEntry;}else if(eventStateEntry.event.ph==='b'){if(eventStateEntry.end===undefined){eventStateEntry.end=eventStateEntries[eventStateEntries.length-1];sliceError='Slice has no matching END. End time has been adjusted.';this.model_.importWarning({type:'async_slice_parse_error',message:'Nestable async BEGIN event at '+ 5828eventStateEntry.event.ts+' with name='+ 5829eventStateEntry.event.name+' and id='+id+' was unmatched.'});}else{function concatenateArguments(args1,args2){if(args1.params===undefined||args2.params===undefined){return tr.b.concatenateObjects(args1,args2);} 5830const args3={};args3.params=tr.b.concatenateObjects(args1.params,args2.params);return tr.b.concatenateObjects(args1,args2,args3);} 5831const endArgs=eventStateEntry.end.event.args||{};sliceArgs=concatenateArguments(sliceArgs,endArgs);} 5832startState=eventStateEntry;endState=eventStateEntry.end;}else{sliceError='Slice has no matching BEGIN. Start time has been adjusted.';this.model_.importWarning({type:'async_slice_parse_error',message:'Nestable async END event at '+ 5833eventStateEntry.event.ts+' with name='+ 5834eventStateEntry.event.name+' and id='+id+' was unmatched.'});startState=eventStateEntries[0];endState=eventStateEntry;} 5835const isTopLevel=(eventStateEntry.parentEntry===undefined);const asyncSliceConstructor=tr.model.AsyncSlice.subTypes.getConstructor(eventStateEntry.event.cat,eventStateEntry.event.name);let threadStart=undefined;let threadDuration=undefined;if(startState.event.tts&&startState.event.use_async_tts){threadStart=this.toModelTimeFromUs_(startState.event.tts);if(endState.event.tts){const threadEnd=this.toModelTimeFromUs_(endState.event.tts);threadDuration=threadEnd-threadStart;}} 5836const slice=new asyncSliceConstructor(eventStateEntry.event.cat,eventStateEntry.event.name,getEventColor(endState.event),this.toModelTimeFromUs_(startState.event.ts),sliceArgs,this.toModelTimeFromUs_(endState.event.ts-startState.event.ts),isTopLevel,threadStart,threadDuration,startState.event.argsStripped);slice.startThread=startState.thread;slice.endThread=endState.thread;slice.startStackFrame=this.getStackFrameForEvent_(startState.event);slice.endStackFrame=this.getStackFrameForEvent_(endState.event);slice.id=key;if(sliceError!==undefined){slice.error=sliceError;} 5837eventStateEntry.slice=slice;if(isTopLevel){topLevelSlices.push(slice);}else if(eventStateEntry.parentEntry.slice!==undefined){eventStateEntry.parentEntry.slice.subSlices.push(slice);}} 5838for(let si=0;si<topLevelSlices.length;si++){topLevelSlices[si].startThread.asyncSliceGroup.push(topLevelSlices[si]);}}},assertStepTypeMatches_(stepType,event){if(stepType!==event.event.ph){this.model_.importWarning({type:'async_slice_parse_error',message:'At '+event.event.ts+', a slice named '+ 5839event.event.name+' with id='+ 5840TraceEventImporter.scopedIdForEvent_(event.event)+' had both begin and end steps, which is not allowed.'});return false;} 5841return true;},validateFlowEvent_(event){if(event.name===undefined){this.model_.importWarning({type:'flow_slice_parse_error',message:'Flow events (ph: s, t or f) require a name parameter.'});return false;} 5842if(event.ph==='s'||event.ph==='f'||event.ph==='t'){if(event.id===undefined){this.model_.importWarning({type:'flow_slice_parse_error',message:'Flow events (ph: s, t or f) require an id parameter.'});return false;} 5843return true;} 5844if(event.bind_id){if(event.flow_in===undefined&&event.flow_out===undefined){this.model_.importWarning({type:'flow_slice_parse_error',message:'Flow producer or consumer require flow_in or flow_out.'});return false;} 5845return true;} 5846return false;},createFlowSlices_(){if(this.allFlowEvents_.length===0)return;const createFlowEvent=function(thread,event,opt_slice){let startSlice;let flowId;let flowStartTs;if(event.bind_id){startSlice=opt_slice;flowId=event.bind_id;flowStartTs=this.toModelTimeFromUs_(event.ts+event.dur);}else{const ts=this.toModelTimeFromUs_(event.ts);startSlice=thread.sliceGroup.findSliceAtTs(ts);if(startSlice===undefined)return undefined;flowId=event.id;flowStartTs=ts;} 5847const flowEvent=new tr.model.FlowEvent(event.cat,flowId,event.name,getEventColor(event),flowStartTs,this.deepCopyAlways_(event.args));flowEvent.startSlice=startSlice;flowEvent.startStackFrame=this.getStackFrameForEvent_(event);flowEvent.endStackFrame=undefined;startSlice.outFlowEvents.push(flowEvent);return flowEvent;}.bind(this);const finishFlowEventWith=function(flowEvent,thread,event,refGuid,bindToParent,opt_slice){let endSlice;if(event.bind_id){endSlice=opt_slice;}else{const ts=this.toModelTimeFromUs_(event.ts);if(bindToParent){endSlice=thread.sliceGroup.findSliceAtTs(ts);}else{endSlice=thread.sliceGroup.findNextSliceAfter(ts,refGuid);} 5848if(endSlice===undefined)return false;} 5849endSlice.inFlowEvents.push(flowEvent);flowEvent.endSlice=endSlice;flowEvent.duration=this.toModelTimeFromUs_(event.ts)-flowEvent.start;flowEvent.endStackFrame=this.getStackFrameForEvent_(event);this.mergeArgsInto_(flowEvent.args,event.args,flowEvent.title);return true;}.bind(this);const processFlowConsumer=function(flowIdToEvent,sliceGuidToEvent,event,slice){let flowEvent=flowIdToEvent[event.bind_id];if(flowEvent===undefined){this.model_.importWarning({type:'flow_slice_ordering_error',message:'Flow consumer '+event.bind_id+' does not have '+'a flow producer'});return false;}else if(flowEvent.endSlice){const flowProducer=flowEvent.startSlice;flowEvent=createFlowEvent(undefined,sliceGuidToEvent[flowProducer.guid],flowProducer);} 5850const refGuid=undefined;const ok=finishFlowEventWith(flowEvent,undefined,event,refGuid,undefined,slice);if(ok){this.model_.flowEvents.push(flowEvent);}else{this.model_.importWarning({type:'flow_slice_end_error',message:'Flow consumer '+event.bind_id+' does not end '+'at an actual slice, so cannot be created.'});return false;} 5851return true;}.bind(this);const processFlowProducer=function(flowIdToEvent,flowStatus,event,slice){if(flowIdToEvent[event.bind_id]&&flowStatus[event.bind_id]){this.model_.importWarning({type:'flow_slice_start_error',message:'Flow producer '+event.bind_id+' already seen'});return false;} 5852const flowEvent=createFlowEvent(undefined,event,slice);if(!flowEvent){this.model_.importWarning({type:'flow_slice_start_error',message:'Flow producer '+event.bind_id+' does not start'+'a flow'});return false;} 5853flowIdToEvent[event.bind_id]=flowEvent;}.bind(this);this.allFlowEvents_.sort(function(x,y){const d=x.event.ts-y.event.ts;if(d!==0)return d;return x.sequenceNumber-y.sequenceNumber;});const flowIdToEvent={};const sliceGuidToEvent={};const flowStatus={};for(let i=0;i<this.allFlowEvents_.length;++i){const data=this.allFlowEvents_[i];const refGuid=data.refGuid;const event=data.event;const thread=data.thread;if(!this.validateFlowEvent_(event))continue;if(event.bind_id){const slice=data.slice;sliceGuidToEvent[slice.guid]=event;if(event.flowPhase===PRODUCER){if(!processFlowProducer(flowIdToEvent,flowStatus,event,slice)){continue;} 5854flowStatus[event.bind_id]=true;}else{if(!processFlowConsumer(flowIdToEvent,sliceGuidToEvent,event,slice)){continue;} 5855flowStatus[event.bind_id]=false;if(event.flowPhase===STEP){if(!processFlowProducer(flowIdToEvent,flowStatus,event,slice)){continue;} 5856flowStatus[event.bind_id]=true;}} 5857continue;} 5858let flowEvent;if(event.ph==='s'){if(flowIdToEvent[event.id]){this.model_.importWarning({type:'flow_slice_start_error',message:'event id '+event.id+' already seen when '+'encountering start of flow event.'});continue;} 5859flowEvent=createFlowEvent(thread,event);if(!flowEvent){this.model_.importWarning({type:'flow_slice_start_error',message:'event id '+event.id+' does not start '+'at an actual slice, so cannot be created.'});continue;} 5860flowIdToEvent[event.id]=flowEvent;}else if(event.ph==='t'||event.ph==='f'){flowEvent=flowIdToEvent[event.id];if(flowEvent===undefined){this.model_.importWarning({type:'flow_slice_ordering_error',message:'Found flow phase '+event.ph+' for id: '+event.id+' but no flow start found.'});continue;} 5861let bindToParent=event.ph==='t';if(event.ph==='f'){if(event.bp===undefined){if(event.cat.indexOf('input')>-1){bindToParent=true;}else if(event.cat.indexOf('ipc.flow')>-1){bindToParent=true;}}else{if(event.bp!=='e'){this.model_.importWarning({type:'flow_slice_bind_point_error',message:'Flow event with invalid binding point (event.bp).'});continue;} 5862bindToParent=true;}} 5863const ok=finishFlowEventWith(flowEvent,thread,event,refGuid,bindToParent);if(ok){this.model_.flowEvents.push(flowEvent);}else{this.model_.importWarning({type:'flow_slice_end_error',message:'event id '+event.id+' does not end '+'at an actual slice, so cannot be created.'});} 5864flowIdToEvent[event.id]=undefined;if(ok&&event.ph==='t'){flowEvent=createFlowEvent(thread,event);flowIdToEvent[event.id]=flowEvent;}}}},createExplicitObjects_(){if(this.allObjectEvents_.length===0)return;const processEvent=function(objectEventState){const event=objectEventState.event;const scopedId=TraceEventImporter.scopedIdForEvent_(event);const thread=objectEventState.thread;if(event.name===undefined){this.model_.importWarning({type:'object_parse_error',message:'While processing '+JSON.stringify(event)+': '+'Object events require an name parameter.'});} 5865if(scopedId===undefined||scopedId.id===undefined){this.model_.importWarning({type:'object_parse_error',message:'While processing '+JSON.stringify(event)+': '+'Object events require an id parameter.'});} 5866const process=thread.parent;const ts=this.toModelTimeFromUs_(event.ts);let instance;if(event.ph==='N'){try{instance=process.objects.idWasCreated(scopedId,event.cat,event.name,ts);}catch(e){this.model_.importWarning({type:'object_parse_error',message:'While processing create of '+ 5867scopedId+' at ts='+ts+': '+e});return;}}else if(event.ph==='O'){if(event.args.snapshot===undefined){this.model_.importWarning({type:'object_parse_error',message:'While processing '+scopedId+' at ts='+ts+': '+'Snapshots must have args: {snapshot: ...}'});return;} 5868let snapshot;try{const args=this.deepCopyIfNeeded_(event.args.snapshot);let cat;if(args.cat){cat=args.cat;delete args.cat;}else{cat=event.cat;} 5869let baseTypename;if(args.base_type){baseTypename=args.base_type;delete args.base_type;}else{baseTypename=undefined;} 5870snapshot=process.objects.addSnapshot(scopedId,cat,event.name,ts,args,baseTypename);snapshot.snapshottedOnThread=thread;}catch(e){this.model_.importWarning({type:'object_parse_error',message:'While processing snapshot of '+ 5871scopedId+' at ts='+ts+': '+e});return;} 5872instance=snapshot.objectInstance;}else if(event.ph==='D'){try{process.objects.idWasDeleted(scopedId,event.cat,event.name,ts);const instanceMap=process.objects.getOrCreateInstanceMap_(scopedId);instance=instanceMap.lastInstance;}catch(e){this.model_.importWarning({type:'object_parse_error',message:'While processing delete of '+ 5873scopedId+' at ts='+ts+': '+e});return;}} 5874if(instance){instance.colorId=getEventColor(event,instance.typeName);}}.bind(this);this.allObjectEvents_.sort(function(x,y){const d=x.event.ts-y.event.ts;if(d!==0)return d;return x.sequenceNumber-y.sequenceNumber;});const allObjectEvents=this.allObjectEvents_;for(let i=0;i<allObjectEvents.length;i++){const objectEventState=allObjectEvents[i];try{processEvent.call(this,objectEventState);}catch(e){this.model_.importWarning({type:'object_parse_error',message:e.message});}}},createImplicitObjects_(){for(const proc of Object.values(this.model_.processes)){this.createImplicitObjectsForProcess_(proc);}},createImplicitObjectsForProcess_(process){function processField(referencingObject,referencingObjectFieldName,referencingObjectFieldValue,containingSnapshot){if(!referencingObjectFieldValue)return;if(referencingObjectFieldValue instanceof 5875tr.model.ObjectSnapshot){return null;} 5876if(referencingObjectFieldValue.id===undefined)return;const implicitSnapshot=referencingObjectFieldValue;const rawId=implicitSnapshot.id;const m=/(.+)\/(.+)/.exec(rawId);if(!m){throw new Error('Implicit snapshots must have names.');} 5877delete implicitSnapshot.id;const name=m[1];const id=m[2];let res;let cat;if(implicitSnapshot.cat!==undefined){cat=implicitSnapshot.cat;}else{cat=containingSnapshot.objectInstance.category;} 5878let baseTypename;if(implicitSnapshot.base_type){baseTypename=implicitSnapshot.base_type;}else{baseTypename=undefined;} 5879const scope=containingSnapshot.objectInstance.scopedId.scope;try{res=process.objects.addSnapshot(new tr.model.ScopedId(scope,id),cat,name,containingSnapshot.ts,implicitSnapshot,baseTypename);}catch(e){this.model_.importWarning({type:'object_snapshot_parse_error',message:'While processing implicit snapshot of '+ 5880rawId+' at ts='+containingSnapshot.ts+': '+e});return;} 5881res.objectInstance.hasImplicitSnapshots=true;res.containingSnapshot=containingSnapshot;res.snapshottedOnThread=containingSnapshot.snapshottedOnThread;referencingObject[referencingObjectFieldName]=res;if(!(res instanceof tr.model.ObjectSnapshot)){throw new Error('Created object must be instanceof snapshot');} 5882return res.args;} 5883function iterObject(object,func,containingSnapshot,thisArg){if(!(object instanceof Object))return;if(object instanceof Array){for(let i=0;i<object.length;i++){const res=func.call(thisArg,object,i,object[i],containingSnapshot);if(res===null)continue;if(res){iterObject(res,func,containingSnapshot,thisArg);}else{iterObject(object[i],func,containingSnapshot,thisArg);}} 5884return;} 5885for(const key in object){const res=func.call(thisArg,object,key,object[key],containingSnapshot);if(res===null)continue;if(res){iterObject(res,func,containingSnapshot,thisArg);}else{iterObject(object[key],func,containingSnapshot,thisArg);}}} 5886process.objects.iterObjectInstances(function(instance){instance.snapshots.forEach(function(snapshot){if(snapshot.args.id!==undefined){throw new Error('args cannot have an id field inside it');} 5887iterObject(snapshot.args,processField,snapshot,this);},this);},this);},createMemoryDumps_(){for(const dumpId in this.allMemoryDumpEvents_){this.createGlobalMemoryDump_(this.allMemoryDumpEvents_[dumpId],dumpId);}},createGlobalMemoryDump_(dumpIdEvents,dumpId){const globalRange=new tr.b.math.Range();for(const pid in dumpIdEvents){const processEvents=dumpIdEvents[pid];for(let i=0;i<processEvents.length;i++){globalRange.addValue(this.toModelTimeFromUs_(processEvents[i].ts));}} 5888if(globalRange.isEmpty){throw new Error('Internal error: Global memory dump without events');} 5889const globalMemoryDump=new tr.model.GlobalMemoryDump(this.model_,globalRange.min);globalMemoryDump.duration=globalRange.range;this.model_.globalMemoryDumps.push(globalMemoryDump);const globalMemoryAllocatorDumpsByFullName={};const levelsOfDetail={};const allMemoryAllocatorDumpsByGuid={};for(const pid in dumpIdEvents){this.createProcessMemoryDump_(globalMemoryDump,globalMemoryAllocatorDumpsByFullName,levelsOfDetail,allMemoryAllocatorDumpsByGuid,dumpIdEvents[pid],pid,dumpId);} 5890globalMemoryDump.levelOfDetail=levelsOfDetail.global;globalMemoryDump.memoryAllocatorDumps=this.inferMemoryAllocatorDumpTree_(globalMemoryAllocatorDumpsByFullName);this.parseMemoryDumpAllocatorEdges_(allMemoryAllocatorDumpsByGuid,dumpIdEvents,dumpId);},createProcessMemoryDump_(globalMemoryDump,globalMemoryAllocatorDumpsByFullName,levelsOfDetail,allMemoryAllocatorDumpsByGuid,processEvents,pid,dumpId){const processRange=new tr.b.math.Range();for(let i=0;i<processEvents.length;i++){processRange.addValue(this.toModelTimeFromUs_(processEvents[i].ts));} 5891if(processRange.isEmpty){throw new Error('Internal error: Process memory dump without events');} 5892const process=this.model_.getOrCreateProcess(pid);const processMemoryDump=new tr.model.ProcessMemoryDump(globalMemoryDump,process,processRange.min);processMemoryDump.duration=processRange.range;process.memoryDumps.push(processMemoryDump);globalMemoryDump.processMemoryDumps[pid]=processMemoryDump;const processMemoryAllocatorDumpsByFullName={};for(let i=0;i<processEvents.length;i++){const processEvent=processEvents[i];const dumps=processEvent.args.dumps;if(dumps===undefined){this.model_.importWarning({type:'memory_dump_parse_error',message:'\'dumps\' field not found in a process memory dump'+' event for PID='+pid+' and dump ID='+dumpId+'.'});continue;} 5893this.parseMemoryDumpTotals_(processMemoryDump,dumps,pid,dumpId);this.parseMemoryDumpVmRegions_(processMemoryDump,dumps,pid,dumpId);this.parseMemoryDumpHeapDumps_(processMemoryDump,dumps,pid,dumpId);this.parseMemoryDumpLevelOfDetail_(levelsOfDetail,dumps,pid,dumpId);this.parseMemoryDumpAllocatorDumps_(processMemoryDump,globalMemoryDump,processMemoryAllocatorDumpsByFullName,globalMemoryAllocatorDumpsByFullName,allMemoryAllocatorDumpsByGuid,dumps,pid,dumpId);} 5894if(levelsOfDetail.process===undefined){levelsOfDetail.process=processMemoryDump.vmRegions?DETAILED:LIGHT;} 5895if(!this.updateMemoryDumpLevelOfDetail_(levelsOfDetail,'global',levelsOfDetail.process)){this.model_.importWarning({type:'memory_dump_parse_error',message:'diffent levels of detail provided for global memory'+' dump (dump ID='+dumpId+').'});} 5896processMemoryDump.levelOfDetail=levelsOfDetail.process;delete levelsOfDetail.process;processMemoryDump.memoryAllocatorDumps=this.inferMemoryAllocatorDumpTree_(processMemoryAllocatorDumpsByFullName);},parseMemoryDumpTotals_(processMemoryDump,dumps,pid,dumpId){const rawTotals=dumps.process_totals;if(rawTotals===undefined)return;if(processMemoryDump.totals!==undefined){this.model_.importWarning({type:'memory_dump_parse_error',message:'Process totals provided multiple times for'+' process memory dump for PID='+pid+' and dump ID='+dumpId+'.'});return;} 5897const totals={};let platformSpecificTotals=undefined;for(const rawTotalName in rawTotals){const rawTotalValue=rawTotals[rawTotalName];if(rawTotalValue===undefined)continue;if(rawTotalName==='resident_set_bytes'){totals.residentBytes=parseInt(rawTotalValue,16);continue;} 5898if(rawTotalName==='peak_resident_set_bytes'){totals.peakResidentBytes=parseInt(rawTotalValue,16);continue;} 5899if(rawTotalName==='is_peak_rss_resetable'){totals.arePeakResidentBytesResettable=!!rawTotalValue;continue;} 5900if(platformSpecificTotals===undefined){platformSpecificTotals={};totals.platformSpecific=platformSpecificTotals;} 5901platformSpecificTotals[rawTotalName]=parseInt(rawTotalValue,16);} 5902if(totals.peakResidentBytes===undefined&&totals.arePeakResidentBytesResettable!==undefined){this.model_.importWarning({type:'memory_dump_parse_error',message:'Optional field peak_resident_set_bytes found'+' but is_peak_rss_resetable not found in'+' process memory dump for PID='+pid+' and dump ID='+dumpId+'.'});} 5903if(totals.arePeakResidentBytesResettable!==undefined&&totals.peakResidentBytes===undefined){this.model_.importWarning({type:'memory_dump_parse_error',message:'Optional field is_peak_rss_resetable found'+' but peak_resident_set_bytes not found in'+' process memory dump for PID='+pid+' and dump ID='+dumpId+'.'});} 5904processMemoryDump.totals=totals;},parseMemoryDumpVmRegions_(processMemoryDump,dumps,pid,dumpId){const rawProcessMmaps=dumps.process_mmaps;if(rawProcessMmaps===undefined)return;const rawVmRegions=rawProcessMmaps.vm_regions;if(rawVmRegions===undefined)return;if(processMemoryDump.vmRegions!==undefined){this.model_.importWarning({type:'memory_dump_parse_error',message:'VM regions provided multiple times for'+' process memory dump for PID='+pid+' and dump ID='+dumpId+'.'});return;} 5905const vmRegions=new Array(rawVmRegions.length);for(let i=0;i<rawVmRegions.length;i++){const rawVmRegion=rawVmRegions[i];const byteStats={};const rawByteStats=rawVmRegion.bs;for(const rawByteStatName in rawByteStats){const rawByteStatValue=rawByteStats[rawByteStatName];if(rawByteStatValue===undefined){this.model_.importWarning({type:'memory_dump_parse_error',message:'Byte stat \''+rawByteStatName+'\' of VM region '+ 5906i+' ('+rawVmRegion.mf+') in process memory dump for '+'PID='+pid+' and dump ID='+dumpId+' does not have a value.'});continue;} 5907const byteStatName=BYTE_STAT_NAME_MAP[rawByteStatName];if(byteStatName===undefined){this.model_.importWarning({type:'memory_dump_parse_error',message:'Unknown byte stat name \''+rawByteStatName+'\' ('+ 5908rawByteStatValue+') of VM region '+i+' ('+ 5909rawVmRegion.mf+') in process memory dump for PID='+pid+' and dump ID='+dumpId+'.'});continue;} 5910byteStats[byteStatName]=parseInt(rawByteStatValue,16);if(byteStatName==='proportionalResident'&&byteStats[byteStatName]===0){byteStats[byteStatName]=undefined;}} 5911vmRegions[i]=new tr.model.VMRegion(parseInt(rawVmRegion.sa,16),parseInt(rawVmRegion.sz,16),rawVmRegion.pf,rawVmRegion.mf,byteStats);} 5912processMemoryDump.vmRegions=tr.model.VMRegionClassificationNode.fromRegions(vmRegions);},parseMemoryDumpHeapDumps_(processMemoryDump,dumps,pid,dumpId){const idPrefix='p'+pid+':';let importer;if(dumps.heaps){const processTypeMap=this.objectTypeNameMap_[pid];if(processTypeMap===undefined){this.model_.importWarning({type:'memory_dump_parse_error',message:'Missing mapping from object type IDs to names.'});} 5913importer=new LegacyHeapDumpTraceEventImporter(this.model_,processMemoryDump,processTypeMap,idPrefix,dumpId,dumps.heaps);}else if(dumps.heaps_v2){const data=dumps.heaps_v2;this.heapProfileExpander=this.heapProfileExpander.expandData(data);this.addNewStackFramesFromExpander_(this.heapProfileExpander,idPrefix);importer=new HeapDumpTraceEventImporter(this.heapProfileExpander,this.model_.stackFrames,processMemoryDump,idPrefix,this.model_);} 5914if(!importer)return;const heapDumps=importer.parse();if(!heapDumps)return;if(processMemoryDump.heapDumps!==undefined){this.model_.importWarning({type:'memory_dump_parse_error',message:'Heap dumps provided multiple times for'+' process memory dump for PID='+pid+' and dump ID='+dumpId+'.'});return;} 5915if(Object.keys(heapDumps).length>0){processMemoryDump.heapDumps=heapDumps;}},addNewStackFramesFromExpander_(expander,idPrefix){const nodeMap=expander.getNewMap('nodes');const newStackFrames={};for(const[id,stackFrame]of nodeMap.entries()){if(!this.model_.stackFrames[idPrefix+id]){newStackFrames[id]={id,name:expander.getString(stackFrame.name_sid),};if(stackFrame.parent)newStackFrames[id].parent=stackFrame.parent;}} 5916this.importStackFrames_(newStackFrames,idPrefix);},parseMemoryDumpLevelOfDetail_(levelsOfDetail,dumps,pid,dumpId){const rawLevelOfDetail=dumps.level_of_detail;let level;switch(rawLevelOfDetail){case'background':level=BACKGROUND;break;case'light':level=LIGHT;break;case'detailed':level=DETAILED;break;case undefined:level=undefined;break;default:this.model_.importWarning({type:'memory_dump_parse_error',message:'unknown raw level of detail \''+rawLevelOfDetail+'\' of process memory dump for PID='+pid+' and dump ID='+dumpId+'.'});return;} 5917if(!this.updateMemoryDumpLevelOfDetail_(levelsOfDetail,'process',level)){this.model_.importWarning({type:'memory_dump_parse_error',message:'diffent levels of detail provided for process memory'+' dump for PID='+pid+' (dump ID='+dumpId+').'});}},updateMemoryDumpLevelOfDetail_(levelsOfDetail,scope,level){if(!(scope in levelsOfDetail)||level===levelsOfDetail[scope]){levelsOfDetail[scope]=level;return true;} 5918if(MEMORY_DUMP_LEVEL_OF_DETAIL_ORDER.indexOf(level)>MEMORY_DUMP_LEVEL_OF_DETAIL_ORDER.indexOf(levelsOfDetail[scope])){levelsOfDetail[scope]=level;} 5919return false;},parseMemoryDumpAllocatorDumps_(processMemoryDump,globalMemoryDump,processMemoryAllocatorDumpsByFullName,globalMemoryAllocatorDumpsByFullName,allMemoryAllocatorDumpsByGuid,dumps,pid,dumpId){const rawAllocatorDumps=dumps.allocators;if(rawAllocatorDumps===undefined)return;for(let fullName in rawAllocatorDumps){const rawAllocatorDump=rawAllocatorDumps[fullName];const guid=rawAllocatorDump.guid;if(guid===undefined){this.model_.importWarning({type:'memory_dump_parse_error',message:'Memory allocator dump '+fullName+' for PID='+pid+' and dump ID='+dumpId+' does not have a GUID.'});} 5920const flags=rawAllocatorDump.flags||0;const isWeakDump=!!(flags&WEAK_MEMORY_ALLOCATOR_DUMP_FLAG);let containerMemoryDump;let dstIndex;if(fullName.startsWith(GLOBAL_MEMORY_ALLOCATOR_DUMP_PREFIX)){fullName=fullName.substring(GLOBAL_MEMORY_ALLOCATOR_DUMP_PREFIX.length);containerMemoryDump=globalMemoryDump;dstIndex=globalMemoryAllocatorDumpsByFullName;}else{containerMemoryDump=processMemoryDump;dstIndex=processMemoryAllocatorDumpsByFullName;} 5921let allocatorDump=allMemoryAllocatorDumpsByGuid[guid];if(allocatorDump===undefined){if(fullName in dstIndex){this.model_.importWarning({type:'memory_dump_parse_error',message:'Multiple GUIDs provided for'+' memory allocator dump '+fullName+': '+ 5922dstIndex[fullName].guid+', '+guid+' (ignored) for'+' PID='+pid+' and dump ID='+dumpId+'.'});continue;} 5923allocatorDump=new tr.model.MemoryAllocatorDump(containerMemoryDump,fullName,guid);allocatorDump.weak=isWeakDump;dstIndex[fullName]=allocatorDump;if(guid!==undefined){allMemoryAllocatorDumpsByGuid[guid]=allocatorDump;}}else{if(allocatorDump.containerMemoryDump!==containerMemoryDump){this.model_.importWarning({type:'memory_dump_parse_error',message:'Memory allocator dump '+fullName+' (GUID='+guid+') for PID='+pid+' and dump ID='+ 5924dumpId+' dumped in different contexts.'});continue;} 5925if(allocatorDump.fullName!==fullName){this.model_.importWarning({type:'memory_dump_parse_error',message:'Memory allocator dump with GUID='+guid+' for PID='+ 5926pid+' and dump ID='+dumpId+' has multiple names: '+ 5927allocatorDump.fullName+', '+fullName+' (ignored).'});continue;} 5928if(!isWeakDump){allocatorDump.weak=false;}} 5929let attributes=rawAllocatorDump.attrs;if(attributes===undefined){this.model_.importWarning({type:'memory_dump_parse_error',message:'Memory allocator dump '+fullName+' (GUID='+guid+') for PID='+pid+' and dump ID='+dumpId+' does not have attributes.'});attributes={};} 5930for(const attrName in attributes){const attrArgs=attributes[attrName];const attrType=attrArgs.type;const attrValue=attrArgs.value;switch(attrType){case'scalar':{if(attrName in allocatorDump.numerics){this.model_.importWarning({type:'memory_dump_parse_error',message:'Multiple values provided for scalar attribute '+ 5931attrName+' of memory allocator dump '+fullName+' (GUID='+guid+') for PID='+pid+' and dump ID='+ 5932dumpId+'.'});break;} 5933const unit=attrArgs.units==='bytes'?tr.b.Unit.byName.sizeInBytes_smallerIsBetter:tr.b.Unit.byName.unitlessNumber_smallerIsBetter;const value=parseInt(attrValue,16);allocatorDump.addNumeric(attrName,new tr.b.Scalar(unit,value));break;} 5934case'string':if(attrName in allocatorDump.diagnostics){this.model_.importWarning({type:'memory_dump_parse_error',message:'Multiple values provided for string attribute '+ 5935attrName+' of memory allocator dump '+fullName+' (GUID='+guid+') for PID='+pid+' and dump ID='+ 5936dumpId+'.'});break;} 5937allocatorDump.addDiagnostic(attrName,attrValue);break;default:this.model_.importWarning({type:'memory_dump_parse_error',message:'Unknown type provided for attribute '+attrName+' of memory allocator dump '+fullName+' (GUID='+guid+') for PID='+pid+' and dump ID='+dumpId+': '+ 5938attrType});break;}}}},inferMemoryAllocatorDumpTree_(memoryAllocatorDumpsByFullName){const rootAllocatorDumps=[];const fullNames=Object.keys(memoryAllocatorDumpsByFullName);fullNames.sort();for(let i=0;i<fullNames.length;i++){let fullName=fullNames[i];let allocatorDump=memoryAllocatorDumpsByFullName[fullName];while(true){const lastSlashIndex=fullName.lastIndexOf('/');if(lastSlashIndex===-1){rootAllocatorDumps.push(allocatorDump);break;} 5939const parentFullName=fullName.substring(0,lastSlashIndex);let parentAllocatorDump=memoryAllocatorDumpsByFullName[parentFullName];let parentAlreadyExisted=true;if(parentAllocatorDump===undefined){parentAlreadyExisted=false;parentAllocatorDump=new tr.model.MemoryAllocatorDump(allocatorDump.containerMemoryDump,parentFullName);if(allocatorDump.weak!==false){parentAllocatorDump.weak=undefined;} 5940memoryAllocatorDumpsByFullName[parentFullName]=parentAllocatorDump;} 5941allocatorDump.parent=parentAllocatorDump;parentAllocatorDump.children.push(allocatorDump);if(parentAlreadyExisted){if(!allocatorDump.weak){while(parentAllocatorDump!==undefined&&parentAllocatorDump.weak===undefined){parentAllocatorDump.weak=false;parentAllocatorDump=parentAllocatorDump.parent;}} 5942break;} 5943fullName=parentFullName;allocatorDump=parentAllocatorDump;}} 5944for(const fullName in memoryAllocatorDumpsByFullName){const allocatorDump=memoryAllocatorDumpsByFullName[fullName];if(allocatorDump.weak===undefined){allocatorDump.weak=true;}} 5945return rootAllocatorDumps;},parseMemoryDumpAllocatorEdges_(allMemoryAllocatorDumpsByGuid,dumpIdEvents,dumpId){for(const pid in dumpIdEvents){const processEvents=dumpIdEvents[pid];for(let i=0;i<processEvents.length;i++){const processEvent=processEvents[i];const dumps=processEvent.args.dumps;if(dumps===undefined)continue;const rawEdges=dumps.allocators_graph;if(rawEdges===undefined)continue;for(let j=0;j<rawEdges.length;j++){const rawEdge=rawEdges[j];const sourceGuid=rawEdge.source;const sourceDump=allMemoryAllocatorDumpsByGuid[sourceGuid];if(sourceDump===undefined){this.model_.importWarning({type:'memory_dump_parse_error',message:'Edge for PID='+pid+' and dump ID='+dumpId+' is missing source memory allocator dump (GUID='+ 5946sourceGuid+').'});continue;} 5947const targetGuid=rawEdge.target;const targetDump=allMemoryAllocatorDumpsByGuid[targetGuid];if(targetDump===undefined){this.model_.importWarning({type:'memory_dump_parse_error',message:'Edge for PID='+pid+' and dump ID='+dumpId+' is missing target memory allocator dump (GUID='+ 5948targetGuid+').'});continue;} 5949const importance=rawEdge.importance;const edge=new tr.model.MemoryAllocatorDumpLink(sourceDump,targetDump,importance);switch(rawEdge.type){case'ownership':if(sourceDump.owns!==undefined){this.model_.importWarning({type:'memory_dump_parse_error',message:'Memory allocator dump '+sourceDump.fullName+' (GUID='+sourceGuid+') already owns a memory'+' allocator dump ('+ 5950sourceDump.owns.target.fullName+').'});}else{sourceDump.owns=edge;targetDump.ownedBy.push(edge);} 5951break;case'retention':sourceDump.retains.push(edge);targetDump.retainedBy.push(edge);break;default:this.model_.importWarning({type:'memory_dump_parse_error',message:'Invalid edge type: '+rawEdge.type+' (PID='+pid+', dump ID='+dumpId+', source='+sourceGuid+', target='+targetGuid+', importance='+importance+').'});}}}}},toModelTimeFromUs_(ts){if(!this.toModelTime_){this.toModelTime_=this.model_.clockSyncManager.getModelTimeTransformer(this.clockDomainId_);} 5952return this.toModelTime_(tr.b.Unit.timestampFromUs(ts));},maybeToModelTimeFromUs_(ts){if(ts===undefined){return undefined;} 5953return this.toModelTimeFromUs_(ts);}};tr.importer.Importer.register(TraceEventImporter);return{TraceEventImporter,};});'use strict';tr.exportTo('tr.e.measure',function(){const AsyncSlice=tr.model.AsyncSlice;function MeasureAsyncSlice(){this.groupTitle_='Ungrouped Measure';const matched=/([^\/:]+):([^\/:]+)\/?(.*)/.exec(arguments[1]);if(matched!==null){arguments[1]=matched[2];this.groupTitle_=matched[1];} 5954AsyncSlice.apply(this,arguments);} 5955MeasureAsyncSlice.prototype={__proto__:AsyncSlice.prototype,get viewSubGroupTitle(){return this.groupTitle_;},get title(){return this.title_;},set title(title){this.title_=title;}};AsyncSlice.subTypes.register(MeasureAsyncSlice,{categoryParts:['blink.user_timing']});return{MeasureAsyncSlice,};});'use strict';tr.exportTo('tr.e.net',function(){const AsyncSlice=tr.model.AsyncSlice;function NetAsyncSlice(){AsyncSlice.apply(this,arguments);this.url_=undefined;this.byteCount_=undefined;this.isTitleComputed_=false;this.isUrlComputed_=false;} 5956NetAsyncSlice.prototype={__proto__:AsyncSlice.prototype,get viewSubGroupTitle(){return'NetLog';},get title(){if(this.isTitleComputed_||!this.isTopLevel){return this.title_;} 5957if(this.url!==undefined&&this.url.length>0){this.title_=this.url;}else if(this.args!==undefined&&this.args.source_type!==undefined){this.title_=this.args.source_type;} 5958this.isTitleComputed_=true;return this.title_;},set title(title){this.title_=title;},get url(){if(this.isUrlComputed_){return this.url_;} 5959if(this.args!==undefined&&this.args.params!==undefined&&this.args.params.url!==undefined){this.url_=this.args.params.url;}else if(this.subSlices!==undefined&&this.subSlices.length>0){for(let i=0;i<this.subSlices.length&&!this.url_;i++){if(this.subSlices[i].url!==undefined){this.url_=this.subSlices[i].url;}}} 5960this.isUrlComputed_=true;return this.url_;},get byteCount(){if(this.byteCount_!==undefined){return this.byteCount_;} 5961this.byteCount_=0;if((this.originalTitle==='URL_REQUEST_JOB_FILTERED_BYTES_READ'||this.originalTitle==='URL_REQUEST_JOB_BYTES_READ')&&this.args!==undefined&&this.args.params!==undefined&&this.args.params.byte_count!==undefined){this.byteCount_=this.args.params.byte_count;} 5962for(let i=0;i<this.subSlices.length;i++){this.byteCount_+=this.subSlices[i].byteCount;} 5963return this.byteCount_;}};AsyncSlice.subTypes.register(NetAsyncSlice,{categoryParts:['netlog','disabled-by-default-netlog']});return{NetAsyncSlice,};});'use strict';tr.exportTo('tr.model',function(){const ColorScheme=tr.b.ColorScheme;function Activity(name,category,range,args){tr.model.TimedEvent.call(this,range.min);this.title=name;this.category=category;this.colorId=ColorScheme.getColorIdForGeneralPurposeString(name);this.duration=range.duration;this.args=args;this.name=name;} 5964Activity.prototype={__proto__:tr.model.TimedEvent.prototype,shiftTimestampsForward(amount){this.start+=amount;},addBoundsToRange(range){range.addValue(this.start);range.addValue(this.end);}};return{Activity,};});'use strict';tr.exportTo('tr.e.importer.android',function(){const Importer=tr.importer.Importer;const ACTIVITY_STATE={NONE:'none',CREATED:'created',STARTED:'started',RESUMED:'resumed',PAUSED:'paused',STOPPED:'stopped',DESTROYED:'destroyed'};const activityMap={};function EventLogImporter(model,events){this.model_=model;this.events_=events;this.importPriority=3;} 5965const eventLogActivityRE=new RegExp('(\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2}.\\d+)'+'\\s+(\\d+)\\s+(\\d+)\\s+([A-Z])\\s*'+'(am_\\w+)\\s*:(.*)');const amCreateRE=new RegExp('\s*\\[.*,.*,.*,(.*),.*,.*,.*,.*\\]');const amFocusedRE=new RegExp('\s*\\[\\d+,(.*)\\]');const amProcStartRE=new RegExp('\s*\\[\\d+,\\d+,\\d+,.*,activity,(.*)\\]');const amOnResumeRE=new RegExp('\s*\\[\\d+,(.*)\\]');const amOnPauseRE=new RegExp('\s*\\[\\d+,(.*)\\]');const amLaunchTimeRE=new RegExp('\s*\\[\\d+,\\d+,(.*),(\\d+),(\\d+)');const amDestroyRE=new RegExp('\s*\\[\\d+,\\d+,\\d+,(.*)\\]');EventLogImporter.canImport=function(events){if(!(typeof(events)==='string'||events instanceof String)){return false;} 5966if(/^<!DOCTYPE html>/.test(events))return false;return eventLogActivityRE.test(events);};EventLogImporter.prototype={__proto__:Importer.prototype,get importerName(){return'EventLogImporter';},get model(){return this.model_;},getFullActivityName(component){const componentSplit=component.split('/');if(componentSplit[1].startsWith('.')){return componentSplit[0]+componentSplit[1];} 5967return componentSplit[1];},getProcName(component){const componentSplit=component.split('/');return componentSplit[0];},findOrCreateActivity(activityName){if(activityName in activityMap){return activityMap[activityName];} 5968const activity={state:ACTIVITY_STATE.NONE,name:activityName};activityMap[activityName]=activity;return activity;},deleteActivity(activityName){delete activityMap[activityName];},handleCreateActivity(ts,activityName){const activity=this.findOrCreateActivity(activityName);activity.state=ACTIVITY_STATE.CREATED;activity.createdTs=ts;},handleFocusActivity(ts,procName,activityName){const activity=this.findOrCreateActivity(activityName);activity.lastFocusedTs=ts;},handleProcStartForActivity(ts,activityName){const activity=this.findOrCreateActivity(activityName);activity.procStartTs=ts;},handleOnResumeCalled(ts,pid,activityName){const activity=this.findOrCreateActivity(activityName);activity.state=ACTIVITY_STATE.RESUMED;activity.lastResumeTs=ts;activity.pid=pid;},handleOnPauseCalled(ts,activityName){const activity=this.findOrCreateActivity(activityName);activity.state=ACTIVITY_STATE.PAUSED;activity.lastPauseTs=ts;if(ts>this.model_.bounds.min&&ts<this.model_.bounds.max){this.addActivityToProcess(activity);}},handleLaunchTime(ts,activityName,launchTime){const activity=this.findOrCreateActivity(activityName);activity.launchTime=launchTime;},handleDestroyActivity(ts,activityName){this.deleteActivity(activityName);},addActivityToProcess(activity){if(activity.pid===undefined)return;const process=this.model_.getOrCreateProcess(activity.pid);const range=tr.b.math.Range.fromExplicitRange(Math.max(this.model_.bounds.min,activity.lastResumeTs),activity.lastPauseTs);const newActivity=new tr.model.Activity(activity.name,'Android Activity',range,{created:activity.createdTs,procstart:activity.procStartTs,lastfocus:activity.lastFocusedTs});process.activities.push(newActivity);},parseAmLine_(line){let match=eventLogActivityRE.exec(line);if(!match)return;const firstRealtimeTs=this.model_.bounds.min- 5969this.model_.realtime_to_monotonic_offset_ms;const year=new Date(firstRealtimeTs).getFullYear();const ts=match[1].substring(0,5)+'-'+year+' '+ 5970match[1].substring(5,match[1].length);const monotonicTs=Date.parse(ts)+ 5971this.model_.realtime_to_monotonic_offset_ms;const pid=match[2];const action=match[5];const data=match[6];if(action==='am_create_activity'){match=amCreateRE.exec(data);if(match&&match.length>=2){this.handleCreateActivity(monotonicTs,this.getFullActivityName(match[1]));}}else if(action==='am_focused_activity'){match=amFocusedRE.exec(data);if(match&&match.length>=2){this.handleFocusActivity(monotonicTs,this.getProcName(match[1]),this.getFullActivityName(match[1]));}}else if(action==='am_proc_start'){match=amProcStartRE.exec(data);if(match&&match.length>=2){this.handleProcStartForActivity(monotonicTs,this.getFullActivityName(match[1]));}}else if(action==='am_on_resume_called'){match=amOnResumeRE.exec(data);if(match&&match.length>=2){this.handleOnResumeCalled(monotonicTs,pid,match[1]);}}else if(action==='am_on_paused_called'){match=amOnPauseRE.exec(data);if(match&&match.length>=2){this.handleOnPauseCalled(monotonicTs,match[1]);}}else if(action==='am_activity_launch_time'){match=amLaunchTimeRE.exec(data);this.handleLaunchTime(monotonicTs,this.getFullActivityName(match[1]),match[2]);}else if(action==='am_destroy_activity'){match=amDestroyRE.exec(data);if(match&&match.length===2){this.handleDestroyActivity(monotonicTs,this.getFullActivityName(match[1]));}}},importEvents(){if(isNaN(this.model_.realtime_to_monotonic_offset_ms)){this.model_.importWarning({type:'eveng_log_clock_sync',message:'Need a trace_event_clock_sync to map realtime to import.'});return;} 5972this.model_.updateBounds();const lines=this.events_.split('\n');lines.forEach(this.parseAmLine_,this);for(const activityName in activityMap){const activity=activityMap[activityName];if(activity.state===ACTIVITY_STATE.RESUMED){activity.lastPauseTs=this.model_.bounds.max;this.addActivityToProcess(activity);}}}};Importer.register(EventLogImporter);return{EventLogImporter,};});'use strict';tr.exportTo('tr.e.importer.android.process_data',function(){const Importer=tr.importer.Importer;const PROCESS_DUMP_HEADER='PROCESS DUMP';function ProcessDataImporter(model,processData){this.model_=model;this.processDataLines=processData.split('\n');this.importPriority=3;} 5973ProcessDataImporter.canImport=function(events){if(!(typeof(events)==='string'||events instanceof String)){return false;} 5974if(events.split('\n')[0]===PROCESS_DUMP_HEADER){return true;} 5975return false;};ProcessDataImporter.prototype={__proto__:Importer.prototype,get importerName(){return'ProcessDataImporter';},get model(){return this.model_;},parseEventData(data){const allDumpedProcesses={};let parseProcesses=false;let parseThreads=false;let legacy=false;for(let i=1;i<data.length;i++){const cols=data[i].split(/\s+/);if(cols[0].startsWith('USER')){if(parseProcesses){parseProcesses=false;parseThreads=true;}else{parseThreads=false;parseProcesses=true;} 5976const colCount=cols.length;if(parseProcesses&&colCount===9){legacy=false;}else if(parseProcesses&&colCount===8){legacy=true;} 5977continue;} 5978if(parseProcesses){const pid=Number(cols[1]);if(allDumpedProcesses[pid]===undefined){allDumpedProcesses[pid]={};} 5979allDumpedProcesses[pid]={'name':cols[8],pid,'comm':cols[9]};continue;} 5980if(parseThreads){let pid;let tid;let name;if(legacy){pid=Number(cols[1]);if(allDumpedProcesses[pid]!==undefined){tid=pid;}else{tid=pid;pid=Number(cols[2]);} 5981name=cols.slice(8).join(' ');}else{pid=Number(cols[1]);tid=Number(cols[2]);name=cols.slice(3).join(' ');} 5982if(allDumpedProcesses[pid]===undefined)continue;if(allDumpedProcesses[pid].threads===undefined){allDumpedProcesses[pid].threads={};} 5983allDumpedProcesses[pid].threads[tid]={tid,name};continue;}} 5984return allDumpedProcesses;},importEvents(){const allDumpedProcesses=this.parseEventData(this.processDataLines);const modelProcesses=this.model_.getAllProcesses();for(let i=0;i<modelProcesses.length;i++){const modelProcess=modelProcesses[i];const pid=modelProcess.pid;const dumpedProcess=allDumpedProcesses[pid];if(dumpedProcess===undefined){continue;} 5985modelProcess.name=dumpedProcess.name;const processDumpThreads=dumpedProcess.threads;if(processDumpThreads!==undefined){for(const tid in modelProcess.threads){const modelThread=modelProcess.threads[tid];if(Number(pid)===Number(tid)){modelThread.name='UI thread';}else if(modelThread.name==='<...>'){if(processDumpThreads[tid]!==undefined){modelThread.name=processDumpThreads[tid].name;}}}}}}};Importer.register(ProcessDataImporter);return{ProcessDataImporter,};});'use strict';tr.exportTo('tr.e.importer.battor',function(){function BattorImporter(model,events){this.importPriority=3;this.model_=model;this.samples_=[];this.syncTimestampsById_=new Map();this.parseTrace_(events);} 5986const battorDataLineRE=new RegExp('^(-?\\d+\\.\\d+)\\s+(-?\\d+\\.\\d+)\\s+(-?\\d+\\.\\d+)'+'(?:\\s+<(\\S+)>)?$');const battorHeaderLineRE=/^# BattOr/;BattorImporter.canImport=function(events){if(!(typeof(events)==='string'||events instanceof String)){return false;} 5987return battorHeaderLineRE.test(events);};BattorImporter.prototype={__proto__:tr.importer.Importer.prototype,get importerName(){return'BattorImporter';},get model(){return this.model_;},importClockSyncMarkers(){for(const[syncId,ts]of this.syncTimestampsById_){this.model_.clockSyncManager.addClockSyncMarker(tr.model.ClockDomainId.BATTOR,syncId,ts);}},importEvents(){if(this.model_.device.powerSeries){this.model_.importWarning({type:'import_error',message:'Power counter exists, can not import BattOr power trace.'});return;} 5988const modelTimeTransformer=this.model_.clockSyncManager.getModelTimeTransformer(tr.model.ClockDomainId.BATTOR);const powerSeries=this.model_.device.powerSeries=new tr.model.PowerSeries(this.model_.device);for(let i=0;i<this.samples_.length;i++){const sample=this.samples_[i];powerSeries.addPowerSample(modelTimeTransformer(sample.ts),sample.powerInW);}},parseTrace_(trace){const lines=trace.split('\n');for(let line of lines){line=line.trim();if(line.length===0)continue;if(line.startsWith('#'))continue;const groups=battorDataLineRE.exec(line);if(!groups){this.model_.importWarning({type:'parse_error',message:'Unrecognized line in BattOr trace: '+line});continue;} 5989const ts=parseFloat(groups[1]);const voltageInV=tr.b.convertUnit(parseFloat(groups[2]),tr.b.UnitPrefixScale.METRIC.MILLI,tr.b.UnitPrefixScale.METRIC.NONE);const currentInA=tr.b.convertUnit(parseFloat(groups[3]),tr.b.UnitPrefixScale.METRIC.MILLI,tr.b.UnitPrefixScale.METRIC.NONE);const syncId=groups[4];if(syncId){this.syncTimestampsById_.set(syncId,ts);} 5990if(voltageInV<0||currentInA<0){this.model_.importWarning({type:'parse_error',message:'The following line in the BattOr trace has a negative '+'voltage or current, neither of which are allowed: '+line+'. A common cause of this is that the device is charging '+'while the trace is being recorded.'});continue;} 5991this.samples_.push(new Sample(ts,voltageInV,currentInA));}}};function Sample(ts,voltageInV,currentInA){this.ts=ts;this.voltageInV=voltageInV;this.currentInA=currentInA;} 5992Sample.prototype={get powerInW(){return this.voltageInV*this.currentInA;}};tr.importer.Importer.register(BattorImporter);return{BattorImporter,};});'use strict';tr.exportTo('tr.e.importer.ddms',function(){const kPid=0;const kCategory='java';const kMethodLutEndMarker='\n*end\n';const kThreadsStart='\n*threads\n';const kMethodsStart='\n*methods\n';const kTraceMethodEnter=0x00;const kTraceMethodExit=0x01;const kTraceUnroll=0x02;const kTraceMethodActionMask=0x03;const kTraceHeaderLength=32;const kTraceMagicValue=0x574f4c53;const kTraceVersionSingleClock=2;const kTraceVersionDualClock=3;const kTraceRecordSizeSingleClock=10;const kTraceRecordSizeDualClock=14;function Reader(stringPayload){this.position_=0;this.data_=JSZip.utils.transformTo('uint8array',stringPayload);} 5993Reader.prototype={__proto__:Object.prototype,uint8(){const result=this.data_[this.position_];this.position_+=1;return result;},uint16(){let result=0;result+=this.uint8();result+=this.uint8()<<8;return result;},uint32(){let result=0;result+=this.uint8();result+=this.uint8()<<8;result+=this.uint8()<<16;result+=this.uint8()<<24;return result;},uint64(){const low=this.uint32();const high=this.uint32();const lowStr=('0000000'+low.toString(16)).substr(-8);const highStr=('0000000'+high.toString(16)).substr(-8);const result=highStr+lowStr;return result;},seekTo(position){this.position_=position;},hasMore(){return this.position_<this.data_.length;}};function DdmsImporter(model,data){this.importPriority=3;this.model_=model;this.data_=data;} 5994DdmsImporter.canImport=function(data){if(typeof(data)==='string'||data instanceof String){const header=data.slice(0,1000);return header.startsWith('*version\n')&&header.indexOf('\nvm=')>=0&&header.indexOf(kThreadsStart)>=0;} 5995return false;};DdmsImporter.prototype={__proto__:tr.importer.Importer.prototype,get importerName(){return'DdmsImporter';},get model(){return this.model_;},importEvents(){const divider=this.data_.indexOf(kMethodLutEndMarker)+ 5996kMethodLutEndMarker.length;this.metadata_=this.data_.slice(0,divider);this.methods_={};this.parseThreads();this.parseMethods();const traceReader=new Reader(this.data_.slice(divider));const magic=traceReader.uint32();if(magic!==kTraceMagicValue){throw Error('Failed to match magic value');} 5997this.version_=traceReader.uint16();if(this.version_!==kTraceVersionDualClock){throw Error('Unknown version');} 5998const dataOffest=traceReader.uint16();const startDateTime=traceReader.uint64();const recordSize=traceReader.uint16();traceReader.seekTo(dataOffest);while(traceReader.hasMore()){this.parseTraceEntry(traceReader);}},parseTraceEntry(reader){const tid=reader.uint16();const methodPacked=reader.uint32();const cpuSinceStart=reader.uint32();const wallClockSinceStart=reader.uint32();let method=methodPacked&~kTraceMethodActionMask;const action=methodPacked&kTraceMethodActionMask;const thread=this.getTid(tid);method=this.getMethodName(method);if(action===kTraceMethodEnter){thread.sliceGroup.beginSlice(kCategory,method,wallClockSinceStart,undefined,cpuSinceStart);}else if(thread.sliceGroup.openSliceCount){thread.sliceGroup.endSlice(wallClockSinceStart,cpuSinceStart);}},parseThreads(){let threads=this.metadata_.slice(this.metadata_.indexOf(kThreadsStart)+ 5999kThreadsStart.length);threads=threads.slice(0,threads.indexOf('\n*'));threads=threads.split('\n');threads.forEach(this.parseThread.bind(this));},parseThread(threadLine){const tid=threadLine.slice(0,threadLine.indexOf('\t'));const thread=this.getTid(parseInt(tid));thread.name=threadLine.slice(threadLine.indexOf('\t')+1);},getTid(tid){return this.model_.getOrCreateProcess(kPid).getOrCreateThread(tid);},parseMethods(){let methods=this.metadata_.slice(this.metadata_.indexOf(kMethodsStart)+ 6000kMethodsStart.length);methods=methods.slice(0,methods.indexOf('\n*'));methods=methods.split('\n');methods.forEach(this.parseMethod.bind(this));},parseMethod(methodLine){const data=methodLine.split('\t');const methodId=parseInt(data[0]);const methodName=data[1]+'.'+data[2]+data[3];this.addMethod(methodId,methodName);},addMethod(methodId,methodName){this.methods_[methodId]=methodName;},getMethodName(methodId){return this.methods_[methodId];}};tr.importer.Importer.register(DdmsImporter);return{DdmsImporter,};});'use strict';tr.exportTo('tr.e.importer.linux_perf',function(){function Parser(importer){this.importer=importer;this.model=importer.model;} 6001Parser.prototype={__proto__:Object.prototype};const options=new tr.b.ExtensionRegistryOptions(tr.b.BASIC_REGISTRY_MODE);options.mandatoryBaseClass=Parser;tr.b.decorateExtensionRegistry(Parser,options);return{Parser,};});'use strict';tr.exportTo('tr.e.importer.linux_perf',function(){const ColorScheme=tr.b.ColorScheme;const Parser=tr.e.importer.linux_perf.Parser;function AndroidParser(importer){Parser.call(this,importer);importer.registerEventHandler('tracing_mark_write:android',AndroidParser.prototype.traceMarkWriteAndroidEvent.bind(this));importer.registerEventHandler('0:android',AndroidParser.prototype.traceMarkWriteAndroidEvent.bind(this));this.model_=importer.model_;this.ppids_={};} 6002function parseArgs(argsString){const args={};if(argsString){const argsArray=argsString.split(';');for(let i=0;i<argsArray.length;++i){const parts=argsArray[i].split('=');if(parts[0]){args[parts.shift()]=parts.join('=');}}} 6003return args;} 6004AndroidParser.prototype={__proto__:Parser.prototype,openAsyncSlice(thread,category,name,cookie,ts,args){const asyncSliceConstructor=tr.model.AsyncSlice.subTypes.getConstructor(category,name);const slice=new asyncSliceConstructor(category,name,ColorScheme.getColorIdForGeneralPurposeString(name),ts,args);const key=category+':'+name+':'+cookie;slice.id=cookie;slice.startThread=thread;if(!this.openAsyncSlices){this.openAsyncSlices={};} 6005this.openAsyncSlices[key]=slice;},closeAsyncSlice(thread,category,name,cookie,ts,args){if(!this.openAsyncSlices){return;} 6006const key=category+':'+name+':'+cookie;const slice=this.openAsyncSlices[key];if(!slice){return;} 6007for(const arg in args){if(slice.args[arg]!==undefined){this.model_.importWarning({type:'parse_error',message:'Both the S and F events of '+slice.title+' provided values for argument '+arg+'.'+' The value of the F event will be used.'});} 6008slice.args[arg]=args[arg];} 6009slice.endThread=thread;slice.duration=ts-slice.start;slice.startThread.asyncSliceGroup.push(slice);delete this.openAsyncSlices[key];},traceMarkWriteAndroidEvent(eventName,cpuNumber,pid,ts,eventBase){const eventData=eventBase.details.split('|');switch(eventData[0]){case'B':{const ppid=parseInt(eventData[1]);const title=eventData[2];const args=parseArgs(eventData[3]);let category=eventData[4];if(category===undefined)category='android';const thread=this.model_.getOrCreateProcess(ppid).getOrCreateThread(pid);thread.name=eventBase.threadName;if(!thread.sliceGroup.isTimestampValidForBeginOrEnd(ts)){this.model_.importWarning({type:'parse_error',message:'Timestamps are moving backward.'});return false;} 6010this.ppids_[pid]=ppid;thread.sliceGroup.beginSlice(category,title,ts,args);break;} 6011case'E':{const ppid=this.ppids_[pid];if(ppid===undefined){break;} 6012const thread=this.model_.getOrCreateProcess(ppid).getOrCreateThread(pid);if(!thread.sliceGroup.openSliceCount){break;} 6013const slice=thread.sliceGroup.endSlice(ts);const args=parseArgs(eventData[3]);for(const arg in args){if(slice.args[arg]!==undefined){this.model_.importWarning({type:'parse_error',message:'Both the B and E events of '+slice.title+' provided values for argument '+arg+'.'+' The value of the E event will be used.'});} 6014slice.args[arg]=args[arg];} 6015break;} 6016case'C':{const ppid=parseInt(eventData[1]);const name=eventData[2];const value=parseInt(eventData[3]);let category=eventData[4];if(category===undefined)category='android';const ctr=this.model_.getOrCreateProcess(ppid).getOrCreateCounter(category,name);if(ctr.numSeries===0){ctr.addSeries(new tr.model.CounterSeries(value,ColorScheme.getColorIdForGeneralPurposeString(ctr.name+'.'+'value')));} 6017ctr.series.forEach(function(series){series.addCounterSample(ts,value);});break;} 6018case'S':{const ppid=parseInt(eventData[1]);const name=eventData[2];const cookie=parseInt(eventData[3]);const args=parseArgs(eventData[4]);let category=eventData[5];if(category===undefined)category='android';const thread=this.model_.getOrCreateProcess(ppid).getOrCreateThread(pid);thread.name=eventBase.threadName;this.ppids_[pid]=ppid;this.openAsyncSlice(thread,category,name,cookie,ts,args);break;} 6019case'F':{const ppid=parseInt(eventData[1]);const name=eventData[2];const cookie=parseInt(eventData[3]);const args=parseArgs(eventData[4]);let category=eventData[5];if(category===undefined)category='android';const thread=this.model_.getOrCreateProcess(ppid).getOrCreateThread(pid);thread.name=eventBase.threadName;this.ppids_[pid]=ppid;this.closeAsyncSlice(thread,category,name,cookie,ts,args);break;} 6020default:return false;} 6021return true;}};Parser.register(AndroidParser);return{AndroidParser,};});'use strict';tr.exportTo('tr.e.importer.linux_perf',function(){const ColorScheme=tr.b.ColorScheme;const Parser=tr.e.importer.linux_perf.Parser;const binderTransRE=new RegExp('transaction=(\\d+) dest_node=(\\d+) '+'dest_proc=(\\d+) dest_thread=(\\d+) '+'reply=(\\d+) flags=(0x[0-9a-fA-F]+) '+'code=(0x[0-9a-fA-F]+)');const binderTransReceivedRE=/transaction=(\d+)/;function isBinderThread(name){return(name.indexOf('Binder')>-1);} 6022const TF_ONE_WAY=0x01;const TF_ROOT_OBJECT=0x04;const TF_STATUS_CODE=0x08;const TF_ACCEPT_FDS=0x10;const NO_FLAGS=0;function binderFlagsToHuman(num){const flag=parseInt(num,16);let str='';if(flag&TF_ONE_WAY){str+='this is a one-way call: async, no return; ';} 6023if(flag&TF_ROOT_OBJECT){str+='contents are the components root object; ';} 6024if(flag&TF_STATUS_CODE){str+='contents are a 32-bit status code; ';} 6025if(flag&TF_ACCEPT_FDS){str+='allow replies with file descriptors; ';} 6026if(flag===NO_FLAGS){str+='No Flags Set';} 6027return str;} 6028function isReplyToOrigin(calling,called){return(called.dest_proc===calling.calling_pid||called.dest_thread===calling.calling_pid);} 6029function binderCodeToHuman(code){return'Java Layer Dependent';} 6030function doInternalSlice(trans,slice,ts){if(slice.subSlices.length!==0){slice.subSlices[0].start=ts;return slice.subSlices[0];} 6031const kthread=trans.calling_kthread.thread;const internalSlice=kthread.sliceGroup.pushCompleteSlice('binder',slice.title,ts,.001,0,0,slice.args);internalSlice.title=slice.title;internalSlice.id=slice.id;internalSlice.colorId=slice.colorId;slice.subSlices.push(internalSlice);return internalSlice;} 6032function generateBinderArgsForSlice(trans,cThreadName){return{'Transaction Id':trans.transaction_key,'Destination Node':trans.dest_node,'Destination Process':trans.dest_proc,'Destination Thread':trans.dest_thread,'Destination Name':cThreadName,'Reply transaction?':trans.is_reply_transaction,'Flags':trans.flags+' '+ 6033binderFlagsToHuman(trans.flags),'Code':trans.code+' '+ 6034binderCodeToHuman(trans.code),'Calling PID':trans.calling_pid,'Calling tgid':trans.calling_kthread.thread.parent.pid};} 6035function BinderTransaction(events,callingPid,callingTs,callingKthread){this.transaction_key=parseInt(events[1]);this.dest_node=parseInt(events[2]);this.dest_proc=parseInt(events[3]);this.dest_thread=parseInt(events[4]);this.is_reply_transaction=parseInt(events[5])===1?true:false;this.expect_reply=((this.is_reply_transaction===false)&&(parseInt(events[6],16)&TF_ONE_WAY)===0);this.flags=events[6];this.code=events[7];this.calling_pid=callingPid;this.calling_ts=callingTs;this.calling_kthread=callingKthread;} 6036function BinderParser(importer){Parser.call(this,importer);importer.registerEventHandler('binder_locked',BinderParser.prototype.binderLocked.bind(this));importer.registerEventHandler('binder_unlock',BinderParser.prototype.binderUnlock.bind(this));importer.registerEventHandler('binder_lock',BinderParser.prototype.binderLock.bind(this));importer.registerEventHandler('binder_transaction',BinderParser.prototype.binderTransaction.bind(this));importer.registerEventHandler('binder_transaction_received',BinderParser.prototype.binderTransactionReceived.bind(this));this.model_=importer.model;this.kthreadlookup={};this.importer_=importer;this.transWaitingRecv={};this.syncTransWaitingCompletion={};this.recursiveSyncTransWaitingCompletion_ByPID={};this.receivedTransWaitingConversion={};} 6037BinderParser.prototype={__proto__:Parser.prototype,binderLock(eventName,cpuNumber,pid,ts,eventBase){const tgid=parseInt(eventBase.tgid);if(isNaN(tgid))return false;this.doNameMappings(pid,tgid,eventName.threadName);const kthread=this.importer_.getOrCreateBinderKernelThread(eventBase.threadName,tgid,pid);kthread.binderAttemptLockTS=ts;kthread.binderOpenTsA=ts;return true;},binderLocked(eventName,cpuNumber,pid,ts,eventBase){const tgid=parseInt(eventBase.tgid);if(isNaN(tgid))return false;const binderThread=isBinderThread(eventBase.threadName);const name=eventBase.threadName;const kthread=this.importer_.getOrCreateBinderKernelThread(eventBase.threadName,tgid,pid);this.doNameMappings(pid,tgid,name);const rthread=kthread.thread;kthread.binderLockAquiredTS=ts;if(kthread.binderAttemptLockTS===undefined)return false;const args=this.generateArgsForSlice(tgid,pid,name,kthread);rthread.sliceGroup.pushCompleteSlice('binder','binder lock waiting',kthread.binderAttemptLockTS,ts-kthread.binderAttemptLockTS,0,0,args);kthread.binderAttemptLockTS=undefined;return true;},binderUnlock(eventName,cpuNumber,pid,ts,eventBase){const tgid=parseInt(eventBase.tgid);if(isNaN(tgid))return false;const kthread=this.importer_.getOrCreateBinderKernelThread(eventBase.threadName,tgid,pid);if(kthread.binderLockAquiredTS===undefined)return false;const args=this.generateArgsForSlice(tgid,pid,eventBase.threadName,kthread);kthread.thread.sliceGroup.pushCompleteSlice('binder','binder lock held',kthread.binderLockAquiredTS,ts-kthread.binderLockAquiredTS,0,0,args);kthread.binderLockAquiredTS=undefined;return true;},binderTransaction(eventName,cpuNumber,pid,ts,eventBase){const event=binderTransRE.exec(eventBase.details);if(event===undefined)return false;const tgid=parseInt(eventBase.tgid);if(isNaN(tgid))return false;this.doNameMappings(pid,tgid,eventBase.threadName);const kthread=this.importer_.getOrCreateBinderKernelThread(eventBase.threadName,tgid,pid);const trans=new BinderTransaction(event,pid,ts,kthread);const args=generateBinderArgsForSlice(trans,eventBase.threadName);const priorReceive=this.getPriorReceiveOnPID(pid);if(priorReceive!==false){return this.modelPriorReceive(priorReceive,ts,pid,tgid,kthread,trans,args,event);} 6038const recursiveTrans=this.getRecursiveTransactionNeedingCompletion(pid);if(recursiveTrans!==false){return this.modelRecursiveTransactions(recursiveTrans,ts,pid,kthread,trans,args);} 6039const slice=kthread.thread.sliceGroup.pushCompleteSlice('binder','',ts,.03,0,0,args);slice.colorId=ColorScheme.getColorIdForGeneralPurposeString(ts.toString());trans.slice=slice;if(trans.expect_reply){slice.title='binder transaction';}else{slice.title='binder transaction async';} 6040this.addTransactionWaitingForRecv(trans.transaction_key,trans);return true;},binderTransactionReceived(eventName,cpuNumber,pid,ts,eventBase){const event=binderTransReceivedRE.exec(eventBase.details);if(event===undefined)return false;const tgid=parseInt(eventBase.tgid);if(isNaN(tgid))return false;const transactionkey=parseInt(event[1]);const kthread=this.importer_.getOrCreateBinderKernelThread(eventBase.threadName,tgid,pid);const syncComplete=this.getSyncTransNeedsCompletion(transactionkey);if(syncComplete!==false){const syncTrans=syncComplete[0];const syncSlice=syncTrans.slice;const responseTrans=syncComplete[1];const responseSlice=responseTrans.slice;syncSlice.duration=ts-syncSlice.start;const syncInternal=doInternalSlice(syncTrans,syncSlice,ts);const responseTs=responseSlice.start+responseSlice.duration;const responseInternal=doInternalSlice(responseTrans,responseSlice,responseTs);if(responseSlice.outFlowEvents.length===0||syncSlice.inFlowEvents.length===0){const flow=this.generateFlow(responseInternal,syncInternal,responseTrans,syncTrans);syncSlice.inFlowEvents.push(flow);responseSlice.outFlowEvents.push(flow);this.model_.flowEvents.push(flow);} 6041for(let i=1;i<syncSlice.inFlowEvents.length;i++){syncSlice.inFlowEvents[i].duration=ts-syncSlice.inFlowEvents[i].start;} 6042return true;} 6043const trForRecv=this.getTransactionWaitingForRecv(transactionkey);if(trForRecv!==false){if(!trForRecv.expect_reply){const args=generateBinderArgsForSlice(trForRecv,eventBase.threadName);const slice=kthread.thread.sliceGroup.pushCompleteSlice('binder','binder Async recv',ts,.03,0,0,args);const fakeEvent=[0,0,0,0,0,0,0];const fakeTrans=new BinderTransaction(fakeEvent,pid,ts,kthread);const flow=this.generateFlow(trForRecv.slice,slice,trForRecv,fakeTrans);this.model_.flowEvents.push(flow);trForRecv.slice.title='binder transaction async';trForRecv.slice.duration=.03;return true;} 6044trForRecv.slice.title='binder transaction';this.setCurrentReceiveOnPID(pid,[ts,trForRecv]);return true;} 6045return false;},modelRecursiveTransactions(recursiveTrans,ts,pid,kthread,trans,args){const recursiveSlice=recursiveTrans[1].slice;const origSlice=recursiveTrans[0].slice;recursiveSlice.duration=ts-recursiveSlice.start;trans.slice=recursiveSlice;if(trans.is_reply_transaction){origSlice.duration=ts-origSlice.start;this.addSyncTransNeedingCompletion(trans.transaction_key,recursiveTrans);if(isReplyToOrigin(recursiveTrans[0],trans)){this.removeRecursiveTransaction(pid);}}else{const slice=kthread.thread.sliceGroup.pushCompleteSlice('binder','',ts,.03,0,0,args);trans.slice=slice;this.addTransactionWaitingForRecv(trans.transaction_key,trans);} 6046return true;},modelPriorReceive(priorReceive,ts,pid,tgid,kthread,trans,args,event){const calleeSlice=priorReceive[1].slice;const calleeTrans=priorReceive[1];const recvTs=priorReceive[0];let slice=kthread.thread.sliceGroup.pushCompleteSlice('binder','',recvTs,ts-recvTs,0,0,args);const flow=this.generateFlow(calleeSlice,slice,calleeTrans,trans);this.model_.flowEvents.push(flow);trans.slice=slice;if(trans.is_reply_transaction){slice.title='binder reply';this.addSyncTransNeedingCompletion(trans.transaction_key,[calleeTrans,trans]);}else{slice.title='binder reply';const trans1=new BinderTransaction(event,pid,ts,kthread);slice=kthread.thread.sliceGroup.pushCompleteSlice('binder','binder transaction',recvTs,(ts-recvTs),0,0,args);if(!trans.expect_reply){slice.title='binder transaction async';slice.duration=.03;}else{} 6047trans1.slice=slice;this.addRecursiveSyncTransNeedingCompletion(pid,[calleeTrans,trans]);this.addTransactionWaitingForRecv(trans.transaction_key,trans1);} 6048return true;},getRecursiveTransactionNeedingCompletion(pid){if(this.recursiveSyncTransWaitingCompletion_ByPID[pid]===undefined){return false;} 6049const len=this.recursiveSyncTransWaitingCompletion_ByPID[pid].length;if(len===0)return false;return this.recursiveSyncTransWaitingCompletion_ByPID[pid][len-1];},addRecursiveSyncTransNeedingCompletion(pid,tuple){if(this.recursiveSyncTransWaitingCompletion_ByPID[pid]===undefined){this.recursiveSyncTransWaitingCompletion_ByPID[pid]=[];} 6050this.recursiveSyncTransWaitingCompletion_ByPID[pid].push(tuple);},removeRecursiveTransaction(pid){const len=this.recursiveSyncTransWaitingCompletion_ByPID[pid].length;if(len===0){delete this.recursiveSyncTransWaitingCompletion_ByPID[pid];return;} 6051this.recursiveSyncTransWaitingCompletion_ByPID[pid].splice(len-1,1);},setCurrentReceiveOnPID(pid,tuple){if(this.receivedTransWaitingConversion[pid]===undefined){this.receivedTransWaitingConversion[pid]=[];} 6052this.receivedTransWaitingConversion[pid].push(tuple);},getPriorReceiveOnPID(pid){if(this.receivedTransWaitingConversion[pid]===undefined){return false;} 6053const len=this.receivedTransWaitingConversion[pid].length;if(len===0)return false;return this.receivedTransWaitingConversion[pid].splice(len-1,1)[0];},addSyncTransNeedingCompletion(transactionkey,tuple){const dict=this.syncTransWaitingCompletion;dict[transactionkey]=tuple;},getSyncTransNeedsCompletion(transactionkey){const ret=this.syncTransWaitingCompletion[transactionkey];if(ret===undefined)return false;delete this.syncTransWaitingCompletion[transactionkey];return ret;},getTransactionWaitingForRecv(transactionkey){const ret=this.transWaitingRecv[transactionkey];if(ret===undefined)return false;delete this.transWaitingRecv[transactionkey];return ret;},addTransactionWaitingForRecv(transactionkey,transaction){this.transWaitingRecv[transactionkey]=transaction;},generateFlow(from,to,fromTrans,toTrans){const title='Transaction from : '+ 6054this.pid2name(fromTrans.calling_pid)+' From PID: '+fromTrans.calling_pid+' to pid: '+ 6055toTrans.calling_pid+' Thread Name: '+this.pid2name(toTrans.calling_pid);const ts=from.start;const flow=new tr.model.FlowEvent('binder','binder',title,1,ts,[]);flow.startSlice=from;flow.endSlice=to;flow.start=from.start;flow.duration=to.start-ts;from.outFlowEvents.push(flow);to.inFlowEvents.push(flow);return flow;},generateArgsForSlice(tgid,pid,name,kthread){return{'Thread Name':name,pid,'gid':tgid};},pid2name(pid){return this.kthreadlookup[pid];},doNameMappings(pid,tgid,name){this.registerPidName(pid,name);this.registerPidName(tgid,name);},registerPidName(pid,name){if(this.pid2name(pid)===undefined){this.kthreadlookup[pid]=name;}}};Parser.register(BinderParser);return{BinderParser,};});'use strict';tr.exportTo('tr.e.importer.linux_perf',function(){const ColorScheme=tr.b.ColorScheme;const Parser=tr.e.importer.linux_perf.Parser;function BusParser(importer){Parser.call(this,importer);importer.registerEventHandler('memory_bus_usage',BusParser.prototype.traceMarkWriteBusEvent.bind(this));this.model_=importer.model_;this.ppids_={};} 6056BusParser.prototype={__proto__:Parser.prototype,traceMarkWriteBusEvent(eventName,cpuNumber,pid,ts,eventBase,threadName){const re=new RegExp('bus=(\\S+) rw_bytes=(\\d+) r_bytes=(\\d+) '+'w_bytes=(\\d+) cycles=(\\d+) ns=(\\d+)');const event=re.exec(eventBase.details);const name=event[1];const rwBytes=parseInt(event[2]);const rBytes=parseInt(event[3]);const wBytes=parseInt(event[4]);const cycles=parseInt(event[5]);const ns=parseInt(event[6]);const sec=tr.b.convertUnit(ns,tr.b.UnitPrefixScale.METRIC.NANO,tr.b.UnitPrefixScale.METRIC.NONE);const readBandwidthInBps=rBytes/sec;const readBandwidthInMiBps=tr.b.convertUnit(readBandwidthInBps,tr.b.UnitPrefixScale.BINARY.NONE,tr.b.UnitPrefixScale.BINARY.MEBI);const writeBandwidthInBps=wBytes/sec;const writeBandwidthInMiBps=tr.b.convertUnit(writeBandwidthInBps,tr.b.UnitPrefixScale.BINARY.NONE,tr.b.UnitPrefixScale.BINARY.MEBI);let ctr=this.model_.kernel.getOrCreateCounter(null,'bus '+name+' read');if(ctr.numSeries===0){ctr.addSeries(new tr.model.CounterSeries('value',ColorScheme.getColorIdForGeneralPurposeString(ctr.name+'.'+'value')));} 6057ctr.series.forEach(function(series){series.addCounterSample(ts,readBandwidthInMiBps);});ctr=this.model_.kernel.getOrCreateCounter(null,'bus '+name+' write');if(ctr.numSeries===0){ctr.addSeries(new tr.model.CounterSeries('value',ColorScheme.getColorIdForGeneralPurposeString(ctr.name+'.'+'value')));} 6058ctr.series.forEach(function(series){series.addCounterSample(ts,writeBandwidthInMiBps);});return true;}};Parser.register(BusParser);return{BusParser,};});'use strict';tr.exportTo('tr.e.importer.linux_perf',function(){const ColorScheme=tr.b.ColorScheme;const Parser=tr.e.importer.linux_perf.Parser;function ClockParser(importer){Parser.call(this,importer);importer.registerEventHandler('clock_set_rate',ClockParser.prototype.traceMarkWriteClockEvent.bind(this));this.model_=importer.model_;this.ppids_={};} 6059ClockParser.prototype={__proto__:Parser.prototype,traceMarkWriteClockEvent(eventName,cpuNumber,pid,ts,eventBase,threadName){const event=/(\S+) state=(\d+) cpu_id=(\d+)/.exec(eventBase.details);const name=event[1];const rate=parseInt(event[2]);const ctr=this.model_.kernel.getOrCreateCounter(null,name);if(ctr.numSeries===0){ctr.addSeries(new tr.model.CounterSeries('value',ColorScheme.getColorIdForGeneralPurposeString(ctr.name+'.'+'value')));} 6060ctr.series.forEach(function(series){series.addCounterSample(ts,rate);});return true;}};Parser.register(ClockParser);return{ClockParser,};});'use strict';tr.exportTo('tr.e.importer.linux_perf',function(){const ColorScheme=tr.b.ColorScheme;const Parser=tr.e.importer.linux_perf.Parser;function CpufreqParser(importer){Parser.call(this,importer);importer.registerEventHandler('cpufreq_interactive_up',CpufreqParser.prototype.cpufreqUpDownEvent.bind(this));importer.registerEventHandler('cpufreq_interactive_down',CpufreqParser.prototype.cpufreqUpDownEvent.bind(this));importer.registerEventHandler('cpufreq_interactive_already',CpufreqParser.prototype.cpufreqTargetEvent.bind(this));importer.registerEventHandler('cpufreq_interactive_notyet',CpufreqParser.prototype.cpufreqTargetEvent.bind(this));importer.registerEventHandler('cpufreq_interactive_setspeed',CpufreqParser.prototype.cpufreqTargetEvent.bind(this));importer.registerEventHandler('cpufreq_interactive_target',CpufreqParser.prototype.cpufreqTargetEvent.bind(this));importer.registerEventHandler('cpufreq_interactive_boost',CpufreqParser.prototype.cpufreqBoostUnboostEvent.bind(this));importer.registerEventHandler('cpufreq_interactive_unboost',CpufreqParser.prototype.cpufreqBoostUnboostEvent.bind(this));} 6061function splitData(input){const data={};const args=input.split(/\s+/);const len=args.length;for(let i=0;i<len;i++){const item=args[i].split('=');data[item[0]]=parseInt(item[1]);} 6062return data;} 6063CpufreqParser.prototype={__proto__:Parser.prototype,cpufreqSlice(ts,eventName,cpu,args){const kthread=this.importer.getOrCreatePseudoThread('cpufreq');kthread.openSlice=eventName;const slice=new tr.model.ThreadSlice('',kthread.openSlice,ColorScheme.getColorIdForGeneralPurposeString(kthread.openSlice),ts,args,0);kthread.thread.sliceGroup.pushSlice(slice);},cpufreqBoostSlice(ts,eventName,args){const kthread=this.importer.getOrCreatePseudoThread('cpufreq_boost');kthread.openSlice=eventName;const slice=new tr.model.ThreadSlice('',kthread.openSlice,ColorScheme.getColorIdForGeneralPurposeString(kthread.openSlice),ts,args,0);kthread.thread.sliceGroup.pushSlice(slice);},cpufreqUpDownEvent(eventName,cpuNumber,pid,ts,eventBase){const data=splitData(eventBase.details);this.cpufreqSlice(ts,eventName,data.cpu,data);return true;},cpufreqTargetEvent(eventName,cpuNumber,pid,ts,eventBase){const data=splitData(eventBase.details);this.cpufreqSlice(ts,eventName,data.cpu,data);return true;},cpufreqBoostUnboostEvent(eventName,cpuNumber,pid,ts,eventBase){this.cpufreqBoostSlice(ts,eventName,{type:eventBase.details});return true;}};Parser.register(CpufreqParser);return{CpufreqParser,};});'use strict';tr.exportTo('tr.e.importer.linux_perf',function(){const ColorScheme=tr.b.ColorScheme;const Parser=tr.e.importer.linux_perf.Parser;function DiskParser(importer){Parser.call(this,importer);importer.registerEventHandler('f2fs_write_begin',DiskParser.prototype.f2fsWriteBeginEvent.bind(this));importer.registerEventHandler('f2fs_write_end',DiskParser.prototype.f2fsWriteEndEvent.bind(this));importer.registerEventHandler('f2fs_sync_file_enter',DiskParser.prototype.f2fsSyncFileEnterEvent.bind(this));importer.registerEventHandler('f2fs_sync_file_exit',DiskParser.prototype.f2fsSyncFileExitEvent.bind(this));importer.registerEventHandler('ext4_sync_file_enter',DiskParser.prototype.ext4SyncFileEnterEvent.bind(this));importer.registerEventHandler('ext4_sync_file_exit',DiskParser.prototype.ext4SyncFileExitEvent.bind(this));importer.registerEventHandler('ext4_da_write_begin',DiskParser.prototype.ext4WriteBeginEvent.bind(this));importer.registerEventHandler('ext4_da_write_end',DiskParser.prototype.ext4WriteEndEvent.bind(this));importer.registerEventHandler('block_rq_issue',DiskParser.prototype.blockRqIssueEvent.bind(this));importer.registerEventHandler('block_rq_complete',DiskParser.prototype.blockRqCompleteEvent.bind(this));} 6064DiskParser.prototype={__proto__:Parser.prototype,openAsyncSlice(ts,category,threadName,pid,key,name){const kthread=this.importer.getOrCreateKernelThread(category+':'+threadName,pid);const asyncSliceConstructor=tr.model.AsyncSlice.subTypes.getConstructor(category,name);const slice=new asyncSliceConstructor(category,name,ColorScheme.getColorIdForGeneralPurposeString(name),ts);slice.startThread=kthread.thread;if(!kthread.openAsyncSlices){kthread.openAsyncSlices={};} 6065kthread.openAsyncSlices[key]=slice;},closeAsyncSlice(ts,category,threadName,pid,key,args){const kthread=this.importer.getOrCreateKernelThread(category+':'+threadName,pid);if(kthread.openAsyncSlices){const slice=kthread.openAsyncSlices[key];if(slice){slice.duration=ts-slice.start;slice.args=args;slice.endThread=kthread.thread;slice.subSlices=[new tr.model.AsyncSlice(category,slice.title,slice.colorId,slice.start,slice.args,slice.duration)];kthread.thread.asyncSliceGroup.push(slice);delete kthread.openAsyncSlices[key];}}},f2fsWriteBeginEvent(eventName,cpuNumber,pid,ts,eventBase){const event=/dev = \((\d+,\d+)\), ino = (\d+), pos = (\d+), len = (\d+), flags = (\d+)/.exec(eventBase.details);if(!event)return false;const device=event[1];const inode=parseInt(event[2]);const pos=parseInt(event[3]);const len=parseInt(event[4]);const key=device+'-'+inode+'-'+pos+'-'+len;this.openAsyncSlice(ts,'f2fs',eventBase.threadName,eventBase.pid,key,'f2fs_write');return true;},f2fsWriteEndEvent(eventName,cpuNumber,pid,ts,eventBase){const event=/dev = \((\d+,\d+)\), ino = (\d+), pos = (\d+), len = (\d+), copied = (\d+)/.exec(eventBase.details);if(!event)return false;const device=event[1];const inode=parseInt(event[2]);const pos=parseInt(event[3]);const len=parseInt(event[4]);const error=parseInt(event[5])!==len;const key=device+'-'+inode+'-'+pos+'-'+len;this.closeAsyncSlice(ts,'f2fs',eventBase.threadName,eventBase.pid,key,{device,inode,error});return true;},ext4WriteBeginEvent(eventName,cpuNumber,pid,ts,eventBase){const event=/dev (\d+,\d+) ino (\d+) pos (\d+) len (\d+) flags (\d+)/.exec(eventBase.details);if(!event)return false;const device=event[1];const inode=parseInt(event[2]);const pos=parseInt(event[3]);const len=parseInt(event[4]);const key=device+'-'+inode+'-'+pos+'-'+len;this.openAsyncSlice(ts,'ext4',eventBase.threadName,eventBase.pid,key,'ext4_write');return true;},ext4WriteEndEvent(eventName,cpuNumber,pid,ts,eventBase){const event=/dev (\d+,\d+) ino (\d+) pos (\d+) len (\d+) copied (\d+)/.exec(eventBase.details);if(!event)return false;const device=event[1];const inode=parseInt(event[2]);const pos=parseInt(event[3]);const len=parseInt(event[4]);const error=parseInt(event[5])!==len;const key=device+'-'+inode+'-'+pos+'-'+len;this.closeAsyncSlice(ts,'ext4',eventBase.threadName,eventBase.pid,key,{device,inode,error});return true;},f2fsSyncFileEnterEvent(eventName,cpuNumber,pid,ts,eventBase){const event=new RegExp('dev = \\((\\d+,\\d+)\\), ino = (\\d+), pino = (\\d+), i_mode = (\\S+), '+'i_size = (\\d+), i_nlink = (\\d+), i_blocks = (\\d+), i_advise = (\\d+)').exec(eventBase.details);if(!event)return false;const device=event[1];const inode=parseInt(event[2]);const key=device+'-'+inode;this.openAsyncSlice(ts,'f2fs',eventBase.threadName,eventBase.pid,key,'fsync');return true;},f2fsSyncFileExitEvent(eventName,cpuNumber,pid,ts,eventBase){const event=new RegExp('dev = \\((\\d+,\\d+)\\), ino = (\\d+), checkpoint is (\\S+), '+'datasync = (\\d+), ret = (\\d+)').exec(eventBase.details.replace('not needed','not_needed'));if(!event)return false;const device=event[1];const inode=parseInt(event[2]);const error=parseInt(event[5]);const key=device+'-'+inode;this.closeAsyncSlice(ts,'f2fs',eventBase.threadName,eventBase.pid,key,{device,inode,error});return true;},ext4SyncFileEnterEvent(eventName,cpuNumber,pid,ts,eventBase){const event=/dev (\d+,\d+) ino (\d+) parent (\d+) datasync (\d+)/.exec(eventBase.details);if(!event)return false;const device=event[1];const inode=parseInt(event[2]);const datasync=(event[4]==='1')||(event[4]===1);const key=device+'-'+inode;const action=datasync?'fdatasync':'fsync';this.openAsyncSlice(ts,'ext4',eventBase.threadName,eventBase.pid,key,action);return true;},ext4SyncFileExitEvent(eventName,cpuNumber,pid,ts,eventBase){const event=/dev (\d+,\d+) ino (\d+) ret (\d+)/.exec(eventBase.details);if(!event)return false;const device=event[1];const inode=parseInt(event[2]);const error=parseInt(event[3]);const key=device+'-'+inode;this.closeAsyncSlice(ts,'ext4',eventBase.threadName,eventBase.pid,key,{device,inode,error});return true;},blockRqIssueEvent(eventName,cpuNumber,pid,ts,eventBase){const event=new RegExp('(\\d+,\\d+) (F)?([DWRN])(F)?(A)?(S)?(M)? '+'\\d+ \\(.*\\) (\\d+) \\+ (\\d+) \\[.*\\]').exec(eventBase.details);if(!event)return false;let action;switch(event[3]){case'D':action='discard';break;case'W':action='write';break;case'R':action='read';break;case'N':action='none';break;default:action='unknown';break;} 6066if(event[2]){action+=' flush';} 6067if(event[4]==='F'){action+=' fua';} 6068if(event[5]==='A'){action+=' ahead';} 6069if(event[6]==='S'){action+=' sync';} 6070if(event[7]==='M'){action+=' meta';} 6071const device=event[1];const sector=parseInt(event[8]);const numSectors=parseInt(event[9]);const key=device+'-'+sector+'-'+numSectors;this.openAsyncSlice(ts,'block',eventBase.threadName,eventBase.pid,key,action);return true;},blockRqCompleteEvent(eventName,cpuNumber,pid,ts,eventBase){const event=new RegExp('(\\d+,\\d+) (F)?([DWRN])(F)?(A)?(S)?(M)? '+'\\(.*\\) (\\d+) \\+ (\\d+) \\[(.*)\\]').exec(eventBase.details);if(!event)return false;const device=event[1];const sector=parseInt(event[8]);const numSectors=parseInt(event[9]);const error=parseInt(event[10]);const key=device+'-'+sector+'-'+numSectors;this.closeAsyncSlice(ts,'block',eventBase.threadName,eventBase.pid,key,{device,sector,numSectors,error});return true;}};Parser.register(DiskParser);return{DiskParser,};});'use strict';tr.exportTo('tr.e.importer.linux_perf',function(){const ColorScheme=tr.b.ColorScheme;const Parser=tr.e.importer.linux_perf.Parser;function DrmParser(importer){Parser.call(this,importer);importer.registerEventHandler('drm_vblank_event',DrmParser.prototype.vblankEvent.bind(this));} 6072DrmParser.prototype={__proto__:Parser.prototype,drmVblankSlice(ts,eventName,args){const kthread=this.importer.getOrCreatePseudoThread('drm_vblank');kthread.openSlice=eventName;const slice=new tr.model.ThreadSlice('',kthread.openSlice,ColorScheme.getColorIdForGeneralPurposeString(kthread.openSlice),ts,args,0);kthread.thread.sliceGroup.pushSlice(slice);},vblankEvent(eventName,cpuNumber,pid,ts,eventBase){const event=/crtc=(\d+), seq=(\d+)/.exec(eventBase.details);if(!event)return false;const crtc=parseInt(event[1]);const seq=parseInt(event[2]);this.drmVblankSlice(ts,'vblank:'+crtc,{crtc,seq});return true;}};Parser.register(DrmParser);return{DrmParser,};});'use strict';tr.exportTo('tr.e.importer.linux_perf',function(){const ColorScheme=tr.b.ColorScheme;const Parser=tr.e.importer.linux_perf.Parser;function ExynosParser(importer){Parser.call(this,importer);importer.registerEventHandler('exynos_busfreq_target_int',ExynosParser.prototype.busfreqTargetIntEvent.bind(this));importer.registerEventHandler('exynos_busfreq_target_mif',ExynosParser.prototype.busfreqTargetMifEvent.bind(this));importer.registerEventHandler('exynos_page_flip_state',ExynosParser.prototype.pageFlipStateEvent.bind(this));} 6073ExynosParser.prototype={__proto__:Parser.prototype,exynosBusfreqSample(name,ts,frequency){const targetCpu=this.importer.getOrCreateCpu(0);const counter=targetCpu.getOrCreateCounter('',name);if(counter.numSeries===0){counter.addSeries(new tr.model.CounterSeries('frequency',ColorScheme.getColorIdForGeneralPurposeString(counter.name+'.'+'frequency')));} 6074counter.series.forEach(function(series){series.addCounterSample(ts,frequency);});},busfreqTargetIntEvent(eventName,cpuNumber,pid,ts,eventBase){const event=/frequency=(\d+)/.exec(eventBase.details);if(!event)return false;this.exynosBusfreqSample('INT Frequency',ts,parseInt(event[1]));return true;},busfreqTargetMifEvent(eventName,cpuNumber,pid,ts,eventBase){const event=/frequency=(\d+)/.exec(eventBase.details);if(!event)return false;this.exynosBusfreqSample('MIF Frequency',ts,parseInt(event[1]));return true;},exynosPageFlipStateOpenSlice(ts,pipe,fb,state){const kthread=this.importer.getOrCreatePseudoThread('exynos_flip_state (pipe:'+pipe+', fb:'+fb+')');kthread.openSliceTS=ts;kthread.openSlice=state;},exynosPageFlipStateCloseSlice(ts,pipe,fb,args){const kthread=this.importer.getOrCreatePseudoThread('exynos_flip_state (pipe:'+pipe+', fb:'+fb+')');if(kthread.openSlice){const slice=new tr.model.ThreadSlice('',kthread.openSlice,ColorScheme.getColorIdForGeneralPurposeString(kthread.openSlice),kthread.openSliceTS,args,ts-kthread.openSliceTS);kthread.thread.sliceGroup.pushSlice(slice);} 6075kthread.openSlice=undefined;},pageFlipStateEvent(eventName,cpuNumber,pid,ts,eventBase){const event=/pipe=(\d+), fb=(\d+), state=(.*)/.exec(eventBase.details);if(!event)return false;const pipe=parseInt(event[1]);const fb=parseInt(event[2]);const state=event[3];this.exynosPageFlipStateCloseSlice(ts,pipe,fb,{pipe,fb});if(state!=='flipped'){this.exynosPageFlipStateOpenSlice(ts,pipe,fb,state);} 6076return true;}};Parser.register(ExynosParser);return{ExynosParser,};});'use strict';tr.exportTo('tr.e.importer.linux_perf',function(){const Parser=tr.e.importer.linux_perf.Parser;function GestureParser(importer){Parser.call(this,importer);importer.registerEventHandler('tracing_mark_write:log',GestureParser.prototype.logEvent.bind(this));importer.registerEventHandler('tracing_mark_write:SyncInterpret',GestureParser.prototype.syncEvent.bind(this));importer.registerEventHandler('tracing_mark_write:HandleTimer',GestureParser.prototype.timerEvent.bind(this));} 6077GestureParser.prototype={__proto__:Parser.prototype,gestureOpenSlice(title,ts,opt_args){const thread=this.importer.getOrCreatePseudoThread('gesture').thread;thread.sliceGroup.beginSlice('touchpad_gesture',title,ts,opt_args);},gestureCloseSlice(title,ts){const thread=this.importer.getOrCreatePseudoThread('gesture').thread;if(thread.sliceGroup.openSliceCount){const slice=thread.sliceGroup.mostRecentlyOpenedPartialSlice;if(slice.title!==title){this.importer.model.importWarning({type:'title_match_error',message:'Titles do not match. Title is '+ 6078slice.title+' in openSlice, and is '+ 6079title+' in endSlice'});}else{thread.sliceGroup.endSlice(ts);}}},logEvent(eventName,cpuNumber,pid,ts,eventBase){const innerEvent=/^\s*(\w+):\s*(\w+)$/.exec(eventBase.details);switch(innerEvent[1]){case'start':this.gestureOpenSlice('GestureLog',ts,{name:innerEvent[2]});break;case'end':this.gestureCloseSlice('GestureLog',ts);} 6080return true;},syncEvent(eventName,cpuNumber,pid,ts,eventBase){const innerEvent=/^\s*(\w+):\s*(\w+)$/.exec(eventBase.details);switch(innerEvent[1]){case'start':this.gestureOpenSlice('SyncInterpret',ts,{interpreter:innerEvent[2]});break;case'end':this.gestureCloseSlice('SyncInterpret',ts);} 6081return true;},timerEvent(eventName,cpuNumber,pid,ts,eventBase){const innerEvent=/^\s*(\w+):\s*(\w+)$/.exec(eventBase.details);switch(innerEvent[1]){case'start':this.gestureOpenSlice('HandleTimer',ts,{interpreter:innerEvent[2]});break;case'end':this.gestureCloseSlice('HandleTimer',ts);} 6082return true;}};Parser.register(GestureParser);return{GestureParser,};});'use strict';tr.exportTo('tr.e.importer.linux_perf',function(){const ColorScheme=tr.b.ColorScheme;const Parser=tr.e.importer.linux_perf.Parser;function I2cParser(importer){Parser.call(this,importer);importer.registerEventHandler('i2c_write',I2cParser.prototype.i2cWriteEvent.bind(this));importer.registerEventHandler('i2c_read',I2cParser.prototype.i2cReadEvent.bind(this));importer.registerEventHandler('i2c_reply',I2cParser.prototype.i2cReplyEvent.bind(this));importer.registerEventHandler('i2c_result',I2cParser.prototype.i2cResultEvent.bind(this));} 6083const i2cWriteReplyRE=new RegExp('i2c-(\\d+) #(\\d+) a=([\\da-fA-F]+) f=([\\da-fA-F]+) l=(\\d+) '+'(\\[[\\da-fA-F\\-]+\\])');const i2cReadRE=/i2c-(\d+) #(\d+) a=([\da-fA-F]+) f=([\da-fA-F]+) l=(\d+)/;const i2cResultRE=/i2c-(\d+) n=(\d+) ret=(\d+)/;I2cParser.prototype={__proto__:Parser.prototype,i2cWriteEvent(eventName,cpuNumber,pid,ts,eventBase){const event=i2cWriteReplyRE.exec(eventBase.details);if(!event)return false;const adapterNumber=parseInt(event[1]);const messageNumber=event[2];const address=event[3];const flags=event[4];const dataLength=event[5];const data=event[6];const thread=this.importer.getOrCreatePseudoThread('i2c adapter '+adapterNumber);pushLastSliceIfNeeded(thread,event[1],ts);thread.lastEntryTitle='i2c write';thread.lastEntryTs=ts;thread.lastEntryArgs={'Message number':messageNumber,'Address':address,'Flags':flags,'Data Length':dataLength,'Data':data};return true;},i2cReadEvent(eventName,cpuNumber,pid,ts,eventBase){const event=i2cReadRE.exec(eventBase.details);if(!event)return false;const adapterNumber=parseInt(event[1]);const messageNumber=event[2];const address=event[3];const flags=event[4];const dataLength=event[5];const thread=this.importer.getOrCreatePseudoThread('i2c adapter '+adapterNumber);pushLastSliceIfNeeded(thread,event[1],ts);thread.lastEntryTitle='i2c read';thread.lastEntryTs=ts;thread.lastEntryArgs={'Message number':messageNumber,'Address':address,'Flags':flags,'Data Length':dataLength};return true;},i2cReplyEvent(eventName,cpuNumber,pid,ts,eventBase){const event=i2cWriteReplyRE.exec(eventBase.details);if(!event)return false;const adapterNumber=parseInt(event[1]);const messageNumber=event[2];const address=event[3];const flags=event[4];const dataLength=event[5];const data=event[6];const thread=this.importer.getOrCreatePseudoThread('i2c adapter '+adapterNumber);pushLastSliceIfNeeded(thread,event[1],ts);thread.lastEntryTitle='i2c reply';thread.lastEntryTs=ts;thread.lastEntryArgs={'Message number':messageNumber,'Address':address,'Flags':flags,'Data Length':dataLength,'Data':data};return true;},i2cResultEvent(eventName,cpuNumber,pid,ts,eventBase){const event=i2cResultRE.exec(eventBase.details);if(!event)return false;const adapterNumber=parseInt(event[1]);const numMessages=event[2];const ret=event[3];const thread=this.importer.getOrCreatePseudoThread('i2c adapter '+adapterNumber);const args=thread.lastEntryArgs;if(args!==undefined){args['Number of messages']=numMessages;args.Return=ret;} 6084pushLastSliceIfNeeded(thread,event[1],ts);thread.lastEntryTitle=undefined;thread.lastEntryTs=undefined;thread.lastEntryArgs=undefined;return true;},};function pushLastSliceIfNeeded(thread,id,currentTs){if(thread.lastEntryTs!==undefined){const duration=currentTs-thread.lastEntryTs;const slice=new tr.model.ThreadSlice('',thread.lastEntryTitle,ColorScheme.getColorIdForGeneralPurposeString(id),thread.lastEntryTs,thread.lastEntryArgs,duration);thread.thread.sliceGroup.pushSlice(slice);}} 6085Parser.register(I2cParser);return{I2cParser,};});'use strict';tr.exportTo('tr.e.importer.linux_perf',function(){const ColorScheme=tr.b.ColorScheme;const Parser=tr.e.importer.linux_perf.Parser;function I915Parser(importer){Parser.call(this,importer);importer.registerEventHandler('i915_gem_object_create',I915Parser.prototype.gemObjectCreateEvent.bind(this));importer.registerEventHandler('i915_gem_object_bind',I915Parser.prototype.gemObjectBindEvent.bind(this));importer.registerEventHandler('i915_gem_object_unbind',I915Parser.prototype.gemObjectBindEvent.bind(this));importer.registerEventHandler('i915_gem_object_change_domain',I915Parser.prototype.gemObjectChangeDomainEvent.bind(this));importer.registerEventHandler('i915_gem_object_pread',I915Parser.prototype.gemObjectPreadWriteEvent.bind(this));importer.registerEventHandler('i915_gem_object_pwrite',I915Parser.prototype.gemObjectPreadWriteEvent.bind(this));importer.registerEventHandler('i915_gem_object_fault',I915Parser.prototype.gemObjectFaultEvent.bind(this));importer.registerEventHandler('i915_gem_object_clflush',I915Parser.prototype.gemObjectDestroyEvent.bind(this));importer.registerEventHandler('i915_gem_object_destroy',I915Parser.prototype.gemObjectDestroyEvent.bind(this));importer.registerEventHandler('i915_gem_ring_dispatch',I915Parser.prototype.gemRingDispatchEvent.bind(this));importer.registerEventHandler('i915_gem_ring_flush',I915Parser.prototype.gemRingFlushEvent.bind(this));importer.registerEventHandler('i915_gem_request',I915Parser.prototype.gemRequestEvent.bind(this));importer.registerEventHandler('i915_gem_request_add',I915Parser.prototype.gemRequestEvent.bind(this));importer.registerEventHandler('i915_gem_request_complete',I915Parser.prototype.gemRequestEvent.bind(this));importer.registerEventHandler('i915_gem_request_retire',I915Parser.prototype.gemRequestEvent.bind(this));importer.registerEventHandler('i915_gem_request_wait_begin',I915Parser.prototype.gemRequestEvent.bind(this));importer.registerEventHandler('i915_gem_request_wait_end',I915Parser.prototype.gemRequestEvent.bind(this));importer.registerEventHandler('i915_gem_ring_wait_begin',I915Parser.prototype.gemRingWaitEvent.bind(this));importer.registerEventHandler('i915_gem_ring_wait_end',I915Parser.prototype.gemRingWaitEvent.bind(this));importer.registerEventHandler('i915_reg_rw',I915Parser.prototype.regRWEvent.bind(this));importer.registerEventHandler('i915_flip_request',I915Parser.prototype.flipEvent.bind(this));importer.registerEventHandler('i915_flip_complete',I915Parser.prototype.flipEvent.bind(this));importer.registerEventHandler('intel_gpu_freq_change',I915Parser.prototype.gpuFrequency.bind(this));} 6086I915Parser.prototype={__proto__:Parser.prototype,i915FlipOpenSlice(ts,obj,plane){const kthread=this.importer.getOrCreatePseudoThread('i915_flip');kthread.openSliceTS=ts;kthread.openSlice='flip:'+obj+'/'+plane;},i915FlipCloseSlice(ts,args){const kthread=this.importer.getOrCreatePseudoThread('i915_flip');if(kthread.openSlice){const slice=new tr.model.ThreadSlice('',kthread.openSlice,ColorScheme.getColorIdForGeneralPurposeString(kthread.openSlice),kthread.openSliceTS,args,ts-kthread.openSliceTS);kthread.thread.sliceGroup.pushSlice(slice);} 6087kthread.openSlice=undefined;},i915GemObjectSlice(ts,eventName,obj,args){const kthread=this.importer.getOrCreatePseudoThread('i915_gem');kthread.openSlice=eventName+':'+obj;const slice=new tr.model.ThreadSlice('',kthread.openSlice,ColorScheme.getColorIdForGeneralPurposeString(kthread.openSlice),ts,args,0);kthread.thread.sliceGroup.pushSlice(slice);},i915GemRingSlice(ts,eventName,dev,ring,args){const kthread=this.importer.getOrCreatePseudoThread('i915_gem_ring');kthread.openSlice=eventName+':'+dev+'.'+ring;const slice=new tr.model.ThreadSlice('',kthread.openSlice,ColorScheme.getColorIdForGeneralPurposeString(kthread.openSlice),ts,args,0);kthread.thread.sliceGroup.pushSlice(slice);},i915RegSlice(ts,eventName,reg,args){const kthread=this.importer.getOrCreatePseudoThread('i915_reg');kthread.openSlice=eventName+':'+reg;const slice=new tr.model.ThreadSlice('',kthread.openSlice,ColorScheme.getColorIdForGeneralPurposeString(kthread.openSlice),ts,args,0);kthread.thread.sliceGroup.pushSlice(slice);},i915FreqChangeSlice(ts,eventName,args){const kthread=this.importer.getOrCreatePseudoThread('i915_gpu_freq');kthread.openSlice=eventName;const slice=new tr.model.ThreadSlice('',kthread.openSlice,ColorScheme.getColorIdForGeneralPurposeString(kthread.openSlice),ts,args,0);kthread.thread.sliceGroup.pushSlice(slice);},gemObjectCreateEvent(eventName,cpuNumber,pid,ts,eventBase){const event=/obj=(\w+), size=(\d+)/.exec(eventBase.details);if(!event)return false;const obj=event[1];const size=parseInt(event[2]);this.i915GemObjectSlice(ts,eventName,obj,{obj,size});return true;},gemObjectBindEvent(eventName,cpuNumber,pid,ts,eventBase){const event=/obj=(\w+), offset=(\w+), size=(\d+)/.exec(eventBase.details);if(!event)return false;const obj=event[1];const offset=event[2];const size=parseInt(event[3]);this.i915ObjectGemSlice(ts,eventName+':'+obj,{obj,offset,size});return true;},gemObjectChangeDomainEvent(eventName,cpuNumber,pid,ts,eventBase){const event=/obj=(\w+), read=(\w+=>\w+), write=(\w+=>\w+)/.exec(eventBase.details);if(!event)return false;const obj=event[1];const read=event[2];const write=event[3];this.i915GemObjectSlice(ts,eventName,obj,{obj,read,write});return true;},gemObjectPreadWriteEvent(eventName,cpuNumber,pid,ts,eventBase){const event=/obj=(\w+), offset=(\d+), len=(\d+)/.exec(eventBase.details);if(!event)return false;const obj=event[1];const offset=parseInt(event[2]);const len=parseInt(event[3]);this.i915GemObjectSlice(ts,eventName,obj,{obj,offset,len});return true;},gemObjectFaultEvent(eventName,cpuNumber,pid,ts,eventBase){const event=/obj=(\w+), (\w+) index=(\d+)/.exec(eventBase.details);if(!event)return false;const obj=event[1];const type=event[2];const index=parseInt(event[3]);this.i915GemObjectSlice(ts,eventName,obj,{obj,type,index});return true;},gemObjectDestroyEvent(eventName,cpuNumber,pid,ts,eventBase){const event=/obj=(\w+)/.exec(eventBase.details);if(!event)return false;const obj=event[1];this.i915GemObjectSlice(ts,eventName,obj,{obj});return true;},gemRingDispatchEvent(eventName,cpuNumber,pid,ts,eventBase){const event=/dev=(\d+), ring=(\d+), seqno=(\d+)/.exec(eventBase.details);if(!event)return false;const dev=parseInt(event[1]);const ring=parseInt(event[2]);const seqno=parseInt(event[3]);this.i915GemRingSlice(ts,eventName,dev,ring,{dev,ring,seqno});return true;},gemRingFlushEvent(eventName,cpuNumber,pid,ts,eventBase){const event=/dev=(\d+), ring=(\w+), invalidate=(\w+), flush=(\w+)/.exec(eventBase.details);if(!event)return false;const dev=parseInt(event[1]);const ring=parseInt(event[2]);const invalidate=event[3];const flush=event[4];this.i915GemRingSlice(ts,eventName,dev,ring,{dev,ring,invalidate,flush});return true;},gemRequestEvent(eventName,cpuNumber,pid,ts,eventBase){const event=/dev=(\d+), ring=(\d+), seqno=(\d+)/.exec(eventBase.details);if(!event)return false;const dev=parseInt(event[1]);const ring=parseInt(event[2]);const seqno=parseInt(event[3]);this.i915GemRingSlice(ts,eventName,dev,ring,{dev,ring,seqno});return true;},gemRingWaitEvent(eventName,cpuNumber,pid,ts,eventBase){const event=/dev=(\d+), ring=(\d+)/.exec(eventBase.details);if(!event)return false;const dev=parseInt(event[1]);const ring=parseInt(event[2]);this.i915GemRingSlice(ts,eventName,dev,ring,{dev,ring});return true;},regRWEvent(eventName,cpuNumber,pid,ts,eventBase){const event=/(\w+) reg=(\w+), len=(\d+), val=(\(\w+, \w+\))/.exec(eventBase.details);if(!event)return false;const rw=event[1];const reg=event[2];const len=event[3];const data=event[3];this.i915RegSlice(ts,rw,reg,{rw,reg,len,data});return true;},flipEvent(eventName,cpuNumber,pid,ts,eventBase){const event=/plane=(\d+), obj=(\w+)/.exec(eventBase.details);if(!event)return false;const plane=parseInt(event[1]);const obj=event[2];if(eventName==='i915_flip_request'){this.i915FlipOpenSlice(ts,obj,plane);}else{this.i915FlipCloseSlice(ts,{obj,plane});} 6088return true;},gpuFrequency(eventName,cpuNumver,pid,ts,eventBase){const event=/new_freq=(\d+)/.exec(eventBase.details);if(!event)return false;const freq=parseInt(event[1]);this.i915FreqChangeSlice(ts,eventName,{freq});return true;}};Parser.register(I915Parser);return{I915Parser,};});'use strict';tr.exportTo('tr.e.importer.linux_perf',function(){const ColorScheme=tr.b.ColorScheme;const Parser=tr.e.importer.linux_perf.Parser;function IrqParser(importer){Parser.call(this,importer);importer.registerEventHandler('irq_handler_entry',IrqParser.prototype.irqHandlerEntryEvent.bind(this));importer.registerEventHandler('irq_handler_exit',IrqParser.prototype.irqHandlerExitEvent.bind(this));importer.registerEventHandler('softirq_raise',IrqParser.prototype.softirqRaiseEvent.bind(this));importer.registerEventHandler('softirq_entry',IrqParser.prototype.softirqEntryEvent.bind(this));importer.registerEventHandler('softirq_exit',IrqParser.prototype.softirqExitEvent.bind(this));importer.registerEventHandler('ipi_entry',IrqParser.prototype.ipiEntryEvent.bind(this));importer.registerEventHandler('ipi_exit',IrqParser.prototype.ipiExitEvent.bind(this));} 6089const irqHandlerEntryRE=/irq=(\d+) name=(.+)/;const irqHandlerExitRE=/irq=(\d+) ret=(.+)/;const softirqRE=/vec=(\d+) \[action=(.+)\]/;const ipiHandlerExitRE=/\((.+)\)/;IrqParser.prototype={__proto__:Parser.prototype,irqHandlerEntryEvent(eventName,cpuNumber,pid,ts,eventBase){const event=irqHandlerEntryRE.exec(eventBase.details);if(!event)return false;const irq=parseInt(event[1]);const name=event[2];const thread=this.importer.getOrCreatePseudoThread('irqs cpu '+cpuNumber);thread.lastEntryTs=ts;thread.irqName=name;return true;},irqHandlerExitEvent(eventName,cpuNumber,pid,ts,eventBase){const event=irqHandlerExitRE.exec(eventBase.details);if(!event)return false;const irq=parseInt(event[1]);const ret=event[2];const thread=this.importer.getOrCreatePseudoThread('irqs cpu '+cpuNumber);if(thread.lastEntryTs!==undefined){const duration=ts-thread.lastEntryTs;const slice=new tr.model.ThreadSlice('','IRQ ('+thread.irqName+')',ColorScheme.getColorIdForGeneralPurposeString(event[1]),thread.lastEntryTs,{ret},duration);thread.thread.sliceGroup.pushSlice(slice);} 6090thread.lastEntryTs=undefined;thread.irqName=undefined;return true;},softirqRaiseEvent(eventName,cpuNumber,pid,ts,eventBase){return true;},softirqEntryEvent(eventName,cpuNumber,pid,ts,eventBase){const event=softirqRE.exec(eventBase.details);if(!event)return false;const action=event[2];const thread=this.importer.getOrCreatePseudoThread('softirq cpu '+cpuNumber);thread.lastEntryTs=ts;return true;},softirqExitEvent(eventName,cpuNumber,pid,ts,eventBase){const event=softirqRE.exec(eventBase.details);if(!event)return false;const vec=parseInt(event[1]);const action=event[2];const thread=this.importer.getOrCreatePseudoThread('softirq cpu '+cpuNumber);if(thread.lastEntryTs!==undefined){const duration=ts-thread.lastEntryTs;const slice=new tr.model.ThreadSlice('',action,ColorScheme.getColorIdForGeneralPurposeString(event[1]),thread.lastEntryTs,{vec},duration);thread.thread.sliceGroup.pushSlice(slice);} 6091thread.lastEntryTs=undefined;return true;},ipiEntryEvent(eventName,cpuNumber,pid,ts,eventBase){const thread=this.importer.getOrCreatePseudoThread('irqs cpu '+cpuNumber);thread.lastEntryTs=ts;return true;},ipiExitEvent(eventName,cpuNumber,pid,ts,eventBase){const event=ipiHandlerExitRE.exec(eventBase.details);if(!event)return false;const ipiName=event[1];const thread=this.importer.getOrCreatePseudoThread('irqs cpu '+cpuNumber);if(thread.lastEntryTs!==undefined){const duration=ts-thread.lastEntryTs;const slice=new tr.model.ThreadSlice('','IPI ('+ipiName+')',ColorScheme.getColorIdForGeneralPurposeString(ipiName),thread.lastEntryTs,{},duration);thread.thread.sliceGroup.pushSlice(slice);} 6092thread.lastEntryTs=undefined;return true;}};Parser.register(IrqParser);return{IrqParser,};});'use strict';tr.exportTo('tr.e.importer.linux_perf',function(){const LinuxPerfParser=tr.e.importer.linux_perf.Parser;function KernelFuncParser(importer){LinuxPerfParser.call(this,importer);importer.registerEventHandler('graph_ent',KernelFuncParser.prototype.traceKernelFuncEnterEvent.bind(this));importer.registerEventHandler('graph_ret',KernelFuncParser.prototype.traceKernelFuncReturnEvent.bind(this));this.model_=importer.model_;this.ppids_={};} 6093const TestExports={};const funcEnterRE=new RegExp('func=(.+)');TestExports.funcEnterRE=funcEnterRE;KernelFuncParser.prototype={__proto__:LinuxPerfParser.prototype,traceKernelFuncEnterEvent(eventName,cpuNumber,pid,ts,eventBase){const eventData=funcEnterRE.exec(eventBase.details);if(!eventData)return false;if(eventBase.tgid===undefined){return false;} 6094const tgid=parseInt(eventBase.tgid);const name=eventData[1];const thread=this.model_.getOrCreateProcess(tgid).getOrCreateThread(pid);thread.name=eventBase.threadName;const slices=thread.kernelSliceGroup;if(!slices.isTimestampValidForBeginOrEnd(ts)){this.model_.importWarning({type:'parse_error',message:'Timestamps are moving backward.'});return false;} 6095const slice=slices.beginSlice(null,name,ts,{});return true;},traceKernelFuncReturnEvent(eventName,cpuNumber,pid,ts,eventBase){if(eventBase.tgid===undefined){return false;} 6096const tgid=parseInt(eventBase.tgid);const thread=this.model_.getOrCreateProcess(tgid).getOrCreateThread(pid);thread.name=eventBase.threadName;const slices=thread.kernelSliceGroup;if(!slices.isTimestampValidForBeginOrEnd(ts)){this.model_.importWarning({type:'parse_error',message:'Timestamps are moving backward.'});return false;} 6097if(slices.openSliceCount>0){slices.endSlice(ts);} 6098return true;}};LinuxPerfParser.register(KernelFuncParser);return{KernelFuncParser,};});'use strict';tr.exportTo('tr.e.importer.linux_perf',function(){const ColorScheme=tr.b.ColorScheme;const Parser=tr.e.importer.linux_perf.Parser;function MaliParser(importer){Parser.call(this,importer);importer.registerEventHandler('mali_dvfs_event',MaliParser.prototype.dvfsEventEvent.bind(this));importer.registerEventHandler('mali_dvfs_set_clock',MaliParser.prototype.dvfsSetClockEvent.bind(this));importer.registerEventHandler('mali_dvfs_set_voltage',MaliParser.prototype.dvfsSetVoltageEvent.bind(this));this.addJMCounter('mali_hwc_MESSAGES_SENT','Messages Sent');this.addJMCounter('mali_hwc_MESSAGES_RECEIVED','Messages Received');this.addJMCycles('mali_hwc_GPU_ACTIVE','GPU Active');this.addJMCycles('mali_hwc_IRQ_ACTIVE','IRQ Active');for(let i=0;i<7;i++){const jobStr='JS'+i;const jobHWCStr='mali_hwc_'+jobStr;this.addJMCounter(jobHWCStr+'_JOBS',jobStr+' Jobs');this.addJMCounter(jobHWCStr+'_TASKS',jobStr+' Tasks');this.addJMCycles(jobHWCStr+'_ACTIVE',jobStr+' Active');this.addJMCycles(jobHWCStr+'_WAIT_READ',jobStr+' Wait Read');this.addJMCycles(jobHWCStr+'_WAIT_ISSUE',jobStr+' Wait Issue');this.addJMCycles(jobHWCStr+'_WAIT_DEPEND',jobStr+' Wait Depend');this.addJMCycles(jobHWCStr+'_WAIT_FINISH',jobStr+' Wait Finish');} 6099this.addTilerCounter('mali_hwc_TRIANGLES','Triangles');this.addTilerCounter('mali_hwc_QUADS','Quads');this.addTilerCounter('mali_hwc_POLYGONS','Polygons');this.addTilerCounter('mali_hwc_POINTS','Points');this.addTilerCounter('mali_hwc_LINES','Lines');this.addTilerCounter('mali_hwc_VCACHE_HIT','VCache Hit');this.addTilerCounter('mali_hwc_VCACHE_MISS','VCache Miss');this.addTilerCounter('mali_hwc_FRONT_FACING','Front Facing');this.addTilerCounter('mali_hwc_BACK_FACING','Back Facing');this.addTilerCounter('mali_hwc_PRIM_VISIBLE','Prim Visible');this.addTilerCounter('mali_hwc_PRIM_CULLED','Prim Culled');this.addTilerCounter('mali_hwc_PRIM_CLIPPED','Prim Clipped');this.addTilerCounter('mali_hwc_WRBUF_HIT','Wrbuf Hit');this.addTilerCounter('mali_hwc_WRBUF_MISS','Wrbuf Miss');this.addTilerCounter('mali_hwc_WRBUF_LINE','Wrbuf Line');this.addTilerCounter('mali_hwc_WRBUF_PARTIAL','Wrbuf Partial');this.addTilerCounter('mali_hwc_WRBUF_STALL','Wrbuf Stall');this.addTilerCycles('mali_hwc_ACTIVE','Tiler Active');this.addTilerCycles('mali_hwc_INDEX_WAIT','Index Wait');this.addTilerCycles('mali_hwc_INDEX_RANGE_WAIT','Index Range Wait');this.addTilerCycles('mali_hwc_VERTEX_WAIT','Vertex Wait');this.addTilerCycles('mali_hwc_PCACHE_WAIT','Pcache Wait');this.addTilerCycles('mali_hwc_WRBUF_WAIT','Wrbuf Wait');this.addTilerCycles('mali_hwc_BUS_READ','Bus Read');this.addTilerCycles('mali_hwc_BUS_WRITE','Bus Write');this.addTilerCycles('mali_hwc_TILER_UTLB_STALL','Tiler UTLB Stall');this.addTilerCycles('mali_hwc_TILER_UTLB_HIT','Tiler UTLB Hit');this.addFragCycles('mali_hwc_FRAG_ACTIVE','Active');this.addFragCounter('mali_hwc_FRAG_PRIMATIVES','Primitives');this.addFragCounter('mali_hwc_FRAG_PRIMATIVES_DROPPED','Primitives Dropped');this.addFragCycles('mali_hwc_FRAG_CYCLE_DESC','Descriptor Processing');this.addFragCycles('mali_hwc_FRAG_CYCLES_PLR','PLR Processing??');this.addFragCycles('mali_hwc_FRAG_CYCLES_VERT','Vertex Processing');this.addFragCycles('mali_hwc_FRAG_CYCLES_TRISETUP','Triangle Setup');this.addFragCycles('mali_hwc_FRAG_CYCLES_RAST','Rasterization???');this.addFragCounter('mali_hwc_FRAG_THREADS','Threads');this.addFragCounter('mali_hwc_FRAG_DUMMY_THREADS','Dummy Threads');this.addFragCounter('mali_hwc_FRAG_QUADS_RAST','Quads Rast');this.addFragCounter('mali_hwc_FRAG_QUADS_EZS_TEST','Quads EZS Test');this.addFragCounter('mali_hwc_FRAG_QUADS_EZS_KILLED','Quads EZS Killed');this.addFragCounter('mali_hwc_FRAG_QUADS_LZS_TEST','Quads LZS Test');this.addFragCounter('mali_hwc_FRAG_QUADS_LZS_KILLED','Quads LZS Killed');this.addFragCycles('mali_hwc_FRAG_CYCLE_NO_TILE','No Tiles');this.addFragCounter('mali_hwc_FRAG_NUM_TILES','Tiles');this.addFragCounter('mali_hwc_FRAG_TRANS_ELIM','Transactions Eliminated');this.addComputeCycles('mali_hwc_COMPUTE_ACTIVE','Active');this.addComputeCounter('mali_hwc_COMPUTE_TASKS','Tasks');this.addComputeCounter('mali_hwc_COMPUTE_THREADS','Threads Started');this.addComputeCycles('mali_hwc_COMPUTE_CYCLES_DESC','Waiting for Descriptors');this.addTripipeCycles('mali_hwc_TRIPIPE_ACTIVE','Active');this.addArithCounter('mali_hwc_ARITH_WORDS','Instructions (/Pipes)');this.addArithCycles('mali_hwc_ARITH_CYCLES_REG','Reg scheduling stalls (/Pipes)');this.addArithCycles('mali_hwc_ARITH_CYCLES_L0','L0 cache miss stalls (/Pipes)');this.addArithCounter('mali_hwc_ARITH_FRAG_DEPEND','Frag dep check failures (/Pipes)');this.addLSCounter('mali_hwc_LS_WORDS','Instruction Words Completed');this.addLSCounter('mali_hwc_LS_ISSUES','Full Pipeline Issues');this.addLSCounter('mali_hwc_LS_RESTARTS','Restarts (unpairable insts)');this.addLSCounter('mali_hwc_LS_REISSUES_MISS','Pipeline reissue (cache miss/uTLB)');this.addLSCounter('mali_hwc_LS_REISSUES_VD','Pipeline reissue (varying data)');this.addLSCounter('mali_hwc_LS_REISSUE_ATTRIB_MISS','Pipeline reissue (attribute cache miss)');this.addLSCounter('mali_hwc_LS_REISSUE_NO_WB','Writeback not used');this.addTexCounter('mali_hwc_TEX_WORDS','Words');this.addTexCounter('mali_hwc_TEX_BUBBLES','Bubbles');this.addTexCounter('mali_hwc_TEX_WORDS_L0','Words L0');this.addTexCounter('mali_hwc_TEX_WORDS_DESC','Words Desc');this.addTexCounter('mali_hwc_TEX_THREADS','Threads');this.addTexCounter('mali_hwc_TEX_RECIRC_FMISS','Recirc due to Full Miss');this.addTexCounter('mali_hwc_TEX_RECIRC_DESC','Recirc due to Desc Miss');this.addTexCounter('mali_hwc_TEX_RECIRC_MULTI','Recirc due to Multipass');this.addTexCounter('mali_hwc_TEX_RECIRC_PMISS','Recirc due to Partial Cache Miss');this.addTexCounter('mali_hwc_TEX_RECIRC_CONF','Recirc due to Cache Conflict');this.addLSCCounter('mali_hwc_LSC_READ_HITS','Read Hits');this.addLSCCounter('mali_hwc_LSC_READ_MISSES','Read Misses');this.addLSCCounter('mali_hwc_LSC_WRITE_HITS','Write Hits');this.addLSCCounter('mali_hwc_LSC_WRITE_MISSES','Write Misses');this.addLSCCounter('mali_hwc_LSC_ATOMIC_HITS','Atomic Hits');this.addLSCCounter('mali_hwc_LSC_ATOMIC_MISSES','Atomic Misses');this.addLSCCounter('mali_hwc_LSC_LINE_FETCHES','Line Fetches');this.addLSCCounter('mali_hwc_LSC_DIRTY_LINE','Dirty Lines');this.addLSCCounter('mali_hwc_LSC_SNOOPS','Snoops');this.addAXICounter('mali_hwc_AXI_TLB_STALL','Address channel stall');this.addAXICounter('mali_hwc_AXI_TLB_MISS','Cache Miss');this.addAXICounter('mali_hwc_AXI_TLB_TRANSACTION','Transactions');this.addAXICounter('mali_hwc_LS_TLB_MISS','LS Cache Miss');this.addAXICounter('mali_hwc_LS_TLB_HIT','LS Cache Hit');this.addAXICounter('mali_hwc_AXI_BEATS_READ','Read Beats');this.addAXICounter('mali_hwc_AXI_BEATS_WRITE','Write Beats');this.addMMUCounter('mali_hwc_MMU_TABLE_WALK','Page Table Walks');this.addMMUCounter('mali_hwc_MMU_REPLAY_MISS','Cache Miss from Replay Buffer');this.addMMUCounter('mali_hwc_MMU_REPLAY_FULL','Replay Buffer Full');this.addMMUCounter('mali_hwc_MMU_NEW_MISS','Cache Miss on New Request');this.addMMUCounter('mali_hwc_MMU_HIT','Cache Hit');this.addMMUCycles('mali_hwc_UTLB_STALL','UTLB Stalled');this.addMMUCycles('mali_hwc_UTLB_REPLAY_MISS','UTLB Replay Miss');this.addMMUCycles('mali_hwc_UTLB_REPLAY_FULL','UTLB Replay Full');this.addMMUCycles('mali_hwc_UTLB_NEW_MISS','UTLB New Miss');this.addMMUCycles('mali_hwc_UTLB_HIT','UTLB Hit');this.addL2Counter('mali_hwc_L2_READ_BEATS','Read Beats');this.addL2Counter('mali_hwc_L2_WRITE_BEATS','Write Beats');this.addL2Counter('mali_hwc_L2_ANY_LOOKUP','Any Lookup');this.addL2Counter('mali_hwc_L2_READ_LOOKUP','Read Lookup');this.addL2Counter('mali_hwc_L2_SREAD_LOOKUP','Shareable Read Lookup');this.addL2Counter('mali_hwc_L2_READ_REPLAY','Read Replayed');this.addL2Counter('mali_hwc_L2_READ_SNOOP','Read Snoop');this.addL2Counter('mali_hwc_L2_READ_HIT','Read Cache Hit');this.addL2Counter('mali_hwc_L2_CLEAN_MISS','CleanUnique Miss');this.addL2Counter('mali_hwc_L2_WRITE_LOOKUP','Write Lookup');this.addL2Counter('mali_hwc_L2_SWRITE_LOOKUP','Shareable Write Lookup');this.addL2Counter('mali_hwc_L2_WRITE_REPLAY','Write Replayed');this.addL2Counter('mali_hwc_L2_WRITE_SNOOP','Write Snoop');this.addL2Counter('mali_hwc_L2_WRITE_HIT','Write Cache Hit');this.addL2Counter('mali_hwc_L2_EXT_READ_FULL','ExtRD with BIU Full');this.addL2Counter('mali_hwc_L2_EXT_READ_HALF','ExtRD with BIU >1/2 Full');this.addL2Counter('mali_hwc_L2_EXT_WRITE_FULL','ExtWR with BIU Full');this.addL2Counter('mali_hwc_L2_EXT_WRITE_HALF','ExtWR with BIU >1/2 Full');this.addL2Counter('mali_hwc_L2_EXT_READ','External Read (ExtRD)');this.addL2Counter('mali_hwc_L2_EXT_READ_LINE','ExtRD (linefill)');this.addL2Counter('mali_hwc_L2_EXT_WRITE','External Write (ExtWR)');this.addL2Counter('mali_hwc_L2_EXT_WRITE_LINE','ExtWR (linefill)');this.addL2Counter('mali_hwc_L2_EXT_WRITE_SMALL','ExtWR (burst size <64B)');this.addL2Counter('mali_hwc_L2_EXT_BARRIER','External Barrier');this.addL2Counter('mali_hwc_L2_EXT_AR_STALL','Address Read stalls');this.addL2Counter('mali_hwc_L2_EXT_R_BUF_FULL','Response Buffer full stalls');this.addL2Counter('mali_hwc_L2_EXT_RD_BUF_FULL','Read Data Buffer full stalls');this.addL2Counter('mali_hwc_L2_EXT_R_RAW','RAW hazard stalls');this.addL2Counter('mali_hwc_L2_EXT_W_STALL','Write Data stalls');this.addL2Counter('mali_hwc_L2_EXT_W_BUF_FULL','Write Data Buffer full');this.addL2Counter('mali_hwc_L2_EXT_R_W_HAZARD','WAW or WAR hazard stalls');this.addL2Counter('mali_hwc_L2_TAG_HAZARD','Tag hazard replays');this.addL2Cycles('mali_hwc_L2_SNOOP_FULL','Snoop buffer full');this.addL2Cycles('mali_hwc_L2_REPLAY_FULL','Replay buffer full');importer.registerEventHandler('tracing_mark_write:mali_driver',MaliParser.prototype.maliDDKEvent.bind(this));this.model_=importer.model_;} 6100MaliParser.prototype={__proto__:Parser.prototype,maliDDKOpenSlice(pid,tid,ts,func,blockinfo){const thread=this.importer.model_.getOrCreateProcess(pid).getOrCreateThread(tid);const funcArgs=/^([\w\d_]*)(?:\(\))?:?\s*(.*)$/.exec(func);thread.sliceGroup.beginSlice('gpu-driver',funcArgs[1],ts,{'args':funcArgs[2],blockinfo});},maliDDKCloseSlice(pid,tid,ts,args,blockinfo){const thread=this.importer.model_.getOrCreateProcess(pid).getOrCreateThread(tid);if(!thread.sliceGroup.openSliceCount){return;} 6101thread.sliceGroup.endSlice(ts);},autoDetectLineRE(line){const lineREWithThread=/^\s*\(([\w\-]*)\)\s*(\w+):\s*([\w\\\/\.\-]*@\d*):?\s*(.*)$/;if(lineREWithThread.test(line)){return lineREWithThread;} 6102const lineRENoThread=/^s*()(\w+):\s*([\w\\\/.\-]*):?\s*(.*)$/;if(lineRENoThread.test(line)){return lineRENoThread;} 6103return null;},lineRE:null,maliDDKEvent(eventName,cpuNumber,pid,ts,eventBase){if(this.lineRE===null){this.lineRE=this.autoDetectLineRE(eventBase.details);if(this.lineRE===null)return false;} 6104const maliEvent=this.lineRE.exec(eventBase.details);const tid=(maliEvent[1]===''?'mali':maliEvent[1]);switch(maliEvent[2]){case'cros_trace_print_enter':this.maliDDKOpenSlice(pid,tid,ts,maliEvent[4],maliEvent[3]);break;case'cros_trace_print_exit':this.maliDDKCloseSlice(pid,tid,ts,[],maliEvent[3]);} 6105return true;},dvfsSample(counterName,seriesName,ts,s){const value=parseInt(s);const counter=this.model_.kernel.getOrCreateCounter('DVFS',counterName);if(counter.numSeries===0){counter.addSeries(new tr.model.CounterSeries(seriesName,ColorScheme.getColorIdForGeneralPurposeString(counter.name)));} 6106counter.series.forEach(function(series){series.addCounterSample(ts,value);});},dvfsEventEvent(eventName,cpuNumber,pid,ts,eventBase){const event=/utilization=(\d+)/.exec(eventBase.details);if(!event)return false;this.dvfsSample('DVFS Utilization','utilization',ts,event[1]);return true;},dvfsSetClockEvent(eventName,cpuNumber,pid,ts,eventBase){const event=/frequency=(\d+)/.exec(eventBase.details);if(!event)return false;this.dvfsSample('DVFS Frequency','frequency',ts,event[1]);return true;},dvfsSetVoltageEvent(eventName,cpuNumber,pid,ts,eventBase){const event=/voltage=(\d+)/.exec(eventBase.details);if(!event)return false;this.dvfsSample('DVFS Voltage','voltage',ts,event[1]);return true;},hwcSample(cat,counterName,seriesName,ts,eventBase){const event=/val=(\d+)/.exec(eventBase.details);if(!event)return false;const value=parseInt(event[1]);const counter=this.model_.kernel.getOrCreateCounter(cat,counterName);if(counter.numSeries===0){counter.addSeries(new tr.model.CounterSeries(seriesName,ColorScheme.getColorIdForGeneralPurposeString(counter.name)));} 6107counter.series.forEach(function(series){series.addCounterSample(ts,value);});return true;},jmSample(ctrName,seriesName,ts,eventBase){return this.hwcSample('mali:jm','JM: '+ctrName,seriesName,ts,eventBase);},addJMCounter(hwcEventName,hwcTitle){function handler(eventName,cpuNumber,pid,ts,eventBase){return this.jmSample(hwcTitle,'count',ts,eventBase);} 6108this.importer.registerEventHandler(hwcEventName,handler.bind(this));},addJMCycles(hwcEventName,hwcTitle){function handler(eventName,cpuNumber,pid,ts,eventBase){return this.jmSample(hwcTitle,'cycles',ts,eventBase);} 6109this.importer.registerEventHandler(hwcEventName,handler.bind(this));},tilerSample(ctrName,seriesName,ts,eventBase){return this.hwcSample('mali:tiler','Tiler: '+ctrName,seriesName,ts,eventBase);},addTilerCounter(hwcEventName,hwcTitle){function handler(eventName,cpuNumber,pid,ts,eventBase){return this.tilerSample(hwcTitle,'count',ts,eventBase);} 6110this.importer.registerEventHandler(hwcEventName,handler.bind(this));},addTilerCycles(hwcEventName,hwcTitle){function handler(eventName,cpuNumber,pid,ts,eventBase){return this.tilerSample(hwcTitle,'cycles',ts,eventBase);} 6111this.importer.registerEventHandler(hwcEventName,handler.bind(this));},fragSample(ctrName,seriesName,ts,eventBase){return this.hwcSample('mali:fragment','Fragment: '+ctrName,seriesName,ts,eventBase);},addFragCounter(hwcEventName,hwcTitle){function handler(eventName,cpuNumber,pid,ts,eventBase){return this.fragSample(hwcTitle,'count',ts,eventBase);} 6112this.importer.registerEventHandler(hwcEventName,handler.bind(this));},addFragCycles(hwcEventName,hwcTitle){function handler(eventName,cpuNumber,pid,ts,eventBase){return this.fragSample(hwcTitle,'cycles',ts,eventBase);} 6113this.importer.registerEventHandler(hwcEventName,handler.bind(this));},computeSample(ctrName,seriesName,ts,eventBase){return this.hwcSample('mali:compute','Compute: '+ctrName,seriesName,ts,eventBase);},addComputeCounter(hwcEventName,hwcTitle){function handler(eventName,cpuNumber,pid,ts,eventBase){return this.computeSample(hwcTitle,'count',ts,eventBase);} 6114this.importer.registerEventHandler(hwcEventName,handler.bind(this));},addComputeCycles(hwcEventName,hwcTitle){function handler(eventName,cpuNumber,pid,ts,eventBase){return this.computeSample(hwcTitle,'cycles',ts,eventBase);} 6115this.importer.registerEventHandler(hwcEventName,handler.bind(this));},addTripipeCycles(hwcEventName,hwcTitle){function handler(eventName,cpuNumber,pid,ts,eventBase){return this.hwcSample('mali:shader','Tripipe: '+hwcTitle,'cycles',ts,eventBase);} 6116this.importer.registerEventHandler(hwcEventName,handler.bind(this));},arithSample(ctrName,seriesName,ts,eventBase){return this.hwcSample('mali:arith','Arith: '+ctrName,seriesName,ts,eventBase);},addArithCounter(hwcEventName,hwcTitle){function handler(eventName,cpuNumber,pid,ts,eventBase){return this.arithSample(hwcTitle,'count',ts,eventBase);} 6117this.importer.registerEventHandler(hwcEventName,handler.bind(this));},addArithCycles(hwcEventName,hwcTitle){function handler(eventName,cpuNumber,pid,ts,eventBase){return this.arithSample(hwcTitle,'cycles',ts,eventBase);} 6118this.importer.registerEventHandler(hwcEventName,handler.bind(this));},addLSCounter(hwcEventName,hwcTitle){function handler(eventName,cpuNumber,pid,ts,eventBase){return this.hwcSample('mali:ls','LS: '+hwcTitle,'count',ts,eventBase);} 6119this.importer.registerEventHandler(hwcEventName,handler.bind(this));},textureSample(ctrName,seriesName,ts,eventBase){return this.hwcSample('mali:texture','Texture: '+ctrName,seriesName,ts,eventBase);},addTexCounter(hwcEventName,hwcTitle){function handler(eventName,cpuNumber,pid,ts,eventBase){return this.textureSample(hwcTitle,'count',ts,eventBase);} 6120this.importer.registerEventHandler(hwcEventName,handler.bind(this));},addLSCCounter(hwcEventName,hwcTitle){function handler(eventName,cpuNumber,pid,ts,eventBase){return this.hwcSample('mali:lsc','LSC: '+hwcTitle,'count',ts,eventBase);} 6121this.importer.registerEventHandler(hwcEventName,handler.bind(this));},addAXICounter(hwcEventName,hwcTitle){function handler(eventName,cpuNumber,pid,ts,eventBase){return this.hwcSample('mali:axi','AXI: '+hwcTitle,'count',ts,eventBase);} 6122this.importer.registerEventHandler(hwcEventName,handler.bind(this));},mmuSample(ctrName,seriesName,ts,eventBase){return this.hwcSample('mali:mmu','MMU: '+ctrName,seriesName,ts,eventBase);},addMMUCounter(hwcEventName,hwcTitle){function handler(eventName,cpuNumber,pid,ts,eventBase){return this.mmuSample(hwcTitle,'count',ts,eventBase);} 6123this.importer.registerEventHandler(hwcEventName,handler.bind(this));},addMMUCycles(hwcEventName,hwcTitle){function handler(eventName,cpuNumber,pid,ts,eventBase){return this.mmuSample(hwcTitle,'cycles',ts,eventBase);} 6124this.importer.registerEventHandler(hwcEventName,handler.bind(this));},l2Sample(ctrName,seriesName,ts,eventBase){return this.hwcSample('mali:l2','L2: '+ctrName,seriesName,ts,eventBase);},addL2Counter(hwcEventName,hwcTitle){function handler(eventName,cpuNumber,pid,ts,eventBase){return this.l2Sample(hwcTitle,'count',ts,eventBase);} 6125this.importer.registerEventHandler(hwcEventName,handler.bind(this));},addL2Cycles(hwcEventName,hwcTitle){function handler(eventName,cpuNumber,pid,ts,eventBase){return this.l2Sample(hwcTitle,'cycles',ts,eventBase);} 6126this.importer.registerEventHandler(hwcEventName,handler.bind(this));}};Parser.register(MaliParser);return{MaliParser,};});'use strict';tr.exportTo('tr.e.importer.linux_perf',function(){const Parser=tr.e.importer.linux_perf.Parser;function MemReclaimParser(importer){Parser.call(this,importer);importer.registerEventHandler('mm_vmscan_kswapd_wake',MemReclaimParser.prototype.kswapdWake.bind(this));importer.registerEventHandler('mm_vmscan_kswapd_sleep',MemReclaimParser.prototype.kswapdSleep.bind(this));importer.registerEventHandler('mm_vmscan_direct_reclaim_begin',MemReclaimParser.prototype.reclaimBegin.bind(this));importer.registerEventHandler('mm_vmscan_direct_reclaim_end',MemReclaimParser.prototype.reclaimEnd.bind(this));} 6127const kswapdWakeRE=/nid=(\d+) order=(\d+)/;const kswapdSleepRE=/nid=(\d+)/;const reclaimBeginRE=/order=(\d+) may_writepage=\d+ gfp_flags=(.+)/;const reclaimEndRE=/nr_reclaimed=(\d+)/;MemReclaimParser.prototype={__proto__:Parser.prototype,kswapdWake(eventName,cpuNumber,pid,ts,eventBase){const event=kswapdWakeRE.exec(eventBase.details);if(!event)return false;const tgid=parseInt(eventBase.tgid);const nid=parseInt(event[1]);const order=parseInt(event[2]);const kthread=this.importer.getOrCreateKernelThread(eventBase.threadName,tgid,pid);if(kthread.openSliceTS){if(order>kthread.order){kthread.order=order;}}else{kthread.openSliceTS=ts;kthread.order=order;} 6128return true;},kswapdSleep(eventName,cpuNumber,pid,ts,eventBase){const tgid=parseInt(eventBase.tgid);const kthread=this.importer.getOrCreateKernelThread(eventBase.threadName,tgid,pid);if(kthread.openSliceTS){kthread.thread.sliceGroup.pushCompleteSlice('memreclaim',eventBase.threadName,kthread.openSliceTS,ts-kthread.openSliceTS,0,0,{order:kthread.order});} 6129kthread.openSliceTS=undefined;kthread.order=undefined;return true;},reclaimBegin(eventName,cpuNumber,pid,ts,eventBase){const event=reclaimBeginRE.exec(eventBase.details);if(!event)return false;const order=parseInt(event[1]);const gfp=event[2];const tgid=parseInt(eventBase.tgid);const kthread=this.importer.getOrCreateKernelThread(eventBase.threadName,tgid,pid);kthread.openSliceTS=ts;kthread.order=order;kthread.gfp=gfp;return true;},reclaimEnd(eventName,cpuNumber,pid,ts,eventBase){const event=reclaimEndRE.exec(eventBase.details);if(!event)return false;const nrReclaimed=parseInt(event[1]);const tgid=parseInt(eventBase.tgid);const kthread=this.importer.getOrCreateKernelThread(eventBase.threadName,tgid,pid);if(kthread.openSliceTS!==undefined){kthread.thread.sliceGroup.pushCompleteSlice('memreclaim','direct reclaim',kthread.openSliceTS,ts-kthread.openSliceTS,0,0,{order:kthread.order,gfp:kthread.gfp,nr_reclaimed:nrReclaimed});} 6130kthread.openSliceTS=undefined;kthread.order=undefined;kthread.gfp=undefined;return true;}};Parser.register(MemReclaimParser);return{MemReclaimParser,};});'use strict';tr.exportTo('tr.e.importer.linux_perf',function(){const ColorScheme=tr.b.ColorScheme;const Parser=tr.e.importer.linux_perf.Parser;function PowerParser(importer){Parser.call(this,importer);importer.registerEventHandler('power_start',PowerParser.prototype.powerStartEvent.bind(this));importer.registerEventHandler('power_frequency',PowerParser.prototype.powerFrequencyEvent.bind(this));importer.registerEventHandler('cpu_frequency',PowerParser.prototype.cpuFrequencyEvent.bind(this));importer.registerEventHandler('cpu_frequency_limits',PowerParser.prototype.cpuFrequencyLimitsEvent.bind(this));importer.registerEventHandler('cpu_idle',PowerParser.prototype.cpuIdleEvent.bind(this));} 6131PowerParser.prototype={__proto__:Parser.prototype,cpuStateSlice(ts,targetCpuNumber,eventType,cpuState){const targetCpu=this.importer.getOrCreateCpu(targetCpuNumber);if(eventType!=='1'){this.importer.model.importWarning({type:'parse_error',message:'Don\'t understand power_start events of '+'type '+eventType});return;} 6132const powerCounter=targetCpu.getOrCreateCounter('','C-State');if(powerCounter.numSeries===0){powerCounter.addSeries(new tr.model.CounterSeries('state',ColorScheme.getColorIdForGeneralPurposeString(powerCounter.name+'.'+'state')));} 6133powerCounter.series.forEach(function(series){series.addCounterSample(ts,cpuState);});},cpuIdleSlice(ts,targetCpuNumber,cpuState){const targetCpu=this.importer.getOrCreateCpu(targetCpuNumber);const powerCounter=targetCpu.getOrCreateCounter('','C-State');if(powerCounter.numSeries===0){powerCounter.addSeries(new tr.model.CounterSeries('state',ColorScheme.getColorIdForGeneralPurposeString(powerCounter.name)));} 6134const val=(cpuState!==4294967295?cpuState+1:0);powerCounter.series.forEach(function(series){series.addCounterSample(ts,val);});},cpuFrequencySlice(ts,targetCpuNumber,powerState){const targetCpu=this.importer.getOrCreateCpu(targetCpuNumber);const powerCounter=targetCpu.getOrCreateCounter('','Clock Frequency');if(powerCounter.numSeries===0){powerCounter.addSeries(new tr.model.CounterSeries('state',ColorScheme.getColorIdForGeneralPurposeString(powerCounter.name+'.'+'state')));} 6135powerCounter.series.forEach(function(series){series.addCounterSample(ts,powerState);});},cpuFrequencyLimitsSlice(ts,targetCpuNumber,minFreq,maxFreq){const targetCpu=this.importer.getOrCreateCpu(targetCpuNumber);const powerCounter=targetCpu.getOrCreateCounter('','Clock Frequency Limits');if(powerCounter.numSeries===0){powerCounter.addSeries(new tr.model.CounterSeries('Min Frequency',ColorScheme.getColorIdForGeneralPurposeString(powerCounter.name+'.'+'Min Frequency')));powerCounter.addSeries(new tr.model.CounterSeries('Max Frequency',ColorScheme.getColorIdForGeneralPurposeString(powerCounter.name+'.'+'Max Frequency')));} 6136powerCounter.series.forEach(function(series){if(series.name==='Min Frequency'){series.addCounterSample(ts,minFreq);} 6137if(series.name==='Max Frequency'){series.addCounterSample(ts,maxFreq);}});},powerStartEvent(eventName,cpuNumber,pid,ts,eventBase){const event=/type=(\d+) state=(\d) cpu_id=(\d+)/.exec(eventBase.details);if(!event)return false;const targetCpuNumber=parseInt(event[3]);const cpuState=parseInt(event[2]);this.cpuStateSlice(ts,targetCpuNumber,event[1],cpuState);return true;},powerFrequencyEvent(eventName,cpuNumber,pid,ts,eventBase){const event=/type=(\d+) state=(\d+) cpu_id=(\d+)/.exec(eventBase.details);if(!event)return false;const targetCpuNumber=parseInt(event[3]);const powerState=parseInt(event[2]);this.cpuFrequencySlice(ts,targetCpuNumber,powerState);return true;},cpuFrequencyEvent(eventName,cpuNumber,pid,ts,eventBase){const event=/state=(\d+) cpu_id=(\d+)/.exec(eventBase.details);if(!event)return false;const targetCpuNumber=parseInt(event[2]);const powerState=parseInt(event[1]);this.cpuFrequencySlice(ts,targetCpuNumber,powerState);return true;},cpuFrequencyLimitsEvent(eventName,cpu,pid,ts,eventBase){const event=/min=(\d+) max=(\d+) cpu_id=(\d+)/.exec(eventBase.details);if(!event)return false;const targetCpuNumber=parseInt(event[3]);const minFreq=parseInt(event[1]);const maxFreq=parseInt(event[2]);this.cpuFrequencyLimitsSlice(ts,targetCpuNumber,minFreq,maxFreq);return true;},cpuIdleEvent(eventName,cpuNumber,pid,ts,eventBase){const event=/state=(\d+) cpu_id=(\d+)/.exec(eventBase.details);if(!event)return false;const targetCpuNumber=parseInt(event[2]);const cpuState=parseInt(event[1]);this.cpuIdleSlice(ts,targetCpuNumber,cpuState);return true;}};Parser.register(PowerParser);return{PowerParser,};});'use strict';tr.exportTo('tr.e.importer.linux_perf',function(){const ColorScheme=tr.b.ColorScheme;const Parser=tr.e.importer.linux_perf.Parser;function RegulatorParser(importer){Parser.call(this,importer);importer.registerEventHandler('regulator_enable',RegulatorParser.prototype.regulatorEnableEvent.bind(this));importer.registerEventHandler('regulator_enable_delay',RegulatorParser.prototype.regulatorEnableDelayEvent.bind(this));importer.registerEventHandler('regulator_enable_complete',RegulatorParser.prototype.regulatorEnableCompleteEvent.bind(this));importer.registerEventHandler('regulator_disable',RegulatorParser.prototype.regulatorDisableEvent.bind(this));importer.registerEventHandler('regulator_disable_complete',RegulatorParser.prototype.regulatorDisableCompleteEvent.bind(this));importer.registerEventHandler('regulator_set_voltage',RegulatorParser.prototype.regulatorSetVoltageEvent.bind(this));importer.registerEventHandler('regulator_set_voltage_complete',RegulatorParser.prototype.regulatorSetVoltageCompleteEvent.bind(this));this.model_=importer.model_;} 6138const regulatorEnableRE=/name=(.+)/;const regulatorDisableRE=/name=(.+)/;const regulatorSetVoltageCompleteRE=/name=(\S+), val=(\d+)/;RegulatorParser.prototype={__proto__:Parser.prototype,getCtr_(ctrName,valueName){const ctr=this.model_.kernel.getOrCreateCounter(null,'vreg '+ctrName+' '+valueName);if(ctr.series[0]===undefined){ctr.addSeries(new tr.model.CounterSeries(valueName,ColorScheme.getColorIdForGeneralPurposeString(ctrName+'.'+valueName)));} 6139return ctr;},regulatorEnableEvent(eventName,cpuNum,pid,ts,eventBase){const event=regulatorEnableRE.exec(eventBase.details);if(!event)return false;const name=event[1];const ctr=this.getCtr_(name,'enabled');ctr.series[0].addCounterSample(ts,1);return true;},regulatorEnableDelayEvent(eventName,cpuNum,pid,ts,eventBase){return true;},regulatorEnableCompleteEvent(eventName,cpuNum,pid,ts,eventBase){return true;},regulatorDisableEvent(eventName,cpuNum,pid,ts,eventBase){const event=regulatorDisableRE.exec(eventBase.details);if(!event)return false;const name=event[1];const ctr=this.getCtr_(name,'enabled');ctr.series[0].addCounterSample(ts,0);return true;},regulatorDisableCompleteEvent(eventName,cpuNum,pid,ts,eventBase){return true;},regulatorSetVoltageEvent(eventName,cpuNum,pid,ts,eventBase){return true;},regulatorSetVoltageCompleteEvent(eventName,cpuNum,pid,ts,eventBase){const event=regulatorSetVoltageCompleteRE.exec(eventBase.details);if(!event)return false;const name=event[1];const voltage=parseInt(event[2]);const ctr=this.getCtr_(name,'voltage');ctr.series[0].addCounterSample(ts,voltage);return true;}};Parser.register(RegulatorParser);return{RegulatorParser,};});'use strict';tr.exportTo('tr.e.importer.linux_perf',function(){const Parser=tr.e.importer.linux_perf.Parser;function SchedParser(importer){Parser.call(this,importer);importer.registerEventHandler('sched_switch',SchedParser.prototype.schedSwitchEvent.bind(this));importer.registerEventHandler('sched_wakeup',SchedParser.prototype.schedWakeupEvent.bind(this));importer.registerEventHandler('sched_blocked_reason',SchedParser.prototype.schedBlockedEvent.bind(this));importer.registerEventHandler('sched_cpu_hotplug',SchedParser.prototype.schedCpuHotplugEvent.bind(this));} 6140const TestExports={};const schedSwitchRE=new RegExp('prev_comm=(.+) prev_pid=(\\d+) prev_prio=(\\d+) '+'prev_state=(\\S\\+?|\\S\\|\\S) ==> '+'next_comm=(.+) next_pid=(\\d+) next_prio=(\\d+)');const schedBlockedRE=new RegExp('pid=(\\d+) iowait=(\\d) caller=(.+)');TestExports.schedSwitchRE=schedSwitchRE;const schedWakeupRE=/comm=(.+) pid=(\d+) prio=(\d+)(?: success=\d+)? target_cpu=(\d+)/;TestExports.schedWakeupRE=schedWakeupRE;SchedParser.prototype={__proto__:Parser.prototype,schedSwitchEvent(eventName,cpuNumber,pid,ts,eventBase){const event=schedSwitchRE.exec(eventBase.details);if(!event)return false;const prevState=event[4];const nextComm=event[5];const nextPid=parseInt(event[6]);const nextPrio=parseInt(event[7]);if(eventBase.tgid!==undefined){const tgid=parseInt(eventBase.tgid);const process=this.importer.model_.getOrCreateProcess(tgid);if(!process.getThread(pid)){const thread=process.getOrCreateThread(pid);thread.name=eventBase.threadName;}} 6141const nextThread=this.importer.threadsByLinuxPid[nextPid];let nextName;if(nextThread){nextName=nextThread.userFriendlyName;}else{nextName=nextComm;} 6142const cpu=this.importer.getOrCreateCpu(cpuNumber);cpu.switchActiveThread(ts,{stateWhenDescheduled:prevState},nextPid,nextName,{comm:nextComm,tid:nextPid,prio:nextPrio});return true;},schedWakeupEvent(eventName,cpuNumber,pid,ts,eventBase){const event=schedWakeupRE.exec(eventBase.details);if(!event)return false;const fromPid=pid;const comm=event[1];pid=parseInt(event[2]);const prio=parseInt(event[3]);this.importer.markPidRunnable(ts,pid,comm,prio,fromPid);return true;},schedCpuHotplugEvent(eventName,cpuNumber,pid,ts,eventBase){const event=/cpu (\d+) (.+) error=(\d+)/.exec(eventBase.details);if(!event)return false;cpuNumber=event[1];const state=event[2];const targetCpu=this.importer.getOrCreateCpu(cpuNumber);const powerCounter=targetCpu.getOrCreateCounter('','Cpu Hotplug');if(powerCounter.numSeries===0){powerCounter.addSeries(new tr.model.CounterSeries('State',tr.b.ColorScheme.getColorIdForGeneralPurposeString(powerCounter.name+'.'+'State')));} 6143powerCounter.series.forEach(function(series){if(series.name==='State'){series.addCounterSample(ts,state.localeCompare('offline')?0:1);}});return true;},schedBlockedEvent(eventName,cpuNumber,pid,ts,eventBase){const event=schedBlockedRE.exec(eventBase.details);if(!event)return false;pid=parseInt(event[1]);const iowait=parseInt(event[2]);const caller=event[3];this.importer.addPidBlockedReason(ts,pid,iowait,caller);return true;}};Parser.register(SchedParser);return{SchedParser,_SchedParserTestExports:TestExports};});'use strict';tr.exportTo('tr.e.importer.linux_perf',function(){const ColorScheme=tr.b.ColorScheme;const Parser=tr.e.importer.linux_perf.Parser;function SyncParser(importer){Parser.call(this,importer);importer.registerEventHandler('sync_timeline',SyncParser.prototype.timelineEvent.bind(this));importer.registerEventHandler('sync_wait',SyncParser.prototype.syncWaitEvent.bind(this));importer.registerEventHandler('sync_pt',SyncParser.prototype.syncPtEvent.bind(this));this.model_=importer.model_;} 6144const syncTimelineRE=/name=(\S+) value=(\S*)/;const syncWaitRE=/(\S+) name=(\S+) state=(\d+)/;const syncPtRE=/name=(\S+) value=(\S*)/;SyncParser.prototype={__proto__:Parser.prototype,timelineEvent(eventName,cpuNumber,pid,ts,eventBase){const event=syncTimelineRE.exec(eventBase.details);if(!event)return false;const thread=this.importer.getOrCreatePseudoThread(event[1]);if(thread.lastActiveTs!==undefined){const duration=ts-thread.lastActiveTs;let value=thread.lastActiveValue;if(value===undefined)value=' ';const slice=new tr.model.ThreadSlice('',value,ColorScheme.getColorIdForGeneralPurposeString(value),thread.lastActiveTs,{},duration);thread.thread.sliceGroup.pushSlice(slice);} 6145thread.lastActiveTs=ts;thread.lastActiveValue=event[2];return true;},syncWaitEvent(eventName,cpuNumber,pid,ts,eventBase){const event=syncWaitRE.exec(eventBase.details);if(!event)return false;if(eventBase.tgid===undefined){return false;} 6146const tgid=parseInt(eventBase.tgid);const thread=this.model_.getOrCreateProcess(tgid).getOrCreateThread(pid);thread.name=eventBase.threadName;const slices=thread.kernelSliceGroup;if(!slices.isTimestampValidForBeginOrEnd(ts)){this.model_.importWarning({type:'parse_error',message:'Timestamps are moving backward.'});return false;} 6147const name='fence_wait("'+event[2]+'")';if(event[1]==='begin'){const slice=slices.beginSlice(null,name,ts,{'Start state':event[3]});}else if(event[1]==='end'){if(slices.openSliceCount>0){slices.endSlice(ts);}}else{return false;} 6148return true;},syncPtEvent(eventName,cpuNumber,pid,ts,eventBase){return!!syncPtRE.exec(eventBase.details);}};Parser.register(SyncParser);return{SyncParser,};});'use strict';tr.exportTo('tr.e.importer.linux_perf',function(){const ColorScheme=tr.b.ColorScheme;const Parser=tr.e.importer.linux_perf.Parser;function WorkqueueParser(importer){Parser.call(this,importer);importer.registerEventHandler('workqueue_execute_start',WorkqueueParser.prototype.executeStartEvent.bind(this));importer.registerEventHandler('workqueue_execute_end',WorkqueueParser.prototype.executeEndEvent.bind(this));importer.registerEventHandler('workqueue_queue_work',WorkqueueParser.prototype.executeQueueWork.bind(this));importer.registerEventHandler('workqueue_activate_work',WorkqueueParser.prototype.executeActivateWork.bind(this));} 6149const workqueueExecuteStartRE=/work struct (.+): function (\S+)/;const workqueueExecuteEndRE=/work struct (.+)/;WorkqueueParser.prototype={__proto__:Parser.prototype,executeStartEvent(eventName,cpuNumber,pid,ts,eventBase){const event=workqueueExecuteStartRE.exec(eventBase.details);if(!event)return false;const kthread=this.importer.getOrCreateKernelThread(eventBase.threadName,pid,pid);kthread.openSliceTS=ts;kthread.openSlice=event[2];return true;},executeEndEvent(eventName,cpuNumber,pid,ts,eventBase){const event=workqueueExecuteEndRE.exec(eventBase.details);if(!event)return false;const kthread=this.importer.getOrCreateKernelThread(eventBase.threadName,pid,pid);if(kthread.openSlice){const slice=new tr.model.ThreadSlice('',kthread.openSlice,ColorScheme.getColorIdForGeneralPurposeString(kthread.openSlice),kthread.openSliceTS,{},ts-kthread.openSliceTS);kthread.thread.sliceGroup.pushSlice(slice);} 6150kthread.openSlice=undefined;return true;},executeQueueWork(eventName,cpuNumber,pid,ts,eventBase){return true;},executeActivateWork(eventName,cpuNumber,pid,ts,eventBase){return true;}};Parser.register(WorkqueueParser);return{WorkqueueParser,};});'use strict';tr.exportTo('tr.e.importer.linux_perf',function(){const MONOTONIC_TO_FTRACE_GLOBAL_SYNC_ID='linux_clock_monotonic_to_ftrace_global';function FTraceImporter(model,events){this.importPriority=2;this.model_=model;this.events_=events;this.wakeups_=[];this.blockedReasons_=[];this.kernelThreadStates_={};this.buildMapFromLinuxPidsToThreads_();this.lines_=[];this.pseudoThreadCounter=1;this.parsers_=[];this.eventHandlers_={};this.haveClockSyncedMonotonicToGlobal_=false;this.clockDomainId_=tr.model.ClockDomainId.LINUX_FTRACE_GLOBAL;} 6151const TestExports={};const lineREWithTGID=new RegExp('^\\s*(.+)-(\\d+)\\s+\\(\\s*(\\d+|-+)\\)\\s\\[(\\d+)\\]'+'\\s+[dX.][Nnp.][Hhs.][0-9a-f.]'+'\\s+(\\d+\\.\\d+):\\s+(\\S+):\\s(.*)$');const lineParserWithTGID=function(line){const groups=lineREWithTGID.exec(line);if(!groups)return groups;let tgid=groups[3];if(tgid[0]==='-')tgid=undefined;return{threadName:groups[1],pid:groups[2],tgid,cpuNumber:groups[4],timestamp:groups[5],eventName:groups[6],details:groups[7]};};TestExports.lineParserWithTGID=lineParserWithTGID;const lineREWithIRQInfo=new RegExp('^\\s*(.+)-(\\d+)\\s+\\[(\\d+)\\]'+'\\s+[dX.][Nnp.][Hhs.][0-9a-f.]'+'\\s+(\\d+\\.\\d+):\\s+(\\S+):\\s(.*)$');const lineParserWithIRQInfo=function(line){const groups=lineREWithIRQInfo.exec(line);if(!groups)return groups;return{threadName:groups[1],pid:groups[2],cpuNumber:groups[3],timestamp:groups[4],eventName:groups[5],details:groups[6]};};TestExports.lineParserWithIRQInfo=lineParserWithIRQInfo;const lineREWithLegacyFmt=/^\s*(.+)-(\d+)\s+\[(\d+)\]\s*(\d+\.\d+):\s+(\S+):\s(.*)$/;const lineParserWithLegacyFmt=function(line){const groups=lineREWithLegacyFmt.exec(line);if(!groups){return groups;} 6152return{threadName:groups[1],pid:groups[2],cpuNumber:groups[3],timestamp:groups[4],eventName:groups[5],details:groups[6]};};TestExports.lineParserWithLegacyFmt=lineParserWithLegacyFmt;const traceEventClockSyncRE=/trace_event_clock_sync: parent_ts=(\d+\.?\d*)/;TestExports.traceEventClockSyncRE=traceEventClockSyncRE;const realTimeClockSyncRE=/trace_event_clock_sync: realtime_ts=(\d+)/;const genericClockSyncRE=/trace_event_clock_sync: name=([\w\-]+)/;const pseudoKernelPID=0;function autoDetectLineParser(line){if(line[0]==='{')return false;if(lineREWithTGID.test(line))return lineParserWithTGID;if(lineREWithIRQInfo.test(line))return lineParserWithIRQInfo;if(lineREWithLegacyFmt.test(line))return lineParserWithLegacyFmt;return undefined;} 6153TestExports.autoDetectLineParser=autoDetectLineParser;FTraceImporter.canImport=function(events){if(events instanceof tr.b.TraceStream)events=events.header;if(!(typeof(events)==='string'||events instanceof String)){return false;} 6154if(FTraceImporter._extractEventsFromSystraceHTML(events,false).ok){return true;} 6155if(FTraceImporter._extractEventsFromSystraceMultiHTML(events,false).ok){return true;} 6156if(/^# tracer:/.test(events))return true;const lineBreakIndex=events.indexOf('\n');if(lineBreakIndex>-1)events=events.substring(0,lineBreakIndex);if(autoDetectLineParser(events))return true;return false;};FTraceImporter._extractEventsFromSystraceHTML=function(incomingEvents,produceResult){const failure={ok:false};if(produceResult===undefined)produceResult=true;const header=incomingEvents instanceof tr.b.TraceStream?incomingEvents.header:incomingEvents;if(!/^<!DOCTYPE html>/.test(header))return failure;const r=new tr.importer.SimpleLineReader(incomingEvents);if(!r.advanceToLineMatching(/^ <script>$/))return failure;if(!r.advanceToLineMatching(/^ var linuxPerfData = "\\$/))return failure;const eventsBeginAtLine=r.curLineNumber+1;r.beginSavingLines();if(!r.advanceToLineMatching(/^ <\/script>$/))return failure;let rawEvents=r.endSavingLinesAndGetResult();rawEvents=rawEvents.slice(1,rawEvents.length-1);if(!r.advanceToLineMatching(/^<\/body>$/))return failure;if(!r.advanceToLineMatching(/^<\/html>$/))return failure;function endsWith(str,suffix){return str.indexOf(suffix,str.length-suffix.length)!==-1;} 6157function stripSuffix(str,suffix){if(!endsWith(str,suffix))return str;return str.substring(str,str.length-suffix.length);} 6158let events=[];if(produceResult){for(let i=0;i<rawEvents.length;i++){let event=rawEvents[i];event=stripSuffix(event,'\\n\\');events.push(event);}}else{events=[rawEvents[rawEvents.length-1]];} 6159const oldLastEvent=events[events.length-1];const newLastEvent=stripSuffix(oldLastEvent,'\\n";');if(newLastEvent===oldLastEvent)return failure;events[events.length-1]=newLastEvent;return{ok:true,lines:produceResult?events:undefined,eventsBeginAtLine};};FTraceImporter._extractEventsFromSystraceMultiHTML=function(incomingEvents,produceResult){const failure={ok:false};if(produceResult===undefined)produceResult=true;const header=incomingEvents instanceof tr.b.TraceStream?incomingEvents.header:incomingEvents;if(!(new RegExp('^<!DOCTYPE HTML>','i').test(header)))return failure;const r=new tr.importer.SimpleLineReader(incomingEvents);let events=[];let eventsBeginAtLine;while(!/^# tracer:/.test(events)){if(!r.advanceToLineMatching(/^ <script class="trace-data" type="application\/text">$/)){return failure;} 6160eventsBeginAtLine=r.curLineNumber+1;r.beginSavingLines();if(!r.advanceToLineMatching(/^ <\/script>$/))return failure;events=r.endSavingLinesAndGetResult();events=events.slice(1,events.length-1);} 6161if(!r.advanceToLineMatching(/^<\/body>$/))return failure;if(!r.advanceToLineMatching(/^<\/html>$/))return failure;return{ok:true,lines:produceResult?events:undefined,eventsBeginAtLine,};};FTraceImporter.prototype={__proto__:tr.importer.Importer.prototype,get importerName(){return'FTraceImporter';},get model(){return this.model_;},importClockSyncMarkers(){this.lazyInit_();this.forEachLine_(function(text,eventBase,cpuNumber,pid,ts){const eventName=eventBase.eventName;if(eventName!=='tracing_mark_write'&&eventName!=='0')return;if(traceEventClockSyncRE.exec(eventBase.details)||genericClockSyncRE.exec(eventBase.details)){this.traceClockSyncEvent_(eventName,cpuNumber,pid,ts,eventBase);}else if(realTimeClockSyncRE.exec(eventBase.details)){const match=realTimeClockSyncRE.exec(eventBase.details);this.model_.realtime_to_monotonic_offset_ms=ts-match[1];}}.bind(this));},importEvents(){const modelTimeTransformer=this.model_.clockSyncManager.getModelTimeTransformer(this.clockDomainId_);this.importCpuData_(modelTimeTransformer);this.buildMapFromLinuxPidsToThreads_();this.buildPerThreadCpuSlicesFromCpuState_();},registerEventHandler(eventName,handler){this.eventHandlers_[eventName]=handler;},getOrCreateCpu(cpuNumber){return this.model_.kernel.getOrCreateCpu(cpuNumber);},getOrCreateKernelThread(kernelThreadName,pid,tid){if(!this.kernelThreadStates_[kernelThreadName]){const thread=this.model_.getOrCreateProcess(pid).getOrCreateThread(tid);thread.name=kernelThreadName;this.kernelThreadStates_[kernelThreadName]={pid,thread,openSlice:undefined,openSliceTS:undefined};this.threadsByLinuxPid[pid]=thread;} 6162return this.kernelThreadStates_[kernelThreadName];},getOrCreateBinderKernelThread(kernelThreadName,pid,tid){const key=kernelThreadName+pid+tid;if(!this.kernelThreadStates_[key]){const thread=this.model_.getOrCreateProcess(pid).getOrCreateThread(tid);thread.name=kernelThreadName;this.kernelThreadStates_[key]={pid,thread,openSlice:undefined,openSliceTS:undefined};this.threadsByLinuxPid[pid]=thread;} 6163return this.kernelThreadStates_[key];},getOrCreatePseudoThread(threadName){let thread=this.kernelThreadStates_[threadName];if(!thread){thread=this.getOrCreateKernelThread(threadName,pseudoKernelPID,this.pseudoThreadCounter);this.pseudoThreadCounter++;} 6164return thread;},markPidRunnable(ts,pid,comm,prio,fromPid){this.wakeups_.push({ts,tid:pid,fromTid:fromPid});},addPidBlockedReason(ts,pid,iowait,caller){this.blockedReasons_.push({ts,tid:pid,iowait,caller});},buildMapFromLinuxPidsToThreads_(){this.threadsByLinuxPid={};this.model_.getAllThreads().forEach(function(thread){this.threadsByLinuxPid[thread.tid]=thread;}.bind(this));},buildPerThreadCpuSlicesFromCpuState_(){const SCHEDULING_STATE=tr.model.SCHEDULING_STATE;for(const cpuNumber in this.model_.kernel.cpus){const cpu=this.model_.kernel.cpus[cpuNumber];for(let i=0;i<cpu.slices.length;i++){const cpuSlice=cpu.slices[i];const thread=this.threadsByLinuxPid[cpuSlice.args.tid];if(!thread)continue;cpuSlice.threadThatWasRunning=thread;if(!thread.tempCpuSlices){thread.tempCpuSlices=[];} 6165thread.tempCpuSlices.push(cpuSlice);}} 6166for(const i in this.wakeups_){const wakeup=this.wakeups_[i];const thread=this.threadsByLinuxPid[wakeup.tid];if(!thread)continue;thread.tempWakeups=thread.tempWakeups||[];thread.tempWakeups.push(wakeup);} 6167for(const i in this.blockedReasons_){const reason=this.blockedReasons_[i];const thread=this.threadsByLinuxPid[reason.tid];if(!thread)continue;thread.tempBlockedReasons=thread.tempBlockedReasons||[];thread.tempBlockedReasons.push(reason);} 6168this.model_.getAllThreads().forEach(function(thread){if(thread.tempCpuSlices===undefined)return;const origSlices=thread.tempCpuSlices;delete thread.tempCpuSlices;origSlices.sort(function(x,y){return x.start-y.start;});const wakeups=thread.tempWakeups||[];delete thread.tempWakeups;wakeups.sort(function(x,y){return x.ts-y.ts;});const reasons=thread.tempBlockedReasons||[];delete thread.tempBlockedReasons;reasons.sort(function(x,y){return x.ts-y.ts;});const slices=[];if(origSlices.length){const slice=origSlices[0];if(wakeups.length&&wakeups[0].ts<slice.start){const wakeup=wakeups.shift();const wakeupDuration=slice.start-wakeup.ts;const args={'wakeup from tid':wakeup.fromTid};slices.push(new tr.model.ThreadTimeSlice(thread,SCHEDULING_STATE.RUNNABLE,'',wakeup.ts,args,wakeupDuration));} 6169const runningSlice=new tr.model.ThreadTimeSlice(thread,SCHEDULING_STATE.RUNNING,'',slice.start,{},slice.duration);runningSlice.cpuOnWhichThreadWasRunning=slice.cpu;slices.push(runningSlice);} 6170let wakeup=undefined;for(let i=1;i<origSlices.length;i++){const prevSlice=origSlices[i-1];const nextSlice=origSlices[i];let midDuration=nextSlice.start-prevSlice.end;while(wakeups.length&&wakeups[0].ts<nextSlice.start){const w=wakeups.shift();if(wakeup===undefined&&w.ts>prevSlice.end){wakeup=w;}} 6171let blockedReason=undefined;while(reasons.length&&reasons[0].ts<prevSlice.end){const r=reasons.shift();} 6172if(wakeup!==undefined&&reasons.length&&reasons[0].ts<wakeup.ts){blockedReason=reasons.shift();} 6173const pushSleep=function(state){if(wakeup!==undefined){midDuration=wakeup.ts-prevSlice.end;} 6174if(blockedReason!==undefined){const args={'kernel callsite when blocked:':blockedReason.caller};if(blockedReason.iowait){switch(state){case SCHEDULING_STATE.UNINTR_SLEEP:state=SCHEDULING_STATE.UNINTR_SLEEP_IO;break;case SCHEDULING_STATE.UNINTR_SLEEP_WAKE_KILL:state=SCHEDULING_STATE.UNINTR_SLEEP_WAKE_KILL_IO;break;case SCHEDULING_STATE.UNINTR_SLEEP_WAKING:state=SCHEDULING_STATE.UNINTR_SLEEP_WAKE_KILL_IO;break;default:}} 6175slices.push(new tr.model.ThreadTimeSlice(thread,state,'',prevSlice.end,args,midDuration));}else{slices.push(new tr.model.ThreadTimeSlice(thread,state,'',prevSlice.end,{},midDuration));} 6176if(wakeup!==undefined){const wakeupDuration=nextSlice.start-wakeup.ts;const args={'wakeup from tid':wakeup.fromTid};slices.push(new tr.model.ThreadTimeSlice(thread,SCHEDULING_STATE.RUNNABLE,'',wakeup.ts,args,wakeupDuration));wakeup=undefined;}};if(prevSlice.args.stateWhenDescheduled==='S'){pushSleep(SCHEDULING_STATE.SLEEPING);}else if(prevSlice.args.stateWhenDescheduled==='R'||prevSlice.args.stateWhenDescheduled==='R+'){slices.push(new tr.model.ThreadTimeSlice(thread,SCHEDULING_STATE.RUNNABLE,'',prevSlice.end,{},midDuration));}else if(prevSlice.args.stateWhenDescheduled==='D'){pushSleep(SCHEDULING_STATE.UNINTR_SLEEP);}else if(prevSlice.args.stateWhenDescheduled==='T'){slices.push(new tr.model.ThreadTimeSlice(thread,SCHEDULING_STATE.STOPPED,'',prevSlice.end,{},midDuration));}else if(prevSlice.args.stateWhenDescheduled==='t'){slices.push(new tr.model.ThreadTimeSlice(thread,SCHEDULING_STATE.DEBUG,'',prevSlice.end,{},midDuration));}else if(prevSlice.args.stateWhenDescheduled==='Z'){slices.push(new tr.model.ThreadTimeSlice(thread,SCHEDULING_STATE.ZOMBIE,'',prevSlice.end,{},midDuration));}else if(prevSlice.args.stateWhenDescheduled==='X'){slices.push(new tr.model.ThreadTimeSlice(thread,SCHEDULING_STATE.EXIT_DEAD,'',prevSlice.end,{},midDuration));}else if(prevSlice.args.stateWhenDescheduled==='x'){slices.push(new tr.model.ThreadTimeSlice(thread,SCHEDULING_STATE.TASK_DEAD,'',prevSlice.end,{},midDuration));}else if(prevSlice.args.stateWhenDescheduled==='K'){slices.push(new tr.model.ThreadTimeSlice(thread,SCHEDULING_STATE.WAKE_KILL,'',prevSlice.end,{},midDuration));}else if(prevSlice.args.stateWhenDescheduled==='W'){slices.push(new tr.model.ThreadTimeSlice(thread,SCHEDULING_STATE.WAKING,'',prevSlice.end,{},midDuration));}else if(prevSlice.args.stateWhenDescheduled==='D|K'){pushSleep(SCHEDULING_STATE.UNINTR_SLEEP_WAKE_KILL);}else if(prevSlice.args.stateWhenDescheduled==='D|W'){pushSleep(SCHEDULING_STATE.UNINTR_SLEEP_WAKING);}else{slices.push(new tr.model.ThreadTimeSlice(thread,SCHEDULING_STATE.UNKNOWN,'',prevSlice.end,{},midDuration));this.model_.importWarning({type:'parse_error',message:'Unrecognized sleep state: '+ 6177prevSlice.args.stateWhenDescheduled});} 6178const runningSlice=new tr.model.ThreadTimeSlice(thread,SCHEDULING_STATE.RUNNING,'',nextSlice.start,{},nextSlice.duration);runningSlice.cpuOnWhichThreadWasRunning=prevSlice.cpu;slices.push(runningSlice);} 6179thread.timeSlices=slices;},this);},createParsers_(){const allTypeInfos=tr.e.importer.linux_perf.Parser.getAllRegisteredTypeInfos();const parsers=allTypeInfos.map(function(typeInfo){return new typeInfo.constructor(this);},this);return parsers;},registerDefaultHandlers_(){this.registerEventHandler('tracing_mark_write',FTraceImporter.prototype.traceMarkingWriteEvent_.bind(this));this.registerEventHandler('0',FTraceImporter.prototype.traceMarkingWriteEvent_.bind(this));this.registerEventHandler('tracing_mark_write:trace_event_clock_sync',function(){return true;});this.registerEventHandler('0:trace_event_clock_sync',function(){return true;});},traceClockSyncEvent_(eventName,cpuNumber,pid,ts,eventBase){let event=/name=(\w+?)\s(.+)/.exec(eventBase.details);if(event){const name=event[1];const pieces=event[2].split(' ');const args={perfTs:ts};for(let i=0;i<pieces.length;i++){const parts=pieces[i].split('=');if(parts.length!==2){throw new Error('omgbbq');} 6180args[parts[0]]=parts[1];} 6181this.model_.clockSyncManager.addClockSyncMarker(this.clockDomainId_,name,ts);return true;} 6182event=/name=([\w\-]+)/.exec(eventBase.details);if(event){this.model_.clockSyncManager.addClockSyncMarker(this.clockDomainId_,event[1],ts);return true;} 6183event=/parent_ts=(\d+\.?\d*)/.exec(eventBase.details);if(!event)return false;let monotonicTs=event[1]*1000;if(monotonicTs===0)monotonicTs=ts;if(this.haveClockSyncedMonotonicToGlobal_){return true;} 6184this.model_.clockSyncManager.addClockSyncMarker(this.clockDomainId_,MONOTONIC_TO_FTRACE_GLOBAL_SYNC_ID,ts);this.model_.clockSyncManager.addClockSyncMarker(tr.model.ClockDomainId.LINUX_CLOCK_MONOTONIC,MONOTONIC_TO_FTRACE_GLOBAL_SYNC_ID,monotonicTs);this.haveClockSyncedMonotonicToGlobal_=true;return true;},traceMarkingWriteEvent_(eventName,cpuNumber,pid,ts,eventBase,threadName){eventBase.details=eventBase.details.replace(/\\n.*$/,'');const event=/^\s*(\w+):\s*(.*)$/.exec(eventBase.details);if(!event){const tag=eventBase.details.substring(0,2);if(tag==='B|'||tag==='E'||tag==='E|'||tag==='X|'||tag==='C|'||tag==='S|'||tag==='F|'){eventBase.subEventName='android';}else{return false;}}else{eventBase.subEventName=event[1];eventBase.details=event[2];} 6185const writeEventName=eventName+':'+eventBase.subEventName;const handler=this.eventHandlers_[writeEventName];if(!handler){this.model_.importWarning({type:'parse_error',message:'Unknown trace_marking_write event '+writeEventName});return true;} 6186return handler(writeEventName,cpuNumber,pid,ts,eventBase,threadName);},importCpuData_(modelTimeTransformer){this.forEachLine_(function(text,eventBase,cpuNumber,pid,ts){const eventName=eventBase.eventName;const handler=this.eventHandlers_[eventName];if(!handler){this.model_.importWarning({type:'parse_error',message:'Unknown event '+eventName+' ('+text+')'});return;} 6187ts=modelTimeTransformer(ts);if(!handler(eventName,cpuNumber,pid,ts,eventBase)){this.model_.importWarning({type:'parse_error',message:'Malformed '+eventName+' event ('+text+')'});}}.bind(this));},parseLines_(){let extractResult=FTraceImporter._extractEventsFromSystraceHTML(this.events_,true);if(!extractResult.ok){extractResult=FTraceImporter._extractEventsFromSystraceMultiHTML(this.events_,true);} 6188let lineParser=undefined;if(extractResult.ok){for(const line of extractResult.lines){lineParser=this.parseLine_(line,lineParser);}}else{const r=new tr.importer.SimpleLineReader(this.events_);for(const line of r){lineParser=this.parseLine_(line,lineParser);}}},parseLine_(line,lineParser){line=line.trim();if(line.length===0)return lineParser;if(/^#/.test(line)){const clockType=/^# clock_type=([A-Z_]+)$/.exec(line);if(clockType){this.clockDomainId_=clockType[1];} 6189return lineParser;} 6190if(!lineParser){lineParser=autoDetectLineParser(line);if(!lineParser){this.model_.importWarning({type:'parse_error',message:'Cannot parse line: '+line});return lineParser;}} 6191const eventBase=lineParser(line);if(!eventBase){this.model_.importWarning({type:'parse_error',message:'Unrecognized line: '+line});return lineParser;} 6192this.lines_.push([line,eventBase,parseInt(eventBase.cpuNumber),parseInt(eventBase.pid),parseFloat(eventBase.timestamp)*1000]);return lineParser;},forEachLine_(handler){for(let i=0;i<this.lines_.length;++i){const line=this.lines_[i];handler.apply(this,line);}},lazyInit_(){this.parsers_=this.createParsers_();this.registerDefaultHandlers_();this.parseLines_();}};tr.importer.Importer.register(FTraceImporter);return{FTraceImporter,_FTraceImporterTestExports:TestExports};});'use strict';function filterDuplicateTimestamps(timestamps){const dedupedTimestamps=[];let lastTs=0;for(const ts of timestamps){if(ts-lastTs>=1){dedupedTimestamps.push(ts);lastTs=ts;}} 6193return dedupedTimestamps;} 6194tr.exportTo('tr.e.audits',function(){const VSYNC_COUNTER_PRECISIONS={'android.VSYNC-app':15,'android.VSYNC':15};const VSYNC_SLICE_PRECISIONS={'RenderWidgetHostViewAndroid::OnVSync':5,'VSYNC':10,'vblank':10,'DisplayLinkMac::GetVSyncParameters':5};const BEGIN_FRAME_SLICE_PRECISION={'DisplayScheduler::BeginFrame':10};function VSyncAuditor(model){tr.c.Auditor.call(this,model);} 6195VSyncAuditor.prototype={__proto__:tr.c.Auditor.prototype,runAnnotate(){this.model.device.vSyncTimestamps=this.findVSyncTimestamps(this.model);},findVSyncTimestamps(model){let times=[];let maxPrecision=Number.NEGATIVE_INFINITY;let maxTitle=undefined;function useInstead(title,precisions){const precision=precisions[title];if(precision===undefined)return false;if(title===maxTitle)return true;if(precision<=maxPrecision){if(precision===maxPrecision){model.importWarning({type:'VSyncAuditor',message:'Encountered two different VSync events ('+ 6196maxTitle+', '+title+') with the same precision, '+'ignoring the newer one ('+title+')',showToUser:false,});} 6197return false;} 6198maxPrecision=precision;maxTitle=title;times=[];return true;} 6199for(const pid in model.processes){const process=model.processes[pid];for(const cid in process.counters){if(useInstead(cid,VSYNC_COUNTER_PRECISIONS)){const counter=process.counters[cid];for(let i=0;i<counter.series.length;i++){const series=counter.series[i];Array.prototype.push.apply(times,series.timestamps);}}} 6200for(const tid in process.threads){const thread=process.threads[tid];for(let i=0;i<thread.sliceGroup.slices.length;i++){const slice=thread.sliceGroup.slices[i];if(useInstead(slice.title,VSYNC_SLICE_PRECISIONS)){times.push(slice.start);}else if(useInstead(slice.title,BEGIN_FRAME_SLICE_PRECISION)&&slice.args.args&&slice.args.args.frame_time_us){times.push(slice.args.args.frame_time_us/1000.0);}}}} 6201times.sort(function(x,y){return x-y;});return filterDuplicateTimestamps(times);}};tr.c.Auditor.register(VSyncAuditor);return{VSyncAuditor,};});'use strict';tr.exportTo('tr.importer',function(){function EmptyImporter(events){this.importPriority=0;} 6202EmptyImporter.canImport=function(eventData){if(eventData instanceof Array&&eventData.length===0){return true;} 6203if(typeof(eventData)==='string'||eventData instanceof String){return eventData.length===0;} 6204return false;};EmptyImporter.prototype={__proto__:tr.importer.Importer.prototype,get importerName(){return'EmptyImporter';}};tr.importer.Importer.register(EmptyImporter);return{EmptyImporter,};});'use strict';tr.exportTo('tr.model.um',function(){function AnimationExpectation(parentModel,initiatorTitle,start,duration){tr.model.um.UserExpectation.call(this,parentModel,initiatorTitle,start,duration);this.frameEvents_=undefined;} 6205AnimationExpectation.prototype={__proto__:tr.model.um.UserExpectation.prototype,constructor:AnimationExpectation,get frameEvents(){if(this.frameEvents_){return this.frameEvents_;} 6206this.frameEvents_=new tr.model.EventSet();this.associatedEvents.forEach(function(event){if(event.title===tr.model.helpers.IMPL_RENDERING_STATS){this.frameEvents_.push(event);}},this);return this.frameEvents_;}};tr.model.um.UserExpectation.subTypes.register(AnimationExpectation,{stageTitle:'Animation',colorId:tr.b.ColorScheme.getColorIdForReservedName('rail_animation')});return{AnimationExpectation,};});'use strict';tr.exportTo('tr.importer',function(){function ProtoExpectation(type,initiatorType){this.type=type;this.initiatorType=initiatorType;this.start=Infinity;this.end=-Infinity;this.associatedEvents=new tr.model.EventSet();this.isAnimationBegin=false;} 6207ProtoExpectation.RESPONSE_TYPE='r';ProtoExpectation.ANIMATION_TYPE='a';ProtoExpectation.IGNORED_TYPE='ignored';const INITIATOR_HIERARCHY=[tr.model.um.INITIATOR_TYPE.PINCH,tr.model.um.INITIATOR_TYPE.FLING,tr.model.um.INITIATOR_TYPE.MOUSE_WHEEL,tr.model.um.INITIATOR_TYPE.SCROLL,tr.model.um.INITIATOR_TYPE.VIDEO,tr.model.um.INITIATOR_TYPE.WEBGL,tr.model.um.INITIATOR_TYPE.CSS,tr.model.um.INITIATOR_TYPE.MOUSE,tr.model.um.INITIATOR_TYPE.KEYBOARD,tr.model.um.INITIATOR_TYPE.TAP,tr.model.um.INITIATOR_TYPE.TOUCH];function combineInitiatorTypes(title1,title2){for(const item of INITIATOR_HIERARCHY){if(title1===item||title2===item)return item;} 6208throw new Error('Invalid titles in combineInitiatorTypes');} 6209ProtoExpectation.prototype={get isValid(){return this.end>this.start;},containsTypeNames(typeNames){return this.associatedEvents.some(x=>typeNames.indexOf(x.typeName)>=0);},containsSliceTitle(title){return this.associatedEvents.some(x=>title===x.title);},createInteractionRecord(model){if(this.type!==ProtoExpectation.IGNORED_TYPE&&!this.isValid){model.importWarning({type:'ProtoExpectation',message:'Please file a bug with this trace. '+this.debug(),showToUser:true});return undefined;} 6210const duration=this.end-this.start;let ir=undefined;switch(this.type){case ProtoExpectation.RESPONSE_TYPE:ir=new tr.model.um.ResponseExpectation(model,this.initiatorType,this.start,duration,this.isAnimationBegin);break;case ProtoExpectation.ANIMATION_TYPE:ir=new tr.model.um.AnimationExpectation(model,this.initiatorType,this.start,duration);break;} 6211if(!ir)return undefined;ir.sourceEvents.addEventSet(this.associatedEvents);function pushAssociatedEvents(event){ir.associatedEvents.push(event);if(event.associatedEvents){ir.associatedEvents.addEventSet(event.associatedEvents);}} 6212this.associatedEvents.forEach(function(event){pushAssociatedEvents(event);if(event.subSlices){event.subSlices.forEach(pushAssociatedEvents);}});return ir;},merge(other){this.initiatorType=combineInitiatorTypes(this.initiatorType,other.initiatorType);this.associatedEvents.addEventSet(other.associatedEvents);this.start=Math.min(this.start,other.start);this.end=Math.max(this.end,other.end);if(other.isAnimationBegin){this.isAnimationBegin=true;}},pushEvent(event){this.start=Math.min(this.start,event.start);this.end=Math.max(this.end,event.end);this.associatedEvents.push(event);},containsTimestampInclusive(timestamp){return(this.start<=timestamp)&&(timestamp<=this.end);},intersects(other){return(other.start<this.end)&&(other.end>this.start);},isNear(event,threshold){return(this.end+threshold)>event.start;},debug(){let debugString=this.type+'(';debugString+=parseInt(this.start)+' ';debugString+=parseInt(this.end);this.associatedEvents.forEach(function(event){debugString+=' '+event.typeName;});return debugString+')';}};return{ProtoExpectation,};});'use strict';tr.exportTo('tr.importer',function(){const ProtoExpectation=tr.importer.ProtoExpectation;const INITIATOR_TYPE=tr.model.um.INITIATOR_TYPE;const INPUT_TYPE=tr.e.cc.INPUT_EVENT_TYPE_NAMES;const KEYBOARD_TYPE_NAMES=[INPUT_TYPE.CHAR,INPUT_TYPE.KEY_DOWN_RAW,INPUT_TYPE.KEY_DOWN,INPUT_TYPE.KEY_UP];const MOUSE_RESPONSE_TYPE_NAMES=[INPUT_TYPE.CLICK,INPUT_TYPE.CONTEXT_MENU];const MOUSE_WHEEL_TYPE_NAMES=[INPUT_TYPE.MOUSE_WHEEL];const MOUSE_DRAG_TYPE_NAMES=[INPUT_TYPE.MOUSE_DOWN,INPUT_TYPE.MOUSE_MOVE,INPUT_TYPE.MOUSE_UP];const TAP_TYPE_NAMES=[INPUT_TYPE.TAP,INPUT_TYPE.TAP_CANCEL,INPUT_TYPE.TAP_DOWN];const PINCH_TYPE_NAMES=[INPUT_TYPE.PINCH_BEGIN,INPUT_TYPE.PINCH_END,INPUT_TYPE.PINCH_UPDATE];const FLING_TYPE_NAMES=[INPUT_TYPE.FLING_CANCEL,INPUT_TYPE.FLING_START];const TOUCH_TYPE_NAMES=[INPUT_TYPE.TOUCH_END,INPUT_TYPE.TOUCH_MOVE,INPUT_TYPE.TOUCH_START];const SCROLL_TYPE_NAMES=[INPUT_TYPE.SCROLL_BEGIN,INPUT_TYPE.SCROLL_END,INPUT_TYPE.SCROLL_UPDATE];const ALL_HANDLED_TYPE_NAMES=[].concat(KEYBOARD_TYPE_NAMES,MOUSE_RESPONSE_TYPE_NAMES,MOUSE_WHEEL_TYPE_NAMES,MOUSE_DRAG_TYPE_NAMES,PINCH_TYPE_NAMES,TAP_TYPE_NAMES,FLING_TYPE_NAMES,TOUCH_TYPE_NAMES,SCROLL_TYPE_NAMES);const RENDERER_FLING_TITLE='InputHandlerProxy::HandleGestureFling::started';const PLAYBACK_EVENT_TITLE='VideoPlayback';const CSS_ANIMATION_TITLE='Animation';const INPUT_MERGE_THRESHOLD_MS=200;const ANIMATION_MERGE_THRESHOLD_MS=32;const MOUSE_WHEEL_THRESHOLD_MS=40;const MOUSE_MOVE_THRESHOLD_MS=40;function compareEvents(x,y){if(x.start!==y.start){return x.start-y.start;} 6213if(x.end!==y.end){return x.end-y.end;} 6214if(x.guid&&y.guid){return x.guid-y.guid;} 6215return 0;} 6216function forEventTypesIn(events,typeNames,cb,opt_this){events.forEach(function(event){if(typeNames.indexOf(event.typeName)>=0){cb.call(opt_this,event);}});} 6217function causedFrame(event){return event.associatedEvents.some(x=>x.title===tr.model.helpers.IMPL_RENDERING_STATS);} 6218function getSortedFrameEventsByProcess(modelHelper){const frameEventsByPid={};for(const[pid,rendererHelper]of 6219Object.entries(modelHelper.rendererHelpers)){frameEventsByPid[pid]=rendererHelper.getFrameEventsInRange(tr.model.helpers.IMPL_FRAMETIME_TYPE,modelHelper.model.bounds);} 6220return frameEventsByPid;} 6221function getSortedInputEvents(modelHelper){const inputEvents=[];const browserProcess=modelHelper.browserHelper.process;const mainThread=browserProcess.findAtMostOneThreadNamed('CrBrowserMain');for(const slice of mainThread.asyncSliceGroup.getDescendantEvents()){if(!slice.isTopLevel)continue;if(!(slice instanceof tr.e.cc.InputLatencyAsyncSlice))continue;if(isNaN(slice.start)||isNaN(slice.duration)||isNaN(slice.end)){continue;} 6222inputEvents.push(slice);} 6223return inputEvents.sort(compareEvents);} 6224function findProtoExpectations(modelHelper,sortedInputEvents){const protoExpectations=[];const handlers=[handleKeyboardEvents,handleMouseResponseEvents,handleMouseWheelEvents,handleMouseDragEvents,handleTapResponseEvents,handlePinchEvents,handleFlingEvents,handleTouchEvents,handleScrollEvents,handleCSSAnimations,handleWebGLAnimations,handleVideoAnimations];handlers.forEach(function(handler){protoExpectations.push.apply(protoExpectations,handler(modelHelper,sortedInputEvents));});protoExpectations.sort(compareEvents);return protoExpectations;} 6225function handleKeyboardEvents(modelHelper,sortedInputEvents){const protoExpectations=[];forEventTypesIn(sortedInputEvents,KEYBOARD_TYPE_NAMES,function(event){const pe=new ProtoExpectation(ProtoExpectation.RESPONSE_TYPE,INITIATOR_TYPE.KEYBOARD);pe.pushEvent(event);protoExpectations.push(pe);});return protoExpectations;} 6226function handleMouseResponseEvents(modelHelper,sortedInputEvents){const protoExpectations=[];forEventTypesIn(sortedInputEvents,MOUSE_RESPONSE_TYPE_NAMES,function(event){const pe=new ProtoExpectation(ProtoExpectation.RESPONSE_TYPE,INITIATOR_TYPE.MOUSE);pe.pushEvent(event);protoExpectations.push(pe);});return protoExpectations;} 6227function handleMouseWheelEvents(modelHelper,sortedInputEvents){const protoExpectations=[];let currentPE=undefined;let prevEvent_=undefined;forEventTypesIn(sortedInputEvents,MOUSE_WHEEL_TYPE_NAMES,function(event){const prevEvent=prevEvent_;prevEvent_=event;if(currentPE&&(prevEvent.start+MOUSE_WHEEL_THRESHOLD_MS)>=event.start){if(currentPE.type===ProtoExpectation.ANIMATION_TYPE){currentPE.pushEvent(event);}else{currentPE=new ProtoExpectation(ProtoExpectation.ANIMATION_TYPE,INITIATOR_TYPE.MOUSE_WHEEL);currentPE.pushEvent(event);protoExpectations.push(currentPE);} 6228return;} 6229currentPE=new ProtoExpectation(ProtoExpectation.RESPONSE_TYPE,INITIATOR_TYPE.MOUSE_WHEEL);currentPE.pushEvent(event);protoExpectations.push(currentPE);});return protoExpectations;} 6230function handleMouseDragEvents(modelHelper,sortedInputEvents){const protoExpectations=[];let currentPE=undefined;let mouseDownEvent=undefined;forEventTypesIn(sortedInputEvents,MOUSE_DRAG_TYPE_NAMES,function(event){switch(event.typeName){case INPUT_TYPE.MOUSE_DOWN:if(causedFrame(event)){const pe=new ProtoExpectation(ProtoExpectation.RESPONSE_TYPE,INITIATOR_TYPE.MOUSE);pe.pushEvent(event);protoExpectations.push(pe);}else{mouseDownEvent=event;} 6231break;case INPUT_TYPE.MOUSE_MOVE:if(!causedFrame(event)){const pe=new ProtoExpectation(ProtoExpectation.IGNORED_TYPE);pe.pushEvent(event);protoExpectations.push(pe);}else if(!currentPE||!currentPE.isNear(event,MOUSE_MOVE_THRESHOLD_MS)){currentPE=new ProtoExpectation(ProtoExpectation.RESPONSE_TYPE,INITIATOR_TYPE.MOUSE);currentPE.pushEvent(event);if(mouseDownEvent){currentPE.associatedEvents.push(mouseDownEvent);mouseDownEvent=undefined;} 6232protoExpectations.push(currentPE);}else{if(currentPE.type===ProtoExpectation.ANIMATION_TYPE){currentPE.pushEvent(event);}else{currentPE=new ProtoExpectation(ProtoExpectation.ANIMATION_TYPE,INITIATOR_TYPE.MOUSE);currentPE.pushEvent(event);protoExpectations.push(currentPE);}} 6233break;case INPUT_TYPE.MOUSE_UP:if(!mouseDownEvent){const pe=new ProtoExpectation(causedFrame(event)?ProtoExpectation.RESPONSE_TYPE:ProtoExpectation.IGNORED_TYPE,INITIATOR_TYPE.MOUSE);pe.pushEvent(event);protoExpectations.push(pe);break;} 6234if(currentPE){currentPE.pushEvent(event);}else{currentPE=new ProtoExpectation(ProtoExpectation.RESPONSE_TYPE,INITIATOR_TYPE.MOUSE);if(mouseDownEvent){currentPE.associatedEvents.push(mouseDownEvent);} 6235currentPE.pushEvent(event);protoExpectations.push(currentPE);} 6236mouseDownEvent=undefined;currentPE=undefined;break;}});if(mouseDownEvent){currentPE=new ProtoExpectation(ProtoExpectation.IGNORED_TYPE);currentPE.pushEvent(mouseDownEvent);protoExpectations.push(currentPE);} 6237return protoExpectations;} 6238function handleTapResponseEvents(modelHelper,sortedInputEvents){const protoExpectations=[];let currentPE=undefined;forEventTypesIn(sortedInputEvents,TAP_TYPE_NAMES,function(event){switch(event.typeName){case INPUT_TYPE.TAP_DOWN:currentPE=new ProtoExpectation(ProtoExpectation.RESPONSE_TYPE,INITIATOR_TYPE.TAP);currentPE.pushEvent(event);protoExpectations.push(currentPE);break;case INPUT_TYPE.TAP:if(currentPE){currentPE.pushEvent(event);}else{currentPE=new ProtoExpectation(ProtoExpectation.RESPONSE_TYPE,INITIATOR_TYPE.TAP);currentPE.pushEvent(event);protoExpectations.push(currentPE);} 6239currentPE=undefined;break;case INPUT_TYPE.TAP_CANCEL:if(!currentPE){const pe=new ProtoExpectation(ProtoExpectation.IGNORED_TYPE);pe.pushEvent(event);protoExpectations.push(pe);break;} 6240if(currentPE.isNear(event,INPUT_MERGE_THRESHOLD_MS)){currentPE.pushEvent(event);}else{currentPE=new ProtoExpectation(ProtoExpectation.RESPONSE_TYPE,INITIATOR_TYPE.TAP);currentPE.pushEvent(event);protoExpectations.push(currentPE);} 6241currentPE=undefined;break;}});return protoExpectations;} 6242function handlePinchEvents(modelHelper,sortedInputEvents){const protoExpectations=[];let currentPE=undefined;let sawFirstUpdate=false;const modelBounds=modelHelper.model.bounds;forEventTypesIn(sortedInputEvents,PINCH_TYPE_NAMES,function(event){switch(event.typeName){case INPUT_TYPE.PINCH_BEGIN:if(currentPE&¤tPE.isNear(event,INPUT_MERGE_THRESHOLD_MS)){currentPE.pushEvent(event);break;} 6243currentPE=new ProtoExpectation(ProtoExpectation.RESPONSE_TYPE,INITIATOR_TYPE.PINCH);currentPE.pushEvent(event);currentPE.isAnimationBegin=true;protoExpectations.push(currentPE);sawFirstUpdate=false;break;case INPUT_TYPE.PINCH_UPDATE:if(!currentPE||((currentPE.type===ProtoExpectation.RESPONSE_TYPE)&&sawFirstUpdate)||!currentPE.isNear(event,INPUT_MERGE_THRESHOLD_MS)){currentPE=new ProtoExpectation(ProtoExpectation.ANIMATION_TYPE,INITIATOR_TYPE.PINCH);currentPE.pushEvent(event);protoExpectations.push(currentPE);}else{currentPE.pushEvent(event);sawFirstUpdate=true;} 6244break;case INPUT_TYPE.PINCH_END:if(currentPE){currentPE.pushEvent(event);}else{const pe=new ProtoExpectation(ProtoExpectation.IGNORED_TYPE);pe.pushEvent(event);protoExpectations.push(pe);} 6245currentPE=undefined;break;}});return protoExpectations;} 6246function handleFlingEvents(modelHelper,sortedInputEvents){const protoExpectations=[];let currentPE=undefined;function isRendererFling(event){return event.title===RENDERER_FLING_TITLE;} 6247const browserHelper=modelHelper.browserHelper;const flingEvents=browserHelper.getAllAsyncSlicesMatching(isRendererFling);forEventTypesIn(sortedInputEvents,FLING_TYPE_NAMES,function(event){flingEvents.push(event);});flingEvents.sort(compareEvents);flingEvents.forEach(function(event){if(event.title===RENDERER_FLING_TITLE){if(currentPE){currentPE.pushEvent(event);}else{currentPE=new ProtoExpectation(ProtoExpectation.ANIMATION_TYPE,INITIATOR_TYPE.FLING);currentPE.pushEvent(event);protoExpectations.push(currentPE);} 6248return;} 6249switch(event.typeName){case INPUT_TYPE.FLING_START:if(currentPE){modelHelper.model.importWarning({type:'UserModelBuilder',message:'Please file a bug with this trace: FlingStart',showToUser:true});currentPE.pushEvent(event);}else{currentPE=new ProtoExpectation(ProtoExpectation.ANIMATION_TYPE,INITIATOR_TYPE.FLING);currentPE.pushEvent(event);currentPE.end=0;protoExpectations.push(currentPE);} 6250break;case INPUT_TYPE.FLING_CANCEL:if(currentPE){currentPE.pushEvent(event);currentPE.end=event.start;currentPE=undefined;}else{const pe=new ProtoExpectation(ProtoExpectation.IGNORED_TYPE);pe.pushEvent(event);protoExpectations.push(pe);} 6251break;}});if(currentPE&&!currentPE.end){currentPE.end=modelHelper.model.bounds.max;} 6252return protoExpectations;} 6253function handleTouchEvents(modelHelper,sortedInputEvents){const protoExpectations=[];let currentPE=undefined;let sawFirstMove=false;forEventTypesIn(sortedInputEvents,TOUCH_TYPE_NAMES,function(event){switch(event.typeName){case INPUT_TYPE.TOUCH_START:if(currentPE){currentPE.pushEvent(event);}else{currentPE=new ProtoExpectation(ProtoExpectation.RESPONSE_TYPE,INITIATOR_TYPE.TOUCH);currentPE.pushEvent(event);currentPE.isAnimationBegin=true;protoExpectations.push(currentPE);sawFirstMove=false;} 6254break;case INPUT_TYPE.TOUCH_MOVE:if(!currentPE){currentPE=new ProtoExpectation(ProtoExpectation.ANIMATION_TYPE,INITIATOR_TYPE.TOUCH);currentPE.pushEvent(event);protoExpectations.push(currentPE);break;} 6255if((sawFirstMove&&(currentPE.type===ProtoExpectation.RESPONSE_TYPE))||!currentPE.isNear(event,INPUT_MERGE_THRESHOLD_MS)){const prevEnd=currentPE.end;currentPE=new ProtoExpectation(ProtoExpectation.ANIMATION_TYPE,INITIATOR_TYPE.TOUCH);currentPE.pushEvent(event);currentPE.start=prevEnd;protoExpectations.push(currentPE);}else{currentPE.pushEvent(event);sawFirstMove=true;} 6256break;case INPUT_TYPE.TOUCH_END:if(!currentPE){const pe=new ProtoExpectation(ProtoExpectation.IGNORED_TYPE);pe.pushEvent(event);protoExpectations.push(pe);break;} 6257if(currentPE.isNear(event,INPUT_MERGE_THRESHOLD_MS)){currentPE.pushEvent(event);}else{const pe=new ProtoExpectation(ProtoExpectation.IGNORED_TYPE);pe.pushEvent(event);protoExpectations.push(pe);} 6258currentPE=undefined;break;}});return protoExpectations;} 6259function handleScrollEvents(modelHelper,sortedInputEvents){const protoExpectations=[];let currentPE=undefined;let sawFirstUpdate=false;forEventTypesIn(sortedInputEvents,SCROLL_TYPE_NAMES,function(event){switch(event.typeName){case INPUT_TYPE.SCROLL_BEGIN:currentPE=new ProtoExpectation(ProtoExpectation.RESPONSE_TYPE,INITIATOR_TYPE.SCROLL);currentPE.pushEvent(event);currentPE.isAnimationBegin=true;protoExpectations.push(currentPE);sawFirstUpdate=false;break;case INPUT_TYPE.SCROLL_UPDATE:if(currentPE){if(currentPE.isNear(event,INPUT_MERGE_THRESHOLD_MS)&&((currentPE.type===ProtoExpectation.ANIMATION_TYPE)||!sawFirstUpdate)){currentPE.pushEvent(event);sawFirstUpdate=true;}else{currentPE=new ProtoExpectation(ProtoExpectation.ANIMATION_TYPE,INITIATOR_TYPE.SCROLL);currentPE.pushEvent(event);protoExpectations.push(currentPE);}}else{currentPE=new ProtoExpectation(ProtoExpectation.ANIMATION_TYPE,INITIATOR_TYPE.SCROLL);currentPE.pushEvent(event);protoExpectations.push(currentPE);} 6260break;case INPUT_TYPE.SCROLL_END:if(!currentPE){modelHelper.model.importWarning({type:'UserModelBuilder',message:'Please file a bug with this trace: ScrollEnd',showToUser:true});const pe=new ProtoExpectation(ProtoExpectation.IGNORED_TYPE);pe.pushEvent(event);protoExpectations.push(pe);break;} 6261currentPE.pushEvent(event);break;}});return protoExpectations;} 6262function handleVideoAnimations(modelHelper,sortedInputEvents){const events=[];for(const pid in modelHelper.rendererHelpers){for(const tid in modelHelper.rendererHelpers[pid].process.threads){for(const asyncSlice of 6263modelHelper.rendererHelpers[pid].process.threads[tid].asyncSliceGroup.slices){if(asyncSlice.title===PLAYBACK_EVENT_TITLE){events.push(asyncSlice);}}}} 6264events.sort(tr.importer.compareEvents);const protoExpectations=[];for(const event of events){const currentPE=new ProtoExpectation(ProtoExpectation.ANIMATION_TYPE,INITIATOR_TYPE.VIDEO);currentPE.start=event.start;currentPE.end=event.end;currentPE.pushEvent(event);protoExpectations.push(currentPE);} 6265return protoExpectations;} 6266function handleCSSAnimations(modelHelper,sortedInputEvents){const animationEvents=modelHelper.browserHelper.getAllAsyncSlicesMatching(function(event){return((event.title===CSS_ANIMATION_TITLE)&&event.isTopLevel&&(event.duration>0));});const animationRanges=[];function pushAnimationRange(start,end,animation){const range=tr.b.math.Range.fromExplicitRange(start,end);range.animation=animation;animationRanges.push(range);} 6267animationEvents.forEach(function(animation){if(animation.subSlices.length===0){pushAnimationRange(animation.start,animation.end,animation);}else{let start=undefined;animation.subSlices.forEach(function(sub){if((sub.args.data.state==='running')&&(start===undefined)){start=sub.start;}else if((sub.args.data.state==='paused')||(sub.args.data.state==='idle')||(sub.args.data.state==='finished')){if(start===undefined){start=modelHelper.model.bounds.min;} 6268pushAnimationRange(start,sub.start,animation);start=undefined;}});if(start!==undefined){pushAnimationRange(start,animation.end,animation);}}});return animationRanges.map(function(range){const protoExpectation=new ProtoExpectation(ProtoExpectation.ANIMATION_TYPE,INITIATOR_TYPE.CSS);protoExpectation.start=range.min;protoExpectation.end=range.max;protoExpectation.associatedEvents.push(range.animation);return protoExpectation;});} 6269function findWebGLEvents(modelHelper,mailboxEvents,animationEvents){for(const event of modelHelper.model.getDescendantEvents()){if(event.title==='DrawingBuffer::prepareMailbox'){mailboxEvents.push(event);}else if(event.title==='PageAnimator::serviceScriptedAnimations'){animationEvents.push(event);}}} 6270function findMailboxEventsNearAnimationEvents(mailboxEvents,animationEvents){if(animationEvents.length===0)return[];mailboxEvents.sort(compareEvents);animationEvents.sort(compareEvents);const animationIterator=animationEvents[Symbol.iterator]();let animationEvent=animationIterator.next().value;const filteredEvents=[];for(const event of mailboxEvents){while(animationEvent&&(animationEvent.start<(event.start-ANIMATION_MERGE_THRESHOLD_MS))){animationEvent=animationIterator.next().value;} 6271if(!animationEvent)break;if(animationEvent.start<(event.start+ANIMATION_MERGE_THRESHOLD_MS)){filteredEvents.push(event);}} 6272return filteredEvents;} 6273function createProtoExpectationsFromMailboxEvents(mailboxEvents){const protoExpectations=[];let currentPE=undefined;for(const event of mailboxEvents){if(currentPE===undefined||!currentPE.isNear(event,ANIMATION_MERGE_THRESHOLD_MS)){currentPE=new ProtoExpectation(ProtoExpectation.ANIMATION_TYPE,INITIATOR_TYPE.WEBGL);currentPE.pushEvent(event);protoExpectations.push(currentPE);}else{currentPE.pushEvent(event);}} 6274return protoExpectations;} 6275function handleWebGLAnimations(modelHelper,sortedInputEvents){const prepareMailboxEvents=[];const scriptedAnimationEvents=[];findWebGLEvents(modelHelper,prepareMailboxEvents,scriptedAnimationEvents);const webGLMailboxEvents=findMailboxEventsNearAnimationEvents(prepareMailboxEvents,scriptedAnimationEvents);return createProtoExpectationsFromMailboxEvents(webGLMailboxEvents);} 6276function postProcessProtoExpectations(modelHelper,protoExpectations){protoExpectations=findFrameEventsForAnimations(modelHelper,protoExpectations);protoExpectations=mergeIntersectingResponses(protoExpectations);protoExpectations=mergeIntersectingAnimations(protoExpectations);protoExpectations=fixResponseAnimationStarts(protoExpectations);protoExpectations=fixTapResponseTouchAnimations(protoExpectations);return protoExpectations;} 6277function mergeIntersectingResponses(protoExpectations){const newPEs=[];while(protoExpectations.length){const pe=protoExpectations.shift();newPEs.push(pe);if(pe.type!==ProtoExpectation.RESPONSE_TYPE)continue;for(let i=0;i<protoExpectations.length;++i){const otherPE=protoExpectations[i];if(otherPE.type!==pe.type)continue;if(!otherPE.intersects(pe))continue;const typeNames=pe.associatedEvents.map(function(event){return event.typeName;});if(otherPE.containsTypeNames(typeNames))continue;pe.merge(otherPE);protoExpectations.splice(i,1);--i;}} 6278return newPEs;} 6279function mergeIntersectingAnimations(protoExpectations){const newPEs=[];while(protoExpectations.length){const pe=protoExpectations.shift();newPEs.push(pe);if(pe.type!==ProtoExpectation.ANIMATION_TYPE)continue;const isCSS=pe.initiatorType===INITIATOR_TYPE.CSS;const isFling=pe.containsTypeNames([INPUT_TYPE.FLING_START]);const isVideo=pe.initiatorType===INITIATOR_TYPE.VIDEO;for(let i=0;i<protoExpectations.length;++i){const otherPE=protoExpectations[i];if(otherPE.type!==pe.type)continue;if((isCSS&&otherPE.initiatorType!==INITIATOR_TYPE.CSS)||isFling!==otherPE.containsTypeNames([INPUT_TYPE.FLING_START])||isVideo&&otherPE.initiatorType!==INITIATOR_TYPE.VIDEO){continue;} 6280if(isCSS){if(!pe.isNear(otherPE,ANIMATION_MERGE_THRESHOLD_MS)){continue;}}else if(!otherPE.intersects(pe)){continue;} 6281pe.merge(otherPE);protoExpectations.splice(i,1);--i;}} 6282return newPEs;} 6283function fixResponseAnimationStarts(protoExpectations){protoExpectations.forEach(function(ape){if(ape.type!==ProtoExpectation.ANIMATION_TYPE){return;} 6284protoExpectations.forEach(function(rpe){if(rpe.type!==ProtoExpectation.RESPONSE_TYPE){return;} 6285if(!ape.containsTimestampInclusive(rpe.end)){return;} 6286if(ape.containsTimestampInclusive(rpe.start)){return;} 6287ape.start=rpe.end;});});return protoExpectations;} 6288function fixTapResponseTouchAnimations(protoExpectations){function isTapResponse(pe){return(pe.type===ProtoExpectation.RESPONSE_TYPE)&&pe.containsTypeNames([INPUT_TYPE.TAP]);} 6289function isTouchAnimation(pe){return(pe.type===ProtoExpectation.ANIMATION_TYPE)&&pe.containsTypeNames([INPUT_TYPE.TOUCH_MOVE])&&!pe.containsTypeNames([INPUT_TYPE.SCROLL_UPDATE,INPUT_TYPE.PINCH_UPDATE]);} 6290const newPEs=[];while(protoExpectations.length){const pe=protoExpectations.shift();newPEs.push(pe);const peIsTapResponse=isTapResponse(pe);const peIsTouchAnimation=isTouchAnimation(pe);if(!peIsTapResponse&&!peIsTouchAnimation){continue;} 6291for(let i=0;i<protoExpectations.length;++i){const otherPE=protoExpectations[i];if(!otherPE.intersects(pe))continue;if(peIsTapResponse&&!isTouchAnimation(otherPE))continue;if(peIsTouchAnimation&&!isTapResponse(otherPE))continue;pe.type=ProtoExpectation.RESPONSE_TYPE;pe.merge(otherPE);protoExpectations.splice(i,1);--i;}} 6292return newPEs;} 6293function findFrameEventsForAnimations(modelHelper,protoExpectations){const newPEs=[];const frameEventsByPid=getSortedFrameEventsByProcess(modelHelper);for(const pe of protoExpectations){if(pe.type!==ProtoExpectation.ANIMATION_TYPE){newPEs.push(pe);continue;} 6294const frameEvents=[];for(const pid of Object.keys(modelHelper.rendererHelpers)){const range=tr.b.math.Range.fromExplicitRange(pe.start,pe.end);frameEvents.push.apply(frameEvents,range.filterArray(frameEventsByPid[pid],e=>e.start));} 6295if(frameEvents.length===0&&!(pe.initiatorType===INITIATOR_TYPE.WEBGL)){pe.type=ProtoExpectation.IGNORED_TYPE;newPEs.push(pe);continue;} 6296pe.associatedEvents.addEventSet(frameEvents);newPEs.push(pe);} 6297return newPEs;} 6298function checkAllInputEventsHandled(modelHelper,sortedInputEvents,protoExpectations){const handledEvents=[];protoExpectations.forEach(function(protoExpectation){protoExpectation.associatedEvents.forEach(function(event){if((event.title===CSS_ANIMATION_TITLE)&&(event.subSlices.length>0)){return;} 6299if((handledEvents.indexOf(event)>=0)&&(event.title!==tr.model.helpers.IMPL_RENDERING_STATS)){modelHelper.model.importWarning({type:'UserModelBuilder',message:'Please file a bug with this trace: '+`double-handled event: ${event.typeName} @ ${event.start}`,showToUser:true});return;} 6300handledEvents.push(event);});});sortedInputEvents.forEach(function(event){if(handledEvents.indexOf(event)<0){modelHelper.model.importWarning({type:'UserModelBuilder',message:'Please file a bug with this trace: '+`double-handled event: ${event.typeName} @ ${event.start}`,showToUser:true});}});} 6301function findInputExpectations(modelHelper){const sortedInputEvents=getSortedInputEvents(modelHelper);let protoExpectations=findProtoExpectations(modelHelper,sortedInputEvents);protoExpectations=postProcessProtoExpectations(modelHelper,protoExpectations);checkAllInputEventsHandled(modelHelper,sortedInputEvents,protoExpectations);const expectations=[];protoExpectations.forEach(function(protoExpectation){const ir=protoExpectation.createInteractionRecord(modelHelper.model);if(ir){expectations.push(ir);}});return expectations;} 6302return{findInputExpectations,compareEvents,CSS_ANIMATION_TITLE,};});'use strict';tr.exportTo('tr.model.um',function(){const LOAD_SUBTYPE_NAMES={SUCCESSFUL:'Successful',FAILED:'Failed',};const DOES_LOAD_SUBTYPE_NAME_EXIST={};for(const key in LOAD_SUBTYPE_NAMES){DOES_LOAD_SUBTYPE_NAME_EXIST[LOAD_SUBTYPE_NAMES[key]]=true;} 6303function LoadExpectation(parentModel,initiatorTitle,start,duration){if(!DOES_LOAD_SUBTYPE_NAME_EXIST[initiatorTitle]){throw new Error(initiatorTitle+' is not in LOAD_SUBTYPE_NAMES');} 6304tr.model.um.UserExpectation.call(this,parentModel,initiatorTitle,start,duration);this.renderProcess=undefined;this.renderMainThread=undefined;this.routingId=undefined;this.parentRoutingId=undefined;this.loadFinishedEvent=undefined;} 6305LoadExpectation.prototype={__proto__:tr.model.um.UserExpectation.prototype,constructor:LoadExpectation};tr.model.um.UserExpectation.subTypes.register(LoadExpectation,{stageTitle:'Load',colorId:tr.b.ColorScheme.getColorIdForReservedName('rail_load')});return{LOAD_SUBTYPE_NAMES,LoadExpectation,};});'use strict';tr.exportTo('tr.importer',function(){const NAVIGATION_START='NavigationTiming navigationStart';const FIRST_CONTENTFUL_PAINT_TITLE='firstContentfulPaint';function findLoadExpectations(modelHelper){const events=[];for(const event of modelHelper.model.getDescendantEvents()){if((event.title===NAVIGATION_START)||(event.title===FIRST_CONTENTFUL_PAINT_TITLE)){events.push(event);}} 6306events.sort(tr.importer.compareEvents);const loads=[];let startEvent=undefined;for(const event of events){if(event.title===NAVIGATION_START){startEvent=event;}else if(event.title===FIRST_CONTENTFUL_PAINT_TITLE){if(startEvent){loads.push(new tr.model.um.LoadExpectation(modelHelper.model,tr.model.um.LOAD_SUBTYPE_NAMES.SUCCESSFUL,startEvent.start,event.start-startEvent.start));startEvent=undefined;}}} 6307if(startEvent){loads.push(new tr.model.um.LoadExpectation(modelHelper.model,tr.model.um.LOAD_SUBTYPE_NAMES.SUCCESSFUL,startEvent.start,modelHelper.model.bounds.max-startEvent.start));} 6308return loads;} 6309return{findLoadExpectations,};});'use strict';tr.exportTo('tr.model.um',function(){function StartupExpectation(parentModel,start,duration){tr.model.um.UserExpectation.call(this,parentModel,'',start,duration);} 6310StartupExpectation.prototype={__proto__:tr.model.um.UserExpectation.prototype,constructor:StartupExpectation};tr.model.um.UserExpectation.subTypes.register(StartupExpectation,{stageTitle:'Startup',colorId:tr.b.ColorScheme.getColorIdForReservedName('startup')});return{StartupExpectation,};});'use strict';tr.exportTo('tr.importer',function(){function getAllFrameEvents(modelHelper){const frameEvents=[];frameEvents.push.apply(frameEvents,modelHelper.browserHelper.getFrameEventsInRange(tr.model.helpers.IMPL_FRAMETIME_TYPE,modelHelper.model.bounds));for(const renderer of Object.values(modelHelper.rendererHelpers)){frameEvents.push.apply(frameEvents,renderer.getFrameEventsInRange(tr.model.helpers.IMPL_FRAMETIME_TYPE,modelHelper.model.bounds));} 6311return frameEvents.sort(tr.importer.compareEvents);} 6312function getStartupEvents(modelHelper){function isStartupSlice(slice){return slice.title==='BrowserMainLoop::CreateThreads';} 6313const events=modelHelper.browserHelper.getAllAsyncSlicesMatching(isStartupSlice);const deduper=new tr.model.EventSet();events.forEach(function(event){const sliceGroup=event.parentContainer.sliceGroup;const slice=sliceGroup&&sliceGroup.findFirstSlice();if(slice){deduper.push(slice);}});return deduper.toArray();} 6314function findStartupExpectations(modelHelper){const openingEvents=getStartupEvents(modelHelper);const closingEvents=getAllFrameEvents(modelHelper);const startups=[];openingEvents.forEach(function(openingEvent){closingEvents.forEach(function(closingEvent){if(openingEvent.closingEvent)return;if(closingEvent.openingEvent)return;if(closingEvent.start<=openingEvent.start)return;if(openingEvent.parentContainer.parent.pid!==closingEvent.parentContainer.parent.pid){return;} 6315openingEvent.closingEvent=closingEvent;closingEvent.openingEvent=openingEvent;const se=new tr.model.um.StartupExpectation(modelHelper.model,openingEvent.start,closingEvent.end-openingEvent.start);se.associatedEvents.push(openingEvent);se.associatedEvents.push(closingEvent);startups.push(se);});});return startups;} 6316return{findStartupExpectations,};});'use strict';tr.exportTo('tr.model',function(){function getAssociatedEvents(irs){const allAssociatedEvents=new tr.model.EventSet();irs.forEach(function(ir){ir.associatedEvents.forEach(function(event){if(event instanceof tr.model.FlowEvent)return;allAssociatedEvents.push(event);});});return allAssociatedEvents;} 6317function getUnassociatedEvents(model,associatedEvents){const unassociatedEvents=new tr.model.EventSet();for(const proc of model.getAllProcesses()){for(const thread of Object.values(proc.threads)){for(const event of thread.sliceGroup.getDescendantEvents()){if(!associatedEvents.contains(event)){unassociatedEvents.push(event);}}}} 6318return unassociatedEvents;} 6319function getTotalCpuDuration(events){let cpuMs=0;events.forEach(function(event){if(event.cpuSelfTime){cpuMs+=event.cpuSelfTime;}});return cpuMs;} 6320function getIRCoverageFromModel(model){const associatedEvents=getAssociatedEvents(model.userModel.expectations);if(!associatedEvents.length)return undefined;const unassociatedEvents=getUnassociatedEvents(model,associatedEvents);const associatedCpuMs=getTotalCpuDuration(associatedEvents);const unassociatedCpuMs=getTotalCpuDuration(unassociatedEvents);const totalEventCount=associatedEvents.length+unassociatedEvents.length;const totalCpuMs=associatedCpuMs+unassociatedCpuMs;let coveredEventsCpuTimeRatio=undefined;if(totalCpuMs!==0){coveredEventsCpuTimeRatio=associatedCpuMs/totalCpuMs;} 6321return{associatedEventsCount:associatedEvents.length,unassociatedEventsCount:unassociatedEvents.length,associatedEventsCpuTimeMs:associatedCpuMs,unassociatedEventsCpuTimeMs:unassociatedCpuMs,coveredEventsCountRatio:associatedEvents.length/totalEventCount,coveredEventsCpuTimeRatio};} 6322return{getIRCoverageFromModel,getAssociatedEvents,getUnassociatedEvents,};});'use strict';tr.exportTo('tr.model.um',function(){function IdleExpectation(parentModel,start,duration){const initiatorTitle='';tr.model.um.UserExpectation.call(this,parentModel,initiatorTitle,start,duration);} 6323IdleExpectation.prototype={__proto__:tr.model.um.UserExpectation.prototype,constructor:IdleExpectation};tr.model.um.UserExpectation.subTypes.register(IdleExpectation,{stageTitle:'Idle',colorId:tr.b.ColorScheme.getColorIdForReservedName('rail_idle')});return{IdleExpectation,};});'use strict';tr.exportTo('tr.importer',function(){const INSIGNIFICANT_MS=1;class UserModelBuilder{constructor(model){this.model=model;this.modelHelper=model.getOrCreateHelper(tr.model.helpers.ChromeModelHelper);} 6324static supportsModelHelper(modelHelper){return modelHelper.browserHelper!==undefined;} 6325buildUserModel(){if(!this.modelHelper||!this.modelHelper.browserHelper)return;try{for(const ue of this.findUserExpectations()){this.model.userModel.expectations.push(ue);} 6326this.model.userModel.segments.push(...this.findSegments());}catch(error){this.model.importWarning({type:'UserModelBuilder',message:error,showToUser:true});}} 6327findSegments(){let timestamps=new Set();for(const expectation of this.model.userModel.expectations){timestamps.add(expectation.start);timestamps.add(expectation.end);} 6328timestamps=[...timestamps];timestamps.sort((x,y)=>x-y);const segments=[];for(let i=0;i<timestamps.length-1;++i){const segment=new tr.model.um.Segment(timestamps[i],timestamps[i+1]-timestamps[i]);segments.push(segment);const segmentRange=tr.b.math.Range.fromExplicitRange(segment.start,segment.end);for(const expectation of this.model.userModel.expectations){const expectationRange=tr.b.math.Range.fromExplicitRange(expectation.start,expectation.end);if(segmentRange.intersectsRangeExclusive(expectationRange)){segment.expectations.push(expectation);}}} 6329return segments;} 6330findUserExpectations(){const expectations=[];expectations.push.apply(expectations,tr.importer.findStartupExpectations(this.modelHelper));expectations.push.apply(expectations,tr.importer.findLoadExpectations(this.modelHelper));expectations.push.apply(expectations,tr.importer.findInputExpectations(this.modelHelper));expectations.push.apply(expectations,this.findIdleExpectations(expectations));this.collectUnassociatedEvents_(expectations);return expectations;} 6331collectUnassociatedEvents_(expectations){const vacuumUEs=[];for(const expectation of expectations){if(expectation instanceof tr.model.um.IdleExpectation||expectation instanceof tr.model.um.LoadExpectation||expectation instanceof tr.model.um.StartupExpectation){vacuumUEs.push(expectation);}} 6332if(vacuumUEs.length===0)return;const allAssociatedEvents=tr.model.getAssociatedEvents(expectations);const unassociatedEvents=tr.model.getUnassociatedEvents(this.model,allAssociatedEvents);for(const event of unassociatedEvents){if(!(event instanceof tr.model.ThreadSlice))continue;if(!event.isTopLevel)continue;for(let index=0;index<vacuumUEs.length;++index){const expectation=vacuumUEs[index];if((event.start>=expectation.start)&&(event.start<expectation.end)){expectation.associatedEvents.addEventSet(event.entireHierarchy);break;}}}} 6333findIdleExpectations(otherUEs){if(this.model.bounds.isEmpty)return;const emptyRanges=tr.b.math.findEmptyRangesBetweenRanges(tr.b.math.convertEventsToRanges(otherUEs),this.model.bounds);const expectations=[];const model=this.model;for(const range of emptyRanges){if(range.max<(range.min+INSIGNIFICANT_MS))continue;expectations.push(new tr.model.um.IdleExpectation(model,range.min,range.max-range.min));} 6334return expectations;}} 6335function createCustomizeModelLinesFromModel(model){const modelLines=[];modelLines.push(' audits.addEvent(model.browserMain,');modelLines.push(' {title: \'model start\', start: 0, end: 1});');const typeNames={};for(const typeName in tr.e.cc.INPUT_EVENT_TYPE_NAMES){typeNames[tr.e.cc.INPUT_EVENT_TYPE_NAMES[typeName]]=typeName;} 6336let modelEvents=new tr.model.EventSet();for(const ue of model.userModel.expectations){modelEvents.addEventSet(ue.sourceEvents);} 6337modelEvents=modelEvents.toArray();modelEvents.sort(tr.importer.compareEvents);for(const event of modelEvents){const startAndEnd='start: '+parseInt(event.start)+', '+'end: '+parseInt(event.end)+'});';if(event instanceof tr.e.cc.InputLatencyAsyncSlice){modelLines.push(' audits.addInputEvent(model, INPUT_TYPE.'+ 6338typeNames[event.typeName]+',');}else if(event.title==='RenderFrameImpl::didCommitProvisionalLoad'){modelLines.push(' audits.addCommitLoadEvent(model,');}else if(event.title==='InputHandlerProxy::HandleGestureFling::started'){modelLines.push(' audits.addFlingAnimationEvent(model,');}else if(event.title===tr.model.helpers.IMPL_RENDERING_STATS){modelLines.push(' audits.addFrameEvent(model,');}else if(event.title===tr.importer.CSS_ANIMATION_TITLE){modelLines.push(' audits.addEvent(model.rendererMain, {');modelLines.push(' title: \'Animation\', '+startAndEnd);return;}else{throw new Error('You must extend createCustomizeModelLinesFromModel()'+'to support this event:\n'+event.title+'\n');} 6339modelLines.push(' {'+startAndEnd);} 6340modelLines.push(' audits.addEvent(model.browserMain,');modelLines.push(' {'+'title: \'model end\', '+'start: '+(parseInt(model.bounds.max)-1)+', '+'end: '+parseInt(model.bounds.max)+'});');return modelLines;} 6341function createExpectedUELinesFromModel(model){const expectedLines=[];const ueCount=model.userModel.expectations.length;for(let index=0;index<ueCount;++index){const expectation=model.userModel.expectations[index];let ueString=' {';ueString+='title: \''+expectation.title+'\', ';ueString+='start: '+parseInt(expectation.start)+', ';ueString+='end: '+parseInt(expectation.end)+', ';ueString+='eventCount: '+expectation.sourceEvents.length;ueString+='}';if(index<(ueCount-1))ueString+=',';expectedLines.push(ueString);} 6342return expectedLines;} 6343function createUEFinderTestCaseStringFromModel(model){const filename=window.location.hash.substr(1);let testName=filename.substr(filename.lastIndexOf('/')+1);testName=testName.substr(0,testName.indexOf('.'));try{const testLines=[];testLines.push(' /*');testLines.push(' This test was generated from');testLines.push(' '+filename+'');testLines.push(' */');testLines.push(' test(\''+testName+'\', function() {');testLines.push(' const verifier = new UserExpectationVerifier();');testLines.push(' verifier.customizeModelCallback = function(model) {');testLines.push.apply(testLines,createCustomizeModelLinesFromModel(model));testLines.push(' };');testLines.push(' verifier.expectedUEs = [');testLines.push.apply(testLines,createExpectedUELinesFromModel(model));testLines.push(' ];');testLines.push(' verifier.verify();');testLines.push(' });');return testLines.join('\n');}catch(error){return error;}} 6344return{UserModelBuilder,createUEFinderTestCaseStringFromModel,};});'use strict';tr.exportTo('tr.ui.b',function(){function decorate(source,constr){let elements;if(typeof source==='string'){elements=Polymer.dom(tr.doc).querySelectorAll(source);}else{elements=[source];} 6345for(let i=0,el;el=elements[i];i++){if(!(el instanceof constr)){constr.decorate(el);}}} 6346function define(className,opt_parentConstructor,opt_tagNS){if(typeof className==='function'){throw new Error('Passing functions as className is deprecated. Please '+'use (className, opt_parentConstructor) to subclass');} 6347className=className.toLowerCase();if(opt_parentConstructor&&!opt_parentConstructor.tagName){throw new Error('opt_parentConstructor was not '+'created by tr.ui.b.define');} 6348let tagName=className;let tagNS=undefined;if(opt_parentConstructor){if(opt_tagNS){throw new Error('Must not specify tagNS if parentConstructor is given');} 6349let parent=opt_parentConstructor;while(parent&&parent.tagName){tagName=parent.tagName;tagNS=parent.tagNS;parent=parent.parentConstructor;}}else{tagNS=opt_tagNS;} 6350function f(){if(opt_parentConstructor&&f.prototype.__proto__!==opt_parentConstructor.prototype){throw new Error(className+' prototye\'s __proto__ field is messed up. '+'It MUST be the prototype of '+opt_parentConstructor.tagName);} 6351let el;if(tagNS===undefined){el=tr.doc.createElement(tagName);}else{el=tr.doc.createElementNS(tagNS,tagName);} 6352f.decorate.call(this,el,arguments);return el;} 6353f.decorate=function(el){el.__proto__=f.prototype;el.decorate.apply(el,arguments[1]);el.constructor=f;};f.className=className;f.tagName=tagName;f.tagNS=tagNS;f.parentConstructor=(opt_parentConstructor?opt_parentConstructor:undefined);f.toString=function(){if(!f.parentConstructor){return f.tagName;} 6354return f.parentConstructor.toString()+'::'+f.className;};return f;} 6355function elementIsChildOf(el,potentialParent){if(el===potentialParent)return false;let cur=el;while(Polymer.dom(cur).parentNode){if(cur===potentialParent)return true;cur=Polymer.dom(cur).parentNode;} 6356return false;} 6357return{decorate,define,elementIsChildOf,};});'use strict';tr.exportTo('tr.b.math',function(){function Rect(){this.x=0;this.y=0;this.width=0;this.height=0;} 6358Rect.fromXYWH=function(x,y,w,h){const rect=new Rect();rect.x=x;rect.y=y;rect.width=w;rect.height=h;return rect;};Rect.fromArray=function(ary){if(ary.length!==4){throw new Error('ary.length must be 4');} 6359const rect=new Rect();rect.x=ary[0];rect.y=ary[1];rect.width=ary[2];rect.height=ary[3];return rect;};Rect.prototype={__proto__:Object.prototype,get left(){return this.x;},get top(){return this.y;},get right(){return this.x+this.width;},get bottom(){return this.y+this.height;},toString(){return'Rect('+this.x+', '+this.y+', '+ 6360this.width+', '+this.height+')';},toArray(){return[this.x,this.y,this.width,this.height];},clone(){const rect=new Rect();rect.x=this.x;rect.y=this.y;rect.width=this.width;rect.height=this.height;return rect;},enlarge(pad){const rect=new Rect();this.enlargeFast(rect,pad);return rect;},enlargeFast(out,pad){out.x=this.x-pad;out.y=this.y-pad;out.width=this.width+2*pad;out.height=this.height+2*pad;return out;},size(){return{width:this.width,height:this.height};},scale(s){const rect=new Rect();this.scaleFast(rect,s);return rect;},scaleSize(s){return Rect.fromXYWH(this.x,this.y,this.width*s,this.height*s);},scaleFast(out,s){out.x=this.x*s;out.y=this.y*s;out.width=this.width*s;out.height=this.height*s;return out;},translate(v){const rect=new Rect();this.translateFast(rect,v);return rect;},translateFast(out,v){out.x=this.x+v[0];out.y=this.x+v[1];out.width=this.width;out.height=this.height;return out;},asUVRectInside(containingRect){const rect=new Rect();rect.x=(this.x-containingRect.x)/containingRect.width;rect.y=(this.y-containingRect.y)/containingRect.height;rect.width=this.width/containingRect.width;rect.height=this.height/containingRect.height;return rect;},intersects(that){let ok=true;ok&=this.x<that.right;ok&=this.right>that.x;ok&=this.y<that.bottom;ok&=this.bottom>that.y;return ok;},equalTo(rect){return rect&&(this.x===rect.x)&&(this.y===rect.y)&&(this.width===rect.width)&&(this.height===rect.height);}};return{Rect,};});'use strict';tr.exportTo('tr.ui.b',function(){function instantiateTemplate(selector,doc){doc=doc||document;const el=Polymer.dom(doc).querySelector(selector);if(!el){throw new Error('Element not found');} 6361return doc.importNode(el.content,true);} 6362function windowRectForElement(element){const position=[element.offsetLeft,element.offsetTop];const size=[element.offsetWidth,element.offsetHeight];let node=element.offsetParent;while(node){position[0]+=node.offsetLeft;position[1]+=node.offsetTop;node=node.offsetParent;} 6363return tr.b.math.Rect.fromXYWH(position[0],position[1],size[0],size[1]);} 6364function scrollIntoViewIfNeeded(el){const pr=el.parentElement.getBoundingClientRect();const cr=el.getBoundingClientRect();if(cr.top<pr.top){el.scrollIntoView(true);}else if(cr.bottom>pr.bottom){el.scrollIntoView(false);}} 6365function extractUrlString(url){let extracted=url.replace(/url\((.*)\)/,'$1');extracted=extracted.replace(/\"(.*)\"/,'$1');return extracted;} 6366function toThreeDigitLocaleString(value){return value.toLocaleString(undefined,{minimumFractionDigits:3,maximumFractionDigits:3});} 6367function isUnknownElementName(name){return document.createElement(name)instanceof HTMLUnknownElement;} 6368return{isUnknownElementName,toThreeDigitLocaleString,instantiateTemplate,windowRectForElement,scrollIntoViewIfNeeded,extractUrlString,};});'use strict';tr.exportTo('tr.ui.b',function(){if(tr.isHeadless)return{};const THIS_DOC=document.currentScript.ownerDocument;const Overlay=tr.ui.b.define('overlay');Overlay.prototype={__proto__:HTMLDivElement.prototype,decorate(){Polymer.dom(this).classList.add('overlay');this.parentEl_=this.ownerDocument.body;this.visible_=false;this.userCanClose_=true;this.onKeyDown_=this.onKeyDown_.bind(this);this.onClick_=this.onClick_.bind(this);this.onFocusIn_=this.onFocusIn_.bind(this);this.onDocumentClick_=this.onDocumentClick_.bind(this);this.onClose_=this.onClose_.bind(this);this.addEventListener('visible-change',tr.ui.b.Overlay.prototype.onVisibleChange_.bind(this),true);const createShadowRoot=this.createShadowRoot||this.webkitCreateShadowRoot;this.shadow_=createShadowRoot.call(this);Polymer.dom(this.shadow_).appendChild(tr.ui.b.instantiateTemplate('#overlay-template',THIS_DOC));this.closeBtn_=Polymer.dom(this.shadow_).querySelector('close-button');this.closeBtn_.addEventListener('click',this.onClose_);Polymer.dom(this.shadow_).querySelector('overlay-frame').addEventListener('click',this.onClick_);this.observer_=new WebKitMutationObserver(this.didButtonBarMutate_.bind(this));this.observer_.observe(Polymer.dom(this.shadow_).querySelector('button-bar'),{childList:true});Object.defineProperty(this,'title',{get(){return Polymer.dom(Polymer.dom(this.shadow_).querySelector('title')).textContent;},set(title){Polymer.dom(Polymer.dom(this.shadow_).querySelector('title')).textContent=title;}});},set userCanClose(userCanClose){this.userCanClose_=userCanClose;this.closeBtn_.style.display=userCanClose?'block':'none';},get buttons(){return Polymer.dom(this.shadow_).querySelector('button-bar');},get visible(){return this.visible_;},set visible(newValue){if(this.visible_===newValue)return;this.visible_=newValue;const e=new tr.b.Event('visible-change');this.dispatchEvent(e);},onVisibleChange_(){this.visible_?this.show_():this.hide_();},show_(){Polymer.dom(this.parentEl_).appendChild(this);if(this.userCanClose_){this.addEventListener('keydown',this.onKeyDown_.bind(this));this.addEventListener('click',this.onDocumentClick_.bind(this));this.closeBtn_.addEventListener('click',this.onClose_);} 6369this.parentEl_.addEventListener('focusin',this.onFocusIn_);this.tabIndex=0;const elList=Polymer.dom(this).querySelectorAll('button, input, list, select, a');if(elList.length>0){if(elList[0]===this.closeBtn_){if(elList.length>1)return elList[1].focus();}else{return elList[0].focus();}} 6370this.focus();},hide_(){Polymer.dom(this.parentEl_).removeChild(this);this.parentEl_.removeEventListener('focusin',this.onFocusIn_);if(this.closeBtn_){this.closeBtn_.removeEventListener('click',this.onClose_);} 6371document.removeEventListener('keydown',this.onKeyDown_);document.removeEventListener('click',this.onDocumentClick_);},onClose_(e){this.visible=false;if((e.type!=='keydown')||(e.type==='keydown'&&e.keyCode===27)){e.stopPropagation();} 6372e.preventDefault();tr.b.dispatchSimpleEvent(this,'closeclick');},onFocusIn_(e){if(e.target===this)return;tr.b.timeout(0).then(()=>this.focus());e.preventDefault();e.stopPropagation();},didButtonBarMutate_(e){const hasButtons=this.buttons.children.length>0;if(hasButtons){Polymer.dom(this.shadow_).querySelector('button-bar').style.display=undefined;}else{Polymer.dom(this.shadow_).querySelector('button-bar').style.display='none';}},onKeyDown_(e){if(e.keyCode===9&&e.shiftKey&&e.target===this){e.preventDefault();return;} 6373if(e.keyCode!==27)return;this.onClose_(e);},onClick_(e){e.stopPropagation();},onDocumentClick_(e){if(!this.userCanClose_)return;this.onClose_(e);}};Overlay.showError=function(msg,opt_err){const o=new Overlay();o.title='Error';Polymer.dom(o).textContent=msg;if(opt_err){const e=tr.b.normalizeException(opt_err);const stackDiv=document.createElement('pre');Polymer.dom(stackDiv).textContent=e.stack;stackDiv.style.paddingLeft='8px';stackDiv.style.margin=0;Polymer.dom(o).appendChild(stackDiv);} 6374const b=document.createElement('button');Polymer.dom(b).textContent='OK';b.addEventListener('click',function(){o.visible=false;});Polymer.dom(o.buttons).appendChild(b);o.visible=true;return o;};return{Overlay,};});'use strict';tr.exportTo('tr.importer',function(){const Timing=tr.b.Timing;function ImportOptions(){this.shiftWorldToZero=true;this.pruneEmptyContainers=true;this.showImportWarnings=true;this.trackDetailedModelStats=false;this.customizeModelCallback=undefined;const auditorTypes=tr.c.Auditor.getAllRegisteredTypeInfos();this.auditorConstructors=auditorTypes.map(function(typeInfo){return typeInfo.constructor;});} 6375function Import(model,opt_options){if(model===undefined){throw new Error('Must provide model to import into.');} 6376this.importing_=false;this.importOptions_=opt_options||new ImportOptions();this.model_=model;this.model_.importOptions=this.importOptions_;} 6377Import.prototype={__proto__:Object.prototype,importTraces(traces){const progressMeter={update(msg){}};tr.b.Task.RunSynchronously(this.createImportTracesTask(progressMeter,traces));},importTracesWithProgressDialog(traces){if(tr.isHeadless){throw new Error('Cannot use this method in headless mode.');} 6378const overlay=tr.ui.b.Overlay();overlay.title='Importing...';overlay.userCanClose=false;overlay.msgEl=document.createElement('div');Polymer.dom(overlay).appendChild(overlay.msgEl);overlay.msgEl.style.margin='20px';overlay.update=function(msg){Polymer.dom(this.msgEl).textContent=msg;};overlay.visible=true;const promise=tr.b.Task.RunWhenIdle(this.createImportTracesTask(overlay,traces));promise.then(function(){overlay.visible=false;},function(err){overlay.visible=false;});return promise;},createImportTracesTask(progressMeter,traces){const importStartTimeMs=performance.now();if(this.importing_){throw new Error('Already importing.');} 6379this.importing_=true;const importTask=new tr.b.Task(function prepareImport(){progressMeter.update('I will now import your traces for you...');},this);let lastTask=importTask;const importers=[];function addImportStage(title,callback){lastTask=lastTask.after(()=>progressMeter.update(title));lastTask.updatesUi=true;lastTask=lastTask.after(callback);} 6380function addStageForEachImporter(title,callback){lastTask=lastTask.after((task)=>{importers.forEach((importer,index)=>{const uiSubTask=task.subTask(()=>{progressMeter.update(`${title} ${index + 1} of ${importers.length}`);});uiSubTask.updatesUi=true;task.subTask(()=>callback(importer));});});} 6381addImportStage('Creating importers...',()=>{traces=traces.slice(0);progressMeter.update('Creating importers...');for(let i=0;i<traces.length;++i){importers.push(this.createImporter_(traces[i]));} 6382for(let i=0;i<importers.length;i++){const subtraces=importers[i].extractSubtraces();for(let j=0;j<subtraces.length;j++){try{traces.push(subtraces[j]);importers.push(this.createImporter_(subtraces[j]));}catch(error){this.model_.importWarning({type:error.name,message:error.message,showToUser:true,});continue;}}} 6383if(traces.length&&!this.hasEventDataDecoder_(importers)){throw new Error('Could not find an importer for the provided eventData.');} 6384importers.sort(function(x,y){return x.importPriority-y.importPriority;});});addStageForEachImporter('Importing clock sync markers',importer=>importer.importClockSyncMarkers());addStageForEachImporter('Importing',importer=>importer.importEvents());if(this.importOptions_.customizeModelCallback){addImportStage('Customizing',()=>{this.importOptions_.customizeModelCallback(this.model_);});} 6385addStageForEachImporter('Importing sample data',importer=>importer.importSampleData());addImportStage('Autoclosing open slices...',()=>{this.model_.autoCloseOpenSlices();this.model_.createSubSlices();});addStageForEachImporter('Finalizing import',importer=>importer.finalizeImport());addImportStage('Initializing objects (step 1/2)...',()=>this.model_.preInitializeObjects());if(this.importOptions_.pruneEmptyContainers){addImportStage('Pruning empty containers...',()=>this.model_.pruneEmptyContainers());} 6386addImportStage('Merging kernel with userland...',()=>this.model_.mergeKernelWithUserland());let auditors=[];addImportStage('Adding arbitrary data to model...',()=>{auditors=this.importOptions_.auditorConstructors.map(auditorConstructor=>new auditorConstructor(this.model_));auditors.forEach((auditor)=>{auditor.runAnnotate();auditor.installUserFriendlyCategoryDriverIfNeeded();});});addImportStage('Computing final world bounds...',()=>{this.model_.computeWorldBounds(this.importOptions_.shiftWorldToZero);});addImportStage('Building flow event map...',()=>this.model_.buildFlowEventIntervalTree());addImportStage('Joining object refs...',()=>this.model_.joinRefs());addImportStage('Cleaning up undeleted objects...',()=>this.model_.cleanupUndeletedObjects());addImportStage('Sorting memory dumps...',()=>this.model_.sortMemoryDumps());addImportStage('Finalizing memory dump graphs...',()=>this.model_.finalizeMemoryGraphs());addImportStage('Initializing objects (step 2/2)...',()=>this.model_.initializeObjects());addImportStage('Building event indices...',()=>this.model_.buildEventIndices());addImportStage('Building UserModel...',()=>{const userModelBuilder=new tr.importer.UserModelBuilder(this.model_);userModelBuilder.buildUserModel();});addImportStage('Sorting user expectations...',()=>this.model_.userModel.sortExpectations());addImportStage('Running auditors...',()=>{auditors.forEach(auditor=>auditor.runAudit());});addImportStage('Updating alerts...',()=>this.model_.sortAlerts());addImportStage('Update bounds...',()=>this.model_.updateBounds());addImportStage('Looking for warnings...',()=>{if(!this.model_.isTimeHighResolution){this.model_.importWarning({type:'low_resolution_timer',message:'Trace time is low resolution, trace may be unusable.',showToUser:true});}});lastTask.after(()=>{this.importing_=false;this.model_.stats.traceImportDurationMs=performance.now()-importStartTimeMs;});return importTask;},createImporter_(eventData){const importerConstructor=tr.importer.Importer.findImporterFor(eventData);if(!importerConstructor){throw new Error('Couldn\'t create an importer for the provided '+'eventData.');} 6387return new importerConstructor(this.model_,eventData);},hasEventDataDecoder_(importers){for(let i=0;i<importers.length;++i){if(!importers[i].isTraceDataContainer())return true;} 6388return false;}};return{ImportOptions,Import,};});'use strict';tr.exportTo('tr.e.v8',function(){const ThreadSlice=tr.model.ThreadSlice;function V8GCStatsThreadSlice(){ThreadSlice.apply(this,arguments);this.liveObjects_=JSON.parse(this.args.live);delete this.args.live;this.deadObjects_=JSON.parse(this.args.dead);delete this.args.dead;} 6389V8GCStatsThreadSlice.prototype={__proto__:ThreadSlice.prototype,get liveObjects(){return this.liveObjects_;},get deadObjects(){return this.deadObjects_;}};ThreadSlice.subTypes.register(V8GCStatsThreadSlice,{categoryParts:['disabled-by-default-v8.gc_stats'],name:'v8 gc stats slice',pluralName:'v8 gc stats slices'});return{V8GCStatsThreadSlice,};});'use strict';tr.exportTo('tr.e.v8',function(){const ThreadSlice=tr.model.ThreadSlice;function V8ICStatsThreadSlice(){ThreadSlice.apply(this,arguments);this.icStats_=undefined;if(this.args['ic-stats']){this.icStats_=this.args['ic-stats'].data;delete this.args['ic-stats'];}} 6390V8ICStatsThreadSlice.prototype={__proto__:ThreadSlice.prototype,get icStats(){return this.icStats_;}};ThreadSlice.subTypes.register(V8ICStatsThreadSlice,{categoryParts:['disabled-by-default-v8.ic_stats'],name:'v8 ic stats slice',pluralName:'v8 ic stats slices'});return{V8ICStatsThreadSlice,};});'use strict';tr.exportTo('tr.e.v8',function(){const ThreadSlice=tr.model.ThreadSlice;function V8ThreadSlice(){ThreadSlice.apply(this,arguments);this.runtimeCallStats_=undefined;} 6391V8ThreadSlice.prototype={__proto__:ThreadSlice.prototype,get runtimeCallStats(){if('runtime-call-stats'in this.args){this.runtimeCallStats_=this.args['runtime-call-stats'];delete this.args['runtime-call-stats'];} 6392return this.runtimeCallStats_;}};ThreadSlice.subTypes.register(V8ThreadSlice,{categoryParts:['v8','disabled-by-default-v8.runtime_stats'],name:'v8 slice',pluralName:'v8 slices'});return{V8ThreadSlice,};});'use strict';tr.exportTo('tr.e.cc',function(){function PictureAsImageData(picture,errorOrImageData){this.picture_=picture;if(errorOrImageData instanceof ImageData){this.error_=undefined;this.imageData_=errorOrImageData;}else{this.error_=errorOrImageData;this.imageData_=undefined;}} 6393PictureAsImageData.Pending=function(picture){return new PictureAsImageData(picture,undefined);};PictureAsImageData.prototype={get picture(){return this.picture_;},get error(){return this.error_;},get imageData(){return this.imageData_;},isPending(){return this.error_===undefined&&this.imageData_===undefined;},asCanvas(){if(!this.imageData_)return;const canvas=document.createElement('canvas');const ctx=canvas.getContext('2d');canvas.width=this.imageData_.width;canvas.height=this.imageData_.height;ctx.putImageData(this.imageData_,0,0);return canvas;}};return{PictureAsImageData,};});'use strict';tr.exportTo('tr.e.cc',function(){const convertedNameCache={};function convertNameToJSConvention(name){if(name in convertedNameCache){return convertedNameCache[name];} 6394if(name[0]==='_'||name[name.length-1]==='_'){convertedNameCache[name]=name;return name;} 6395const words=name.split('_');if(words.length===1){convertedNameCache[name]=words[0];return words[0];} 6396for(let i=1;i<words.length;i++){words[i]=words[i][0].toUpperCase()+words[i].substring(1);} 6397convertedNameCache[name]=words.join('');return convertedNameCache[name];} 6398function convertObjectFieldNamesToJSConventions(object){tr.b.iterObjectFieldsRecursively(object,function(object,fieldName,fieldValue){delete object[fieldName];object[newFieldName]=fieldValue;return newFieldName;});} 6399function convertQuadSuffixedTypesToQuads(object){tr.b.iterObjectFieldsRecursively(object,function(object,fieldName,fieldValue){});} 6400function convertObject(object){convertObjectFieldNamesToJSConventions(object);convertQuadSuffixedTypesToQuads(object);} 6401function moveRequiredFieldsFromArgsToToplevel(object,fields){for(let i=0;i<fields.length;i++){const key=fields[i];if(object.args[key]===undefined){throw Error('Expected field '+key+' not found in args');} 6402if(object[key]!==undefined){throw Error('Field '+key+' already in object');} 6403object[key]=object.args[key];delete object.args[key];}} 6404function moveOptionalFieldsFromArgsToToplevel(object,fields){for(let i=0;i<fields.length;i++){const key=fields[i];if(object.args[key]===undefined)continue;if(object[key]!==undefined){throw Error('Field '+key+' already in object');} 6405object[key]=object.args[key];delete object.args[key];}} 6406function preInitializeObject(object){preInitializeObjectInner(object.args,false);} 6407function preInitializeObjectInner(object,hasRecursed){if(!(object instanceof Object))return;if(object instanceof Array){for(let i=0;i<object.length;i++){preInitializeObjectInner(object[i],true);} 6408return;} 6409if(hasRecursed&&(object instanceof tr.model.ObjectSnapshot||object instanceof tr.model.ObjectInstance)){return;} 6410for(let key in object){const newKey=convertNameToJSConvention(key);if(newKey!==key){const value=object[key];delete object[key];object[newKey]=value;key=newKey;} 6411if(/Quad$/.test(key)&&!(object[key]instanceof tr.b.math.Quad)){let q;try{q=tr.b.math.Quad.from8Array(object[key]);}catch(e){} 6412object[key]=q;continue;} 6413if(/Rect$/.test(key)&&!(object[key]instanceof tr.b.math.Rect)){let r;try{r=tr.b.math.Rect.fromArray(object[key]);}catch(e){} 6414object[key]=r;} 6415preInitializeObjectInner(object[key],true);}} 6416return{preInitializeObject,convertNameToJSConvention,moveRequiredFieldsFromArgsToToplevel,moveOptionalFieldsFromArgsToToplevel,};});'use strict';tr.exportTo('tr.e.cc',function(){const ObjectSnapshot=tr.model.ObjectSnapshot;const PictureCount=0;const OPS_TIMING_ITERATIONS=3;function Picture(skp64,layerRect){this.skp64_=skp64;this.layerRect_=layerRect;this.guid_=tr.b.GUID.allocateSimple();} 6417Picture.prototype={get canSave(){return true;},get layerRect(){return this.layerRect_;},get guid(){return this.guid_;},getBase64SkpData(){return this.skp64_;},getOps(){if(!PictureSnapshot.CanGetOps()){console.error(PictureSnapshot.HowToEnablePictureDebugging());return undefined;} 6418const ops=window.chrome.skiaBenchmarking.getOps({skp64:this.skp64_,params:{layer_rect:this.layerRect_.toArray()}});if(!ops){console.error('Failed to get picture ops.');} 6419return ops;},getOpTimings(){if(!PictureSnapshot.CanGetOpTimings()){console.error(PictureSnapshot.HowToEnablePictureDebugging());return undefined;} 6420const opTimings=window.chrome.skiaBenchmarking.getOpTimings({skp64:this.skp64_,params:{layer_rect:this.layerRect_.toArray()}});if(!opTimings){console.error('Failed to get picture op timings.');} 6421return opTimings;},tagOpsWithTimings(ops){const opTimings=[];for(let iteration=0;iteration<OPS_TIMING_ITERATIONS;iteration++){opTimings[iteration]=this.getOpTimings();if(!opTimings[iteration]||!opTimings[iteration].cmd_times){return ops;} 6422if(opTimings[iteration].cmd_times.length!==ops.length){return ops;}} 6423for(let opIndex=0;opIndex<ops.length;opIndex++){let min=Number.MAX_VALUE;for(let i=0;i<OPS_TIMING_ITERATIONS;i++){min=Math.min(min,opTimings[i].cmd_times[opIndex]);} 6424ops[opIndex].cmd_time=min;} 6425return ops;},rasterize(params,rasterCompleteCallback){if(!PictureSnapshot.CanRasterize()||!PictureSnapshot.CanGetOps()){rasterCompleteCallback(new tr.e.cc.PictureAsImageData(this,tr.e.cc.PictureSnapshot.HowToEnablePictureDebugging()));return;} 6426const raster=window.chrome.skiaBenchmarking.rasterize({skp64:this.skp64_,params:{layer_rect:this.layerRect_.toArray()}},{stop:params.stopIndex===undefined?-1:params.stopIndex,overdraw:!!params.showOverdraw,params:{}});if(raster){const canvas=document.createElement('canvas');const ctx=canvas.getContext('2d');canvas.width=raster.width;canvas.height=raster.height;const imageData=ctx.createImageData(raster.width,raster.height);imageData.data.set(new Uint8ClampedArray(raster.data));rasterCompleteCallback(new tr.e.cc.PictureAsImageData(this,imageData));}else{const error='Failed to rasterize picture. '+'Your recording may be from an old Chrome version. '+'The SkPicture format is not backward compatible.';rasterCompleteCallback(new tr.e.cc.PictureAsImageData(this,error));}}};function LayeredPicture(pictures){this.guid_=tr.b.GUID.allocateSimple();this.pictures_=pictures;this.layerRect_=undefined;} 6427LayeredPicture.prototype={__proto__:Picture.prototype,get canSave(){return false;},get typeName(){return'cc::LayeredPicture';},get layerRect(){if(this.layerRect_!==undefined){return this.layerRect_;} 6428this.layerRect_={x:0,y:0,width:0,height:0};for(let i=0;i<this.pictures_.length;++i){const rect=this.pictures_[i].layerRect;this.layerRect_.x=Math.min(this.layerRect_.x,rect.x);this.layerRect_.y=Math.min(this.layerRect_.y,rect.y);this.layerRect_.width=Math.max(this.layerRect_.width,rect.x+rect.width);this.layerRect_.height=Math.max(this.layerRect_.height,rect.y+rect.height);} 6429return this.layerRect_;},get guid(){return this.guid_;},getBase64SkpData(){throw new Error('Not available with a LayeredPicture.');},getOps(){let ops=[];for(let i=0;i<this.pictures_.length;++i){ops=ops.concat(this.pictures_[i].getOps());} 6430return ops;},getOpTimings(){const opTimings=this.pictures_[0].getOpTimings();for(let i=1;i<this.pictures_.length;++i){const timings=this.pictures_[i].getOpTimings();opTimings.cmd_times=opTimings.cmd_times.concat(timings.cmd_times);opTimings.total_time+=timings.total_time;} 6431return opTimings;},tagOpsWithTimings(ops){const opTimings=[];for(let iteration=0;iteration<OPS_TIMING_ITERATIONS;iteration++){opTimings[iteration]=this.getOpTimings();if(!opTimings[iteration]||!opTimings[iteration].cmd_times){return ops;}} 6432for(let opIndex=0;opIndex<ops.length;opIndex++){let min=Number.MAX_VALUE;for(let i=0;i<OPS_TIMING_ITERATIONS;i++){min=Math.min(min,opTimings[i].cmd_times[opIndex]);} 6433ops[opIndex].cmd_time=min;} 6434return ops;},rasterize(params,rasterCompleteCallback){this.picturesAsImageData_=[];const rasterCallback=function(pictureAsImageData){this.picturesAsImageData_.push(pictureAsImageData);if(this.picturesAsImageData_.length!==this.pictures_.length){return;} 6435const canvas=document.createElement('canvas');const ctx=canvas.getContext('2d');canvas.width=this.layerRect.width;canvas.height=this.layerRect.height;for(let i=0;i<this.picturesAsImageData_.length;++i){ctx.putImageData(this.picturesAsImageData_[i].imageData,this.pictures_[i].layerRect.x,this.pictures_[i].layerRect.y);} 6436this.picturesAsImageData_=[];rasterCompleteCallback(new tr.e.cc.PictureAsImageData(this,ctx.getImageData(this.layerRect.x,this.layerRect.y,this.layerRect.width,this.layerRect.height)));}.bind(this);for(let i=0;i<this.pictures_.length;++i){this.pictures_[i].rasterize(params,rasterCallback);}}};function PictureSnapshot(){ObjectSnapshot.apply(this,arguments);} 6437PictureSnapshot.HasSkiaBenchmarking=function(){return tr.isExported('chrome.skiaBenchmarking');};PictureSnapshot.CanRasterize=function(){if(!PictureSnapshot.HasSkiaBenchmarking()){return false;} 6438if(!window.chrome.skiaBenchmarking.rasterize){return false;} 6439return true;};PictureSnapshot.CanGetOps=function(){if(!PictureSnapshot.HasSkiaBenchmarking()){return false;} 6440if(!window.chrome.skiaBenchmarking.getOps){return false;} 6441return true;};PictureSnapshot.CanGetOpTimings=function(){if(!PictureSnapshot.HasSkiaBenchmarking()){return false;} 6442if(!window.chrome.skiaBenchmarking.getOpTimings){return false;} 6443return true;};PictureSnapshot.CanGetInfo=function(){if(!PictureSnapshot.HasSkiaBenchmarking()){return false;} 6444if(!window.chrome.skiaBenchmarking.getInfo){return false;} 6445return true;};PictureSnapshot.HowToEnablePictureDebugging=function(){if(tr.isHeadless){return'Pictures only work in chrome';} 6446const usualReason=['For pictures to show up, you need to have Chrome running with ','--enable-skia-benchmarking. Please restart chrome with this flag ','and try again.'].join('');if(!tr.isExported('global.chrome.skiaBenchmarking')){return usualReason;} 6447if(!global.chrome.skiaBenchmarking.rasterize){return'Your chrome is old';} 6448if(!global.chrome.skiaBenchmarking.getOps){return'Your chrome is old: skiaBenchmarking.getOps not found';} 6449if(!global.chrome.skiaBenchmarking.getOpTimings){return'Your chrome is old: skiaBenchmarking.getOpTimings not found';} 6450if(!global.chrome.skiaBenchmarking.getInfo){return'Your chrome is old: skiaBenchmarking.getInfo not found';} 6451return'Rasterizing is on';};PictureSnapshot.prototype={__proto__:ObjectSnapshot.prototype,preInitialize(){tr.e.cc.preInitializeObject(this);this.rasterResult_=undefined;},initialize(){if(this.args.alias){this.args=this.args.alias.args;} 6452if(!this.args.params.layerRect){throw new Error('Missing layer rect');} 6453this.layerRect_=this.args.params.layerRect;this.picture_=new Picture(this.args.skp64,this.args.params.layerRect);},set picture(picture){this.picture_=picture;},get canSave(){return this.picture_.canSave;},get layerRect(){return this.layerRect_?this.layerRect_:this.picture_.layerRect;},get guid(){return this.picture_.guid;},getBase64SkpData(){return this.picture_.getBase64SkpData();},getOps(){return this.picture_.getOps();},getOpTimings(){return this.picture_.getOpTimings();},tagOpsWithTimings(ops){return this.picture_.tagOpsWithTimings(ops);},rasterize(params,rasterCompleteCallback){this.picture_.rasterize(params,rasterCompleteCallback);}};ObjectSnapshot.subTypes.register(PictureSnapshot,{typeNames:['cc::Picture']});return{PictureSnapshot,Picture,LayeredPicture,};});'use strict';tr.exportTo('tr.e.cc',function(){const ObjectSnapshot=tr.model.ObjectSnapshot;function DisplayItemList(skp64,layerRect){tr.e.cc.Picture.apply(this,arguments);} 6454DisplayItemList.prototype={__proto__:tr.e.cc.Picture.prototype};function DisplayItemListSnapshot(){tr.e.cc.PictureSnapshot.apply(this,arguments);} 6455DisplayItemListSnapshot.prototype={__proto__:tr.e.cc.PictureSnapshot.prototype,initialize(){tr.e.cc.PictureSnapshot.prototype.initialize.call(this);this.displayItems_=this.args.params.items;},get items(){return this.displayItems_;}};ObjectSnapshot.subTypes.register(DisplayItemListSnapshot,{typeNames:['cc::DisplayItemList']});return{DisplayItemListSnapshot,DisplayItemList,};});'use strict';tr.exportTo('tr.b.math',function(){function BBox2(){this.isEmpty_=true;this.min_=undefined;this.max_=undefined;} 6456BBox2.prototype={__proto__:Object.prototype,reset(){this.isEmpty_=true;this.min_=undefined;this.max_=undefined;},get isEmpty(){return this.isEmpty_;},addBBox2(bbox2){if(bbox2.isEmpty)return;this.addVec2(bbox2.min_);this.addVec2(bbox2.max_);},clone(){const bbox=new BBox2();bbox.addBBox2(this);return bbox;},addXY(x,y){if(this.isEmpty_){this.max_=vec2.create();this.min_=vec2.create();vec2.set(this.max_,x,y);vec2.set(this.min_,x,y);this.isEmpty_=false;return;} 6457this.max_[0]=Math.max(this.max_[0],x);this.max_[1]=Math.max(this.max_[1],y);this.min_[0]=Math.min(this.min_[0],x);this.min_[1]=Math.min(this.min_[1],y);},addVec2(value){if(this.isEmpty_){this.max_=vec2.create();this.min_=vec2.create();vec2.set(this.max_,value[0],value[1]);vec2.set(this.min_,value[0],value[1]);this.isEmpty_=false;return;} 6458this.max_[0]=Math.max(this.max_[0],value[0]);this.max_[1]=Math.max(this.max_[1],value[1]);this.min_[0]=Math.min(this.min_[0],value[0]);this.min_[1]=Math.min(this.min_[1],value[1]);},addQuad(quad){this.addVec2(quad.p1);this.addVec2(quad.p2);this.addVec2(quad.p3);this.addVec2(quad.p4);},get minVec2(){if(this.isEmpty_)return undefined;return this.min_;},get maxVec2(){if(this.isEmpty_)return undefined;return this.max_;},get sizeAsVec2(){if(this.isEmpty_){throw new Error('Empty BBox2 has no size');} 6459const size=vec2.create();vec2.subtract(size,this.max_,this.min_);return size;},get size(){if(this.isEmpty_){throw new Error('Empty BBox2 has no size');} 6460return{width:this.max_[0]-this.min_[0],height:this.max_[1]-this.min_[1]};},get width(){if(this.isEmpty_){throw new Error('Empty BBox2 has no width');} 6461return this.max_[0]-this.min_[0];},get height(){if(this.isEmpty_){throw new Error('Empty BBox2 has no width');} 6462return this.max_[1]-this.min_[1];},toString(){if(this.isEmpty_)return'empty';return'min=('+this.min_[0]+','+this.min_[1]+') '+'max=('+this.max_[0]+','+this.max_[1]+')';},asRect(){return tr.b.math.Rect.fromXYWH(this.min_[0],this.min_[1],this.max_[0]-this.min_[0],this.max_[1]-this.min_[1]);}};return{BBox2,};});'use strict';tr.exportTo('tr.e.cc',function(){const constants={};constants.ACTIVE_TREE=0;constants.PENDING_TREE=1;constants.HIGH_PRIORITY_BIN=0;constants.LOW_PRIORITY_BIN=1;constants.SEND_BEGIN_FRAME_EVENT='ThreadProxy::ScheduledActionSendBeginMainFrame';constants.BEGIN_MAIN_FRAME_EVENT='ThreadProxy::BeginMainFrame';return{constants};});'use strict';tr.exportTo('tr.e.cc',function(){function Region(){this.rects=[];} 6463Region.fromArray=function(array){if(array.length%4!==0){throw new Error('Array must consist be a multiple of 4 in length');} 6464const r=new Region();for(let i=0;i<array.length;i+=4){r.rects.push(tr.b.math.Rect.fromXYWH(array[i],array[i+1],array[i+2],array[i+3]));} 6465return r;};Region.fromArrayOrUndefined=function(array){if(array===undefined)return new Region();return Region.fromArray(array);};Region.prototype={__proto__:Region.prototype,rectIntersects(r){for(let i=0;i<this.rects.length;i++){if(this.rects[i].intersects(r))return true;} 6466return false;},addRect(r){this.rects.push(r);}};return{Region,};});'use strict';tr.exportTo('tr.e.cc',function(){function TileCoverageRect(rect,tile){this.geometryRect=rect;this.tile=tile;} 6467return{TileCoverageRect,};});'use strict';tr.exportTo('tr.e.cc',function(){const constants=tr.e.cc.constants;const ObjectSnapshot=tr.model.ObjectSnapshot;function LayerImplSnapshot(){ObjectSnapshot.apply(this,arguments);} 6468LayerImplSnapshot.prototype={__proto__:ObjectSnapshot.prototype,preInitialize(){tr.e.cc.preInitializeObject(this);this.layerTreeImpl_=undefined;this.parentLayer=undefined;},initialize(){this.invalidation=new tr.e.cc.Region();this.annotatedInvalidation=new tr.e.cc.Region();this.unrecordedRegion=new tr.e.cc.Region();this.pictures=[];tr.e.cc.moveRequiredFieldsFromArgsToToplevel(this,['layerId','layerQuad']);tr.e.cc.moveOptionalFieldsFromArgsToToplevel(this,['children','maskLayer','replicaLayer','idealContentsScale','geometryContentsScale','layoutRects','usingGpuRasterization']);this.gpuMemoryUsageInBytes=this.args.gpuMemoryUsage;this.bounds=tr.b.math.Rect.fromXYWH(0,0,this.args.bounds.width,this.args.bounds.height);if(this.args.animationBounds){this.animationBoundsRect=tr.b.math.Rect.fromXYWH(this.args.animationBounds[0],this.args.animationBounds[1],this.args.animationBounds[3],this.args.animationBounds[4]);} 6469if(this.children){for(let i=0;i<this.children.length;i++){this.children[i].parentLayer=this;}} 6470if(this.maskLayer){this.maskLayer.parentLayer=this;} 6471if(this.replicaLayer){this.replicaLayer.parentLayer=this;} 6472if(!this.geometryContentsScale){this.geometryContentsScale=1.0;} 6473if(!this.idealContentsScale){this.idealContentsScale=1.0;} 6474this.touchEventHandlerRegion=tr.e.cc.Region.fromArrayOrUndefined(this.args.touchEventHandlerRegion);this.wheelEventHandlerRegion=tr.e.cc.Region.fromArrayOrUndefined(this.args.wheelEventHandlerRegion);this.nonFastScrollableRegion=tr.e.cc.Region.fromArrayOrUndefined(this.args.nonFastScrollableRegion);},get layerTreeImpl(){if(this.layerTreeImpl_){return this.layerTreeImpl_;} 6475if(this.parentLayer){return this.parentLayer.layerTreeImpl;} 6476return undefined;},set layerTreeImpl(layerTreeImpl){this.layerTreeImpl_=layerTreeImpl;},get activeLayer(){if(this.layerTreeImpl.whichTree===constants.ACTIVE_TREE){return this;} 6477const activeTree=this.layerTreeImpl.layerTreeHostImpl.activeTree;return activeTree.findLayerWithId(this.layerId);},get pendingLayer(){if(this.layerTreeImpl.whichTree===constants.PENDING_TREE){return this;} 6478const pendingTree=this.layerTreeImpl.layerTreeHostImpl.pendingTree;return pendingTree.findLayerWithId(this.layerId);}};function PictureLayerImplSnapshot(){LayerImplSnapshot.apply(this,arguments);} 6479PictureLayerImplSnapshot.prototype={__proto__:LayerImplSnapshot.prototype,initialize(){LayerImplSnapshot.prototype.initialize.call(this);if(this.args.invalidation){this.invalidation=tr.e.cc.Region.fromArray(this.args.invalidation);delete this.args.invalidation;} 6480if(this.args.annotatedInvalidationRects){this.annotatedInvalidation=new tr.e.cc.Region();for(let i=0;i<this.args.annotatedInvalidationRects.length;++i){const annotatedRect=this.args.annotatedInvalidationRects[i];const rect=annotatedRect.geometryRect;rect.reason=annotatedRect.reason;this.annotatedInvalidation.addRect(rect);} 6481delete this.args.annotatedInvalidationRects;} 6482if(this.args.unrecordedRegion){this.unrecordedRegion=tr.e.cc.Region.fromArray(this.args.unrecordedRegion);delete this.args.unrecordedRegion;} 6483if(this.args.pictures){this.pictures=this.args.pictures;this.pictures.sort(function(a,b){return a.ts-b.ts;});} 6484this.tileCoverageRects=[];if(this.args.coverageTiles){for(let i=0;i<this.args.coverageTiles.length;++i){const rect=this.args.coverageTiles[i].geometryRect.scale(this.idealContentsScale);const tile=this.args.coverageTiles[i].tile;this.tileCoverageRects.push(new tr.e.cc.TileCoverageRect(rect,tile));} 6485delete this.args.coverageTiles;}}};ObjectSnapshot.subTypes.register(PictureLayerImplSnapshot,{typeName:'cc::PictureLayerImpl'});ObjectSnapshot.subTypes.register(LayerImplSnapshot,{typeNames:['cc::LayerImpl','cc::DelegatedRendererLayerImpl','cc::HeadsUpDisplayLayerImpl','cc::IOSurfaceLayerImpl','cc::NinePatchLayerImpl','cc::PictureImageLayerImpl','cc::ScrollbarLayerImpl','cc::SolidColorLayerImpl','cc::SolidColorScrollbarLayerImpl','cc::SurfaceLayerImpl','cc::TextureLayerImpl','cc::TiledLayerImpl','cc::VideoLayerImpl','cc::PaintedScrollbarLayerImpl','ClankPatchLayer','TabBorderLayer','CounterLayer']});return{LayerImplSnapshot,PictureLayerImplSnapshot,};});'use strict';tr.exportTo('tr.e.cc',function(){const constants=tr.e.cc.constants;const ObjectSnapshot=tr.model.ObjectSnapshot;function LayerTreeImplSnapshot(){ObjectSnapshot.apply(this,arguments);} 6486LayerTreeImplSnapshot.prototype={__proto__:ObjectSnapshot.prototype,preInitialize(){tr.e.cc.preInitializeObject(this);this.layerTreeHostImpl=undefined;this.whichTree=undefined;this.sourceFrameNumber=undefined;},initialize(){tr.e.cc.moveRequiredFieldsFromArgsToToplevel(this,['renderSurfaceLayerList']);tr.e.cc.moveOptionalFieldsFromArgsToToplevel(this,['rootLayer','layers']);if(this.args.sourceFrameNumber){this.sourceFrameNumber=this.args.sourceFrameNumber;} 6487if(this.rootLayer){this.rootLayer.layerTreeImpl=this;}else{for(let i=0;i<this.layers.length;i++){this.layers[i].layerTreeImpl=this;}} 6488if(this.args.swapPromiseTraceIds&&this.args.swapPromiseTraceIds.length){this.tracedInputLatencies=[];const ownProcess=this.objectInstance.parent;const modelHelper=ownProcess.model.getOrCreateHelper(tr.model.helpers.ChromeModelHelper);if(modelHelper){this._initializeTracedInputLatencies(modelHelper);}}},_initializeTracedInputLatencies(modelHelper){const latencyEvents=modelHelper.browserHelper.getLatencyEventsInRange(modelHelper.model.bounds);latencyEvents.forEach(function(event){for(let i=0;i<this.args.swapPromiseTraceIds.length;i++){if(!event.args.data||!event.args.data.trace_id){continue;} 6489if(parseInt(event.args.data.trace_id)===this.args.swapPromiseTraceIds[i]){this.tracedInputLatencies.push(event);}}},this);},get hasSourceFrameBeenDrawnBefore(){if(this.whichTree===tr.e.cc.constants.PENDING_TREE){return false;} 6490if(this.sourceFrameNumber===undefined)return;const thisLTHI=this.layerTreeHostImpl;const thisLTHIIndex=thisLTHI.objectInstance.snapshots.indexOf(thisLTHI);const prevLTHIIndex=thisLTHIIndex-1;if(prevLTHIIndex<0||prevLTHIIndex>=thisLTHI.objectInstance.snapshots.length){return false;} 6491const prevLTHI=thisLTHI.objectInstance.snapshots[prevLTHIIndex];if(!prevLTHI.activeTree)return false;if(prevLTHI.activeTree.sourceFrameNumber===undefined)return;return prevLTHI.activeTree.sourceFrameNumber===this.sourceFrameNumber;},get otherTree(){const other=this.whichTree===constants.ACTIVE_TREE?constants.PENDING_TREE:constants.ACTIVE_TREE;return this.layerTreeHostImpl.getTree(other);},get gpuMemoryUsageInBytes(){let totalBytes=0;this.iterLayers(function(layer){if(layer.gpuMemoryUsageInBytes!==undefined){totalBytes+=layer.gpuMemoryUsageInBytes;}});return totalBytes;},iterLayers(func,thisArg){const visitedLayers={};function visitLayer(layer,depth,isMask,isReplica){if(visitedLayers[layer.layerId])return;visitedLayers[layer.layerId]=true;func.call(thisArg,layer,depth,isMask,isReplica);if(layer.children){for(let i=0;i<layer.children.length;i++){visitLayer(layer.children[i],depth+1);}} 6492if(layer.maskLayer){visitLayer(layer.maskLayer,depth+1,true,false);} 6493if(layer.replicaLayer){visitLayer(layer.replicaLayer,depth+1,false,true);}} 6494if(this.rootLayer){visitLayer(this.rootLayer,0,false,false);}else{for(let i=0;i<this.layers.length;i++){visitLayer(this.layers[i],0,false,false);}}},findLayerWithId(id){let foundLayer=undefined;function visitLayer(layer){if(layer.layerId===id){foundLayer=layer;}} 6495this.iterLayers(visitLayer);return foundLayer;}};ObjectSnapshot.subTypes.register(LayerTreeImplSnapshot,{typeName:'cc::LayerTreeImpl'});return{LayerTreeImplSnapshot,};});'use strict';tr.exportTo('tr.e.cc',function(){const constants=tr.e.cc.constants;const ObjectSnapshot=tr.model.ObjectSnapshot;const ObjectInstance=tr.model.ObjectInstance;function LayerTreeHostImplSnapshot(){ObjectSnapshot.apply(this,arguments);} 6496LayerTreeHostImplSnapshot.prototype={__proto__:ObjectSnapshot.prototype,preInitialize(){tr.e.cc.preInitializeObject(this);},initialize(){tr.e.cc.moveRequiredFieldsFromArgsToToplevel(this,['deviceViewportSize','activeTree']);tr.e.cc.moveOptionalFieldsFromArgsToToplevel(this,['pendingTree']);if(this.args.activeTiles!==undefined){this.activeTiles=this.args.activeTiles;delete this.args.activeTiles;}else if(this.args.tiles!==undefined){this.activeTiles=this.args.tiles;delete this.args.tiles;} 6497if(!this.activeTiles){this.activeTiles=[];} 6498this.activeTree.layerTreeHostImpl=this;this.activeTree.whichTree=constants.ACTIVE_TREE;if(this.pendingTree){this.pendingTree.layerTreeHostImpl=this;this.pendingTree.whichTree=constants.PENDING_TREE;}},getContentsScaleNames(){const scales={};for(let i=0;i<this.activeTiles.length;++i){const tile=this.activeTiles[i];scales[tile.contentsScale]=tile.resolution;} 6499return scales;},getTree(whichTree){if(whichTree===constants.ACTIVE_TREE){return this.activeTree;} 6500if(whichTree===constants.PENDING_TREE){return this.pendingTree;} 6501throw new Exception('Unknown tree type + '+whichTree);},get tilesHaveGpuMemoryUsageInfo(){if(this.tilesHaveGpuMemoryUsageInfo_!==undefined){return this.tilesHaveGpuMemoryUsageInfo_;} 6502for(let i=0;i<this.activeTiles.length;i++){if(this.activeTiles[i].gpuMemoryUsageInBytes===undefined){continue;} 6503this.tilesHaveGpuMemoryUsageInfo_=true;return true;} 6504this.tilesHaveGpuMemoryUsageInfo_=false;return false;},get gpuMemoryUsageInBytes(){if(!this.tilesHaveGpuMemoryUsageInfo)return;let usage=0;for(let i=0;i<this.activeTiles.length;i++){const u=this.activeTiles[i].gpuMemoryUsageInBytes;if(u!==undefined)usage+=u;} 6505return usage;},get userFriendlyName(){let frameNumber;if(!this.activeTree){frameNumber=this.objectInstance.snapshots.indexOf(this);}else{if(this.activeTree.sourceFrameNumber===undefined){frameNumber=this.objectInstance.snapshots.indexOf(this);}else{frameNumber=this.activeTree.sourceFrameNumber;}} 6506return'cc::LayerTreeHostImpl frame '+frameNumber;}};ObjectSnapshot.subTypes.register(LayerTreeHostImplSnapshot,{typeName:'cc::LayerTreeHostImpl'});function LayerTreeHostImplInstance(){ObjectInstance.apply(this,arguments);this.allLayersBBox_=undefined;} 6507LayerTreeHostImplInstance.prototype={__proto__:ObjectInstance.prototype,get allContentsScales(){if(this.allContentsScales_){return this.allContentsScales_;} 6508const scales={};for(const tileID in this.allTileHistories_){const tileHistory=this.allTileHistories_[tileID];scales[tileHistory.contentsScale]=true;} 6509this.allContentsScales_=Object.keys(scales);return this.allContentsScales_;},get allLayersBBox(){if(this.allLayersBBox_){return this.allLayersBBox_;} 6510const bbox=new tr.b.math.BBox2();function handleTree(tree){tree.renderSurfaceLayerList.forEach(function(layer){bbox.addQuad(layer.layerQuad);});} 6511this.snapshots.forEach(function(lthi){handleTree(lthi.activeTree);if(lthi.pendingTree){handleTree(lthi.pendingTree);}});this.allLayersBBox_=bbox;return this.allLayersBBox_;}};ObjectInstance.subTypes.register(LayerTreeHostImplInstance,{typeName:'cc::LayerTreeHostImpl'});return{LayerTreeHostImplSnapshot,LayerTreeHostImplInstance,};});'use strict';tr.exportTo('tr.e.cc',function(){const tileTypes={highRes:'highRes',lowRes:'lowRes',extraHighRes:'extraHighRes',extraLowRes:'extraLowRes',missing:'missing',culled:'culled',solidColor:'solidColor',picture:'picture',directPicture:'directPicture',unknown:'unknown'};const tileBorder={highRes:{color:'rgba(80, 200, 200, 0.7)',width:1},lowRes:{color:'rgba(212, 83, 192, 0.7)',width:2},extraHighRes:{color:'rgba(239, 231, 20, 0.7)',width:2},extraLowRes:{color:'rgba(93, 186, 18, 0.7)',width:2},missing:{color:'rgba(255, 0, 0, 0.7)',width:1},culled:{color:'rgba(160, 100, 0, 0.8)',width:1},solidColor:{color:'rgba(128, 128, 128, 0.7)',width:1},picture:{color:'rgba(64, 64, 64, 0.7)',width:1},directPicture:{color:'rgba(127, 255, 0, 1.0)',width:1},unknown:{color:'rgba(0, 0, 0, 1.0)',width:2}};return{tileTypes,tileBorder};});'use strict';tr.exportTo('tr.e.cc',function(){const ObjectSnapshot=tr.model.ObjectSnapshot;function TileSnapshot(){ObjectSnapshot.apply(this,arguments);} 6512TileSnapshot.prototype={__proto__:ObjectSnapshot.prototype,preInitialize(){tr.e.cc.preInitializeObject(this);},initialize(){tr.e.cc.moveOptionalFieldsFromArgsToToplevel(this,['layerId','contentsScale','contentRect']);if(this.args.managedState){this.resolution=this.args.managedState.resolution;this.isSolidColor=this.args.managedState.isSolidColor;this.isUsingGpuMemory=this.args.managedState.isUsingGpuMemory;this.hasResource=this.args.managedState.hasResource;this.scheduledPriority=this.args.scheduledPriority;this.gpuMemoryUsageInBytes=this.args.gpuMemoryUsage;}else{this.resolution=this.args.resolution;this.isSolidColor=this.args.drawInfo.isSolidColor;this.isUsingGpuMemory=this.args.isUsingGpuMemory;this.hasResource=this.args.hasResource;this.scheduledPriority=this.args.scheduledPriority;this.gpuMemoryUsageInBytes=this.args.gpuMemoryUsage;} 6513if(this.contentRect){this.layerRect=this.contentRect.scale(1.0/this.contentsScale);} 6514if(this.isSolidColor){this.type_=tr.e.cc.tileTypes.solidColor;}else if(!this.hasResource){this.type_=tr.e.cc.tileTypes.missing;}else if(this.resolution==='HIGH_RESOLUTION'){this.type_=tr.e.cc.tileTypes.highRes;}else if(this.resolution==='LOW_RESOLUTION'){this.type_=tr.e.cc.tileTypes.lowRes;}else{this.type_=tr.e.cc.tileTypes.unknown;}},getTypeForLayer(layer){let type=this.type_;if(type===tr.e.cc.tileTypes.unknown){if(this.contentsScale<layer.idealContentsScale){type=tr.e.cc.tileTypes.extraLowRes;}else if(this.contentsScale>layer.idealContentsScale){type=tr.e.cc.tileTypes.extraHighRes;}} 6515return type;}};ObjectSnapshot.subTypes.register(TileSnapshot,{typeName:'cc::Tile'});return{TileSnapshot,};});'use strict';tr.exportTo('tr.ui.b',function(){const Location=tr.model.Location;function UIState(location,scaleX){this.location_=location;this.scaleX_=scaleX;} 6516UIState.fromUserFriendlyString=function(model,viewport,stateString){const navByFinderPattern=/^(-?\d+(\.\d+)?)@(.+)x(\d+(\.\d+)?)$/g;const match=navByFinderPattern.exec(stateString);if(!match)return;const timestamp=parseFloat(match[1]);const stableId=match[3];const scaleX=parseFloat(match[4]);if(scaleX<=0){throw new Error('Invalid ScaleX value in UI State string.');} 6517if(!viewport.containerToTrackMap.getTrackByStableId(stableId)){throw new Error('Invalid StableID given in UI State String.');} 6518const loc=tr.model.Location.fromStableIdAndTimestamp(viewport,stableId,timestamp);return new UIState(loc,scaleX);};UIState.prototype={get location(){return this.location_;},get scaleX(){return this.scaleX_;},toUserFriendlyString(viewport){const timestamp=this.location_.xWorld;const stableId=this.location_.getContainingTrack(viewport).eventContainer.stableId;const scaleX=this.scaleX_;return timestamp.toFixed(5)+'@'+stableId+'x'+scaleX.toFixed(5);},toDict(){return{location:this.location_.toDict(),scaleX:this.scaleX_};}};return{UIState,};});'use strict';tr.exportTo('tr.ui.b',function(){const EventSet=tr.model.EventSet;const SelectionState=tr.model.SelectionState;function BrushingState(){this.guid_=tr.b.GUID.allocateSimple();this.selection_=new EventSet();this.findMatches_=new EventSet();this.analysisViewRelatedEvents_=new EventSet();this.analysisLinkHoveredEvents_=new EventSet();this.appliedToModel_=undefined;this.viewSpecificBrushingStates_={};} 6519BrushingState.prototype={get guid(){return this.guid_;},clone(){const that=new BrushingState();that.selection_=this.selection_;that.findMatches_=this.findMatches_;that.analysisViewRelatedEvents_=this.analysisViewRelatedEvents_;that.analysisLinkHoveredEvents_=this.analysisLinkHoveredEvents_;that.viewSpecificBrushingStates_=this.viewSpecificBrushingStates_;return that;},equals(that){if(!this.selection_.equals(that.selection_)){return false;} 6520if(!this.findMatches_.equals(that.findMatches_)){return false;} 6521if(!this.analysisViewRelatedEvents_.equals(that.analysisViewRelatedEvents_)){return false;} 6522if(!this.analysisLinkHoveredEvents_.equals(that.analysisLinkHoveredEvents_)){return false;} 6523return true;},get selectionOfInterest(){if(this.selection_.length){return this.selection_;} 6524if(this.highlight_.length){return this.highlight_;} 6525if(this.analysisViewRelatedEvents_.length){return this.analysisViewRelatedEvents_;} 6526if(this.analysisLinkHoveredEvents_.length){return this.analysisLinkHoveredEvents_;} 6527return this.selection_;},get selection(){return this.selection_;},set selection(selection){if(this.appliedToModel_){throw new Error('Cannot mutate this state right now');} 6528if(selection===undefined){selection=new EventSet();} 6529this.selection_=selection;},get findMatches(){return this.findMatches_;},set findMatches(findMatches){if(this.appliedToModel_){throw new Error('Cannot mutate this state right now');} 6530if(findMatches===undefined){findMatches=new EventSet();} 6531this.findMatches_=findMatches;},get analysisViewRelatedEvents(){return this.analysisViewRelatedEvents_;},set analysisViewRelatedEvents(analysisViewRelatedEvents){if(this.appliedToModel_){throw new Error('Cannot mutate this state right now');} 6532if(analysisViewRelatedEvents===undefined){analysisViewRelatedEvents=new EventSet();} 6533this.analysisViewRelatedEvents_=analysisViewRelatedEvents;},get analysisLinkHoveredEvents(){return this.analysisLinkHoveredEvents_;},set analysisLinkHoveredEvents(analysisLinkHoveredEvents){if(this.appliedToModel_){throw new Error('Cannot mutate this state right now');} 6534if(analysisLinkHoveredEvents===undefined){analysisLinkHoveredEvents=new EventSet();} 6535this.analysisLinkHoveredEvents_=analysisLinkHoveredEvents;},get isAppliedToModel(){return this.appliedToModel_!==undefined;},get viewSpecificBrushingStates(){return this.viewSpecificBrushingStates_;},set viewSpecificBrushingStates(viewSpecificBrushingStates){this.viewSpecificBrushingStates_=viewSpecificBrushingStates;},get dimmedEvents_(){const dimmedEvents=new EventSet();dimmedEvents.addEventSet(this.findMatches);dimmedEvents.addEventSet(this.analysisViewRelatedEvents_);return dimmedEvents;},get brightenedEvents_(){const brightenedEvents=new EventSet();brightenedEvents.addEventSet(this.selection_);brightenedEvents.addEventSet(this.analysisLinkHoveredEvents_);return brightenedEvents;},applyToEventSelectionStates(model){this.appliedToModel_=model;const dimmedEvents=this.dimmedEvents_;if(model){const newDefaultState=(dimmedEvents.length?SelectionState.DIMMED0:SelectionState.NONE);const currentDefaultState=tr.b.getFirstElement(model.getDescendantEvents()).selectionState;if(currentDefaultState!==newDefaultState){for(const e of model.getDescendantEvents()){e.selectionState=newDefaultState;}}} 6536let score;for(const e of dimmedEvents){score=0;if(this.findMatches_.contains(e)){score++;} 6537if(this.analysisViewRelatedEvents_.contains(e)){score++;} 6538e.selectionState=SelectionState.getFromDimmingLevel(score);} 6539for(const e of this.brightenedEvents_){score=0;if(this.selection_.contains(e)){score++;} 6540if(this.analysisLinkHoveredEvents_.contains(e)){score++;} 6541e.selectionState=SelectionState.getFromBrighteningLevel(score);}},transferModelOwnershipToClone(that){if(!this.appliedToModel_){throw new Error('Not applied');} 6542that.appliedToModel_=this.appliedToModel_;this.appliedToModel_=undefined;},unapplyFromEventSelectionStates(){if(!this.appliedToModel_){throw new Error('Not applied');} 6543const model=this.appliedToModel_;this.appliedToModel_=undefined;const dimmedEvents=this.dimmedEvents_;const defaultState=(dimmedEvents.length?SelectionState.DIMMED0:SelectionState.NONE);for(const e of this.brightenedEvents_){e.selectionState=defaultState;} 6544for(const e of dimmedEvents){e.selectionState=defaultState;} 6545return defaultState;}};return{BrushingState,};});'use strict';tr.exportTo('tr.ui.b',function(){function Animation(){} 6546Animation.prototype={canTakeOverFor(existingAnimation){throw new Error('Not implemented');},takeOverFor(existingAnimation,newStartTimestamp,target){throw new Error('Not implemented');},start(timestamp,target){throw new Error('Not implemented');},didStopEarly(timestamp,target,willBeTakenOverByAnotherAnimation){},tick(timestamp,target){throw new Error('Not implemented');}};return{Animation,};});'use strict';tr.exportTo('tr.ui.b',function(){function AnimationController(){tr.b.EventTarget.call(this);this.target_=undefined;this.activeAnimation_=undefined;this.tickScheduled_=false;} 6547AnimationController.prototype={__proto__:tr.b.EventTarget.prototype,get target(){return this.target_;},set target(target){if(this.activeAnimation_){throw new Error('Cannot change target while animation is running.');} 6548if(target.cloneAnimationState===undefined||typeof target.cloneAnimationState!=='function'){throw new Error('target must have a cloneAnimationState function');} 6549this.target_=target;},get activeAnimation(){return this.activeAnimation_;},get hasActiveAnimation(){return!!this.activeAnimation_;},queueAnimation(animation,opt_now){if(this.target_===undefined){throw new Error('Cannot queue animations without a target');} 6550let now;if(opt_now!==undefined){now=opt_now;}else{now=window.performance.now();} 6551if(this.activeAnimation_){const done=this.activeAnimation_.tick(now,this.target_);if(done){this.activeAnimation_=undefined;}} 6552if(this.activeAnimation_){if(animation.canTakeOverFor(this.activeAnimation_)){this.activeAnimation_.didStopEarly(now,this.target_,true);animation.takeOverFor(this.activeAnimation_,now,this.target_);}else{this.activeAnimation_.didStopEarly(now,this.target_,false);}} 6553this.activeAnimation_=animation;this.activeAnimation_.start(now,this.target_);if(this.tickScheduled_)return;this.tickScheduled_=true;tr.b.requestAnimationFrame(this.tickActiveAnimation_,this);},cancelActiveAnimation(opt_now){if(!this.activeAnimation_)return;let now;if(opt_now!==undefined){now=opt_now;}else{now=window.performance.now();} 6554this.activeAnimation_.didStopEarly(now,this.target_,false);this.activeAnimation_=undefined;},tickActiveAnimation_(frameBeginTime){this.tickScheduled_=false;if(!this.activeAnimation_)return;if(this.target_===undefined){this.activeAnimation_.didStopEarly(frameBeginTime,this.target_,false);return;} 6555const oldTargetState=this.target_.cloneAnimationState();const done=this.activeAnimation_.tick(frameBeginTime,this.target_);if(done){this.activeAnimation_=undefined;} 6556if(this.activeAnimation_){this.tickScheduled_=true;tr.b.requestAnimationFrame(this.tickActiveAnimation_,this);} 6557if(oldTargetState){const e=new tr.b.Event('didtick');e.oldTargetState=oldTargetState;this.dispatchEvent(e,false,false);}}};return{AnimationController,};});'use strict';tr.exportTo('tr.b',function(){function Settings(){return Settings;} 6558if(tr.b.unittest&&tr.b.unittest.TestRunner){tr.b.unittest.TestRunner.addEventListener('tr-unittest-will-run',function(){if(tr.isHeadless){Settings.setAlternativeStorageInstance(new HeadlessStorage());}else{Settings.setAlternativeStorageInstance(global.sessionStorage);global.sessionStorage.clear();}});} 6559function SessionSettings(){return SessionSettings;} 6560function AddStaticStorageFunctionsToClass_(inputClass,storage){inputClass.storage_=storage;inputClass.get=function(key,opt_default,opt_namespace){key=inputClass.namespace_(key,opt_namespace);const rawVal=inputClass.storage_.getItem(key);if(rawVal===null||rawVal===undefined){return opt_default;} 6561try{return JSON.parse(rawVal).value;}catch(e){inputClass.storage_.removeItem(key);return opt_default;}};inputClass.set=function(key,value,opt_namespace){if(value===undefined){throw new Error('Settings.set: value must not be undefined');} 6562const v=JSON.stringify({value});inputClass.storage_.setItem(inputClass.namespace_(key,opt_namespace),v);};inputClass.keys=function(opt_namespace){const result=[];opt_namespace=opt_namespace||'';for(let i=0;i<inputClass.storage_.length;i++){const key=inputClass.storage_.key(i);if(inputClass.isnamespaced_(key,opt_namespace)){result.push(inputClass.unnamespace_(key,opt_namespace));}} 6563return result;};inputClass.isnamespaced_=function(key,opt_namespace){return key.indexOf(inputClass.normalize_(opt_namespace))===0;};inputClass.namespace_=function(key,opt_namespace){return inputClass.normalize_(opt_namespace)+key;};inputClass.unnamespace_=function(key,opt_namespace){return key.replace(inputClass.normalize_(opt_namespace),'');};inputClass.normalize_=function(opt_namespace){return inputClass.NAMESPACE+(opt_namespace?opt_namespace+'.':'');};inputClass.setAlternativeStorageInstance=function(instance){inputClass.storage_=instance;};inputClass.getAlternativeStorageInstance=function(){if(!tr.isHeadless&&inputClass.storage_===localStorage){return undefined;} 6564return inputClass.storage_;};inputClass.NAMESPACE='trace-viewer';} 6565function HeadlessStorage(){this.length=0;this.hasItem_={};this.items_={};this.itemsAsArray_=undefined;} 6566HeadlessStorage.prototype={key(index){return this.itemsAsArray[index];},get itemsAsArray(){if(this.itemsAsArray_!==undefined){return this.itemsAsArray_;} 6567const itemsAsArray=[];for(const k in this.items_){itemsAsArray.push(k);} 6568this.itemsAsArray_=itemsAsArray;return this.itemsAsArray_;},getItem(key){if(!this.hasItem_[key]){return null;} 6569return this.items_[key];},removeItem(key){if(!this.hasItem_[key]){return;} 6570const value=this.items_[key];delete this.hasItem_[key];delete this.items_[key];this.length--;this.itemsAsArray_=undefined;return value;},setItem(key,value){if(this.hasItem_[key]){this.items_[key]=value;return;} 6571this.items_[key]=value;this.hasItem_[key]=true;this.length++;this.itemsAsArray_=undefined;return value;}};if(tr.isHeadless){AddStaticStorageFunctionsToClass_(Settings,new HeadlessStorage());AddStaticStorageFunctionsToClass_(SessionSettings,new HeadlessStorage());}else{AddStaticStorageFunctionsToClass_(Settings,localStorage);AddStaticStorageFunctionsToClass_(SessionSettings,sessionStorage);} 6572return{Settings,SessionSettings,};});'use strict';tr.exportTo('tr.ui.b',function(){function createSpan(opt_dictionary){let ownerDocument=document;if(opt_dictionary&&opt_dictionary.ownerDocument){ownerDocument=opt_dictionary.ownerDocument;} 6573const spanEl=ownerDocument.createElement('span');if(opt_dictionary){if(opt_dictionary.className){spanEl.className=opt_dictionary.className;} 6574if(opt_dictionary.textContent){Polymer.dom(spanEl).textContent=opt_dictionary.textContent;} 6575if(opt_dictionary.tooltip){spanEl.title=opt_dictionary.tooltip;} 6576if(opt_dictionary.parent){Polymer.dom(opt_dictionary.parent).appendChild(spanEl);} 6577if(opt_dictionary.bold){spanEl.style.fontWeight='bold';} 6578if(opt_dictionary.italic){spanEl.style.fontStyle='italic';} 6579if(opt_dictionary.marginLeft){spanEl.style.marginLeft=opt_dictionary.marginLeft;} 6580if(opt_dictionary.marginRight){spanEl.style.marginRight=opt_dictionary.marginRight;} 6581if(opt_dictionary.backgroundColor){spanEl.style.backgroundColor=opt_dictionary.backgroundColor;} 6582if(opt_dictionary.color){spanEl.style.color=opt_dictionary.color;}} 6583return spanEl;} 6584function createLink(opt_args){let ownerDocument=document;if(opt_args&&opt_args.ownerDocument){ownerDocument=opt_args.ownerDocument;} 6585const linkEl=ownerDocument.createElement('a');if(opt_args){if(opt_args.href)linkEl.href=opt_args.href;if(opt_args.tooltip)linkEl.title=opt_args.tooltip;if(opt_args.color)linkEl.style.color=opt_args.color;if(opt_args.bold)linkEl.style.fontWeight='bold';if(opt_args.italic)linkEl.style.fontStyle='italic';if(opt_args.className)linkEl.className=opt_args.className;if(opt_args.parent)Polymer.dom(opt_args.parent).appendChild(linkEl);if(opt_args.marginLeft)linkEl.style.marginLeft=opt_args.marginLeft;if(opt_args.marginRight)linkEl.style.marginRight=opt_args.marginRight;if(opt_args.backgroundColor){linkEl.style.backgroundColor=opt_args.backgroundColor;} 6586if(opt_args.textContent){Polymer.dom(linkEl).textContent=opt_args.textContent;}} 6587return linkEl;} 6588function createDiv(opt_dictionary){const divEl=document.createElement('div');if(opt_dictionary){if(opt_dictionary.className){divEl.className=opt_dictionary.className;} 6589if(opt_dictionary.parent){Polymer.dom(opt_dictionary.parent).appendChild(divEl);} 6590if(opt_dictionary.textContent){Polymer.dom(divEl).textContent=opt_dictionary.textContent;} 6591if(opt_dictionary.maxWidth){divEl.style.maxWidth=opt_dictionary.maxWidth;}} 6592return divEl;} 6593function createScopedStyle(styleContent){const styleEl=document.createElement('style');styleEl.scoped=true;Polymer.dom(styleEl).innerHTML=styleContent;return styleEl;} 6594function valuesEqual(a,b){if(a instanceof Array&&b instanceof Array){return a.length===b.length&&JSON.stringify(a)===JSON.stringify(b);} 6595return a===b;} 6596function createSelector(targetEl,targetElProperty,settingsKey,defaultValue,items,opt_namespace){let defaultValueIndex;for(let i=0;i<items.length;i++){const item=items[i];if(valuesEqual(item.value,defaultValue)){defaultValueIndex=i;break;}} 6597if(defaultValueIndex===undefined){throw new Error('defaultValue must be in the items list');} 6598const selectorEl=document.createElement('select');selectorEl.addEventListener('change',onChange);for(let i=0;i<items.length;i++){const item=items[i];const optionEl=document.createElement('option');Polymer.dom(optionEl).textContent=item.label;optionEl.targetPropertyValue=item.value;optionEl.item=item;Polymer.dom(selectorEl).appendChild(optionEl);} 6599function onChange(e){const value=selectorEl.selectedOptions[0].targetPropertyValue;tr.b.Settings.set(settingsKey,value,opt_namespace);targetEl[targetElProperty]=value;} 6600const oldSetter=targetEl.__lookupSetter__('selectedIndex');selectorEl.__defineGetter__('selectedValue',function(v){return selectorEl.children[selectorEl.selectedIndex].targetPropertyValue;});selectorEl.__defineGetter__('selectedItem',function(v){return selectorEl.children[selectorEl.selectedIndex].item;});selectorEl.__defineSetter__('selectedValue',function(v){for(let i=0;i<selectorEl.children.length;i++){const value=selectorEl.children[i].targetPropertyValue;if(valuesEqual(value,v)){const changed=selectorEl.selectedIndex!==i;if(changed){selectorEl.selectedIndex=i;onChange();} 6601return;}} 6602throw new Error('Not a valid value');});const initialValue=tr.b.Settings.get(settingsKey,defaultValue,opt_namespace);let didSet=false;for(let i=0;i<selectorEl.children.length;i++){if(valuesEqual(selectorEl.children[i].targetPropertyValue,initialValue)){didSet=true;targetEl[targetElProperty]=initialValue;selectorEl.selectedIndex=i;break;}} 6603if(!didSet){selectorEl.selectedIndex=defaultValueIndex;targetEl[targetElProperty]=defaultValue;} 6604return selectorEl;} 6605function createEditCategorySpan(optionGroupEl,targetEl){const spanEl=createSpan({className:'edit-categories'});Polymer.dom(spanEl).textContent='Edit categories';Polymer.dom(spanEl).classList.add('labeled-option');spanEl.addEventListener('click',function(){targetEl.onClickEditCategories();});return spanEl;} 6606function createOptionGroup(targetEl,targetElProperty,settingsKey,defaultValue,items){function onChange(){let value=[];if(this.value.length){value=this.value.split(',');} 6607tr.b.Settings.set(settingsKey,value);targetEl[targetElProperty]=value;} 6608const optionGroupEl=createSpan({className:'labeled-option-group'});const initialValue=tr.b.Settings.get(settingsKey,defaultValue);for(let i=0;i<items.length;++i){const item=items[i];const id='category-preset-'+item.label.replace(/ /g,'-');const radioEl=document.createElement('input');radioEl.type='radio';Polymer.dom(radioEl).setAttribute('id',id);Polymer.dom(radioEl).setAttribute('name','category-presets-group');Polymer.dom(radioEl).setAttribute('value',item.value);radioEl.addEventListener('change',onChange.bind(radioEl,targetEl,targetElProperty,settingsKey));if(valuesEqual(initialValue,item.value)){radioEl.checked=true;} 6609const labelEl=document.createElement('label');Polymer.dom(labelEl).textContent=item.label;Polymer.dom(labelEl).setAttribute('for',id);const spanEl=createSpan({className:'labeled-option'});Polymer.dom(spanEl).appendChild(radioEl);Polymer.dom(spanEl).appendChild(labelEl);spanEl.__defineSetter__('checked',function(opt_bool){const changed=radioEl.checked!==(!!opt_bool);if(!changed)return;radioEl.checked=!!opt_bool;onChange();});spanEl.__defineGetter__('checked',function(){return radioEl.checked;});Polymer.dom(optionGroupEl).appendChild(spanEl);} 6610Polymer.dom(optionGroupEl).appendChild(createEditCategorySpan(optionGroupEl,targetEl));if(!initialValue.length){Polymer.dom(optionGroupEl).classList.add('categories-expanded');} 6611targetEl[targetElProperty]=initialValue;return optionGroupEl;} 6612let nextCheckboxId=1;function createCheckBox(targetEl,targetElProperty,settingsKey,defaultValue,label,opt_changeCb){const buttonEl=document.createElement('input');buttonEl.type='checkbox';let initialValue=defaultValue;if(settingsKey!==undefined){initialValue=tr.b.Settings.get(settingsKey,defaultValue);buttonEl.checked=!!initialValue;} 6613if(targetEl){targetEl[targetElProperty]=initialValue;} 6614function onChange(){if(settingsKey!==undefined){tr.b.Settings.set(settingsKey,buttonEl.checked);} 6615if(targetEl){targetEl[targetElProperty]=buttonEl.checked;} 6616if(opt_changeCb){opt_changeCb.call();}} 6617buttonEl.addEventListener('change',onChange);const id='#checkbox-'+nextCheckboxId++;const spanEl=createSpan({className:'labeled-checkbox'});Polymer.dom(buttonEl).setAttribute('id',id);const labelEl=document.createElement('label');Polymer.dom(labelEl).textContent=label;Polymer.dom(labelEl).setAttribute('for',id);Polymer.dom(spanEl).appendChild(buttonEl);Polymer.dom(spanEl).appendChild(labelEl);spanEl.__defineSetter__('checked',function(opt_bool){const changed=buttonEl.checked!==(!!opt_bool);if(!changed)return;buttonEl.checked=!!opt_bool;onChange();});spanEl.__defineGetter__('checked',function(){return buttonEl.checked;});return spanEl;} 6618function createButton(label,opt_callback,opt_this){const buttonEl=document.createElement('input');buttonEl.type='button';buttonEl.value=label;function onClick(){opt_callback.call(opt_this||buttonEl);} 6619if(opt_callback){buttonEl.addEventListener('click',onClick);} 6620return buttonEl;} 6621function createTextInput(targetEl,targetElProperty,settingsKey,defaultValue){const initialValue=tr.b.Settings.get(settingsKey,defaultValue);const el=document.createElement('input');el.type='text';function onChange(e){tr.b.Settings.set(settingsKey,el.value);targetEl[targetElProperty]=el.value;} 6622el.addEventListener('input',onChange);el.value=initialValue;targetEl[targetElProperty]=initialValue;return el;} 6623function isElementAttachedToDocument(el){let cur=el;while(Polymer.dom(cur).parentNode){cur=Polymer.dom(cur).parentNode;} 6624return(cur===el.ownerDocument||cur.nodeName==='#document-fragment');} 6625function asHTMLOrTextNode(value,opt_ownerDocument){if(value instanceof Node){return value;} 6626const ownerDocument=opt_ownerDocument||document;return ownerDocument.createTextNode(value);} 6627return{createSpan,createLink,createDiv,createScopedStyle,createSelector,createOptionGroup,createCheckBox,createButton,createTextInput,isElementAttachedToDocument,asHTMLOrTextNode,};});'use strict';tr.exportTo('tr.ui.b',function(){const elidedTitleCacheDict=new Map();const elidedTitleCache=new ElidedTitleCache();function ElidedTitleCache(){this.textWidthMap=new Map();} 6628ElidedTitleCache.prototype={get(ctx,pixWidth,title,width,sliceDuration){let elidedDict=elidedTitleCacheDict.get(title);if(!elidedDict){elidedDict=new Map();elidedTitleCacheDict.set(title,elidedDict);} 6629let elidedDictForPixWidth=elidedDict.get(pixWidth);if(!elidedDictForPixWidth){elidedDict.set(pixWidth,new Map());elidedDictForPixWidth=elidedDict.get(pixWidth);} 6630let stringWidthPair=elidedDictForPixWidth.get(sliceDuration);if(stringWidthPair===undefined){let newtitle=title;let elided=false;while(this.labelWidthWorld(ctx,newtitle,pixWidth)>sliceDuration){if(newtitle.length*0.75<1)break;newtitle=newtitle.substring(0,newtitle.length*0.75);elided=true;} 6631if(elided&&newtitle.length>3){newtitle=newtitle.substring(0,newtitle.length-3)+'...';} 6632stringWidthPair=new ElidedStringWidthPair(newtitle,this.labelWidth(ctx,newtitle));elidedDictForPixWidth.set(sliceDuration,stringWidthPair);} 6633return stringWidthPair;},quickMeasureText_(ctx,text){let w=this.textWidthMap.get(text);if(!w){w=ctx.measureText(text).width;this.textWidthMap.set(text,w);} 6634return w;},labelWidth(ctx,title){return this.quickMeasureText_(ctx,title)+2;},labelWidthWorld(ctx,title,pixWidth){return this.labelWidth(ctx,title)*pixWidth;}};function ElidedStringWidthPair(string,width){this.string=string;this.width=width;} 6635return{ElidedTitleCache,};});'use strict';tr.exportTo('tr.ui.b',function(){const ColorScheme=tr.b.ColorScheme;const colors=ColorScheme.colors;const colorsAsStrings=ColorScheme.colorsAsStrings;const SelectionState=tr.model.SelectionState;const EventPresenter={getSelectableItemColorAsString(item){const offset=this.getColorIdOffset_(item);const colorId=ColorScheme.getVariantColorId(item.colorId,offset);return colorsAsStrings[colorId];},getColorIdOffset_(event){return event.selectionState;},getTextColor(event){if(event.selectionState===SelectionState.DIMMED){return'rgb(60,60,60)';} 6636return'rgb(0,0,0)';},getSliceColorId(slice){const offset=this.getColorIdOffset_(slice);return ColorScheme.getVariantColorId(slice.colorId,offset);},getSliceAlpha(slice,async){let alpha=1;if(async){alpha*=0.3;} 6637return alpha;},getInstantSliceColor(instant){const offset=this.getColorIdOffset_(instant);const colorId=ColorScheme.getVariantColorId(instant.colorId,offset);return colors[colorId].toStringWithAlphaOverride(1.0);},getObjectInstanceColor(instance){const offset=this.getColorIdOffset_(instance);const colorId=ColorScheme.getVariantColorId(instance.colorId,offset);return colors[colorId].toStringWithAlphaOverride(0.25);},getObjectSnapshotColor(snapshot){const offset=this.getColorIdOffset_(snapshot);let colorId=snapshot.objectInstance.colorId;colorId=ColorScheme.getVariantColorId(colorId,offset);return colors[colorId];},getCounterSeriesColor(colorId,selectionState,opt_alphaMultiplier){const event={selectionState};const offset=this.getColorIdOffset_(event);const c=colors[ColorScheme.getVariantColorId(colorId,offset)];return c.toStringWithAlphaOverride(opt_alphaMultiplier!==undefined?opt_alphaMultiplier:1.0);},getBarSnapshotColor(snapshot,offset){const snapshotOffset=this.getColorIdOffset_(snapshot);let colorId=snapshot.objectInstance.colorId;colorId=ColorScheme.getAnotherColorId(colorId,offset);colorId=ColorScheme.getVariantColorId(colorId,snapshotOffset);return colors[colorId].toStringWithAlphaOverride(1.0);}};return{EventPresenter,};});'use strict';tr.exportTo('tr.ui.b',function(){const elidedTitleCache=new tr.ui.b.ElidedTitleCache();const ColorScheme=tr.b.ColorScheme;const colorsAsStrings=ColorScheme.colorsAsStrings;const EventPresenter=tr.ui.b.EventPresenter;const blackColorId=ColorScheme.getColorIdForReservedName('black');const THIN_SLICE_HEIGHT=4;const SLICE_WAITING_WIDTH_DRAW_THRESHOLD=3;const SLICE_ACTIVE_WIDTH_DRAW_THRESHOLD=1;const SHOULD_ELIDE_TEXT=true;function drawLine(ctx,x1,y1,x2,y2){ctx.moveTo(x1,y1);ctx.lineTo(x2,y2);} 6638function drawTriangle(ctx,x1,y1,x2,y2,x3,y3){ctx.beginPath();ctx.moveTo(x1,y1);ctx.lineTo(x2,y2);ctx.lineTo(x3,y3);ctx.closePath();} 6639function drawArrow(ctx,x1,y1,x2,y2,arrowLength,arrowWidth){const dx=x2-x1;const dy=y2-y1;const len=Math.sqrt(dx*dx+dy*dy);const perc=(len-arrowLength)/len;const bx=x1+perc*dx;const by=y1+perc*dy;const ux=dx/len;const uy=dy/len;const ax=uy*arrowWidth;const ay=-ux*arrowWidth;ctx.beginPath();drawLine(ctx,x1,y1,x2,y2);ctx.stroke();drawTriangle(ctx,bx+ax,by+ay,x2,y2,bx-ax,by-ay);ctx.fill();} 6640function drawSlices(ctx,dt,viewLWorld,viewRWorld,viewHeight,slices,async){const pixelRatio=window.devicePixelRatio||1;const pixWidth=dt.xViewVectorToWorld(1);const height=viewHeight*pixelRatio;let darkRectHeight=THIN_SLICE_HEIGHT*pixelRatio;if(height<darkRectHeight){darkRectHeight=0;} 6641const lightRectHeight=height-darkRectHeight;ctx.save();dt.applyTransformToCanvas(ctx);const rect=new tr.ui.b.FastRectRenderer(ctx,2*pixWidth,2*pixWidth,colorsAsStrings);rect.setYandH(0,height);const lowSlice=tr.b.math.findLowIndexInSortedArray(slices,function(slice){return slice.start+slice.duration;},viewLWorld);let hadTopLevel=false;for(let i=lowSlice;i<slices.length;++i){const slice=slices[i];const x=slice.start;if(x>viewRWorld)break;let w=pixWidth;if(slice.duration>0){w=Math.max(slice.duration,0.000001);if(w<pixWidth){w=pixWidth;}} 6642const colorId=EventPresenter.getSliceColorId(slice);const alpha=EventPresenter.getSliceAlpha(slice,async);const lightAlpha=alpha*0.70;if(async&&slice.isTopLevel){rect.setYandH(3,height-3);hadTopLevel=true;}else{rect.setYandH(0,height);} 6643if(!slice.cpuDuration){rect.fillRect(x,w,colorId,alpha);continue;} 6644let activeWidth=w*(slice.cpuDuration/slice.duration);let waitingWidth=w-activeWidth;if(activeWidth<SLICE_ACTIVE_WIDTH_DRAW_THRESHOLD*pixWidth){activeWidth=0;waitingWidth=w;} 6645if(waitingWidth<SLICE_WAITING_WIDTH_DRAW_THRESHOLD*pixWidth){activeWidth=w;waitingWidth=0;} 6646if(activeWidth>0){rect.fillRect(x,activeWidth,colorId,alpha);} 6647if(waitingWidth>0){rect.setYandH(0,lightRectHeight);rect.fillRect(x+activeWidth-pixWidth,waitingWidth+pixWidth,colorId,lightAlpha);rect.setYandH(lightRectHeight,darkRectHeight);rect.fillRect(x+activeWidth-pixWidth,waitingWidth+pixWidth,colorId,alpha);rect.setYandH(0,height);}} 6648rect.flush();if(async&&hadTopLevel){rect.setYandH(2,1);for(let i=lowSlice;i<slices.length;++i){const slice=slices[i];const x=slice.start;if(x>viewRWorld)break;if(!slice.isTopLevel)continue;let w=pixWidth;if(slice.duration>0){w=Math.max(slice.duration,0.000001);if(w<pixWidth){w=pixWidth;}} 6649rect.fillRect(x,w,blackColorId,0.7);} 6650rect.flush();} 6651ctx.restore();} 6652function drawInstantSlicesAsLines(ctx,dt,viewLWorld,viewRWorld,viewHeight,slices,lineWidthInPixels){const pixelRatio=window.devicePixelRatio||1;const height=viewHeight*pixelRatio;const pixWidth=dt.xViewVectorToWorld(1);ctx.save();ctx.lineWidth=pixWidth*lineWidthInPixels*pixelRatio;dt.applyTransformToCanvas(ctx);ctx.beginPath();const lowSlice=tr.b.math.findLowIndexInSortedArray(slices,function(slice){return slice.start;},viewLWorld);for(let i=lowSlice;i<slices.length;++i){const slice=slices[i];const x=slice.start;if(x>viewRWorld)break;ctx.strokeStyle=EventPresenter.getInstantSliceColor(slice);ctx.beginPath();ctx.moveTo(x,0);ctx.lineTo(x,height);ctx.stroke();} 6653ctx.restore();} 6654function drawLabels(ctx,dt,viewLWorld,viewRWorld,slices,async,fontSize,yOffset){const pixelRatio=window.devicePixelRatio||1;const pixWidth=dt.xViewVectorToWorld(1);ctx.save();ctx.textAlign='center';ctx.textBaseline='top';ctx.font=(fontSize*pixelRatio)+'px sans-serif';if(async){ctx.font='italic '+ctx.font;} 6655const cY=yOffset*pixelRatio;const lowSlice=tr.b.math.findLowIndexInSortedArray(slices,function(slice){return slice.start+slice.duration;},viewLWorld);const quickDiscardThresshold=pixWidth*20;for(let i=lowSlice;i<slices.length;++i){const slice=slices[i];if(slice.start>viewRWorld)break;if(slice.duration<=quickDiscardThresshold)continue;const title=slice.title+ 6656(slice.didNotFinish?' (Did Not Finish)':'');let drawnTitle=title;let drawnWidth=elidedTitleCache.labelWidth(ctx,drawnTitle);const fullLabelWidth=elidedTitleCache.labelWidthWorld(ctx,drawnTitle,pixWidth);if(SHOULD_ELIDE_TEXT&&fullLabelWidth>slice.duration){const elidedValues=elidedTitleCache.get(ctx,pixWidth,drawnTitle,drawnWidth,slice.duration);drawnTitle=elidedValues.string;drawnWidth=elidedValues.width;} 6657if(drawnWidth*pixWidth<slice.duration){ctx.fillStyle=EventPresenter.getTextColor(slice);const cX=dt.xWorldToView(slice.start+0.5*slice.duration);ctx.fillText(drawnTitle,cX,cY,drawnWidth);}} 6658ctx.restore();} 6659return{drawSlices,drawInstantSlicesAsLines,drawLabels,drawLine,drawTriangle,drawArrow,elidedTitleCache_:elidedTitleCache,THIN_SLICE_HEIGHT,};});'use strict';tr.exportTo('tr.ui',function(){function TimelineDisplayTransform(opt_that){if(opt_that){this.set(opt_that);return;} 6660this.scaleX=1;this.panX=0;this.panY=0;} 6661TimelineDisplayTransform.prototype={set(that){this.scaleX=that.scaleX;this.panX=that.panX;this.panY=that.panY;},clone(){return new TimelineDisplayTransform(this);},equals(that){let eq=true;if(that===undefined||that===null){return false;} 6662eq&=this.panX===that.panX;eq&=this.panY===that.panY;eq&=this.scaleX===that.scaleX;return!!eq;},almostEquals(that){let eq=true;if(that===undefined||that===null){return false;} 6663eq&=Math.abs(this.panX-that.panX)<0.001;eq&=Math.abs(this.panY-that.panY)<0.001;eq&=Math.abs(this.scaleX-that.scaleX)<0.001;return!!eq;},incrementPanXInViewUnits(xDeltaView){this.panX+=this.xViewVectorToWorld(xDeltaView);},xPanWorldPosToViewPos(worldX,viewX,viewWidth){if(typeof viewX==='string'){if(viewX==='left'){viewX=0;}else if(viewX==='center'){viewX=viewWidth/2;}else if(viewX==='right'){viewX=viewWidth-1;}else{throw new Error('viewX must be left|center|right or number.');}} 6664this.panX=(viewX/this.scaleX)-worldX;},xPanWorldBoundsIntoView(worldMin,worldMax,viewWidth){if(this.xWorldToView(worldMin)<0){this.xPanWorldPosToViewPos(worldMin,'left',viewWidth);}else if(this.xWorldToView(worldMax)>viewWidth){this.xPanWorldPosToViewPos(worldMax,'right',viewWidth);}},xSetWorldBounds(worldMin,worldMax,viewWidth){const worldWidth=worldMax-worldMin;const scaleX=viewWidth/worldWidth;const panX=-worldMin;this.setPanAndScale(panX,scaleX);},setPanAndScale(p,s){this.scaleX=s;this.panX=p;},xWorldToView(x){return(x+this.panX)*this.scaleX;},xWorldVectorToView(x){return x*this.scaleX;},xViewToWorld(x){return(x/this.scaleX)-this.panX;},xViewVectorToWorld(x){return x/this.scaleX;},applyTransformToCanvas(ctx){ctx.transform(this.scaleX,0,0,1,this.panX*this.scaleX,0);}};return{TimelineDisplayTransform,};});'use strict';tr.exportTo('tr.ui',function(){function SnapIndicator(y,height){this.y=y;this.height=height;} 6665function TimelineInterestRange(vp){this.viewport_=vp;this.range_=new tr.b.math.Range();this.leftSelected_=false;this.rightSelected_=false;this.leftSnapIndicator_=undefined;this.rightSnapIndicator_=undefined;} 6666TimelineInterestRange.prototype={get isEmpty(){return this.range_.isEmpty;},reset(){this.range_.reset();this.leftSelected_=false;this.rightSelected_=false;this.leftSnapIndicator_=undefined;this.rightSnapIndicator_=undefined;this.viewport_.dispatchChangeEvent();},get min(){return this.range_.min;},set min(min){this.range_.min=min;this.viewport_.dispatchChangeEvent();},get max(){return this.range_.max;},set max(max){this.range_.max=max;this.viewport_.dispatchChangeEvent();},set(range){this.range_.reset();this.range_.addRange(range);this.viewport_.dispatchChangeEvent();},setMinAndMax(min,max){this.range_.min=min;this.range_.max=max;this.viewport_.dispatchChangeEvent();},get range(){return this.range_.range;},asRangeObject(){const range=new tr.b.math.Range();range.addRange(this.range_);return range;},get leftSelected(){return this.leftSelected_;},set leftSelected(leftSelected){if(this.leftSelected_===leftSelected)return;this.leftSelected_=leftSelected;this.viewport_.dispatchChangeEvent();},get rightSelected(){return this.rightSelected_;},set rightSelected(rightSelected){if(this.rightSelected_===rightSelected)return;this.rightSelected_=rightSelected;this.viewport_.dispatchChangeEvent();},get leftSnapIndicator(){return this.leftSnapIndicator_;},set leftSnapIndicator(leftSnapIndicator){this.leftSnapIndicator_=leftSnapIndicator;this.viewport_.dispatchChangeEvent();},get rightSnapIndicator(){return this.rightSnapIndicator_;},set rightSnapIndicator(rightSnapIndicator){this.rightSnapIndicator_=rightSnapIndicator;this.viewport_.dispatchChangeEvent();},draw(ctx,viewLWorld,viewRWorld){if(this.range_.isEmpty)return;const dt=this.viewport_.currentDisplayTransform;const markerLWorld=this.min;const markerRWorld=this.max;const markerLView=Math.round(dt.xWorldToView(markerLWorld));const markerRView=Math.round(dt.xWorldToView(markerRWorld));ctx.fillStyle='rgba(0, 0, 0, 0.2)';if(markerLWorld>viewLWorld){ctx.fillRect(dt.xWorldToView(viewLWorld),0,markerLView,ctx.canvas.height);} 6667if(markerRWorld<viewRWorld){ctx.fillRect(markerRView,0,dt.xWorldToView(viewRWorld),ctx.canvas.height);} 6668const pixelRatio=window.devicePixelRatio||1;ctx.lineWidth=Math.round(pixelRatio);if(this.range_.range>0){this.drawLine_(ctx,viewLWorld,viewRWorld,ctx.canvas.height,this.min,this.leftSelected_);this.drawLine_(ctx,viewLWorld,viewRWorld,ctx.canvas.height,this.max,this.rightSelected_);}else{this.drawLine_(ctx,viewLWorld,viewRWorld,ctx.canvas.height,this.min,this.leftSelected_||this.rightSelected_);} 6669ctx.lineWidth=1;},drawLine_(ctx,viewLWorld,viewRWorld,height,ts,selected){if(ts<viewLWorld||ts>=viewRWorld)return;const dt=this.viewport_.currentDisplayTransform;const viewX=Math.round(dt.xWorldToView(ts));ctx.save();ctx.translate((Math.round(ctx.lineWidth)%2)/2,0);ctx.beginPath();tr.ui.b.drawLine(ctx,viewX,0,viewX,height);if(selected){ctx.strokeStyle='rgb(255, 0, 0)';}else{ctx.strokeStyle='rgb(0, 0, 0)';} 6670ctx.stroke();ctx.restore();},drawIndicators(ctx,viewLWorld,viewRWorld){if(this.leftSnapIndicator_){this.drawIndicator_(ctx,viewLWorld,viewRWorld,this.range_.min,this.leftSnapIndicator_,this.leftSelected_);} 6671if(this.rightSnapIndicator_){this.drawIndicator_(ctx,viewLWorld,viewRWorld,this.range_.max,this.rightSnapIndicator_,this.rightSelected_);}},drawIndicator_(ctx,viewLWorld,viewRWorld,xWorld,si,selected){const dt=this.viewport_.currentDisplayTransform;const viewX=Math.round(dt.xWorldToView(xWorld));ctx.save();ctx.translate((Math.round(ctx.lineWidth)%2)/2,0);const pixelRatio=window.devicePixelRatio||1;const viewY=si.y*devicePixelRatio;const viewHeight=si.height*devicePixelRatio;const arrowSize=4*pixelRatio;if(selected){ctx.fillStyle='rgb(255, 0, 0)';}else{ctx.fillStyle='rgb(0, 0, 0)';} 6672tr.ui.b.drawTriangle(ctx,viewX-arrowSize*0.75,viewY,viewX+arrowSize*0.75,viewY,viewX,viewY+arrowSize);ctx.fill();tr.ui.b.drawTriangle(ctx,viewX-arrowSize*0.75,viewY+viewHeight,viewX+arrowSize*0.75,viewY+viewHeight,viewX,viewY+viewHeight-arrowSize);ctx.fill();ctx.restore();}};return{SnapIndicator,TimelineInterestRange,};});'use strict';tr.exportTo('tr.ui.tracks',function(){function ContainerToTrackMap(){this.stableIdToTrackMap_={};} 6673ContainerToTrackMap.prototype={addContainer(container,track){if(!track){throw new Error('Must provide a track.');} 6674this.stableIdToTrackMap_[container.stableId]=track;},clear(){this.stableIdToTrackMap_={};},getTrackByStableId(stableId){return this.stableIdToTrackMap_[stableId];}};return{ContainerToTrackMap,};});'use strict';tr.exportTo('tr.ui.tracks',function(){function EventToTrackMap(){} 6675EventToTrackMap.prototype={addEvent(event,track){if(!track){throw new Error('Must provide a track.');} 6676this[event.guid]=track;}};return{EventToTrackMap,};});'use strict';tr.exportTo('tr.ui',function(){const TimelineDisplayTransform=tr.ui.TimelineDisplayTransform;const TimelineInterestRange=tr.ui.TimelineInterestRange;const IDEAL_MAJOR_MARK_DISTANCE_PX=150;const MAJOR_MARK_ROUNDING_FACTOR=100000;class AnimationControllerProxy{constructor(target){this.target_=target;} 6677get panX(){return this.target_.currentDisplayTransform_.panX;} 6678set panX(panX){this.target_.currentDisplayTransform_.panX=panX;} 6679get panY(){return this.target_.currentDisplayTransform_.panY;} 6680set panY(panY){this.target_.currentDisplayTransform_.panY=panY;} 6681get scaleX(){return this.target_.currentDisplayTransform_.scaleX;} 6682set scaleX(scaleX){this.target_.currentDisplayTransform_.scaleX=scaleX;} 6683cloneAnimationState(){return this.target_.currentDisplayTransform_.clone();} 6684xPanWorldPosToViewPos(xWorld,xView){this.target_.currentDisplayTransform_.xPanWorldPosToViewPos(xWorld,xView,this.target_.modelTrackContainer_.canvas.clientWidth);}} 6685function TimelineViewport(parentEl){this.parentEl_=parentEl;this.modelTrackContainer_=undefined;this.currentDisplayTransform_=new TimelineDisplayTransform();this.initAnimationController_();this.showFlowEvents_=false;this.highlightVSync_=false;this.highDetails_=false;this.gridTimebase_=0;this.gridStep_=1000/60;this.gridEnabled_=false;this.hasCalledSetupFunction_=false;this.onResize_=this.onResize_.bind(this);this.onModelTrackControllerScroll_=this.onModelTrackControllerScroll_.bind(this);this.timeMode_=TimelineViewport.TimeMode.TIME_IN_MS;this.majorMarkWorldPositions_=[];this.majorMarkUnit_=undefined;this.interestRange_=new TimelineInterestRange(this);this.eventToTrackMap_=new tr.ui.tracks.EventToTrackMap();this.containerToTrackMap=new tr.ui.tracks.ContainerToTrackMap();this.dispatchChangeEvent=this.dispatchChangeEvent.bind(this);} 6686TimelineViewport.TimeMode={TIME_IN_MS:0,REVISIONS:1};TimelineViewport.prototype={__proto__:tr.b.EventTarget.prototype,get isAttachedToDocumentOrInTestMode(){if(this.parentEl_===undefined)return;return tr.ui.b.isElementAttachedToDocument(this.parentEl_);},onResize_(){this.dispatchChangeEvent();},dispatchChangeEvent(){tr.b.dispatchSimpleEvent(this,'change');},detach(){window.removeEventListener('resize',this.dispatchChangeEvent);},initAnimationController_(){this.dtAnimationController_=new tr.ui.b.AnimationController();this.dtAnimationController_.addEventListener('didtick',function(e){this.onCurentDisplayTransformChange_(e.oldTargetState);}.bind(this));this.dtAnimationController_.target=new AnimationControllerProxy(this);},get currentDisplayTransform(){return this.currentDisplayTransform_;},setDisplayTransformImmediately(displayTransform){this.dtAnimationController_.cancelActiveAnimation();const oldDisplayTransform=this.dtAnimationController_.target.cloneAnimationState();this.currentDisplayTransform_.set(displayTransform);this.onCurentDisplayTransformChange_(oldDisplayTransform);},queueDisplayTransformAnimation(animation){if(!(animation instanceof tr.ui.b.Animation)){throw new Error('animation must be instanceof tr.ui.b.Animation');} 6687this.dtAnimationController_.queueAnimation(animation);},onCurentDisplayTransformChange_(oldDisplayTransform){if(this.modelTrackContainer_){this.currentDisplayTransform.panY=tr.b.math.clamp(this.currentDisplayTransform.panY,0,this.modelTrackContainer_.scrollHeight- 6688this.modelTrackContainer_.clientHeight);} 6689const changed=!this.currentDisplayTransform.equals(oldDisplayTransform);const yChanged=this.currentDisplayTransform.panY!==oldDisplayTransform.panY;if(yChanged){this.modelTrackContainer_.scrollTop=this.currentDisplayTransform.panY;} 6690if(changed){this.dispatchChangeEvent();}},onModelTrackControllerScroll_(e){if(this.dtAnimationController_.activeAnimation&&this.dtAnimationController_.activeAnimation.affectsPanY){this.dtAnimationController_.cancelActiveAnimation();} 6691const panY=this.modelTrackContainer_.scrollTop;this.currentDisplayTransform_.panY=panY;},get modelTrackContainer(){return this.modelTrackContainer_;},set modelTrackContainer(m){if(this.modelTrackContainer_){this.modelTrackContainer_.removeEventListener('scroll',this.onModelTrackControllerScroll_);} 6692this.modelTrackContainer_=m;this.modelTrackContainer_.addEventListener('scroll',this.onModelTrackControllerScroll_);},get showFlowEvents(){return this.showFlowEvents_;},set showFlowEvents(showFlowEvents){this.showFlowEvents_=showFlowEvents;this.dispatchChangeEvent();},get highlightVSync(){return this.highlightVSync_;},set highlightVSync(highlightVSync){this.highlightVSync_=highlightVSync;this.dispatchChangeEvent();},get highDetails(){return this.highDetails_;},set highDetails(highDetails){this.highDetails_=highDetails;this.dispatchChangeEvent();},get gridEnabled(){return this.gridEnabled_;},set gridEnabled(enabled){if(this.gridEnabled_===enabled)return;this.gridEnabled_=enabled&&true;this.dispatchChangeEvent();},get gridTimebase(){return this.gridTimebase_;},set gridTimebase(timebase){if(this.gridTimebase_===timebase)return;this.gridTimebase_=timebase;this.dispatchChangeEvent();},get gridStep(){return this.gridStep_;},get interestRange(){return this.interestRange_;},get majorMarkWorldPositions(){return this.majorMarkWorldPositions_;},get majorMarkUnit(){switch(this.timeMode_){case TimelineViewport.TimeMode.TIME_IN_MS:return tr.b.Unit.byName.timeInMsAutoFormat;case TimelineViewport.TimeMode.REVISIONS:return tr.b.Unit.byName.count;default:throw new Error('Cannot get Unit for unsupported time mode '+this.timeMode_);}},get timeMode(){return this.timeMode_;},set timeMode(mode){this.timeMode_=mode;this.dispatchChangeEvent();},updateMajorMarkData(viewLWorld,viewRWorld){const pixelRatio=window.devicePixelRatio||1;const dt=this.currentDisplayTransform;const idealMajorMarkDistancePix=IDEAL_MAJOR_MARK_DISTANCE_PX*pixelRatio;const idealMajorMarkDistanceWorld=dt.xViewVectorToWorld(idealMajorMarkDistancePix);const majorMarkDistanceWorld=tr.b.math.preferredNumberLargerThanMin(idealMajorMarkDistanceWorld);const firstMajorMark=Math.floor(viewLWorld/majorMarkDistanceWorld)*majorMarkDistanceWorld;this.majorMarkWorldPositions_=[];for(let curX=firstMajorMark;curX<viewRWorld;curX+=majorMarkDistanceWorld){this.majorMarkWorldPositions_.push(Math.floor(MAJOR_MARK_ROUNDING_FACTOR*curX)/MAJOR_MARK_ROUNDING_FACTOR);}},drawMajorMarkLines(ctx){ctx.save();ctx.translate((Math.round(ctx.lineWidth)%2)/2,0);ctx.beginPath();for(const majorMark of this.majorMarkWorldPositions_){const x=this.currentDisplayTransform.xWorldToView(majorMark);tr.ui.b.drawLine(ctx,x,0,x,ctx.canvas.height);} 6693ctx.strokeStyle='#ddd';ctx.stroke();ctx.restore();},drawGridLines(ctx,viewLWorld,viewRWorld){if(!this.gridEnabled)return;const dt=this.currentDisplayTransform;let x=this.gridTimebase;ctx.save();ctx.translate((Math.round(ctx.lineWidth)%2)/2,0);ctx.beginPath();while(x<viewRWorld){if(x>=viewLWorld){const vx=Math.floor(dt.xWorldToView(x));tr.ui.b.drawLine(ctx,vx,0,vx,ctx.canvas.height);} 6694x+=this.gridStep;} 6695ctx.strokeStyle='rgba(255, 0, 0, 0.25)';ctx.stroke();ctx.restore();},getShiftedSelection(selection,offset){const newSelection=new tr.model.EventSet();for(const event of selection){if(event instanceof tr.model.FlowEvent){if(offset>0){newSelection.push(event.endSlice);}else if(offset<0){newSelection.push(event.startSlice);}else{} 6696continue;} 6697const track=this.trackForEvent(event);track.addEventNearToProvidedEventToSelection(event,offset,newSelection);} 6698if(newSelection.length===0)return undefined;return newSelection;},rebuildEventToTrackMap(){this.eventToTrackMap_=new tr.ui.tracks.EventToTrackMap();this.modelTrackContainer_.addEventsToTrackMap(this.eventToTrackMap_);},rebuildContainerToTrackMap(){this.containerToTrackMap.clear();this.modelTrackContainer_.addContainersToTrackMap(this.containerToTrackMap);},trackForEvent(event){return this.eventToTrackMap_[event.guid];}};return{TimelineViewport,};});'use strict';tr.exportTo('tr.c',function(){const BrushingState=tr.ui.b.BrushingState;const EventSet=tr.model.EventSet;const SelectionState=tr.model.SelectionState;const Viewport=tr.ui.TimelineViewport;function BrushingStateController(timelineView){tr.b.EventTarget.call(this);this.timelineView_=timelineView;this.currentBrushingState_=new BrushingState();this.onPopState_=this.onPopState_.bind(this);this.historyEnabled_=false;this.selections_={};} 6699BrushingStateController.prototype={__proto__:tr.b.EventTarget.prototype,dispatchChangeEvent_(){const e=new tr.b.Event('change',false,false);this.dispatchEvent(e);},get model(){if(!this.timelineView_){return undefined;} 6700return this.timelineView_.model;},get trackView(){if(!this.timelineView_){return undefined;} 6701return this.timelineView_.trackView;},get viewport(){if(!this.timelineView_){return undefined;} 6702if(!this.timelineView_.trackView){return undefined;} 6703return this.timelineView_.trackView.viewport;},get historyEnabled(){return this.historyEnabled_;},set historyEnabled(historyEnabled){this.historyEnabled_=!!historyEnabled;if(historyEnabled){window.addEventListener('popstate',this.onPopState_);}else{window.removeEventListener('popstate',this.onPopState_);}},modelWillChange(){if(this.currentBrushingState_.isAppliedToModel){this.currentBrushingState_.unapplyFromEventSelectionStates();}},modelDidChange(){this.selections_={};this.currentBrushingState_=new BrushingState();this.currentBrushingState_.applyToEventSelectionStates(this.model);const e=new tr.b.Event('model-changed',false,false);this.dispatchEvent(e);this.dispatchChangeEvent_();},onUserInitiatedSelectionChange_(){const selection=this.selection;if(this.historyEnabled){this.selections_[selection.guid]=selection;const state={selection_guid:selection.guid};window.history.pushState(state,document.title);}},onPopState_(e){if(e.state===null)return;const selection=this.selections_[e.state.selection_guid];if(selection){const newState=this.currentBrushingState_.clone();newState.selection=selection;this.currentBrushingState=newState;} 6704e.stopPropagation();},get selection(){return this.currentBrushingState_.selection;},get findMatches(){return this.currentBrushingState_.findMatches;},get selectionOfInterest(){return this.currentBrushingState_.selectionOfInterest;},get currentBrushingState(){return this.currentBrushingState_;},set currentBrushingState(newBrushingState){if(newBrushingState.isAppliedToModel){throw new Error('Cannot apply this state, it is applied');} 6705const hasValueChanged=!this.currentBrushingState_.equals(newBrushingState);if(newBrushingState!==this.currentBrushingState_&&!hasValueChanged){if(this.currentBrushingState_.isAppliedToModel){this.currentBrushingState_.transferModelOwnershipToClone(newBrushingState);} 6706this.currentBrushingState_=newBrushingState;return;} 6707if(this.currentBrushingState_.isAppliedToModel){this.currentBrushingState_.unapplyFromEventSelectionStates();} 6708this.currentBrushingState_=newBrushingState;this.currentBrushingState_.applyToEventSelectionStates(this.model);this.dispatchChangeEvent_();},addAllEventsMatchingFilterToSelectionAsTask(filter,selection){const timelineView=this.timelineView_.trackView;if(!timelineView){return new tr.b.Task();} 6709return timelineView.addAllEventsMatchingFilterToSelectionAsTask(filter,selection);},findTextChangedTo(allPossibleMatches){const newBrushingState=this.currentBrushingState_.clone();newBrushingState.findMatches=allPossibleMatches;this.currentBrushingState=newBrushingState;},findFocusChangedTo(currentFocus){const newBrushingState=this.currentBrushingState_.clone();newBrushingState.selection=currentFocus;this.currentBrushingState=newBrushingState;this.onUserInitiatedSelectionChange_();},findTextCleared(){if(this.xNavStringMarker_!==undefined){this.model.removeAnnotation(this.xNavStringMarker_);this.xNavStringMarker_=undefined;} 6710if(this.guideLineAnnotation_!==undefined){this.model.removeAnnotation(this.guideLineAnnotation_);this.guideLineAnnotation_=undefined;} 6711const newBrushingState=this.currentBrushingState_.clone();newBrushingState.selection=new EventSet();newBrushingState.findMatches=new EventSet();this.currentBrushingState=newBrushingState;this.onUserInitiatedSelectionChange_();},uiStateFromString(string){return tr.ui.b.UIState.fromUserFriendlyString(this.model,this.viewport,string);},navToPosition(uiState,showNavLine){this.trackView.navToPosition(uiState,showNavLine);},changeSelectionFromTimeline(selection){const newBrushingState=this.currentBrushingState_.clone();newBrushingState.selection=selection;newBrushingState.findMatches=new EventSet();this.currentBrushingState=newBrushingState;this.onUserInitiatedSelectionChange_();},showScriptControlSelection(selection){const newBrushingState=this.currentBrushingState_.clone();newBrushingState.selection=selection;newBrushingState.findMatches=new EventSet();this.currentBrushingState=newBrushingState;},changeSelectionFromRequestSelectionChangeEvent(selection){const newBrushingState=this.currentBrushingState_.clone();newBrushingState.selection=selection;newBrushingState.findMatches=new EventSet();this.currentBrushingState=newBrushingState;this.onUserInitiatedSelectionChange_();},changeAnalysisViewRelatedEvents(eventSet){const newBrushingState=this.currentBrushingState_.clone();newBrushingState.analysisViewRelatedEvents=eventSet;this.currentBrushingState=newBrushingState;},changeAnalysisLinkHoveredEvents(eventSet){const newBrushingState=this.currentBrushingState_.clone();newBrushingState.analysisLinkHoveredEvents=eventSet;this.currentBrushingState=newBrushingState;},getViewSpecificBrushingState(viewId){return this.currentBrushingState.viewSpecificBrushingStates[viewId];},changeViewSpecificBrushingState(viewId,newState){const oldStates=this.currentBrushingState_.viewSpecificBrushingStates;const newStates={};for(const id in oldStates){newStates[id]=oldStates[id];} 6712if(newState===undefined){delete newStates[viewId];}else{newStates[viewId]=newState;} 6713const newBrushingState=this.currentBrushingState_.clone();newBrushingState.viewSpecificBrushingStates=newStates;this.currentBrushingState=newBrushingState;}};BrushingStateController.getControllerForElement=function(element){if(tr.isHeadless){throw new Error('Unsupported');} 6714let currentElement=element;while(currentElement){if(currentElement.brushingStateController){return currentElement.brushingStateController;} 6715if(currentElement.parentElement){currentElement=currentElement.parentElement;continue;} 6716let currentNode=currentElement;while(Polymer.dom(currentNode).parentNode){currentNode=Polymer.dom(currentNode).parentNode;} 6717currentElement=currentNode.host;} 6718return undefined;};return{BrushingStateController,};});'use strict';Polymer({is:'tr-ui-a-analysis-link',properties:{href:{type:String}},listeners:{'click':'onClicked_','mouseenter':'onMouseEnter_','mouseleave':'onMouseLeave_'},ready(){this.selection_=undefined;},attached(){this.controller_=tr.c.BrushingStateController.getControllerForElement(this);},detached(){this.clearHighlight_();this.controller_=undefined;},set color(c){this.style.color=c;},get selection(){return this.selection_;},set selection(selection){this.selection_=selection;Polymer.dom(this).textContent=selection.userFriendlyName;},setSelectionAndContent(selection,opt_textContent){this.selection_=selection;if(opt_textContent){Polymer.dom(this).textContent=opt_textContent;}},getCurrentSelection_(){if(typeof this.selection_==='function'){return this.selection_();} 6719return this.selection_;},setHighlight_(opt_eventSet){if(this.controller_){this.controller_.changeAnalysisLinkHoveredEvents(opt_eventSet);}},clearHighlight_(opt_eventSet){this.setHighlight_();},onClicked_(clickEvent){if(!this.selection_)return;clickEvent.stopPropagation();const event=new tr.model.RequestSelectionChangeEvent();event.selection=this.getCurrentSelection_();this.dispatchEvent(event);},onMouseEnter_(){this.setHighlight_(this.getCurrentSelection_());},onMouseLeave_(){this.clearHighlight_();}});'use strict';tr.exportTo('tr.ui.b',function(){const TableFormat={};TableFormat.SelectionMode={NONE:0,ROW:1,CELL:2};TableFormat.HighlightStyle={DEFAULT:0,NONE:1,LIGHT:2,DARK:3};TableFormat.ColumnAlignment={LEFT:0,RIGHT:1};return{TableFormat,};});'use strict';(function(){const RIGHT_ARROW=String.fromCharCode(0x25b6);const UNSORTED_ARROW=String.fromCharCode(0x25BF);const ASCENDING_ARROW=String.fromCharCode(0x25B4);const DESCENDING_ARROW=String.fromCharCode(0x25BE);const SelectionMode=tr.ui.b.TableFormat.SelectionMode;const HighlightStyle=tr.ui.b.TableFormat.HighlightStyle;const ColumnAlignment=tr.ui.b.TableFormat.ColumnAlignment;Polymer({is:'tr-ui-b-table',created(){this.selectionMode_=SelectionMode.NONE;this.rowHighlightStyle_=HighlightStyle.DEFAULT;this.cellHighlightStyle_=HighlightStyle.DEFAULT;this.selectedTableRowInfo_=undefined;this.selectedColumnIndex_=undefined;this.tableColumns_=[];this.tableRows_=[];this.tableRowsInfo_=new WeakMap();this.tableFooterRows_=[];this.tableFooterRowsInfo_=new WeakMap();this.sortColumnIndex_=undefined;this.sortDescending_=false;this.columnsWithExpandButtons_=[];this.headerCells_=[];this.showHeader_=true;this.emptyValue_=undefined;this.subRowsPropertyName_='subRows';this.customizeTableRowCallback_=undefined;this.defaultExpansionStateCallback_=undefined;this.userCanModifySortOrder_=true;this.computedFontSizePx_=undefined;},ready(){this.$.body.addEventListener('keydown',this.onKeyDown_.bind(this),true);this.$.body.addEventListener('focus',this.onFocus_.bind(this),true);},clear(){this.selectionMode_=SelectionMode.NONE;this.rowHighlightStyle_=HighlightStyle.DEFAULT;this.cellHighlightStyle_=HighlightStyle.DEFAULT;this.selectedTableRowInfo_=undefined;this.selectedColumnIndex_=undefined;Polymer.dom(this).textContent='';this.tableColumns_=[];this.tableRows_=[];this.tableRowsInfo_=new WeakMap();this.tableFooterRows_=[];this.tableFooterRowsInfo_=new WeakMap();this.sortColumnIndex_=undefined;this.sortDescending_=false;this.columnsWithExpandButtons_=[];this.headerCells_=[];this.showHeader_=true;this.emptyValue_=undefined;this.subRowsPropertyName_='subRows';this.defaultExpansionStateCallback_=undefined;this.userCanModifySortOrder_=true;},set zebra(zebra){if(zebra){this.setAttribute('zebra',true);}else{this.removeAttribute('zebra');}},get zebra(){return this.getAttribute('zebra');},get showHeader(){return this.showHeader_;},set showHeader(showHeader){this.showHeader_=showHeader;this.scheduleRebuildHeaders_();},set subRowsPropertyName(name){this.subRowsPropertyName_=name;},set defaultExpansionStateCallback(cb){this.defaultExpansionStateCallback_=cb;this.scheduleRebuildBody_();},set customizeTableRowCallback(cb){this.customizeTableRowCallback_=cb;this.scheduleRebuildBody_();},get emptyValue(){return this.emptyValue_;},set emptyValue(emptyValue){const previousEmptyValue=this.emptyValue_;this.emptyValue_=emptyValue;if(this.tableRows_.length===0&&emptyValue!==previousEmptyValue){this.scheduleRebuildBody_();}},set tableColumns(columns){let columnsWithExpandButtons=[];for(let i=0;i<columns.length;i++){if(columns[i].showExpandButtons){columnsWithExpandButtons.push(i);}} 6720if(columnsWithExpandButtons.length===0){columnsWithExpandButtons=[0];} 6721for(let i=0;i<columns.length;i++){const colInfo=columns[i];if(colInfo.width===undefined)continue;const hasExpandButton=columnsWithExpandButtons.includes(i);const w=colInfo.width;if(w){if(/\d+px/.test(w)){continue;}else if(/\d+%/.test(w)){if(hasExpandButton){throw new Error('Columns cannot be %-sized and host '+' an expand button');}}else{throw new Error('Unrecognized width string');}}} 6722let sortIndex=undefined;const currentSortColumn=this.tableColumns[this.sortColumnIndex_];if(currentSortColumn){for(const[i,column]of columns.entries()){if(currentSortColumn.title===column.title){sortIndex=i;break;}}} 6723this.tableColumns_=columns;this.headerCells_=[];this.columnsWithExpandButtons_=columnsWithExpandButtons;this.scheduleRebuildHeaders_();this.sortColumnIndex=sortIndex;this.tableRows=this.tableRows_;},get tableColumns(){return this.tableColumns_;},set tableRows(rows){this.selectedTableRowInfo_=undefined;this.selectedColumnIndex_=undefined;this.tableRows_=rows;this.tableRowsInfo_=new WeakMap();this.scheduleRebuildBody_();},get tableRows(){return this.tableRows_;},set footerRows(rows){this.tableFooterRows_=rows;this.tableFooterRowsInfo_=new WeakMap();this.scheduleRebuildFooter_();},get footerRows(){return this.tableFooterRows_;},get userCanModifySortOrder(){return this.userCanModifySortOrder_;},set userCanModifySortOrder(userCanModifySortOrder){const newUserCanModifySortOrder=!!userCanModifySortOrder;if(newUserCanModifySortOrder===this.userCanModifySortOrder_){return;} 6724this.userCanModifySortOrder_=newUserCanModifySortOrder;this.scheduleRebuildHeaders_();},set sortColumnIndex(number){if(number===this.sortColumnIndex_)return;if(number!==undefined){if(this.tableColumns_.length<=number){throw new Error('Column number '+number+' is out of bounds.');} 6725if(!this.tableColumns_[number].cmp){throw new Error('Column '+number+' does not have a comparator.');}} 6726this.sortColumnIndex_=number;this.updateHeaderArrows_();this.scheduleRebuildBody_();this.dispatchSortingChangedEvent_();},get sortColumnIndex(){return this.sortColumnIndex_;},set sortDescending(value){const newValue=!!value;if(newValue!==this.sortDescending_){this.sortDescending_=newValue;this.updateHeaderArrows_();this.scheduleRebuildBody_();this.dispatchSortingChangedEvent_();}},get sortDescending(){return this.sortDescending_;},updateHeaderArrows_(){for(let i=0;i<this.headerCells_.length;i++){const headerCell=this.headerCells_[i];const isColumnCurrentlySorted=i===this.sortColumnIndex_;if(!this.tableColumns_[i].cmp||(!this.userCanModifySortOrder_&&!isColumnCurrentlySorted)){headerCell.sideContent='';continue;} 6727if(!isColumnCurrentlySorted){headerCell.sideContent=UNSORTED_ARROW;headerCell.sideContentDisabled=false;continue;} 6728headerCell.sideContent=this.sortDescending_?DESCENDING_ARROW:ASCENDING_ARROW;headerCell.sideContentDisabled=!this.userCanModifySortOrder_;}},generateHeaderColumns_(){const selectedTableColumnIndex=this.selectedTableColumnIndex;Polymer.dom(this.$.cols).textContent='';for(let i=0;i<this.tableColumns_.length;++i){const colElement=document.createElement('col');if(i===selectedTableColumnIndex){colElement.setAttribute('selected',true);} 6729Polymer.dom(this.$.cols).appendChild(colElement);} 6730this.headerCells_=[];Polymer.dom(this.$.head).textContent='';if(!this.showHeader_)return;const tr=this.appendNewElement_(this.$.head,'tr');for(let i=0;i<this.tableColumns_.length;i++){const td=this.appendNewElement_(tr,'td');const headerCell=document.createElement('tr-ui-b-table-header-cell');headerCell.column=this.tableColumns_[i];if(this.tableColumns_[i].cmp){const isColumnCurrentlySorted=i===this.sortColumnIndex_;if(isColumnCurrentlySorted){headerCell.sideContent=this.sortDescending_?DESCENDING_ARROW:ASCENDING_ARROW;if(!this.userCanModifySortOrder_){headerCell.sideContentDisabled=true;}} 6731if(this.userCanModifySortOrder_){Polymer.dom(td).classList.add('sensitive');if(!isColumnCurrentlySorted){headerCell.sideContent=UNSORTED_ARROW;} 6732headerCell.tapCallback=this.createSortCallback_(i);}} 6733Polymer.dom(td).appendChild(headerCell);this.headerCells_.push(headerCell);}},applySizes_(){if(this.tableRows_.length===0&&!this.showHeader)return;let rowToRemoveSizing;let rowToSize;if(this.showHeader){rowToSize=Polymer.dom(this.$.head).children[0];rowToRemoveSizing=Polymer.dom(this.$.body).children[0];}else{rowToSize=Polymer.dom(this.$.body).children[0];rowToRemoveSizing=Polymer.dom(this.$.head).children[0];} 6734for(let i=0;i<this.tableColumns_.length;i++){if(rowToRemoveSizing&&Polymer.dom(rowToRemoveSizing).children[i]){const tdToRemoveSizing=Polymer.dom(rowToRemoveSizing).children[i];tdToRemoveSizing.style.minWidth='';tdToRemoveSizing.style.width='';} 6735const td=Polymer.dom(rowToSize).children[i];let delta;if(this.columnsWithExpandButtons_.includes(i)){td.style.paddingLeft=this.basicIndentation_+'px';delta=this.basicIndentation_+'px';}else{delta=undefined;} 6736function calc(base,delta){if(delta){return'calc('+base+' - '+delta+')';} 6737return base;} 6738const w=this.tableColumns_[i].width;if(w){if(/\d+px/.test(w)){td.style.minWidth=calc(w,delta);}else if(/\d+%/.test(w)){td.style.width=w;}else{throw new Error('Unrecognized width string: '+w);}}}},createSortCallback_(columnNumber){return function(){if(!this.userCanModifySortOrder_)return;const previousIndex=this.sortColumnIndex;this.sortColumnIndex=columnNumber;if(previousIndex!==columnNumber){this.sortDescending=false;}else{this.sortDescending=!this.sortDescending;}}.bind(this);},generateTableRowNodes_(tableSection,userRows,rowInfoMap,indentation,lastAddedRow,parentRowInfo){if(this.sortColumnIndex_!==undefined&&tableSection===this.$.body){userRows=userRows.slice();userRows.sort(function(rowA,rowB){let c=this.tableColumns_[this.sortColumnIndex_].cmp(rowA,rowB);if(this.sortDescending_){c=-c;} 6739return c;}.bind(this));} 6740for(let i=0;i<userRows.length;i++){const userRow=userRows[i];const rowInfo=this.getOrCreateRowInfoFor_(rowInfoMap,userRow,parentRowInfo);const htmlNode=this.getHTMLNodeForRowInfo_(tableSection,rowInfo,rowInfoMap,indentation);if(lastAddedRow===undefined){Polymer.dom(tableSection).insertBefore(htmlNode,Polymer.dom(tableSection).firstChild);}else{const nextSiblingOfLastAdded=Polymer.dom(lastAddedRow).nextSibling;Polymer.dom(tableSection).insertBefore(htmlNode,nextSiblingOfLastAdded);} 6741lastAddedRow=htmlNode;if(!rowInfo.isExpanded)continue;lastAddedRow=this.generateTableRowNodes_(tableSection,userRow[this.subRowsPropertyName_],rowInfoMap,indentation+1,lastAddedRow,rowInfo);} 6742return lastAddedRow;},getOrCreateRowInfoFor_(rowInfoMap,userRow,parentRowInfo){let rowInfo=undefined;if(rowInfoMap.has(userRow)){rowInfo=rowInfoMap.get(userRow);}else{rowInfo={userRow,htmlNode:undefined,parentRowInfo};rowInfoMap.set(userRow,rowInfo);} 6743rowInfo.isExpanded=this.getExpandedForUserRow_(userRow);return rowInfo;},customizeTableRow_(userRow,trElement){if(!this.customizeTableRowCallback_)return;this.customizeTableRowCallback_(userRow,trElement);},get basicIndentation_(){if(this.computedFontSizePx_===undefined){this.computedFontSizePx_=parseInt(getComputedStyle(this).fontSize)||16;} 6744return this.computedFontSizePx_-2;},getHTMLNodeForRowInfo_(tableSection,rowInfo,rowInfoMap,indentation){if(rowInfo.htmlNode){this.customizeTableRow_(rowInfo.userRow,rowInfo.htmlNode);return rowInfo.htmlNode;} 6745const INDENT_SPACE=indentation*16;const INDENT_SPACE_NO_BUTTON=indentation*16+this.basicIndentation_;const trElement=this.ownerDocument.createElement('tr');rowInfo.htmlNode=trElement;rowInfo.indentation=indentation;trElement.rowInfo=rowInfo;this.customizeTableRow_(rowInfo.userRow,trElement);const isBodyRow=tableSection===this.$.body;const isExpandableRow=rowInfo.userRow[this.subRowsPropertyName_]&&rowInfo.userRow[this.subRowsPropertyName_].length;for(let i=0;i<this.tableColumns_.length;){const td=this.appendNewElement_(trElement,'td');td.columnIndex=i;const column=this.tableColumns_[i];const value=column.value(rowInfo.userRow);const colSpan=column.colSpan?column.colSpan:1;td.style.colSpan=colSpan;switch(column.align){case undefined:case ColumnAlignment.LEFT:break;case ColumnAlignment.RIGHT:td.style.textAlign='right';break;default:throw new Error('Invalid alignment of column at index='+i+': '+column.align);} 6746if(this.doesColumnIndexSupportSelection(i)){Polymer.dom(td).classList.add('supports-selection');} 6747if(this.columnsWithExpandButtons_.includes(i)){if(rowInfo.userRow[this.subRowsPropertyName_]&&rowInfo.userRow[this.subRowsPropertyName_].length>0){td.style.paddingLeft=INDENT_SPACE+'px';td.style.display='flex';const expandButton=this.appendNewElement_(td,'expand-button');Polymer.dom(expandButton).textContent=RIGHT_ARROW;if(rowInfo.isExpanded){Polymer.dom(expandButton).classList.add('button-expanded');}}else{td.style.paddingLeft=INDENT_SPACE_NO_BUTTON+'px';}} 6748if(value!==undefined){Polymer.dom(td).appendChild(tr.ui.b.asHTMLOrTextNode(value,this.ownerDocument));} 6749td.addEventListener('click',function(i,clickEvent){clickEvent.preventDefault();if(!isBodyRow&&!isExpandableRow)return;clickEvent.stopPropagation();if(clickEvent.target.tagName==='EXPAND-BUTTON'){this.setExpandedForUserRow_(tableSection,rowInfoMap,rowInfo.userRow,!rowInfo.isExpanded);return;} 6750if(isBodyRow&&this.selectionMode_!==SelectionMode.NONE){let shouldSelect=false;let shouldFocus=false;switch(this.selectionMode_){case SelectionMode.ROW:shouldSelect=this.selectedTableRowInfo_!==rowInfo;shouldFocus=true;break;case SelectionMode.CELL:if(this.doesColumnIndexSupportSelection(i)){shouldSelect=this.selectedTableRowInfo_!==rowInfo||this.selectedColumnIndex_!==i;shouldFocus=true;} 6751break;default:throw new Error('Invalid selection mode '+ 6752this.selectionMode_);} 6753if(shouldFocus){this.focus();} 6754if(shouldSelect){this.didTableRowInfoGetClicked_(rowInfo,i);return;}} 6755if(isExpandableRow){this.setExpandedForUserRow_(tableSection,rowInfoMap,rowInfo.userRow,!rowInfo.isExpanded);}}.bind(this,i));if(isBodyRow){td.addEventListener('dblclick',function(i,e){e.stopPropagation();this.dispatchStepIntoEvent_(rowInfo,i);}.bind(this,i));} 6756i+=colSpan;} 6757return rowInfo.htmlNode;},removeSubNodes_(tableSection,rowInfo,rowInfoMap){if(rowInfo.userRow[this.subRowsPropertyName_]===undefined)return;for(let i=0;i<rowInfo.userRow[this.subRowsPropertyName_].length;i++){const subRow=rowInfo.userRow[this.subRowsPropertyName_][i];const subRowInfo=rowInfoMap.get(subRow);if(!subRowInfo)continue;const subNode=subRowInfo.htmlNode;if(subNode&&Polymer.dom(subNode).parentNode===tableSection){Polymer.dom(tableSection).removeChild(subNode);this.removeSubNodes_(tableSection,subRowInfo,rowInfoMap);}}},scheduleRebuildHeaders_(){this.headerDirty_=true;this.scheduleRebuild_();},scheduleRebuildBody_(){this.bodyDirty_=true;this.scheduleRebuild_();},scheduleRebuildFooter_(){this.footerDirty_=true;this.scheduleRebuild_();},scheduleRebuild_(){if(this.rebuildPending_)return;this.rebuildPending_=true;setTimeout(function(){this.rebuildPending_=false;this.rebuild();}.bind(this),0);},rebuildIfNeeded_(){this.rebuild();},rebuild(){const wasBodyOrHeaderDirty=this.headerDirty_||this.bodyDirty_;if(this.headerDirty_){this.generateHeaderColumns_();this.headerDirty_=false;} 6758if(this.bodyDirty_){Polymer.dom(this.$.body).textContent='';this.generateTableRowNodes_(this.$.body,this.tableRows_,this.tableRowsInfo_,0,undefined,undefined);if(this.tableRows_.length===0&&this.emptyValue_!==undefined){const trElement=this.ownerDocument.createElement('tr');Polymer.dom(this.$.body).appendChild(trElement);Polymer.dom(trElement).classList.add('empty-row');const td=this.ownerDocument.createElement('td');Polymer.dom(trElement).appendChild(td);td.colSpan=this.tableColumns_.length;const emptyValue=this.emptyValue_;Polymer.dom(td).appendChild(tr.ui.b.asHTMLOrTextNode(emptyValue,this.ownerDocument));} 6759this.bodyDirty_=false;} 6760if(wasBodyOrHeaderDirty)this.applySizes_();if(this.footerDirty_){Polymer.dom(this.$.foot).textContent='';this.generateTableRowNodes_(this.$.foot,this.tableFooterRows_,this.tableFooterRowsInfo_,0,undefined,undefined);if(this.tableFooterRowsInfo_.length){Polymer.dom(this.$.body).classList.add('has-footer');}else{Polymer.dom(this.$.body).classList.remove('has-footer');} 6761this.footerDirty_=false;}},appendNewElement_(parent,tagName){const element=parent.ownerDocument.createElement(tagName);Polymer.dom(parent).appendChild(element);return element;},getExpandedForTableRow(userRow){this.rebuildIfNeeded_();const rowInfo=this.tableRowsInfo_.get(userRow);if(rowInfo===undefined){throw new Error('Row has not been seen, must expand its parents');} 6762return rowInfo.isExpanded;},getExpandedForUserRow_(userRow){if(userRow[this.subRowsPropertyName_]===undefined){return false;} 6763if(userRow[this.subRowsPropertyName_].length===0){return false;} 6764if(userRow.isExpanded){return true;} 6765if((userRow.isExpanded!==undefined)&&(userRow.isExpanded===false)){return false;} 6766const rowInfo=this.tableRowsInfo_.get(userRow);if(rowInfo&&rowInfo.isExpanded){return true;} 6767if(this.defaultExpansionStateCallback_===undefined){return false;} 6768let parentUserRow=undefined;if(rowInfo&&rowInfo.parentRowInfo){parentUserRow=rowInfo.parentRowInfo.userRow;} 6769return this.defaultExpansionStateCallback_(userRow,parentUserRow);},setExpandedForTableRow(userRow,expanded){this.rebuildIfNeeded_();const rowInfo=this.tableRowsInfo_.get(userRow);if(rowInfo===undefined){throw new Error('Row has not been seen, must expand its parents');} 6770return this.setExpandedForUserRow_(this.$.body,this.tableRowsInfo_,userRow,expanded);},setExpandedForUserRow_(tableSection,rowInfoMap,userRow,expanded){this.rebuildIfNeeded_();const rowInfo=rowInfoMap.get(userRow);if(rowInfo===undefined){throw new Error('Row has not been seen, must expand its parents');} 6771const wasExpanded=rowInfo.isExpanded;rowInfo.isExpanded=!!expanded;if(rowInfo.htmlNode===undefined)return;if(rowInfo.htmlNode.parentElement!==tableSection){return;} 6772const expandButton=Polymer.dom(rowInfo.htmlNode).querySelector('expand-button');if(rowInfo.isExpanded){Polymer.dom(expandButton).classList.add('button-expanded');const lastAddedRow=rowInfo.htmlNode;if(rowInfo.userRow[this.subRowsPropertyName_]){this.generateTableRowNodes_(tableSection,rowInfo.userRow[this.subRowsPropertyName_],rowInfoMap,rowInfo.indentation+1,lastAddedRow,rowInfo);}}else{Polymer.dom(expandButton).classList.remove('button-expanded');this.removeSubNodes_(tableSection,rowInfo,rowInfoMap);} 6773if(wasExpanded!==rowInfo.isExpanded){const e=new tr.b.Event('row-expanded-changed');e.row=rowInfo.userRow;this.dispatchEvent(e);} 6774this.maybeUpdateSelectedRow_();},get selectionMode(){return this.selectionMode_;},set selectionMode(selectionMode){if(!tr.b.dictionaryContainsValue(SelectionMode,selectionMode)){throw new Error('Invalid selection mode '+selectionMode);} 6775this.rebuildIfNeeded_();this.selectionMode_=selectionMode;this.didSelectionStateChange_();},get rowHighlightStyle(){return this.rowHighlightStyle_;},set rowHighlightStyle(rowHighlightStyle){if(!tr.b.dictionaryContainsValue(HighlightStyle,rowHighlightStyle)){throw new Error('Invalid row highlight style '+rowHighlightStyle);} 6776this.rebuildIfNeeded_();this.rowHighlightStyle_=rowHighlightStyle;this.didSelectionStateChange_();},get resolvedRowHighlightStyle(){if(this.rowHighlightStyle_!==HighlightStyle.DEFAULT){return this.rowHighlightStyle_;} 6777switch(this.selectionMode_){case SelectionMode.NONE:return HighlightStyle.NONE;case SelectionMode.ROW:return HighlightStyle.DARK;case SelectionMode.CELL:return HighlightStyle.LIGHT;default:throw new Error('Invalid selection mode '+selectionMode);}},get cellHighlightStyle(){return this.cellHighlightStyle_;},set cellHighlightStyle(cellHighlightStyle){if(!tr.b.dictionaryContainsValue(HighlightStyle,cellHighlightStyle)){throw new Error('Invalid cell highlight style '+cellHighlightStyle);} 6778this.rebuildIfNeeded_();this.cellHighlightStyle_=cellHighlightStyle;this.didSelectionStateChange_();},get resolvedCellHighlightStyle(){if(this.cellHighlightStyle_!==HighlightStyle.DEFAULT){return this.cellHighlightStyle_;} 6779switch(this.selectionMode_){case SelectionMode.NONE:case SelectionMode.ROW:return HighlightStyle.NONE;case SelectionMode.CELL:return HighlightStyle.DARK;default:throw new Error('Invalid selection mode '+selectionMode);}},setHighlightStyle_(highlightAttribute,resolvedHighlightStyle){switch(resolvedHighlightStyle){case HighlightStyle.NONE:Polymer.dom(this.$.body).removeAttribute(highlightAttribute);break;case HighlightStyle.LIGHT:Polymer.dom(this.$.body).setAttribute(highlightAttribute,'light');break;case HighlightStyle.DARK:Polymer.dom(this.$.body).setAttribute(highlightAttribute,'dark');break;default:throw new Error('Invalid resolved highlight style '+ 6780resolvedHighlightStyle);}},didSelectionStateChange_(){this.setHighlightStyle_('row-highlight-style',this.resolvedRowHighlightStyle);this.setHighlightStyle_('cell-highlight-style',this.resolvedCellHighlightStyle);this.removeSelectedState_();switch(this.selectionMode_){case SelectionMode.ROW:Polymer.dom(this.$.body).setAttribute('selection-mode','row');Polymer.dom(this.$.body).setAttribute('tabindex',0);this.selectedColumnIndex_=undefined;break;case SelectionMode.CELL:Polymer.dom(this.$.body).setAttribute('selection-mode','cell');Polymer.dom(this.$.body).setAttribute('tabindex',0);if(this.selectedTableRowInfo_&&this.selectedColumnIndex_===undefined){const i=this.getFirstSelectableColumnIndex_();if(i===-1){this.selectedTableRowInfo_=undefined;}else{this.selectedColumnIndex_=i;}} 6781break;case SelectionMode.NONE:Polymer.dom(this.$.body).removeAttribute('selection-mode');Polymer.dom(this.$.body).removeAttribute('tabindex');this.$.body.blur();this.selectedTableRowInfo_=undefined;this.selectedColumnIndex_=undefined;break;default:throw new Error('Invalid selection mode '+this.selectionMode_);} 6782this.maybeUpdateSelectedRow_();},maybeUpdateSelectedRow_(){if(this.selectedTableRowInfo_===undefined)return;function isVisible(rowInfo){if(!rowInfo.htmlNode)return false;return!!rowInfo.htmlNode.parentElement;} 6783if(isVisible(this.selectedTableRowInfo_)){this.updateSelectedState_();return;} 6784this.removeSelectedState_();let curRowInfo=this.selectedTableRowInfo_;while(curRowInfo&&!isVisible(curRowInfo)){curRowInfo=curRowInfo.parentRowInfo;} 6785this.selectedTableRowInfo_=curRowInfo;if(this.selectedTableRowInfo_){this.updateSelectedState_();}else{this.selectedColumnIndex_=undefined;}},didTableRowInfoGetClicked_(rowInfo,columnIndex){switch(this.selectionMode_){case SelectionMode.NONE:return;case SelectionMode.CELL:if(!this.doesColumnIndexSupportSelection(columnIndex)){return;} 6786if(this.selectedColumnIndex!==columnIndex){this.selectedColumnIndex=columnIndex;} 6787case SelectionMode.ROW:if(this.selectedTableRowInfo_!==rowInfo){this.selectedTableRow=rowInfo.userRow;}}},dispatchStepIntoEvent_(rowInfo,columnIndex){const e=new tr.b.Event('step-into');e.tableRow=rowInfo.userRow;e.tableColumn=this.tableColumns_[columnIndex];e.columnIndex=columnIndex;this.dispatchEvent(e);},get selectedCell(){const row=this.selectedTableRow;const columnIndex=this.selectedColumnIndex;if(row===undefined||columnIndex===undefined||this.tableColumns_.length<=columnIndex){return undefined;} 6788const column=this.tableColumns_[columnIndex];return{row,column,value:column.value(row)};},get selectedTableColumnIndex(){const cols=Polymer.dom(this.$.cols).children;for(let i=0;i<cols.length;++i){if(cols[i].getAttribute('selected')){return i;}} 6789return undefined;},set selectedTableColumnIndex(selectedIndex){const cols=Polymer.dom(this.$.cols).children;for(let i=0;i<cols.length;++i){if(i===selectedIndex){cols[i].setAttribute('selected',true);}else{cols[i].removeAttribute('selected');}}},get selectedTableRow(){if(!this.selectedTableRowInfo_)return undefined;return this.selectedTableRowInfo_.userRow;},set selectedTableRow(userRow){this.rebuildIfNeeded_();if(this.selectionMode_===SelectionMode.NONE){throw new Error('Selection is off.');} 6790let rowInfo;if(userRow===undefined){rowInfo=undefined;}else{rowInfo=this.tableRowsInfo_.get(userRow);if(!rowInfo){throw new Error('Row has not been seen, must expand its parents.');}} 6791const e=this.prepareToChangeSelection_();if(!rowInfo){this.selectedColumnIndex_=undefined;}else{switch(this.selectionMode_){case SelectionMode.ROW:this.selectedColumnIndex_=undefined;break;case SelectionMode.CELL:if(this.selectedColumnIndex_===undefined){const i=this.getFirstSelectableColumnIndex_();if(i===-1){throw new Error('Cannot find a selectable column.');} 6792this.selectedColumnIndex_=i;} 6793break;default:throw new Error('Invalid selection mode '+this.selectionMode_);}} 6794this.selectedTableRowInfo_=rowInfo;this.updateSelectedState_();this.dispatchEvent(e);},prepareToChangeSelection_(){const e=new tr.b.Event('selection-changed');const previousSelectedRowInfo=this.selectedTableRowInfo_;if(previousSelectedRowInfo){e.previousSelectedTableRow=previousSelectedRowInfo.userRow;}else{e.previousSelectedTableRow=undefined;} 6795this.removeSelectedState_();return e;},removeSelectedState_(){this.setSelectedState_(false);},updateSelectedState_(){this.setSelectedState_(true);},setSelectedState_(select){if(this.selectedTableRowInfo_===undefined)return;const rowNode=this.selectedTableRowInfo_.htmlNode;if(select){Polymer.dom(rowNode).setAttribute('selected',true);}else{Polymer.dom(rowNode).removeAttribute('selected');} 6796const cellNode=Polymer.dom(rowNode).children[this.selectedColumnIndex_];if(!cellNode)return;if(select){Polymer.dom(cellNode).setAttribute('selected',true);}else{Polymer.dom(cellNode).removeAttribute('selected');}},doesColumnIndexSupportSelection(columnIndex){const columnInfo=this.tableColumns_[columnIndex];const scs=columnInfo.supportsCellSelection;if(scs===false)return false;return true;},getFirstSelectableColumnIndex_(){for(let i=0;i<this.tableColumns_.length;i++){if(this.doesColumnIndexSupportSelection(i)){return i;}} 6797return-1;},getSelectableNodeGivenTableRowNode_(htmlNode){switch(this.selectionMode_){case SelectionMode.ROW:return htmlNode;case SelectionMode.CELL:return Polymer.dom(htmlNode).children[this.selectedColumnIndex_];default:throw new Error('Invalid selection mode '+this.selectionMode_);}},get selectedColumnIndex(){if(this.selectionMode_!==SelectionMode.CELL){return undefined;} 6798return this.selectedColumnIndex_;},set selectedColumnIndex(selectedColumnIndex){this.rebuildIfNeeded_();if(this.selectionMode_===SelectionMode.NONE){throw new Error('Selection is off.');} 6799if(selectedColumnIndex<0||selectedColumnIndex>=this.tableColumns_.length){throw new Error('Invalid index');} 6800if(!this.doesColumnIndexSupportSelection(selectedColumnIndex)){throw new Error('Selection is not supported on this column');} 6801const e=this.prepareToChangeSelection_();if(this.selectedColumnIndex_===undefined){this.selectedTableRowInfo_=undefined;}else if(!this.selectedTableRowInfo_){if(this.tableRows_.length===0){throw new Error('No available row to be selected');} 6802this.selectedTableRowInfo_=this.tableRowsInfo_.get(this.tableRows_[0]);} 6803this.selectedColumnIndex_=selectedColumnIndex;this.updateSelectedState_();this.dispatchEvent(e);},onKeyDown_(e){if(this.selectionMode_===SelectionMode.NONE)return;const CODE_TO_COMMAND_NAMES={13:'ENTER',32:'SPACE',37:'ARROW_LEFT',38:'ARROW_UP',39:'ARROW_RIGHT',40:'ARROW_DOWN'};const cmdName=CODE_TO_COMMAND_NAMES[e.keyCode];if(cmdName===undefined)return;e.stopPropagation();e.preventDefault();this.performKeyCommand_(cmdName);},onFocus_(e){if(this.selectionMode_===SelectionMode.NONE||this.selectedTableRow||this.tableRows_.length===0){return;} 6804if(this.selectionMode_===SelectionMode.CELL&&this.getFirstSelectableColumnIndex_()===-1){return;} 6805this.selectedTableRow=this.tableRows_[0];},focus(){this.$.body.focus();this.onFocus_();},blur(){this.$.body.blur();},get isFocused(){return this.root.activeElement===this.$.body;},performKeyCommand_(cmdName){this.rebuildIfNeeded_();switch(cmdName){case'ARROW_UP':this.selectPreviousOrFirstRowIfPossible_();return;case'ARROW_DOWN':this.selectNextOrFirstRowIfPossible_();return;case'ARROW_RIGHT':switch(this.selectionMode_){case SelectionMode.NONE:return;case SelectionMode.ROW:this.expandRowAndSelectChildRowIfPossible_();return;case SelectionMode.CELL:this.selectNextSelectableCellToTheRightIfPossible_();return;default:throw new Error('Invalid selection mode '+this.selectionMode_);} 6806case'ARROW_LEFT':switch(this.selectionMode_){case SelectionMode.NONE:return;case SelectionMode.ROW:this.collapseRowOrSelectParentRowIfPossible_();return;case SelectionMode.CELL:this.selectNextSelectableCellToTheLeftIfPossible_();return;default:throw new Error('Invalid selection mode '+this.selectionMode_);} 6807case'SPACE':this.toggleRowExpansionStateIfPossible_();return;case'ENTER':this.stepIntoSelectionIfPossible_();return;default:throw new Error('Unrecognized command '+cmdName);}},selectPreviousOrFirstRowIfPossible_(){const prev=this.selectedTableRowInfo_?this.selectedTableRowInfo_.htmlNode.previousElementSibling:this.$.body.firstChild;if(!prev)return;if(this.selectionMode_===SelectionMode.CELL&&this.getFirstSelectableColumnIndex_()===-1){return;} 6808tr.ui.b.scrollIntoViewIfNeeded(prev);this.selectedTableRow=prev.rowInfo.userRow;},selectNextOrFirstRowIfPossible_(){this.getFirstSelectableColumnIndex_;const next=this.selectedTableRowInfo_?this.selectedTableRowInfo_.htmlNode.nextElementSibling:this.$.body.firstChild;if(!next)return;if(this.selectionMode_===SelectionMode.CELL&&this.getFirstSelectableColumnIndex_()===-1){return;} 6809tr.ui.b.scrollIntoViewIfNeeded(next);this.selectedTableRow=next.rowInfo.userRow;},expandRowAndSelectChildRowIfPossible_(){const selectedRowInfo=this.selectedTableRowInfo_;if(!selectedRowInfo||selectedRowInfo.userRow[this.subRowsPropertyName_]===undefined||selectedRowInfo.userRow[this.subRowsPropertyName_].length===0){return;} 6810if(!selectedRowInfo.isExpanded){this.setExpandedForTableRow(selectedRowInfo.userRow,true);} 6811this.selectedTableRow=selectedRowInfo.htmlNode.nextElementSibling.rowInfo.userRow;},collapseRowOrSelectParentRowIfPossible_(){const selectedRowInfo=this.selectedTableRowInfo_;if(!selectedRowInfo)return;if(selectedRowInfo.isExpanded){this.setExpandedForTableRow(selectedRowInfo.userRow,false);}else{const parentRowInfo=selectedRowInfo.parentRowInfo;if(parentRowInfo){this.selectedTableRow=parentRowInfo.userRow;}}},selectNextSelectableCellToTheRightIfPossible_(){if(!this.selectedTableRowInfo_||this.selectedColumnIndex_===undefined){return;} 6812for(let i=this.selectedColumnIndex_+1;i<this.tableColumns_.length;i++){if(this.doesColumnIndexSupportSelection(i)){this.selectedColumnIndex=i;return;}}},selectNextSelectableCellToTheLeftIfPossible_(){if(!this.selectedTableRowInfo_||this.selectedColumnIndex_===undefined){return;} 6813for(let i=this.selectedColumnIndex_-1;i>=0;i--){if(this.doesColumnIndexSupportSelection(i)){this.selectedColumnIndex=i;return;}}},toggleRowExpansionStateIfPossible_(){const selectedRowInfo=this.selectedTableRowInfo_;if(!selectedRowInfo||selectedRowInfo.userRow[this.subRowsPropertyName_]===undefined||selectedRowInfo.userRow[this.subRowsPropertyName_].length===0){return;} 6814this.setExpandedForTableRow(selectedRowInfo.userRow,!selectedRowInfo.isExpanded);},stepIntoSelectionIfPossible_(){if(!this.selectedTableRowInfo_)return;this.dispatchStepIntoEvent_(this.selectedTableRowInfo_,this.selectedColumnIndex_);},dispatchSortingChangedEvent_(){const e=new tr.b.Event('sort-column-changed');e.sortColumnIndex=this.sortColumnIndex_;e.sortDescending=this.sortDescending_;this.dispatchEvent(e);}});})();'use strict';const ColumnAlignment=tr.ui.b.TableFormat.ColumnAlignment;Polymer({is:'tr-ui-b-table-header-cell',created(){this.tapCallback_=undefined;this.cellTitle_='';this.align_=undefined;this.selectable_=false;this.column_=undefined;},ready(){this.addEventListener('click',this.onTap_.bind(this));},set column(column){this.column_=column;this.align=column.align;this.cellTitle=column.title;},get column(){return this.column_;},set cellTitle(value){this.cellTitle_=value;const titleNode=tr.ui.b.asHTMLOrTextNode(this.cellTitle_,this.ownerDocument);this.$.title.innerText='';Polymer.dom(this.$.title).appendChild(titleNode);},get cellTitle(){return this.cellTitle_;},set align(align){switch(align){case undefined:case ColumnAlignment.LEFT:this.style.justifyContent='';break;case ColumnAlignment.RIGHT:this.style.justifyContent='flex-end';break;default:throw new Error('Invalid alignment of column (title=\''+ 6815this.cellTitle_+'\'): '+align);} 6816this.align_=align;},get align(){return this.align_;},clearSideContent(){Polymer.dom(this.$.side).textContent='';},set sideContent(content){Polymer.dom(this.$.side).textContent=content;this.$.side.style.display=content?'inline':'none';},get sideContent(){return Polymer.dom(this.$.side).textContent;},set sideContentDisabled(sideContentDisabled){this.$.side.classList.toggle('disabled',sideContentDisabled);},get sideContentDisabled(){return this.$.side.classList.contains('disabled');},set tapCallback(callback){this.style.cursor='pointer';this.tapCallback_=callback;},get tapCallback(){return this.tapCallback_;},onTap_(){if(this.tapCallback_){this.tapCallback_();}}});'use strict';tr.exportTo('tr.b.math',function(){class RunningStatistics{constructor(){this.mean_=0;this.count_=0;this.max_=-Infinity;this.min_=Infinity;this.sum_=0;this.variance_=0;this.meanlogs_=0;} 6817get count(){return this.count_;} 6818get geometricMean(){if(this.meanlogs_===undefined)return 0;return Math.exp(this.meanlogs_);} 6819get mean(){if(this.count_===0)return undefined;return this.mean_;} 6820get max(){return this.max_;} 6821get min(){return this.min_;} 6822get sum(){return this.sum_;} 6823get variance(){if(this.count_===0)return undefined;if(this.count_===1)return 0;return this.variance_/(this.count_-1);} 6824get stddev(){if(this.count_===0)return undefined;return Math.sqrt(this.variance);} 6825add(x){this.count_++;this.max_=Math.max(this.max_,x);this.min_=Math.min(this.min_,x);this.sum_+=x;if(x<=0){this.meanlogs_=undefined;}else if(this.meanlogs_!==undefined){this.meanlogs_+=(Math.log(Math.abs(x))-this.meanlogs_)/this.count;} 6826if(this.count_===1){this.mean_=x;this.variance_=0;}else{const oldMean=this.mean_;const oldVariance=this.variance_;if(oldMean===Infinity||oldMean===-Infinity){this.mean_=this.sum_/this.count_;}else{this.mean_=oldMean+(x-oldMean)/this.count_;} 6827this.variance_=oldVariance+(x-oldMean)*(x-this.mean_);}} 6828merge(other){const result=new RunningStatistics();result.count_=this.count_+other.count_;result.sum_=this.sum_+other.sum_;result.min_=Math.min(this.min_,other.min_);result.max_=Math.max(this.max_,other.max_);if(result.count===0){result.mean_=0;result.variance_=0;result.meanlogs_=0;}else{result.mean_=result.sum/result.count;const deltaMean=(this.mean||0)-(other.mean||0);result.variance_=this.variance_+other.variance_+ 6829(this.count*other.count*deltaMean*deltaMean/result.count);if(this.meanlogs_===undefined||other.meanlogs_===undefined){result.meanlogs_=undefined;}else{result.meanlogs_=(this.count*this.meanlogs_+ 6830other.count*other.meanlogs_)/result.count;}} 6831return result;} 6832asDict(){if(!this.count){return[];} 6833return[this.count_,this.max_,this.meanlogs_,this.mean_,this.min_,this.sum_,this.variance_,];} 6834static fromDict(dict){const result=new RunningStatistics();if(dict.length!==7){return result;} 6835[result.count_,result.max_,result.meanlogs_,result.mean_,result.min_,result.sum_,result.variance_,]=dict;return result;}} 6836return{RunningStatistics,};});'use strict';tr.exportTo('tr.v.d',function(){class Diagnostic{constructor(){this.guid_=undefined;} 6837clone(){return new this.constructor();} 6838canAddDiagnostic(otherDiagnostic){return false;} 6839addDiagnostic(otherDiagnostic){throw new Error('Abstract virtual method: subclasses must override '+'this method if they override canAddDiagnostic');} 6840get guid(){if(this.guid_===undefined){this.guid_=tr.b.GUID.allocateUUID4();} 6841return this.guid_;} 6842set guid(guid){if(this.guid_!==undefined){throw new Error('Cannot reset guid');} 6843this.guid_=guid;} 6844asDictOrReference(){if(this.guid_!==undefined){return this.guid_;} 6845return this.asDict();} 6846asDict(){const result={type:this.constructor.name};if(this.guid_!==undefined){result.guid=this.guid_;} 6847this.asDictInto_(result);return result;} 6848asDictInto_(d){throw new Error('Abstract virtual method: subclasses must override '+'this method if they override canAddDiagnostic');} 6849static fromDict(d){const typeInfo=Diagnostic.findTypeInfoWithName(d.type);if(!typeInfo){throw new Error('Unrecognized diagnostic type: '+d.type);} 6850const diagnostic=typeInfo.constructor.fromDict(d);if(d.guid!==undefined)diagnostic.guid=d.guid;return diagnostic;}} 6851const options=new tr.b.ExtensionRegistryOptions(tr.b.BASIC_REGISTRY_MODE);options.defaultMetadata={};options.mandatoryBaseClass=Diagnostic;tr.b.decorateExtensionRegistry(Diagnostic,options);Diagnostic.addEventListener('will-register',function(e){const constructor=e.typeInfo.constructor;if(!(constructor.fromDict instanceof Function)||(constructor.fromDict===Diagnostic.fromDict)||(constructor.fromDict.length!==1)){throw new Error('Diagnostics must define fromDict(d)');}});return{Diagnostic,};});'use strict';tr.exportTo('tr.v.d',function(){class Breakdown extends tr.v.d.Diagnostic{constructor(){super();this.values_=new Map();this.colorScheme=undefined;} 6852clone(){const clone=new Breakdown();clone.colorScheme=this.colorScheme;clone.addDiagnostic(this);return clone;} 6853canAddDiagnostic(otherDiagnostic){return((otherDiagnostic instanceof Breakdown)&&(otherDiagnostic.colorScheme===this.colorScheme));} 6854addDiagnostic(otherDiagnostic){for(const[name,value]of otherDiagnostic){this.set(name,this.get(name)+value);} 6855return this;} 6856set(name,value){if(typeof name!=='string'||typeof value!=='number'){throw new Error('Breakdown maps from strings to numbers');} 6857this.values_.set(name,value);} 6858get(name){return this.values_.get(name)||0;}*[Symbol.iterator](){for(const pair of this.values_){yield pair;}} 6859asDictInto_(d){d.values={};for(const[name,value]of this){d.values[name]=tr.b.numberToJson(value);} 6860if(this.colorScheme){d.colorScheme=this.colorScheme;}} 6861static fromDict(d){const breakdown=new Breakdown();for(const[name,value]of Object.entries(d.values)){breakdown.set(name,tr.b.numberFromJson(value));} 6862if(d.colorScheme){breakdown.colorScheme=d.colorScheme;} 6863return breakdown;}} 6864tr.v.d.Diagnostic.register(Breakdown,{elementName:'tr-v-ui-breakdown-span'});return{Breakdown,};});'use strict';tr.exportTo('tr.v.d',function(){class BuildbotInfo extends tr.v.d.Diagnostic{constructor(info){super();this.displayMasterName_=info.displayMasterName||'';this.displayBotName_=info.displayBotName||'';this.buildbotMasterName_=info.buildbotMasterName||'';this.buildbotName_=info.buildbotName||'';this.buildNumber_=info.buildNumber||0;this.logUri_=info.logUri||'';} 6865addToHistogram(hist){hist.diagnostics.set(BuildbotInfo.NAME,this);} 6866clone(){const clone=new tr.v.d.MergedBuildbotInfo();clone.addDiagnostic(this);return clone;} 6867asDictInto_(d){d.displayMasterName=this.displayMasterName;d.displayBotName=this.displayBotName;d.buildbotMasterName=this.buildbotMasterName;d.buildbotName=this.buildbotName;d.buildNumber=this.buildNumber;d.logUri=this.logUri;} 6868get displayMasterName(){return this.displayMasterName_;} 6869get displayBotName(){return this.displayBotName_;} 6870get buildbotMasterName(){return this.buildbotMasterName_;} 6871get buildbotName(){return this.buildbotName_;} 6872get buildNumber(){return this.buildNumber_;} 6873get logUri(){return this.logUri_;} 6874static fromDict(d){return new BuildbotInfo(d);} 6875static getFromHistogram(hist){return hist.diagnostics.get(BuildbotInfo.NAME);} 6876static getField(hist,fieldName,defaultValue){const buildbot=BuildbotInfo.getFromHistogram(hist);if(!(buildbot instanceof tr.v.d.BuildbotInfo)||!buildbot[fieldName]){return defaultValue;} 6877return buildbot[fieldName];}} 6878BuildbotInfo.NAME='buildbot';tr.v.d.Diagnostic.register(BuildbotInfo,{elementName:'tr-v-ui-buildbot-info-span'});return{BuildbotInfo,};});'use strict';tr.exportTo('tr.v.d',function(){class Generic extends tr.v.d.Diagnostic{constructor(value){super();this.value=value;} 6879clone(){const clone=new tr.v.d.CollectedGeneric();clone.addDiagnostic(this);return clone;} 6880asDictInto_(d){d.value=this.value;} 6881static fromDict(d){return new Generic(d.value);}} 6882tr.v.d.Diagnostic.register(Generic,{elementName:'tr-v-ui-generic-diagnostic-span'});return{Generic,};});'use strict';tr.exportTo('tr.v.d',function(){class CollectedGeneric extends tr.v.d.Generic{constructor(){super([]);} 6883canAddDiagnostic(otherDiagnostic){return otherDiagnostic instanceof tr.v.d.Generic;} 6884addDiagnostic(otherDiagnostic){if(otherDiagnostic instanceof CollectedGeneric){this.value.push(...otherDiagnostic.value);}else{this.value.push(otherDiagnostic.value);}}} 6885tr.v.d.Diagnostic.register(CollectedGeneric,{elementName:'tr-v-ui-generic-diagnostic-span'});return{CollectedGeneric,};});'use strict';tr.exportTo('tr.v.d',function(){class CollectedRelatedEventSet extends tr.v.d.Diagnostic{constructor(){super();this.eventSetsByCanonicalUrl_=new Map();} 6886asDictInto_(d){d.events={};for(const[canonicalUrl,eventSet]of this){d.events[canonicalUrl]=[];for(const event of eventSet){d.events[canonicalUrl].push({stableId:event.stableId,title:event.title,start:event.start,duration:event.duration});}}} 6887static fromDict(d){const result=new CollectedRelatedEventSet();for(const[canonicalUrl,events]of Object.entries(d.events)){result.eventSetsByCanonicalUrl_.set(canonicalUrl,events.map(e=>new tr.v.d.EventRef(e)));} 6888return result;} 6889get size(){return this.eventSetsByCanonicalUrl_.size;} 6890get(canonicalUrl){return this.eventSetsByCanonicalUrl_.get(canonicalUrl);}*[Symbol.iterator](){for(const[canonicalUrl,eventSet]of this.eventSetsByCanonicalUrl_){yield[canonicalUrl,eventSet];}} 6891canAddDiagnostic(otherDiagnostic){return otherDiagnostic instanceof tr.v.d.RelatedEventSet||otherDiagnostic instanceof tr.v.d.CollectedRelatedEventSet;} 6892addEventSetForCanonicalUrl(canonicalUrl,events){let myEventSet=this.eventSetsByCanonicalUrl_.get(canonicalUrl);if(myEventSet===undefined){myEventSet=new Set();this.eventSetsByCanonicalUrl_.set(canonicalUrl,myEventSet);} 6893for(const event of events){myEventSet.add(event);}} 6894addDiagnostic(otherDiagnostic){if(otherDiagnostic instanceof tr.v.d.CollectedRelatedEventSet){for(const[canonicalUrl,otherEventSet]of otherDiagnostic){this.addEventSetForCanonicalUrl(canonicalUrl,otherEventSet);} 6895return;} 6896if(!otherDiagnostic.canonicalUrl)return;this.addEventSetForCanonicalUrl(otherDiagnostic.canonicalUrl,otherDiagnostic);}} 6897tr.v.d.Diagnostic.register(CollectedRelatedEventSet,{elementName:'tr-v-ui-collected-related-event-set-span'});return{CollectedRelatedEventSet,};});'use strict';tr.exportTo('tr.v.d',function(){class DeviceInfo extends tr.v.d.Diagnostic{constructor(opt_info){super();const info=opt_info||{};this.chromeVersion_=info.chromeVersion||'';this.osName_=info.osName||'';this.osVersion_=info.osVersion||'';this.gpuInfo_=info.gpuInfo||undefined;this.arch_=info.arch||undefined;this.ram_=info.ram||0;} 6898addToHistogram(hist){hist.diagnostics.set(DeviceInfo.NAME,this);} 6899static getFromHistogram(hist){return hist.diagnostics.get(DeviceInfo.NAME);} 6900clone(){const clone=new tr.v.d.MergedDeviceInfo();clone.addDiagnostic(this);return clone;} 6901asDictInto_(d){d.chromeVersion=this.chromeVersion;d.osName=this.osName;d.osVersion=this.osVersion;d.gpuInfo=this.gpuInfo;d.arch=this.arch;d.ram=this.ram;} 6902static fromDict(d){return new DeviceInfo(d);} 6903get chromeVersion(){return this.chromeVersion_;} 6904get osName(){return this.osName_;} 6905get osVersion(){return this.osVersion_;} 6906get gpuInfo(){return this.gpuInfo_;} 6907get arch(){return this.arch_;} 6908get ram(){return this.ram_;}} 6909DeviceInfo.NAME='device';tr.v.d.Diagnostic.register(DeviceInfo,{elementName:'tr-v-ui-device-info-span'});return{DeviceInfo,};});'use strict';tr.exportTo('tr.v.d',function(){class DiagnosticRef{constructor(guid){this.guid=guid;} 6910asDict(){return this.guid;}} 6911return{DiagnosticRef,};});'use strict';tr.exportTo('tr.v.d',function(){class GroupingPath extends tr.v.d.Diagnostic{constructor(groupingPath){super();this.groupingPath_=groupingPath;} 6912clone(){return new GroupingPath(Array.from(this.groupingPath_));} 6913addToHistogram(hist){hist.diagnostics.set(GroupingPath.NAME,this);} 6914static getFromHistogram(hist){return hist.diagnostics.get(GroupingPath.NAME);} 6915equals(other){return 0===tr.b.compareArrays(this.groupingPath_,other.groupingPath_,(x,y)=>x.localeCompare(y));} 6916asDictInto_(d){d.groupingPath=this.groupingPath_;} 6917static fromDict(d){return new GroupingPath(d.groupingPath);}} 6918GroupingPath.NAME='grouping path';tr.v.d.Diagnostic.register(GroupingPath);return{GroupingPath,};});'use strict';tr.exportTo('tr.v.d',function(){class MergedBuildbotInfo extends tr.v.d.Diagnostic{constructor(info){super();this.displayMasterNames_=new Set();this.displayBotNames_=new Set();this.buildbotMasterNames_=new Set();this.buildbotNames_=new Set();this.buildNumbers_=new Set();this.logUris_=new Set();} 6919clone(){const clone=new MergedBuildbotInfo();clone.addDiagnostic(this);return clone;} 6920addToHistogram(hist){hist.diagnostics.set(tr.v.d.BuildbotInfo.NAME,this);} 6921equals(other){if(!(other instanceof MergedBuildbotInfo))return false;if(!tr.b.setsEqual(this.displayMasterNames,other.displayMasterNames)){return false;} 6922if(!tr.b.setsEqual(this.displayBotNames,other.displayBotNames)){return false;} 6923if(!tr.b.setsEqual(this.buildbotMasterNames,other.buildbotMasterNames)){return false;} 6924if(!tr.b.setsEqual(this.buildbotNames,other.buildbotNames)){return false;} 6925if(!tr.b.setsEqual(this.buildNumbers,other.buildNumbers))return false;if(!tr.b.setsEqual(this.logUris,other.logUris))return false;return true;} 6926canAddDiagnostic(otherDiagnostic){return otherDiagnostic instanceof MergedBuildbotInfo||otherDiagnostic instanceof tr.v.d.BuildbotInfo;} 6927addDiagnostic(otherDiagnostic){if(otherDiagnostic instanceof MergedBuildbotInfo){for(const name of otherDiagnostic.displayMasterNames){this.displayMasterNames.add(name);} 6928for(const name of otherDiagnostic.displayBotNames){this.displayBotNames.add(name);} 6929for(const name of otherDiagnostic.buildbotMasterNames){this.buildbotMasterNames.add(name);} 6930for(const name of otherDiagnostic.buildbotNames){this.buildbotNames.add(name);} 6931for(const name of otherDiagnostic.buildNumbers){this.buildNumbers.add(name);} 6932for(const name of otherDiagnostic.logUris){this.logUris.add(name);} 6933return this;} 6934if(otherDiagnostic.displayMasterName){this.displayMasterNames.add(otherDiagnostic.displayMasterName);} 6935if(otherDiagnostic.displayBotName){this.displayBotNames.add(otherDiagnostic.displayBotName);} 6936if(otherDiagnostic.buildbotMasterName){this.buildbotMasterNames.add(otherDiagnostic.buildbotMasterName);} 6937if(otherDiagnostic.buildbotName){this.buildbotNames.add(otherDiagnostic.buildbotName);} 6938if(otherDiagnostic.buildNumber){this.buildNumbers.add(otherDiagnostic.buildNumber);} 6939if(otherDiagnostic.logUri){this.logUris.add(otherDiagnostic.logUri);} 6940return this;} 6941asDictInto_(d){d.displayMasterNames=Array.from(this.displayMasterNames);d.displayBotNames=Array.from(this.displayBotNames);d.buildbotMasterNames=Array.from(this.buildbotMasterNames);d.buildbotNames=Array.from(this.buildbotNames);d.buildNumbers=Array.from(this.buildNumbers);d.logUris=Array.from(this.logUris);} 6942get displayMasterNames(){return this.displayMasterNames_;} 6943get displayBotNames(){return this.displayBotNames_;} 6944get buildbotMasterNames(){return this.buildbotMasterNames_;} 6945get buildbotNames(){return this.buildbotNames_;} 6946get buildNumbers(){return this.buildNumbers_;} 6947get logUris(){return this.logUris_;} 6948static fromDict(d){const info=new MergedBuildbotInfo();for(const name of d.displayMasterNames){info.displayMasterNames.add(name);} 6949for(const name of d.displayBotNames){info.displayBotNames.add(name);} 6950for(const name of d.buildbotMasterNames){info.buildbotMasterNames.add(name);} 6951for(const name of d.buildbotNames){info.buildbotNames.add(name);} 6952for(const name of d.buildNumbers){info.buildNumbers.add(name);} 6953for(const name of d.logUris){info.logUris.add(name);} 6954return info;}} 6955tr.v.d.Diagnostic.register(MergedBuildbotInfo,{elementName:'tr-v-ui-merged-buildbot-info-span'});return{MergedBuildbotInfo,};});'use strict';tr.exportTo('tr.v.d',function(){class MergedDeviceInfo extends tr.v.d.Diagnostic{constructor(){super();this.chromeVersions_=new Set();this.osNames_=new Set();this.osVersions_=new Set();} 6956clone(){const clone=new tr.v.d.MergedDeviceInfo();clone.addDiagnostic(this);return clone;} 6957addToHistogram(hist){hist.diagnostics.set(tr.v.d.DeviceInfo.NAME,this);} 6958canAddDiagnostic(otherDiagnostic){return otherDiagnostic instanceof MergedDeviceInfo||otherDiagnostic instanceof tr.v.d.DeviceInfo;} 6959addDiagnostic(otherDiagnostic){if(otherDiagnostic instanceof MergedDeviceInfo){for(const name of otherDiagnostic.osNames){this.osNames.add(name);} 6960for(const name of otherDiagnostic.osVersions){this.osVersions.add(name);} 6961for(const name of otherDiagnostic.chromeVersions){this.chromeVersions.add(name);} 6962return this;} 6963if(otherDiagnostic.osName){this.osNames.add(otherDiagnostic.osName);} 6964if(otherDiagnostic.osVersion){this.osVersions.add(otherDiagnostic.osVersion);} 6965if(otherDiagnostic.chromeVersion){this.chromeVersions.add(otherDiagnostic.chromeVersion);} 6966return this;} 6967equals(other){if(!(other instanceof MergedDeviceInfo))return false;if(!tr.b.setsEqual(this.chromeVersions,other.chromeVersions)){return false;} 6968if(!tr.b.setsEqual(this.osVersions,other.osVersions))return false;if(!tr.b.setsEqual(this.osNames,other.osNames))return false;return true;} 6969asDictInto_(d){d.chromeVersions=Array.from(this.chromeVersions);d.osNames=Array.from(this.osNames);d.osVersions=Array.from(this.osVersions);} 6970static fromDict(d){const info=new MergedDeviceInfo();for(const chromeVersion of d.chromeVersions){info.chromeVersions.add(chromeVersion);} 6971for(const osName of d.osNames){info.osNames.add(osName);} 6972for(const osVersion of d.osVersions){info.osVersions.add(osVersion);} 6973return info;} 6974get chromeVersions(){return this.chromeVersions_;} 6975get osNames(){return this.osNames_;} 6976get osVersions(){return this.osVersions_;}} 6977tr.v.d.Diagnostic.register(MergedDeviceInfo,{elementName:'tr-v-ui-merged-device-info-span'});return{MergedDeviceInfo,};});'use strict';tr.exportTo('tr.v.d',function(){const REPO_NAMES=['chromium','v8','catapult','angle','skia','webrtc'];class MergedRevisionInfo extends tr.v.d.Diagnostic{constructor(opt_info){super();const info=opt_info||{};this.chromiumCommitPositions_=new Set(info.chromiumCommitPositions||[]);this.v8CommitPositions_=new Set(info.v8CommitPositions||[]);this.chromium_=info.chromium||[];this.v8_=info.v8||[];this.catapult_=info.catapult||[];this.angle_=info.angle||[];this.skia_=info.skia||[];this.webrtc_=info.webrtc||[];} 6978clone(){const clone=new MergedRevisionInfo();clone.addDiagnostic(this);return clone;} 6979addToHistogram(hist){hist.diagnostics.set(tr.v.d.RevisionInfo.NAME,this);} 6980canAddDiagnostic(otherDiagnostic,name,parentHist,otherParentHist){return otherDiagnostic instanceof tr.v.d.RevisionInfo||otherDiagnostic instanceof MergedRevisionInfo;} 6981addDiagnostic(otherDiagnostic,name,parentHist,otherParentHist){if(otherDiagnostic instanceof MergedRevisionInfo){for(const pos of otherDiagnostic.chromiumCommitPositions){this.chromiumCommitPositions.add(pos);} 6982for(const pos of otherDiagnostic.v8CommitPositions){this.v8CommitPositions.add(pos);} 6983for(const repo of REPO_NAMES){for(const otherRevs of otherDiagnostic[repo]){let found=false;for(const revs of this[repo]){if(otherRevs[0]===revs[0]&&otherRevs[1]===revs[1]){found=true;break;}} 6984if(!found){this[repo].push(otherRevs);}}} 6985return this;} 6986if(otherDiagnostic.chromiumCommitPosition!==undefined){this.chromiumCommitPositions.add(otherDiagnostic.chromiumCommitPosition);} 6987if(otherDiagnostic.v8CommitPosition!==undefined){this.v8CommitPositions.add(otherDiagnostic.v8CommitPosition);} 6988for(const repo of REPO_NAMES){const otherRevs=otherDiagnostic[repo];let found=false;for(const revs of this[repo]){if(otherRevs[0]===revs[0]&&otherRevs[1]===revs[1]){found=true;break;}} 6989if(!found){this[repo].push(otherRevs);}} 6990return this;} 6991asDictInto_(d){d.chromiumCommitPositions=this.chromiumCommitPositions;d.v8CommitPositions=this.v8CommitPositions;d.chromium=this.chromium;d.v8=this.v8;d.catapult=this.catapult;d.angle=this.angle;d.skia=this.skia;d.webrtc=this.webrtc;} 6992static fromDict(d){return new MergedRevisionInfo(d);} 6993get chromiumCommitPositions(){return this.chromiumCommitPositions_;} 6994get v8CommitPositions(){return this.v8CommitPositions_;} 6995get chromium(){return this.chromium_;} 6996get v8(){return this.v8_;} 6997get catapult(){return this.catapult_;} 6998get angle(){return this.angle_;} 6999get skia(){return this.skia_;} 7000get webrtc(){return this.webrtc_;}} 7001tr.v.d.Diagnostic.register(MergedRevisionInfo,{elementName:'tr-v-ui-merged-revision-info-span'});return{MergedRevisionInfo,};});'use strict';tr.exportTo('tr.v.d',function(){class MergedTelemetryInfo extends tr.v.d.Diagnostic{constructor(){super();this.benchmarkNames_=new Set();this.benchmarkStartsMs_=new Set();this.labels_=new Set();this.legacyTIRLabels_=new Set();this.storyDisplayNames_=new Set();this.storyGroupingKeys_=new Map();this.storysetRepeatCounters_=new Set();} 7002clone(){const clone=new tr.v.d.MergedTelemetryInfo();clone.addDiagnostic(this);return clone;} 7003addToHistogram(hist){hist.diagnostics.set(tr.v.d.TelemetryInfo.NAME,this);} 7004equals(other){if(!(other instanceof MergedTelemetryInfo))return false;if(!tr.b.setsEqual(this.benchmarkNames,other.benchmarkNames)){return false;} 7005if(!tr.b.setsEqual(this.labels,other.labels))return false;if(!tr.b.setsEqual(this.storyDisplayNames,other.storyDisplayNames)){return false;} 7006if(!tr.b.setsEqual(this.legacyTIRLabels,other.legacyTIRLabels)){return false;} 7007if(!tr.b.setsEqual(this.storysetRepeatCounters,other.storysetRepeatCounters)){return false;} 7008if(!tr.b.setsEqual(this.benchmarkStartsMs,other.benchmarkStartsMs)){return false;} 7009if(!tr.b.setsEqual(new Set(this.storyGroupingKeys.keys()),new Set(other.storyGroupingKeys.keys()))){return false;} 7010for(const[k,vs]of this.storyGroupingKeys){if(!tr.b.setsEqual(vs,other.storyGroupingKeys.get(k))){return false;}} 7011return true;} 7012canAddDiagnostic(otherDiagnostic){return otherDiagnostic instanceof MergedTelemetryInfo||otherDiagnostic instanceof tr.v.d.TelemetryInfo;} 7013addDiagnostic(otherDiagnostic){if(otherDiagnostic instanceof MergedTelemetryInfo){for(const name of otherDiagnostic.benchmarkNames){this.benchmarkNames.add(name);} 7014for(const t of otherDiagnostic.benchmarkStartsMs){this.benchmarkStartsMs.add(t);} 7015for(const name of otherDiagnostic.labels){this.labels.add(name);} 7016for(const name of otherDiagnostic.legacyTIRLabels){this.legacyTIRLabels.add(name);} 7017for(const name of otherDiagnostic.storyDisplayNames){this.storyDisplayNames.add(name);} 7018for(const name of otherDiagnostic.storysetRepeatCounters){this.storysetRepeatCounters.add(name);} 7019for(const[name,value]of otherDiagnostic.storyGroupingKeys){if(this.storyGroupingKeys.has(name)){for(const subValue of value){this.storyGroupingKeys.get(name).add(subValue);}}else{this.storyGroupingKeys.set(name,new Set(value));}} 7020return;} 7021if(otherDiagnostic.benchmarkName){this.benchmarkNames.add(otherDiagnostic.benchmarkName);} 7022if(otherDiagnostic.benchmarkStart!==undefined){this.benchmarkStartsMs.add(otherDiagnostic.benchmarkStart.getTime());} 7023if(otherDiagnostic.label){this.labels.add(otherDiagnostic.label);} 7024if(otherDiagnostic.legacyTIRLabel){this.legacyTIRLabels.add(otherDiagnostic.legacyTIRLabel);} 7025if(otherDiagnostic.storyDisplayName){this.storyDisplayNames.add(otherDiagnostic.storyDisplayName);} 7026for(const[name,value]of otherDiagnostic.storyGroupingKeys){if(this.storyGroupingKeys.has(name)){this.storyGroupingKeys.get(name).add(value);}else{this.storyGroupingKeys.set(name,new Set([value]));}} 7027if(otherDiagnostic.storysetRepeatCounter!==undefined){this.storysetRepeatCounters.add(otherDiagnostic.storysetRepeatCounter);}} 7028asDictInto_(d){if(this.benchmarkNames.size){d.benchmarkNames=Array.from(this.benchmarkNames);} 7029if(this.benchmarkStartsMs.size){d.benchmarkStartsMs=Array.from(this.benchmarkStartsMs);} 7030if(this.labels.size){d.labels=Array.from(this.labels);} 7031if(this.legacyTIRLabels.size){d.legacyTIRLabels=this.legacyTIRLabels;} 7032if(this.storyDisplayNames.size){d.storyDisplayNames=Array.from(this.storyDisplayNames);} 7033if(this.storyGroupingKeys.size){d.storyGroupingKeys={};for(const[name,values]of this.storyGroupingKeys){d.storyGroupingKeys[name]=Array.from(values);}} 7034if(this.storysetRepeatCounters.size){d.storysetRepeatCounters=Array.from(this.storysetRepeatCounters);}} 7035static fromDict(d){const info=new MergedTelemetryInfo();for(const n of d.benchmarkNames||[]){info.benchmarkNames_.add(n);} 7036for(const n of d.benchmarkStartsMs||[]){info.benchmarkStartsMs_.add(n);} 7037for(const n of d.labels||[]){info.labels_.add(n);} 7038for(const n of d.legacyTIRLabels||[]){info.legacyTIRLabels_.add(n);} 7039for(const n of d.storyDisplayNames||[]){info.storyDisplayNames_.add(n);} 7040for(const[name,values]of Object.entries(d.storyGroupingKeys||{})){info.storyGroupingKeys_.set(name,new Set(values));} 7041for(const n of d.storysetRepeatCounters||[]){info.storysetRepeatCounters_.add(n);} 7042return info;} 7043get displayLabel(){if(this.labels.size){return Array.from(this.labels).join('\n');} 7044return Array.from(this.benchmarkNames).concat(this.benchmarkStartStrings).join('\n');} 7045get benchmarkNames(){return this.benchmarkNames_;} 7046get labels(){return this.labels_;} 7047get legacyTIRLabels(){return this.legacyTIRLabels_;} 7048get storyGroupingKeys(){return this.storyGroupingKeys_;} 7049get storyDisplayNames(){return this.storyDisplayNames_;} 7050get storysetRepeatCounters(){return this.storysetRepeatCounters_;} 7051get storysetRepeatCounterLabel(){return'storyset repeat '+Array.from(this.storysetRepeatCounters).join(',');} 7052get benchmarkStartsMs(){return this.benchmarkStartsMs_;} 7053get benchmarkStarts(){const startsMs=Array.from(this.benchmarkStartsMs);startsMs.sort((x,y)=>x-y);return startsMs.map(t=>new Date(t));} 7054get benchmarkStartStrings(){return this.benchmarkStarts.map(tr.b.formatDate);} 7055static getField(hist,fieldName,defaultValue){const telemetry=tr.v.d.TelemetryInfo.getFromHistogram(hist);if(!(telemetry instanceof tr.v.d.MergedTelemetryInfo)||!telemetry[fieldName]){return defaultValue;} 7056return telemetry[fieldName];} 7057static getStoryGroupingKeyLabel(hist,storyGroupingKey){const telemetry=tr.v.d.TelemetryInfo.getFromHistogram(hist);if(!(telemetry instanceof tr.v.d.MergedTelemetryInfo)){return storyGroupingKey+': undefined';} 7058return storyGroupingKey+': '+ 7059telemetry.storyGroupingKeys[storyGroupingKey];} 7060static makeStoryGroupingKeyLabelGetter(storyGroupingKey){return v=>MergedTelemetryInfo.getStoryGroupingKeyLabel(v,storyGroupingKey);}} 7061tr.v.d.Diagnostic.register(MergedTelemetryInfo,{elementName:'tr-v-ui-merged-telemetry-info-span'});return{MergedTelemetryInfo,};});'use strict';tr.exportTo('tr.v.d.',function(){class Ownership extends tr.v.d.Diagnostic{constructor(emails,component){super();this.emails=emails||[];if(typeof(component)==='string'){this.component=component;}} 7062asDictInto_(d){if(this.component!==undefined){d.component=this.component;} 7063d.emails=this.emails;} 7064clone(){return new Ownership(this.emails,this.component);} 7065static fromDict(d){return new Ownership(d.emails,d.component);}} 7066tr.v.d.Diagnostic.register(Ownership);return{Ownership,};});'use strict';tr.exportTo('tr.v.d',function(){class EventRef{constructor(event){this.stableId=event.stableId;this.title=event.title;this.start=event.start;this.duration=event.duration;this.end=this.start+this.duration;this.guid=tr.b.GUID.allocateSimple();}} 7067return{EventRef,};});'use strict';tr.exportTo('tr.v.d',function(){class RelatedEventSet extends tr.v.d.Diagnostic{constructor(opt_events){super();this.eventsByStableId_=new Map();this.canonicalUrl_=undefined;if(opt_events){if(opt_events instanceof tr.model.EventSet||opt_events instanceof Array){for(const event of opt_events){this.add(event);}}else{this.add(opt_events);}}} 7068clone(){const clone=new tr.v.d.CollectedRelatedEventSet();clone.addDiagnostic(this);return clone;} 7069add(event){this.eventsByStableId_.set(event.stableId,event);} 7070has(event){return this.eventsByStableId_.has(event.stableId);} 7071get length(){return this.eventsByStableId_.size;}*[Symbol.iterator](){for(const event of this.eventsByStableId_.values()){yield event;}} 7072get canonicalUrl(){return this.canonicalUrl_;} 7073resolve(model,opt_required){for(const[stableId,value]of this.eventsByStableId_){if(!(value instanceof tr.v.d.EventRef))continue;const event=model.getEventByStableId(stableId);if(event instanceof tr.model.Event){this.eventsByStableId_.set(stableId,event);}else if(opt_required){throw new Error('Unable to find Event '+stableId);}}} 7074asDictInto_(d){d.events=[];for(const event of this){d.events.push({stableId:event.stableId,title:event.title,start:event.start,duration:event.duration});}} 7075static fromDict(d){return new RelatedEventSet(d.events.map(event=>new tr.v.d.EventRef(event)));}} 7076tr.v.d.Diagnostic.register(RelatedEventSet,{elementName:'tr-v-ui-related-event-set-span'});return{RelatedEventSet,};});'use strict';tr.exportTo('tr.v.d',function(){function HistogramRef(guid){this.guid=guid;} 7077return{HistogramRef};});'use strict';tr.exportTo('tr.v.d',function(){class RelatedHistogramMap extends tr.v.d.Diagnostic{constructor(){super();this.histogramsByName_=new Map();} 7078canAddDiagnostic(otherDiagnostic){return otherDiagnostic instanceof RelatedHistogramMap;} 7079addDiagnostic(otherDiagnostic){} 7080mergeRelationships(otherDiagnostic,parentHist,otherParentHist){const parentGroupingPath=tr.v.d.GroupingPath.getFromHistogram(parentHist);for(const[name,otherRelatedHist]of otherDiagnostic){const mergedTo=otherRelatedHist.diagnostics.get(tr.v.d.MERGED_TO_DIAGNOSTIC_KEY);if(mergedTo===undefined)continue;for(const relatedHist of mergedTo){const relatedGroupingPath=tr.v.d.GroupingPath.getFromHistogram(relatedHist);if(relatedGroupingPath===undefined)continue;if(!parentGroupingPath.equals(relatedGroupingPath))continue;this.set(name,relatedHist);}}} 7081get(name){return this.histogramsByName_.get(name);} 7082set(name,hist){if(!(hist instanceof tr.v.Histogram)&&!(hist instanceof tr.v.d.HistogramRef)){throw new Error('Must be instanceof Histogram or HistogramRef: '+ 7083hist);} 7084this.histogramsByName_.set(name,hist);} 7085add(hist){this.set(hist.name,hist);} 7086get length(){return this.histogramsByName_.size;}*[Symbol.iterator](){for(const pair of this.histogramsByName_){yield pair;}} 7087resolve(histograms,opt_required){for(const[name,value]of this){if(!(value instanceof tr.v.d.HistogramRef))continue;const guid=value.guid;const hist=histograms.lookupHistogram(guid);if(hist instanceof tr.v.Histogram){this.histogramsByName_.set(name,hist);}else if(opt_required){throw new Error('Unable to find Histogram '+guid);}}} 7088asDictInto_(d){d.values={};for(const[name,hist]of this){d.values[name]=hist.guid;}} 7089static fromDict(d){const map=new RelatedHistogramMap();for(const[name,guid]of Object.entries(d.values)){map.set(name,new tr.v.d.HistogramRef(guid));} 7090return map;}} 7091tr.v.d.Diagnostic.register(RelatedHistogramMap,{elementName:'tr-v-ui-related-histogram-map-span'});return{RelatedHistogramMap,};});'use strict';tr.exportTo('tr.v.d',function(){const COLOR_SCHEME_CHROME_USER_FRIENDLY_CATEGORY_DRIVER='ChromeUserFriendlyCategory';class RelatedHistogramBreakdown extends tr.v.d.RelatedHistogramMap{constructor(){super();this.colorScheme=undefined;} 7092clone(){const clone=new RelatedHistogramBreakdown();clone.colorScheme=this.colorScheme;return clone;} 7093canAddDiagnostic(otherDiagnostic){return otherDiagnostic instanceof RelatedHistogramBreakdown&&otherDiagnostic.colorScheme===this.colorScheme;} 7094set(name,hist){if(!(hist instanceof tr.v.d.HistogramRef)){if(!(hist instanceof tr.v.Histogram)){throw new Error('RelatedHistogramBreakdown can only contain Histograms');} 7095if((this.length>0)&&(hist.unit!==tr.b.getFirstElement(this)[1].unit)){throw new Error('Units mismatch',tr.b.getFirstElement(this)[1].unit,hist.unit);}} 7096tr.v.d.RelatedHistogramMap.prototype.set.call(this,name,hist);} 7097asDictInto_(d){tr.v.d.RelatedHistogramMap.prototype.asDictInto_.call(this,d);if(this.colorScheme)d.colorScheme=this.colorScheme;} 7098static fromDict(d){const diagnostic=new RelatedHistogramBreakdown();for(const[name,guid]of Object.entries(d.values)){diagnostic.set(name,new tr.v.d.HistogramRef(guid));} 7099if(d.colorScheme)diagnostic.colorScheme=d.colorScheme;return diagnostic;} 7100static buildFromEvents(histograms,namePrefix,events,categoryForEvent,unit,opt_sampleForEvent,opt_binBoundaries,opt_this){const sampleForEvent=opt_sampleForEvent||((event)=>event.cpuSelfTime);const diagnostic=new RelatedHistogramBreakdown();for(const event of events){const sample=sampleForEvent.call(opt_this,event);if(sample===undefined)continue;const eventCategory=categoryForEvent.call(opt_this,event);let hist=diagnostic.get(eventCategory);if(hist===undefined){hist=new tr.v.Histogram(namePrefix+eventCategory,unit,opt_binBoundaries);histograms.addHistogram(hist);diagnostic.set(eventCategory,hist);} 7101hist.addSample(sample,{relatedEvents:new tr.v.d.RelatedEventSet([event])});} 7102return diagnostic;}} 7103tr.v.d.Diagnostic.register(RelatedHistogramBreakdown,{elementName:'tr-v-ui-breakdown-span'});return{COLOR_SCHEME_CHROME_USER_FRIENDLY_CATEGORY_DRIVER,RelatedHistogramBreakdown,};});'use strict';tr.exportTo('tr.v.d',function(){class RelatedHistogramSet extends tr.v.d.Diagnostic{constructor(opt_histograms){super();this.histogramsByGuid_=new Map();if(opt_histograms){for(const hist of opt_histograms){this.add(hist);}}} 7104canAddDiagnostic(otherDiagnostic){return otherDiagnostic instanceof RelatedHistogramSet;} 7105addDiagnostic(otherDiagnostic){} 7106mergeRelationships(otherDiagnostic,parentHist,otherParentHist){const parentGroupingPath=tr.v.d.GroupingPath.getFromHistogram(parentHist);for(const otherRelatedHist of otherDiagnostic){const mergedTo=otherRelatedHist.diagnostics.get(tr.v.d.MERGED_TO_DIAGNOSTIC_KEY);if(mergedTo===undefined)continue;for(const relatedHist of mergedTo){if(this.has(relatedHist))continue;const relatedGroupingPath=tr.v.d.GroupingPath.getFromHistogram(relatedHist);if(relatedGroupingPath===undefined)continue;if(!parentGroupingPath.equals(relatedGroupingPath))continue;this.add(relatedHist);}}} 7107add(hist){if(!(hist instanceof tr.v.Histogram)&&!(hist instanceof tr.v.d.HistogramRef)){throw new Error('Must be instanceof Histogram or HistogramRef: '+ 7108hist);} 7109if(this.histogramsByGuid_.has(hist.guid)){throw new Error('Tried to add same hist twice');} 7110this.histogramsByGuid_.set(hist.guid,hist);} 7111has(hist){return this.histogramsByGuid_.has(hist.guid);} 7112get length(){return this.histogramsByGuid_.size;}*[Symbol.iterator](){for(const[guid,hist]of this.histogramsByGuid_){yield hist;}} 7113resolve(histograms,opt_required){for(const[guid,value]of this.histogramsByGuid_){if(!(value instanceof tr.v.d.HistogramRef))continue;const hist=histograms.lookupHistogram(guid);if(hist instanceof tr.v.Histogram){this.histogramsByGuid_.set(guid,hist);}else if(opt_required){throw new Error('Unable to find Histogram '+guid);}}} 7114asDictInto_(d){d.guids=[];for(const hist of this){d.guids.push(hist.guid);}} 7115static fromDict(d){return new RelatedHistogramSet(d.guids.map(guid=>new tr.v.d.HistogramRef(guid)));}} 7116tr.v.d.Diagnostic.register(RelatedHistogramSet,{elementName:'tr-v-ui-related-histogram-set-span'});return{RelatedHistogramSet,};});'use strict';tr.exportTo('tr.v.d',function(){class RevisionInfo extends tr.v.d.Diagnostic{constructor(info){super();this.chromiumCommitPosition_=info.chromiumCommitPosition||undefined;this.v8CommitPosition_=info.v8CommitPosition||undefined;this.chromium_=info.chromium||[];this.v8_=info.v8||[];this.catapult_=info.catapult||[];this.angle_=info.angle||[];this.skia_=info.skia||[];this.webrtc_=info.webrtc||[];} 7117addToHistogram(hist){hist.diagnostics.set(RevisionInfo.NAME,this);} 7118clone(){const clone=new tr.v.d.MergedRevisionInfo();clone.addDiagnostic(this);return clone;} 7119asDictInto_(d){d.chromiumCommitPosition=this.chromiumCommitPosition;d.v8CommitPosition=this.v8CommitPosition;d.chromium=this.chromium;d.v8=this.v8;d.catapult=this.catapult;d.angle=this.angle;d.skia=this.skia;d.webrtc=this.webrtc;} 7120static fromDict(d){return new RevisionInfo(d);} 7121get chromiumCommitPosition(){return this.chromiumCommitPosition_;} 7122get v8CommitPosition(){return this.v8CommitPosition_;} 7123get chromium(){return this.chromium_;} 7124get v8(){return this.v8_;} 7125get catapult(){return this.catapult_;} 7126get angle(){return this.angle_;} 7127get skia(){return this.skia_;} 7128get webrtc(){return this.webrtc_;}} 7129RevisionInfo.NAME='revisions';tr.v.d.Diagnostic.register(RevisionInfo,{elementName:'tr-v-ui-revision-info-span'});return{RevisionInfo,};});'use strict';tr.exportTo('tr.v.d',function(){class Scalar extends tr.v.d.Diagnostic{constructor(value){super();if(!(value instanceof tr.b.Scalar)){throw new Error('expected Scalar');} 7130this.value=value;} 7131clone(){return new Scalar(this.value);} 7132asDictInto_(d){d.value=this.value.asDict();} 7133static fromDict(d){return new Scalar(tr.b.Scalar.fromDict(d.value));}} 7134tr.v.d.Diagnostic.register(Scalar,{elementName:'tr-v-ui-scalar-diagnostic-span'});return{Scalar,};});'use strict';tr.exportTo('tr.v.d',function(){class TagMap extends tr.v.d.Diagnostic{constructor(opt_info){super();this.tagsToStoryDisplayNames_=new Map();if(opt_info){for(const[tag,storyDisplayNames]of Object.entries(opt_info.tagsToStoryDisplayNames||{})){this.tagsToStoryDisplayNames.set(tag,new Set(storyDisplayNames));}}} 7135clone(){const clone=new TagMap();clone.addDiagnostic(this);return clone;} 7136addToHistogram(hist){hist.diagnostics.set(tr.v.d.TagMap.NAME,this);} 7137equals(other){if(!(other instanceof TagMap))return false;const keys1=new Set(this.tagsToStoryDisplayNames.keys());const keys2=new Set(other.tagsToStoryDisplayNames.keys());if(!tr.b.setsEqual(keys1,keys2)){return false;} 7138for(const key of keys1){if(!tr.b.setsEqual(this.tagsToStoryDisplayNames.get(key),other.tagsToStoryDisplayNames.get(key))){return false;}} 7139return true;} 7140canAddDiagnostic(otherDiagnostic){return otherDiagnostic instanceof TagMap;} 7141addDiagnostic(otherDiagnostic){for(const[name,storyDisplayNames]of 7142otherDiagnostic.tagsToStoryDisplayNames){if(!this.tagsToStoryDisplayNames.has(name)){this.tagsToStoryDisplayNames.set(name,new Set());} 7143for(const t of storyDisplayNames){this.tagsToStoryDisplayNames.get(name).add(t);}} 7144return this;} 7145asDictInto_(d){d.tagsToStoryDisplayNames={};for(const[name,value]of this.tagsToStoryDisplayNames){d.tagsToStoryDisplayNames[name]=Array.from(value);}} 7146get tagsToStoryDisplayNames(){return this.tagsToStoryDisplayNames_;} 7147static fromDict(d){const info=new TagMap();for(const[name,values]of 7148Object.entries(d.tagsToStoryDisplayNames||{})){info.tagsToStoryDisplayNames.set(name,new Set(values));} 7149return info;}} 7150TagMap.NAME='tagmap';tr.v.d.Diagnostic.register(TagMap);return{TagMap,};});'use strict';tr.exportTo('tr.v.d',function(){class TelemetryInfo extends tr.v.d.Diagnostic{constructor(opt_info){super();this.benchmarkName_='';this.benchmarkStart_=undefined;this.label_='';this.legacyTIRLabel_='';this.storyDisplayName_='';this.storyGroupingKeys_=new Map();this.storysetRepeatCounter_=undefined;this.canonicalUrl_='';if(opt_info){this.addInfo(opt_info);}} 7151clone(){const clone=new tr.v.d.MergedTelemetryInfo();clone.addDiagnostic(this);return clone;} 7152addInfo(info){if(info.benchmarkName){this.benchmarkName_=info.benchmarkName;} 7153if(info.benchmarkStartMs!==undefined){this.benchmarkStart_=new Date(info.benchmarkStartMs);} 7154if(info.label){this.label_=info.label;} 7155if(info.storyDisplayName){this.storyDisplayName_=info.storyDisplayName;} 7156for(const[name,value]of Object.entries(info.storyGroupingKeys||{})){this.storyGroupingKeys_.set(name,value);} 7157if(info.storysetRepeatCounter!==undefined){this.storysetRepeatCounter_=info.storysetRepeatCounter;} 7158if(info.legacyTIRLabel){this.legacyTIRLabel_=info.legacyTIRLabel;} 7159if(info.canonicalUrl){this.canonicalUrl_=info.canonicalUrl;}} 7160addToHistogram(hist){hist.diagnostics.set(TelemetryInfo.NAME,this);} 7161static getFromHistogram(hist){return hist.diagnostics.get(TelemetryInfo.NAME)||hist.diagnostics.get('iteration');} 7162asDictInto_(d){d.benchmarkName=this.benchmarkName;if(this.benchmarkStart){d.benchmarkStartMs=this.benchmarkStart.getTime();} 7163d.label=this.label;d.storyDisplayName=this.storyDisplayName;if(this.storyGroupingKeys.size>0){d.storyGroupingKeys={};for(const[name,value]of this.storyGroupingKeys){d.storyGroupingKeys[name]=value;}} 7164d.storysetRepeatCounter=this.storysetRepeatCounter;d.legacyTIRLabel=this.legacyTIRLabel;d.canonicalUrl=this.canonicalUrl;} 7165static fromDict(d){const info=new TelemetryInfo();info.addInfo(d);return info;} 7166get displayLabel(){if(this.label)return this.label;return this.benchmarkName+'\n'+this.benchmarkStartString;} 7167get benchmarkName(){return this.benchmarkName_;} 7168get label(){return this.label_;} 7169get legacyTIRLabel(){return this.legacyTIRLabel_;} 7170set legacyTIRLabel(tir){this.legacyTIRLabel_=tir;} 7171get storyGroupingKeys(){return this.storyGroupingKeys_;} 7172get storyDisplayName(){return this.storyDisplayName_;} 7173get storysetRepeatCounter(){return this.storysetRepeatCounter_;} 7174get storysetRepeatCounterLabel(){return'storyset repeat '+this.storysetRepeatCounter;} 7175get canonicalUrl(){return this.canonicalUrl_;} 7176get benchmarkStart(){return this.benchmarkStart_;} 7177get benchmarkStartString(){if(this.benchmarkStart_===undefined)return'';return tr.b.formatDate(this.benchmarkStart);} 7178static getField(hist,fieldName,defaultValue){const telemetry=tr.v.d.TelemetryInfo.getFromHistogram(hist);if(!(telemetry instanceof tr.v.d.TelemetryInfo)||!telemetry[fieldName]){return defaultValue;} 7179return telemetry[fieldName];} 7180static getStoryGroupingKeyLabel(hist,storyGroupingKey){const telemetry=tr.v.d.TelemetryInfo.getFromHistogram(hist);if(!(telemetry instanceof tr.v.d.TelemetryInfo)){return storyGroupingKey+': undefined';} 7181return storyGroupingKey+': '+ 7182telemetry.storyGroupingKeys.get(storyGroupingKey);} 7183static makeStoryGroupingKeyLabelGetter(storyGroupingKey){return v=>TelemetryInfo.getStoryGroupingKeyLabel(v,storyGroupingKey);}} 7184TelemetryInfo.NAME='telemetry';tr.v.d.Diagnostic.register(TelemetryInfo,{elementName:'tr-v-ui-telemetry-info-span'});return{TelemetryInfo,};});'use strict';tr.exportTo('tr.v.d',function(){class UnmergeableDiagnosticSet extends tr.v.d.Diagnostic{constructor(diagnostics){super();this._diagnostics=diagnostics;} 7185clone(){const clone=new tr.v.d.UnmergeableDiagnosticSet();clone.addDiagnostic(this);return clone;} 7186canAddDiagnostic(otherDiagnostic){return true;} 7187addDiagnostic(otherDiagnostic){if(otherDiagnostic instanceof UnmergeableDiagnosticSet){for(const subOtherDiagnostic of otherDiagnostic){const clone=subOtherDiagnostic.clone();this.addDiagnostic(clone);} 7188return;} 7189for(let i=0;i<this._diagnostics.length;++i){if(this._diagnostics[i].canAddDiagnostic(otherDiagnostic)){this._diagnostics[i].addDiagnostic(otherDiagnostic);return;}} 7190const clone=otherDiagnostic.clone();this._diagnostics.push(clone);} 7191mergeRelationships(otherDiagnostic,parentHist,otherParentHist){if(otherDiagnostic instanceof UnmergeableDiagnosticSet){for(const subDiagnostic of otherDiagnostic){this.mergeRelationships(subDiagnostic,parentHist,otherParentHist);} 7192return;} 7193for(const subDiagnostic of this){if(!(subDiagnostic instanceof tr.v.d.RelatedHistogramSet)&&!(subDiagnostic instanceof tr.v.d.RelatedHistogramMap)&&!(subDiagnostic instanceof tr.v.d.RelatedHistogramBreakdown)){continue;} 7194subDiagnostic.mergeRelationships(otherDiagnostic,parentHist,otherParentHist);}} 7195get length(){return this._diagnostics.length;}*[Symbol.iterator](){for(const diagnostic of this._diagnostics)yield diagnostic;} 7196asDictInto_(d){d.diagnostics=this._diagnostics.map(d=>d.asDictOrReference());} 7197static fromDict(d){return new UnmergeableDiagnosticSet(d.diagnostics.map(d=>((typeof d==='string')?new tr.v.d.DiagnosticRef(d):tr.v.d.Diagnostic.fromDict(d))));}} 7198tr.v.d.Diagnostic.register(UnmergeableDiagnosticSet,{elementName:'tr-v-ui-unmergeable-diagnostic-set-span'});return{UnmergeableDiagnosticSet,};});'use strict';tr.exportTo('tr.v.d',function(){const MERGED_FROM_DIAGNOSTIC_KEY='merged from';const MERGED_TO_DIAGNOSTIC_KEY='merged to';class DiagnosticMap extends Map{set(name,diagnostic){if(typeof(name)!=='string'){throw new Error('name must be string, not '+name);} 7199if(!(diagnostic instanceof tr.v.d.Diagnostic)&&!(diagnostic instanceof tr.v.d.DiagnosticRef)){throw new Error('Must be instanceof Diagnostic: '+diagnostic);} 7200Map.prototype.set.call(this,name,diagnostic);} 7201addDicts(dict){for(const[name,diagnosticDict]of Object.entries(dict)){if(typeof diagnosticDict==='string'){this.set(name,new tr.v.d.DiagnosticRef(diagnosticDict));}else{this.set(name,tr.v.d.Diagnostic.fromDict(diagnosticDict));}}} 7202resolveSharedDiagnostics(histograms,opt_required){for(const[name,value]of this){if(!(value instanceof tr.v.d.DiagnosticRef)){continue;} 7203const guid=value.guid;const diagnostic=histograms.lookupDiagnostic(guid);if(diagnostic instanceof tr.v.d.Diagnostic){this.set(name,diagnostic);}else if(opt_required){throw new Error('Unable to find shared Diagnostic '+guid);}}} 7204asDict(){const dict={};for(const[name,diagnostic]of this){dict[name]=diagnostic.asDictOrReference();} 7205return dict;} 7206static fromDict(d){const diagnostics=new DiagnosticMap();diagnostics.addDicts(d);return diagnostics;} 7207static fromObject(obj){const diagnostics=new DiagnosticMap();for(const[name,diagnostic]of Object.entries(obj)){diagnostics.set(name,diagnostic);} 7208return diagnostics;} 7209addDiagnostics(other){for(const[name,otherDiagnostic]of other){if(name===MERGED_FROM_DIAGNOSTIC_KEY||name===MERGED_TO_DIAGNOSTIC_KEY||name===tr.v.d.GroupingPath){continue;} 7210const myDiagnostic=this.get(name);if(myDiagnostic!==undefined&&myDiagnostic.canAddDiagnostic(otherDiagnostic)){myDiagnostic.addDiagnostic(otherDiagnostic);continue;} 7211const clone=otherDiagnostic.clone();if(myDiagnostic===undefined){this.set(name,clone);continue;} 7212this.set(name,new tr.v.d.UnmergeableDiagnosticSet([myDiagnostic,clone]));}} 7213mergeRelationships(parentHist){for(const[name,diagnostic]of this){if(!(diagnostic instanceof tr.v.d.RelatedHistogramSet)&&!(diagnostic instanceof tr.v.d.RelatedHistogramMap)&&!(diagnostic instanceof tr.v.d.RelatedHistogramBreakdown)&&!(diagnostic instanceof tr.v.d.UnmergeableDiagnosticSet)){continue;} 7214for(const otherHist of this.get(MERGED_FROM_DIAGNOSTIC_KEY)){const otherDiagnostic=otherHist.diagnostics.get(name);if(!(otherDiagnostic instanceof tr.v.d.RelatedHistogramSet)&&!(otherDiagnostic instanceof tr.v.d.RelatedHistogramMap)&&!(otherDiagnostic instanceof tr.v.d.RelatedHistogramBreakdown)&&!(otherDiagnostic instanceof tr.v.d.UnmergeableDiagnosticSet)){continue;} 7215diagnostic.mergeRelationships(otherDiagnostic,parentHist,otherHist);}}}} 7216return{DiagnosticMap,MERGED_FROM_DIAGNOSTIC_KEY,MERGED_TO_DIAGNOSTIC_KEY,};});'use strict';tr.exportTo('tr.v',function(){const MAX_DIAGNOSTIC_MAPS=16;const DEFAULT_SAMPLE_VALUES_PER_BIN=10;const DEFAULT_REBINNED_COUNT=40;const DEFAULT_BOUNDARIES_FOR_UNIT=new Map();const DELTA=String.fromCharCode(916);const Z_SCORE_NAME='z-score';const P_VALUE_NAME='p-value';const U_STATISTIC_NAME='U';function percentToString(percent,opt_force3){if(percent<0||percent>1){throw new Error('percent must be in [0,1]');} 7217if(percent===0)return'000';if(percent===1)return'100';let str=percent.toString();if(str[1]!=='.'){throw new Error('Unexpected percent');} 7218str=str+'0'.repeat(Math.max(4-str.length,0));if(str.length>4){if(opt_force3){str=str.slice(0,4);}else{str=str.slice(0,4)+'_'+str.slice(4);}} 7219return'0'+str.slice(2);} 7220function percentFromString(s){return parseFloat(s[0]+'.'+s.substr(1).replace(/_/g,''));} 7221class HistogramBin{constructor(range){this.range=range;this.count=0;this.diagnosticMaps=[];} 7222addSample(value){this.count+=1;} 7223addDiagnosticMap(diagnostics){tr.b.math.Statistics.uniformlySampleStream(this.diagnosticMaps,this.count,diagnostics,MAX_DIAGNOSTIC_MAPS);} 7224addBin(other){if(!this.range.equals(other.range)){throw new Error('Merging incompatible Histogram bins.');} 7225tr.b.math.Statistics.mergeSampledStreams(this.diagnosticMaps,this.count,other.diagnosticMaps,other.count,MAX_DIAGNOSTIC_MAPS);this.count+=other.count;} 7226fromDict(dict){this.count=dict[0];if(dict.length>1){for(const map of dict[1]){this.diagnosticMaps.push(tr.v.d.DiagnosticMap.fromDict(map));}}} 7227asDict(){if(!this.diagnosticMaps.length){return[this.count];} 7228return[this.count,this.diagnosticMaps.map(d=>d.asDict())];}} 7229const DEFAULT_SUMMARY_OPTIONS=new Map([['avg',true],['count',true],['geometricMean',false],['max',true],['min',true],['nans',false],['std',true],['sum',true],]);class Histogram{constructor(name,unit,opt_binBoundaries){let binBoundaries=opt_binBoundaries;if(!binBoundaries){const baseUnit=unit.baseUnit?unit.baseUnit:unit;binBoundaries=DEFAULT_BOUNDARIES_FOR_UNIT.get(baseUnit.unitName);} 7230this.guid_=undefined;this.binBoundariesDict_=binBoundaries.asDict();this.allBins=binBoundaries.bins.slice();this.description='';this.diagnostics=new tr.v.d.DiagnosticMap();this.maxNumSampleValues_=this.defaultMaxNumSampleValues_;this.name_=name;this.nanDiagnosticMaps=[];this.numNans=0;this.running_=undefined;this.sampleValues_=[];this.shortName=undefined;this.summaryOptions=new Map(DEFAULT_SUMMARY_OPTIONS);this.summaryOptions.set('percentile',[]);this.summaryOptions.set('iprs',[]);this.unit=unit;} 7231static create(name,unit,samples,opt_options){const options=opt_options||{};const hist=new Histogram(name,unit,options.binBoundaries);if(options.description)hist.description=options.description;if(options.shortName)hist.shortName=options.shortName;if(options.summaryOptions){let summaryOptions=options.summaryOptions;if(!(summaryOptions instanceof Map)){summaryOptions=Object.entries(summaryOptions);} 7232for(const[name,value]of summaryOptions){hist.summaryOptions.set(name,value);}} 7233if(options.diagnostics!==undefined){let diagnostics=options.diagnostics;if(!(diagnostics instanceof Map)){diagnostics=Object.entries(diagnostics);} 7234for(const[name,diagnostic]of diagnostics){hist.diagnostics.set(name,diagnostic);}} 7235if(!(samples instanceof Array))samples=[samples];for(const sample of samples){if(typeof sample==='object'){hist.addSample(sample.value,sample.diagnostics);}else{hist.addSample(sample);}} 7236return hist;} 7237get running(){return this.running_;} 7238get maxNumSampleValues(){return this.maxNumSampleValues_;} 7239set maxNumSampleValues(n){this.maxNumSampleValues_=n;tr.b.math.Statistics.uniformlySampleArray(this.sampleValues_,this.maxNumSampleValues_);} 7240get name(){return this.name_;} 7241get guid(){if(this.guid_===undefined){this.guid_=tr.b.GUID.allocateUUID4();} 7242return this.guid_;} 7243set guid(guid){if(this.guid_!==undefined){throw new Error('Cannot reset guid');} 7244this.guid_=guid;} 7245static fromDict(dict){const hist=new Histogram(dict.name,tr.b.Unit.fromJSON(dict.unit),HistogramBinBoundaries.fromDict(dict.binBoundaries));hist.guid=dict.guid;if(dict.shortName){hist.shortName=dict.shortName;} 7246if(dict.description){hist.description=dict.description;} 7247if(dict.diagnostics){hist.diagnostics.addDicts(dict.diagnostics);} 7248if(dict.allBins){if(dict.allBins.length!==undefined){for(let i=0;i<dict.allBins.length;++i){hist.allBins[i]=new HistogramBin(hist.allBins[i].range);hist.allBins[i].fromDict(dict.allBins[i]);}}else{for(const[i,binDict]of Object.entries(dict.allBins)){hist.allBins[i]=new HistogramBin(hist.allBins[i].range);hist.allBins[i].fromDict(binDict);}}} 7249if(dict.running){hist.running_=tr.b.math.RunningStatistics.fromDict(dict.running);} 7250if(dict.summaryOptions){if(dict.summaryOptions.iprs){dict.summaryOptions.iprs=dict.summaryOptions.iprs.map(r=>tr.b.math.Range.fromExplicitRange(r[0],r[1]));} 7251hist.customizeSummaryOptions(dict.summaryOptions);} 7252if(dict.maxNumSampleValues!==undefined){hist.maxNumSampleValues=dict.maxNumSampleValues;} 7253if(dict.sampleValues){hist.sampleValues_=dict.sampleValues;} 7254if(dict.numNans){hist.numNans=dict.numNans;} 7255if(dict.nanDiagnostics){for(const map of dict.nanDiagnostics){hist.nanDiagnosticMaps.push(tr.v.d.DiagnosticMap.fromDict(map));}} 7256return hist;} 7257get numValues(){return this.running_?this.running_.count:0;} 7258get average(){return this.running_?this.running_.mean:undefined;} 7259get standardDeviation(){return this.running_?this.running_.stddev:undefined;} 7260get geometricMean(){return this.running_?this.running_.geometricMean:0;} 7261get sum(){return this.running_?this.running_.sum:0;} 7262get min(){return this.running_?this.running_.min:Infinity;} 7263get max(){return this.running_?this.running_.max:-Infinity;} 7264getDifferenceSignificance(other,opt_alpha){if(this.unit!==other.unit){throw new Error('Cannot compare Histograms with different units');} 7265if(this.unit.improvementDirection===tr.b.ImprovementDirection.DONT_CARE){return tr.b.math.Statistics.Significance.DONT_CARE;} 7266if(!(other instanceof Histogram)){throw new Error('Unable to compute a p-value');} 7267const testResult=tr.b.math.Statistics.mwu(this.sampleValues,other.sampleValues,opt_alpha);return testResult.significance;} 7268getApproximatePercentile(percent){if(percent<0||percent>1){throw new Error('percent must be in [0,1]');} 7269if(this.numValues===0)return undefined;if(this.allBins.length===1){const sortedSampleValues=this.sampleValues.slice().sort((x,y)=>x-y);return sortedSampleValues[Math.floor((sortedSampleValues.length-1)*percent)];} 7270let valuesToSkip=Math.floor((this.numValues-1)*percent);for(const bin of this.allBins){valuesToSkip-=bin.count;if(valuesToSkip>=0)continue;if(bin.range.min===-Number.MAX_VALUE){return bin.range.max;} 7271if(bin.range.max===Number.MAX_VALUE){return bin.range.min;} 7272return bin.range.center;} 7273return this.allBins[this.allBins.length-1].range.min;} 7274getBinIndexForValue(value){const i=tr.b.math.findHighIndexInSortedArray(this.allBins,b=>((value<b.range.max)?-1:1));if(0<=i&&i<this.allBins.length)return i;return this.allBins.length-1;} 7275getBinForValue(value){return this.allBins[this.getBinIndexForValue(value)];} 7276addSample(value,opt_diagnostics){if(opt_diagnostics&&!(opt_diagnostics instanceof tr.v.d.DiagnosticMap)){opt_diagnostics=tr.v.d.DiagnosticMap.fromObject(opt_diagnostics);} 7277if(typeof(value)!=='number'||isNaN(value)){this.numNans++;if(opt_diagnostics){tr.b.math.Statistics.uniformlySampleStream(this.nanDiagnosticMaps,this.numNans,opt_diagnostics,MAX_DIAGNOSTIC_MAPS);}}else{if(this.running_===undefined){this.running_=new tr.b.math.RunningStatistics();} 7278this.running_.add(value);const binIndex=this.getBinIndexForValue(value);let bin=this.allBins[binIndex];if(bin.count===0){bin=new HistogramBin(bin.range);this.allBins[binIndex]=bin;} 7279bin.addSample(value);if(opt_diagnostics){bin.addDiagnosticMap(opt_diagnostics);}} 7280tr.b.math.Statistics.uniformlySampleStream(this.sampleValues_,this.numValues+this.numNans,value,this.maxNumSampleValues);} 7281sampleValuesInto(samples){for(const sampleValue of this.sampleValues){samples.push(sampleValue);}} 7282canAddHistogram(other){if(this.unit!==other.unit){return false;} 7283if(this.binBoundariesDict_===other.binBoundariesDict_){return true;} 7284if(this.binBoundariesDict_.length!==other.binBoundariesDict_.length){return false;} 7285for(let i=0;i<this.binBoundariesDict_.length;++i){const slice=this.binBoundariesDict_[i];const otherSlice=other.binBoundariesDict_[i];if(slice instanceof Array){if(!(otherSlice instanceof Array)){return false;} 7286if(slice[0]!==otherSlice[0]||!tr.b.math.approximately(slice[1],otherSlice[1])||slice[2]!==otherSlice[2]){return false;}}else{if(otherSlice instanceof Array){return false;} 7287if(!tr.b.math.approximately(slice,otherSlice)){return false;}}} 7288return true;} 7289addHistogram(other){if(!this.canAddHistogram(other)){throw new Error('Merging incompatible Histograms');} 7290tr.b.math.Statistics.mergeSampledStreams(this.nanDiagnosticMaps,this.numNans,other.nanDiagnosticMaps,other.numNans,MAX_DIAGNOSTIC_MAPS);tr.b.math.Statistics.mergeSampledStreams(this.sampleValues,this.numValues+this.numNans,other.sampleValues,other.numValues+other.numNans,(this.maxNumSampleValues+other.maxNumSampleValues)/2);this.numNans+=other.numNans;if(other.running_!==undefined){if(this.running_===undefined){this.running_=new tr.b.math.RunningStatistics();} 7291this.running_=this.running_.merge(other.running_);} 7292for(let i=0;i<this.allBins.length;++i){let bin=this.allBins[i];if(bin.count===0){bin=new HistogramBin(bin.range);this.allBins[i]=bin;} 7293bin.addBin(other.allBins[i]);} 7294let mergedFrom=this.diagnostics.get(tr.v.d.MERGED_FROM_DIAGNOSTIC_KEY);if(!mergedFrom){mergedFrom=new tr.v.d.RelatedHistogramSet();this.diagnostics.set(tr.v.d.MERGED_FROM_DIAGNOSTIC_KEY,mergedFrom);} 7295mergedFrom.add(other);let mergedTo=other.diagnostics.get(tr.v.d.MERGED_TO_DIAGNOSTIC_KEY);if(!mergedTo){mergedTo=new tr.v.d.RelatedHistogramSet();other.diagnostics.set(tr.v.d.MERGED_TO_DIAGNOSTIC_KEY,mergedTo);} 7296mergedTo.add(this);this.diagnostics.addDiagnostics(other.diagnostics);for(const[stat,option]of other.summaryOptions){if(stat==='percentile'){const percentiles=this.summaryOptions.get(stat);for(const percent of option){if(!percentiles.includes(percent))percentiles.push(percent);}}else if(stat==='iprs'){const thisIprs=this.summaryOptions.get(stat);for(const ipr of option){let found=false;for(const thisIpr of thisIprs){found=ipr.equals(thisIpr);if(found)break;} 7297if(!found)thisIprs.push(ipr);}}else if(option&&!this.summaryOptions.get(stat)){this.summaryOptions.set(stat,true);}}} 7298customizeSummaryOptions(summaryOptions){for(const[key,value]of Object.entries(summaryOptions)){this.summaryOptions.set(key,value);}} 7299getStatisticScalar(statName,opt_referenceHistogram,opt_mwu){if(statName==='avg'){if(this.running_===undefined)return undefined;return new tr.b.Scalar(this.unit,this.average);} 7300if(statName==='std'){if(this.standardDeviation===undefined)return undefined;return new tr.b.Scalar(this.unit,this.standardDeviation);} 7301if(statName==='geometricMean'){return new tr.b.Scalar(this.unit,this.geometricMean);} 7302if(statName==='min'||statName==='max'||statName==='sum'){if(this.running_===undefined){this.running_=new tr.b.math.RunningStatistics();} 7303return new tr.b.Scalar(this.unit,this.running_[statName]);} 7304if(statName==='nans'){return new tr.b.Scalar(tr.b.Unit.byName.count_smallerIsBetter,this.numNans);} 7305if(statName==='count'){return new tr.b.Scalar(tr.b.Unit.byName.count_smallerIsBetter,this.numValues);} 7306if(statName.substr(0,4)==='pct_'){const percent=percentFromString(statName.substr(4));if(this.numValues===0)return undefined;const percentile=this.getApproximatePercentile(percent);return new tr.b.Scalar(this.unit,percentile);} 7307if(statName.substr(0,4)==='ipr_'){let lower=percentFromString(statName.substr(4,3));let upper=percentFromString(statName.substr(8));if(lower>=upper){throw new Error('Invalid inter-percentile range: '+statName);} 7308lower=this.getApproximatePercentile(lower);upper=this.getApproximatePercentile(upper);return new tr.b.Scalar(this.unit,upper-lower);} 7309if(!this.canCompare(opt_referenceHistogram)){throw new Error('Cannot compute '+statName+' when histograms are not comparable');} 7310const suffix=tr.b.Unit.nameSuffixForImprovementDirection(this.unit.improvementDirection);const deltaIndex=statName.indexOf(DELTA);if(deltaIndex>=0){const baseStatName=statName.substr(deltaIndex+1);const thisStat=this.getStatisticScalar(baseStatName);const otherStat=opt_referenceHistogram.getStatisticScalar(baseStatName);const deltaValue=thisStat.value-otherStat.value;if(statName[0]==='%'){return new tr.b.Scalar(tr.b.Unit.byName['normalizedPercentageDelta'+suffix],deltaValue/otherStat.value);} 7311return new tr.b.Scalar(thisStat.unit.correspondingDeltaUnit,deltaValue);} 7312if(statName===Z_SCORE_NAME){return new tr.b.Scalar(tr.b.Unit.byName['sigmaDelta'+suffix],(this.average-opt_referenceHistogram.average)/opt_referenceHistogram.standardDeviation);} 7313const mwu=opt_mwu||tr.b.math.Statistics.mwu(this.sampleValues,opt_referenceHistogram.sampleValues);if(statName===P_VALUE_NAME){return new tr.b.Scalar(tr.b.Unit.byName.unitlessNumber,mwu.p);} 7314if(statName===U_STATISTIC_NAME){return new tr.b.Scalar(tr.b.Unit.byName.unitlessNumber,mwu.U);} 7315throw new Error('Unrecognized statistic name: '+statName);} 7316get statisticsNames(){const statisticsNames=new Set();for(const[statName,option]of this.summaryOptions){if(statName==='percentile'){for(const pctile of option){statisticsNames.add('pct_'+tr.v.percentToString(pctile));}}else if(statName==='iprs'){for(const range of option){statisticsNames.add('ipr_'+tr.v.percentToString(range.min,true)+'_'+tr.v.percentToString(range.max,true));}}else if(option){statisticsNames.add(statName);}} 7317return statisticsNames;} 7318canCompare(other){return other instanceof Histogram&&this.unit===other.unit&&this.numValues>0&&other.numValues>0;} 7319getAvailableStatisticName(statName,opt_referenceHist){if(this.canCompare(opt_referenceHist))return statName;if(statName===Z_SCORE_NAME||statName===P_VALUE_NAME||statName===U_STATISTIC_NAME){return'avg';} 7320const deltaIndex=statName.indexOf(DELTA);if(deltaIndex<0)return statName;return statName.substr(deltaIndex+1);} 7321static getDeltaStatisticsNames(statNames){const deltaNames=[];for(const statName of statNames){deltaNames.push(`${DELTA}${statName}`);deltaNames.push(`%${DELTA}${statName}`);} 7322return deltaNames.concat([Z_SCORE_NAME,P_VALUE_NAME,U_STATISTIC_NAME]);} 7323get statisticsScalars(){const results=new Map();for(const statName of this.statisticsNames){const scalar=this.getStatisticScalar(statName);if(scalar===undefined)continue;results.set(statName,scalar);} 7324return results;} 7325get sampleValues(){return this.sampleValues_;} 7326clone(){const binBoundaries=HistogramBinBoundaries.fromDict(this.binBoundariesDict_);const hist=new Histogram(this.name,this.unit,binBoundaries);for(const[stat,option]of this.summaryOptions){if(stat==='percentile'||stat==='iprs'){hist.summaryOptions.set(stat,Array.from(option));}else{hist.summaryOptions.set(stat,option);}} 7327hist.addHistogram(this);return hist;} 7328rebin(newBoundaries){const rebinned=new tr.v.Histogram(this.name,this.unit,newBoundaries);rebinned.description=this.description;for(const sample of this.sampleValues){rebinned.addSample(sample);} 7329rebinned.running_=this.running_;for(const[name,diagnostic]of this.diagnostics){rebinned.diagnostics.set(name,diagnostic);} 7330for(const[stat,option]of this.summaryOptions){if(stat==='percentile'){rebinned.summaryOptions.set(stat,Array.from(option));}else{rebinned.summaryOptions.set(stat,option);}} 7331return rebinned;} 7332asDict(){const dict={};dict.name=this.name;dict.unit=this.unit.asJSON();dict.guid=this.guid;if(this.binBoundariesDict_!==undefined){dict.binBoundaries=this.binBoundariesDict_;} 7333if(this.shortName){dict.shortName=this.shortName;} 7334if(this.description){dict.description=this.description;} 7335if(this.diagnostics.size){dict.diagnostics=this.diagnostics.asDict();} 7336if(this.maxNumSampleValues!==this.defaultMaxNumSampleValues_){dict.maxNumSampleValues=this.maxNumSampleValues;} 7337if(this.numNans){dict.numNans=this.numNans;} 7338if(this.nanDiagnosticMaps.length){dict.nanDiagnostics=this.nanDiagnosticMaps.map(dm=>dm.asDict());} 7339if(this.numValues){dict.sampleValues=this.sampleValues.slice();dict.running=this.running_.asDict();dict.allBins=this.allBinsAsDict_();} 7340const summaryOptions={};let anyOverriddenSummaryOptions=false;for(const[name,value]of this.summaryOptions){let option;if(name==='percentile'){if(value.length===0)continue;option=Array.from(value);}else if(name==='iprs'){if(value.length===0)continue;option=value.map(r=>[r.min,r.max]);}else if(value===DEFAULT_SUMMARY_OPTIONS.get(name)){continue;}else{option=value;} 7341summaryOptions[name]=option;anyOverriddenSummaryOptions=true;} 7342if(anyOverriddenSummaryOptions){dict.summaryOptions=summaryOptions;} 7343return dict;} 7344allBinsAsDict_(){const numBins=this.allBins.length;let emptyBins=0;for(let i=0;i<numBins;++i){if(this.allBins[i].count===0){++emptyBins;}} 7345if(emptyBins===numBins){return undefined;} 7346if(emptyBins>(numBins/2)){const allBinsDict={};for(let i=0;i<numBins;++i){const bin=this.allBins[i];if(bin.count>0){allBinsDict[i]=bin.asDict();}} 7347return allBinsDict;} 7348const allBinsArray=[];for(let i=0;i<numBins;++i){allBinsArray.push(this.allBins[i].asDict());} 7349return allBinsArray;} 7350get defaultMaxNumSampleValues_(){return DEFAULT_SAMPLE_VALUES_PER_BIN*Math.max(this.allBins.length,DEFAULT_REBINNED_COUNT);}} 7351Histogram.AVERAGE_ONLY_SUMMARY_OPTIONS={count:false,max:false,min:false,std:false,sum:false,};const HISTOGRAM_BIN_BOUNDARIES_CACHE=new Map();class HistogramBinBoundaries{static createLinear(min,max,numBins){return new HistogramBinBoundaries(min).addLinearBins(max,numBins);} 7352static createExponential(min,max,numBins){return new HistogramBinBoundaries(min).addExponentialBins(max,numBins);} 7353static createWithBoundaries(binBoundaries){const builder=new HistogramBinBoundaries(binBoundaries[0]);for(const boundary of binBoundaries.slice(1)){builder.addBinBoundary(boundary);} 7354return builder;} 7355constructor(minBinBoundary){this.builder_=[minBinBoundary];this.range_=new tr.b.math.Range();this.range_.addValue(minBinBoundary);this.binRanges_=undefined;this.bins_=undefined;} 7356get range(){return this.range_;} 7357asDict(){if(this.builder_.length===1&&this.builder_[0]===Number.MAX_VALUE){return undefined;} 7358return this.builder_;} 7359pushBuilderSlice_(slice){this.builder_.push(slice);this.builder_=this.builder_.slice();} 7360static fromDict(dict){if(dict===undefined){return HistogramBinBoundaries.SINGULAR;} 7361const cacheKey=JSON.stringify(dict);if(HISTOGRAM_BIN_BOUNDARIES_CACHE.has(cacheKey)){return HISTOGRAM_BIN_BOUNDARIES_CACHE.get(cacheKey);} 7362const binBoundaries=new HistogramBinBoundaries(dict[0]);for(const slice of dict.slice(1)){if(!(slice instanceof Array)){binBoundaries.addBinBoundary(slice);continue;} 7363switch(slice[0]){case HistogramBinBoundaries.SLICE_TYPE.LINEAR:binBoundaries.addLinearBins(slice[1],slice[2]);break;case HistogramBinBoundaries.SLICE_TYPE.EXPONENTIAL:binBoundaries.addExponentialBins(slice[1],slice[2]);break;default:throw new Error('Unrecognized HistogramBinBoundaries slice type');}} 7364HISTOGRAM_BIN_BOUNDARIES_CACHE.set(cacheKey,binBoundaries);return binBoundaries;} 7365get bins(){if(this.bins_===undefined){this.buildBins_();} 7366return this.bins_;} 7367buildBins_(){this.bins_=this.binRanges.map(r=>new HistogramBin(r));} 7368get binRanges(){if(this.binRanges_===undefined){this.buildBinRanges_();} 7369return this.binRanges_;} 7370buildBinRanges_(){if(typeof this.builder_[0]!=='number'){throw new Error('Invalid start of builder_');} 7371this.binRanges_=[];let prevBoundary=this.builder_[0];if(prevBoundary>-Number.MAX_VALUE){this.binRanges_.push(tr.b.math.Range.fromExplicitRange(-Number.MAX_VALUE,prevBoundary));} 7372for(const slice of this.builder_.slice(1)){if(!(slice instanceof Array)){this.binRanges_.push(tr.b.math.Range.fromExplicitRange(prevBoundary,slice));prevBoundary=slice;continue;} 7373const nextMaxBinBoundary=slice[1];const binCount=slice[2];const sliceMinBinBoundary=prevBoundary;switch(slice[0]){case HistogramBinBoundaries.SLICE_TYPE.LINEAR:{const binWidth=(nextMaxBinBoundary-prevBoundary)/binCount;for(let i=1;i<binCount;i++){const boundary=sliceMinBinBoundary+i*binWidth;this.binRanges_.push(tr.b.math.Range.fromExplicitRange(prevBoundary,boundary));prevBoundary=boundary;} 7374break;} 7375case HistogramBinBoundaries.SLICE_TYPE.EXPONENTIAL:{const binExponentWidth=Math.log(nextMaxBinBoundary/prevBoundary)/binCount;for(let i=1;i<binCount;i++){const boundary=sliceMinBinBoundary*Math.exp(i*binExponentWidth);this.binRanges_.push(tr.b.math.Range.fromExplicitRange(prevBoundary,boundary));prevBoundary=boundary;} 7376break;} 7377default:throw new Error('Unrecognized HistogramBinBoundaries slice type');} 7378this.binRanges_.push(tr.b.math.Range.fromExplicitRange(prevBoundary,nextMaxBinBoundary));prevBoundary=nextMaxBinBoundary;} 7379if(prevBoundary<Number.MAX_VALUE){this.binRanges_.push(tr.b.math.Range.fromExplicitRange(prevBoundary,Number.MAX_VALUE));}} 7380addBinBoundary(nextMaxBinBoundary){if(nextMaxBinBoundary<=this.range.max){throw new Error('The added max bin boundary must be larger than '+'the current max boundary');} 7381this.binRanges_=undefined;this.bins_=undefined;this.pushBuilderSlice_(nextMaxBinBoundary);this.range.addValue(nextMaxBinBoundary);return this;} 7382addLinearBins(nextMaxBinBoundary,binCount){if(binCount<=0){throw new Error('Bin count must be positive');} 7383if(nextMaxBinBoundary<=this.range.max){throw new Error('The new max bin boundary must be greater than '+'the previous max bin boundary');} 7384this.binRanges_=undefined;this.bins_=undefined;this.pushBuilderSlice_([HistogramBinBoundaries.SLICE_TYPE.LINEAR,nextMaxBinBoundary,binCount]);this.range.addValue(nextMaxBinBoundary);return this;} 7385addExponentialBins(nextMaxBinBoundary,binCount){if(binCount<=0){throw new Error('Bin count must be positive');} 7386if(this.range.max<=0){throw new Error('Current max bin boundary must be positive');} 7387if(this.range.max>=nextMaxBinBoundary){throw new Error('The last added max boundary must be greater than '+'the current max boundary boundary');} 7388this.binRanges_=undefined;this.bins_=undefined;this.pushBuilderSlice_([HistogramBinBoundaries.SLICE_TYPE.EXPONENTIAL,nextMaxBinBoundary,binCount]);this.range.addValue(nextMaxBinBoundary);return this;}} 7389HistogramBinBoundaries.SLICE_TYPE={LINEAR:0,EXPONENTIAL:1,};HistogramBinBoundaries.SINGULAR=new HistogramBinBoundaries(Number.MAX_VALUE);DEFAULT_BOUNDARIES_FOR_UNIT.set(tr.b.Unit.byName.timeDurationInMs.unitName,HistogramBinBoundaries.createExponential(1e-3,1e6,1e2));DEFAULT_BOUNDARIES_FOR_UNIT.set(tr.b.Unit.byName.timeStampInMs.unitName,HistogramBinBoundaries.createLinear(0,1e10,1e3));DEFAULT_BOUNDARIES_FOR_UNIT.set(tr.b.Unit.byName.normalizedPercentage.unitName,HistogramBinBoundaries.createLinear(0,1.0,20));DEFAULT_BOUNDARIES_FOR_UNIT.set(tr.b.Unit.byName.sizeInBytes.unitName,HistogramBinBoundaries.createExponential(1,1e12,1e2));DEFAULT_BOUNDARIES_FOR_UNIT.set(tr.b.Unit.byName.energyInJoules.unitName,HistogramBinBoundaries.createExponential(1e-3,1e3,50));DEFAULT_BOUNDARIES_FOR_UNIT.set(tr.b.Unit.byName.powerInWatts.unitName,HistogramBinBoundaries.createExponential(1e-3,1,50));DEFAULT_BOUNDARIES_FOR_UNIT.set(tr.b.Unit.byName.unitlessNumber.unitName,HistogramBinBoundaries.createExponential(1e-3,1e3,50));DEFAULT_BOUNDARIES_FOR_UNIT.set(tr.b.Unit.byName.count.unitName,HistogramBinBoundaries.createExponential(1,1e3,20));DEFAULT_BOUNDARIES_FOR_UNIT.set(tr.b.Unit.byName.sigma.unitName,HistogramBinBoundaries.createLinear(-5,5,50));return{DEFAULT_REBINNED_COUNT,DELTA,Histogram,HistogramBinBoundaries,P_VALUE_NAME,U_STATISTIC_NAME,Z_SCORE_NAME,percentFromString,percentToString,};});'use strict';tr.exportTo('tr.v.ui',function(){Polymer({is:'tr-v-ui-scalar-context-controller',created(){this.host_=undefined;this.groupToContext_=new Map();this.dirtyGroups_=new Set();},attached(){if(this.host_){throw new Error('Scalar context controller is already attached to a host');} 7390const host=findParentOrHost(this);if(host.__scalarContextController){throw new Error('Multiple scalar context controllers attached to this host');} 7391host.__scalarContextController=this;this.host_=host;},detached(){if(!this.host_){throw new Error('Scalar context controller is not attached to a host');} 7392if(this.host_.__scalarContextController!==this){throw new Error('Scalar context controller is not attached to its host');} 7393delete this.host_.__scalarContextController;this.host_=undefined;},getContext(group){return this.groupToContext_.get(group);},onScalarSpanAdded(group,span){let context=this.groupToContext_.get(group);if(context===undefined){context={spans:new Set(),range:new tr.b.math.Range()};this.groupToContext_.set(group,context);} 7394if(context.spans.has(span)){throw new Error('Scalar span already registered with group: '+group);} 7395context.spans.add(span);this.markGroupDirtyAndScheduleUpdate_(group);},onScalarSpanRemoved(group,span){const context=this.groupToContext_.get(group);if(!context.spans.has(span)){throw new Error('Scalar span not registered with group: '+group);} 7396context.spans.delete(span);this.markGroupDirtyAndScheduleUpdate_(group);},onScalarSpanUpdated(group,span){const context=this.groupToContext_.get(group);if(!context.spans.has(span)){throw new Error('Scalar span not registered with group: '+group);} 7397this.markGroupDirtyAndScheduleUpdate_(group);},markGroupDirtyAndScheduleUpdate_(group){const alreadyDirty=this.dirtyGroups_.size>0;this.dirtyGroups_.add(group);if(!alreadyDirty){tr.b.requestAnimationFrameInThisFrameIfPossible(this.updateContext,this);}},updateContext(){const groups=this.dirtyGroups_;if(groups.size===0)return;this.dirtyGroups_=new Set();for(const group of groups){this.updateGroup_(group);} 7398const event=new tr.b.Event('context-updated');event.groups=groups;this.dispatchEvent(event);},updateGroup_(group){const context=this.groupToContext_.get(group);if(context.spans.size===0){this.groupToContext_.delete(group);return;} 7399context.range.reset();for(const span of context.spans){context.range.addValue(span.value);}}});function getScalarContextControllerForElement(element){while(element){if(element.__scalarContextController){return element.__scalarContextController;} 7400element=findParentOrHost(element);} 7401return undefined;} 7402function findParentOrHost(node){if(node.parentElement){return node.parentElement;} 7403while(Polymer.dom(node).parentNode){node=Polymer.dom(node).parentNode;} 7404return node.host;} 7405return{getScalarContextControllerForElement,};});'use strict';tr.exportTo('tr.v.ui',function(){function createScalarSpan(value,opt_config){if(value===undefined)return'';const config=opt_config||{};const ownerDocument=config.ownerDocument||document;const span=ownerDocument.createElement('tr-v-ui-scalar-span');let numericValue;if(value instanceof tr.b.Scalar){span.value=value;numericValue=value.value;}else if(value instanceof tr.v.Histogram){numericValue=value.average;if(numericValue===undefined)return'';span.setValueAndUnit(numericValue,value.unit);}else{const unit=config.unit;if(unit===undefined){throw new Error('Unit must be provided in config when value is a number');} 7406span.setValueAndUnit(value,unit);numericValue=value;} 7407if(config.context){span.context=config.context;} 7408if(config.customContextRange){span.customContextRange=config.customContextRange;} 7409if(config.leftAlign){span.leftAlign=true;} 7410if(config.inline){span.inline=true;} 7411if(config.significance!==undefined){span.significance=config.significance;} 7412if(config.contextGroup!==undefined){span.contextGroup=config.contextGroup;} 7413return span;} 7414return{createScalarSpan,};});'use strict';Polymer({is:'tr-v-ui-scalar-span',properties:{contextGroup:{type:String,reflectToAttribute:true,observer:'contextGroupChanged_'}},created(){this.value_=undefined;this.unit_=undefined;this.context_=undefined;this.warning_=undefined;this.significance_=tr.b.math.Statistics.Significance.DONT_CARE;this.shouldSearchForContextController_=false;this.lazyContextController_=undefined;this.onContextUpdated_=this.onContextUpdated_.bind(this);this.customContextRange_=undefined;},get significance(){return this.significance_;},set significance(s){this.significance_=s;this.updateContents_();},set contentTextDecoration(deco){this.$.content.style.textDecoration=deco;},get value(){return this.value_;},set value(value){if(value instanceof tr.b.Scalar){this.value_=value.value;this.unit_=value.unit;}else{this.value_=value;} 7415this.updateContents_();if(this.hasContext_(this.contextGroup)){this.contextController_.onScalarSpanUpdated(this.contextGroup,this);}else{this.updateSparkline_();}},get contextController_(){if(this.shouldSearchForContextController_){this.lazyContextController_=tr.v.ui.getScalarContextControllerForElement(this);this.shouldSearchForContextController_=false;} 7416return this.lazyContextController_;},hasContext_(contextGroup){return!!(contextGroup&&this.contextController_);},contextGroupChanged_(newContextGroup,oldContextGroup){this.detachFromContextControllerIfPossible_(oldContextGroup);if(!this.attachToContextControllerIfPossible_(newContextGroup)){this.onContextUpdated_();}},attachToContextControllerIfPossible_(contextGroup){if(!this.hasContext_(contextGroup))return false;this.contextController_.addEventListener('context-updated',this.onContextUpdated_);this.contextController_.onScalarSpanAdded(contextGroup,this);return true;},detachFromContextControllerIfPossible_(contextGroup){if(!this.hasContext_(contextGroup))return;this.contextController_.removeEventListener('context-updated',this.onContextUpdated_);this.contextController_.onScalarSpanRemoved(contextGroup,this);},attached(){tr.b.Unit.addEventListener('display-mode-changed',this.updateContents_.bind(this));this.shouldSearchForContextController_=true;this.attachToContextControllerIfPossible_(this.contextGroup);},detached(){tr.b.Unit.removeEventListener('display-mode-changed',this.updateContents_.bind(this));this.detachFromContextControllerIfPossible_(this.contextGroup);this.shouldSearchForContextController_=false;this.lazyContextController_=undefined;},onContextUpdated_(){this.updateSparkline_();},get context(){return this.context_;},set context(context){this.context_=context;this.updateContents_();},get unit(){return this.unit_;},set unit(unit){this.unit_=unit;this.updateContents_();this.updateSparkline_();},setValueAndUnit(value,unit){this.value_=value;this.unit_=unit;this.updateContents_();},get customContextRange(){return this.customContextRange_;},set customContextRange(customContextRange){this.customContextRange_=customContextRange;this.updateSparkline_();},get inline(){return Polymer.dom(this).classList.contains('inline');},set inline(inline){if(inline){Polymer.dom(this).classList.add('inline');}else{Polymer.dom(this).classList.remove('inline');}},get leftAlign(){return Polymer.dom(this).classList.contains('left-align');},set leftAlign(leftAlign){if(leftAlign){Polymer.dom(this).classList.add('left-align');}else{Polymer.dom(this).classList.remove('left-align');}},updateSparkline_(){Polymer.dom(this.$.sparkline).classList.remove('positive');Polymer.dom(this.$.sparkline).classList.remove('better');Polymer.dom(this.$.sparkline).classList.remove('worse');Polymer.dom(this.$.sparkline).classList.remove('same');this.$.sparkline.style.display='none';this.$.sparkline.style.left='0';this.$.sparkline.style.width='0';let range=this.customContextRange_;if(!range&&this.hasContext_(this.contextGroup)){const context=this.contextController_.getContext(this.contextGroup);if(context){range=context.range;}} 7417if(!range||range.isEmpty)return;const leftPoint=Math.min(range.min,0);const rightPoint=Math.max(range.max,0);const pointDistance=rightPoint-leftPoint;if(pointDistance===0){return;} 7418this.$.sparkline.style.display='block';let left;let width;if(this.value>0){width=Math.min(this.value,rightPoint);left=-leftPoint;Polymer.dom(this.$.sparkline).classList.add('positive');}else if(this.value<=0){width=-Math.max(this.value,leftPoint);left=(-leftPoint)-width;} 7419this.$.sparkline.style.left=this.buildSparklineStyle_(left/pointDistance,false);this.$.sparkline.style.width=this.buildSparklineStyle_(width/pointDistance,true);const changeClass=this.changeClassName_;if(changeClass){Polymer.dom(this.$.sparkline).classList.add(changeClass);}},buildSparklineStyle_(ratio,isWidth){let position='calc('+ratio+' * (100% - 1px)';if(isWidth){position+=' + 1px';} 7420position+=')';return position;},updateContents_(){Polymer.dom(this.$.content).textContent='';Polymer.dom(this.$.content).classList.remove('better');Polymer.dom(this.$.content).classList.remove('worse');Polymer.dom(this.$.content).classList.remove('same');this.$.insignificant.style.display='';this.$.significantly_better.style.display='';this.$.significantly_worse.style.display='';if(this.unit_===undefined)return;this.$.content.title='';Polymer.dom(this.$.content).textContent=this.unit_.format(this.value,this.context);this.updateDelta_();},updateDelta_(){let changeClass=this.changeClassName_;if(!changeClass){this.$.significance.style.display='none';return;} 7421this.$.significance.style.display='inline';let title;switch(changeClass){case'better':title='improvement';break;case'worse':title='regression';break;case'same':title='no change';break;default:throw new Error('Unknown change class: '+changeClass);} 7422Polymer.dom(this.$.content).classList.add(changeClass);switch(this.significance){case tr.b.math.Statistics.Significance.DONT_CARE:break;case tr.b.math.Statistics.Significance.INSIGNIFICANT:if(changeClass!=='same')title='insignificant '+title;this.$.insignificant.style.display='inline';changeClass='same';break;case tr.b.math.Statistics.Significance.SIGNIFICANT:if(changeClass==='same'){throw new Error('How can no change be significant?');} 7423this.$['significantly_'+changeClass].style.display='inline';title='significant '+title;break;default:throw new Error('Unknown significance '+this.significance);} 7424this.$.significance.title=title;this.$.content.title=title;},get changeClassName_(){if(!this.unit_||!this.unit_.isDelta)return undefined;switch(this.unit_.improvementDirection){case tr.b.ImprovementDirection.DONT_CARE:return undefined;case tr.b.ImprovementDirection.BIGGER_IS_BETTER:if(this.value===0)return'same';return this.value>0?'better':'worse';case tr.b.ImprovementDirection.SMALLER_IS_BETTER:if(this.value===0)return'same';return this.value<0?'better':'worse';default:throw new Error('Unknown improvement direction: '+ 7425this.unit_.improvementDirection);}},get warning(){return this.warning_;},set warning(warning){this.warning_=warning;const warningEl=this.$.warning;if(this.warning_){warningEl.title=warning;warningEl.style.display='inline';}else{warningEl.title='';warningEl.style.display='';}},get timestamp(){return this.value;},set timestamp(timestamp){if(timestamp instanceof tr.b.u.TimeStamp){this.value=timestamp;return;} 7426this.setValueAndUnit(timestamp,tr.b.u.Units.timeStampInMs);},get duration(){return this.value;},set duration(duration){if(duration instanceof tr.b.u.TimeDuration){this.value=duration;return;} 7427this.setValueAndUnit(duration,tr.b.u.Units.timeDurationInMs);}});'use strict';const URL_REGEX=/^https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)$/;function isTable(object){if(!(object instanceof Array)||(object.length<2))return false;for(const colName in object[0]){if(typeof colName!=='string')return false;} 7428for(let i=0;i<object.length;++i){if(!(object[i]instanceof Object))return false;for(const colName in object[i]){if(i&&(object[0][colName]===undefined))return false;const cellType=typeof object[i][colName];if(cellType!=='string'&&cellType!=='number')return false;} 7429if(i){for(const colName in object[0]){if(object[i][colName]===undefined)return false;}}} 7430return true;} 7431Polymer({is:'tr-ui-a-generic-object-view',ready(){this.object_=undefined;},get object(){return this.object_;},set object(object){this.object_=object;this.updateContents_();},updateContents_(){Polymer.dom(this.$.content).textContent='';this.appendElementsForType_('',this.object_,0,0,5,'');},appendElementsForType_(label,object,indent,depth,maxDepth,suffix){if(depth>maxDepth){this.appendSimpleText_(label,indent,'<recursion limit reached>',suffix);return;} 7432if(object===undefined){this.appendSimpleText_(label,indent,'undefined',suffix);return;} 7433if(object===null){this.appendSimpleText_(label,indent,'null',suffix);return;} 7434if(!(object instanceof Object)){const type=typeof object;if(type!=='string'){return this.appendSimpleText_(label,indent,object,suffix);} 7435let objectReplaced=false;if((object[0]==='{'&&object[object.length-1]==='}')||(object[0]==='['&&object[object.length-1]===']')){try{object=JSON.parse(object);objectReplaced=true;}catch(e){}} 7436if(!objectReplaced){if(object.includes('\n')){const lines=object.split('\n');lines.forEach(function(line,i){let text;let ioff;let ll;let ss;if(i===0){text='"'+line;ioff=0;ll=label;ss='';}else if(i<lines.length-1){text=line;ioff=1;ll='';ss='';}else{text=line+'"';ioff=1;ll='';ss=suffix;} 7437const el=this.appendSimpleText_(ll,indent+ioff*label.length+ioff,text,ss);el.style.whiteSpace='pre';return el;},this);return;} 7438if(object.match(URL_REGEX)){const link=document.createElement('a');link.href=object;link.textContent=object;this.appendElementWithLabel_(label,indent,link,suffix);return;} 7439this.appendSimpleText_(label,indent,'"'+object+'"',suffix);return;}} 7440if(object instanceof tr.model.ObjectSnapshot){const link=document.createElement('tr-ui-a-analysis-link');link.selection=new tr.model.EventSet(object);this.appendElementWithLabel_(label,indent,link,suffix);return;} 7441if(object instanceof tr.model.ObjectInstance){const link=document.createElement('tr-ui-a-analysis-link');link.selection=new tr.model.EventSet(object);this.appendElementWithLabel_(label,indent,link,suffix);return;} 7442if(object instanceof tr.b.math.Rect){this.appendSimpleText_(label,indent,object.toString(),suffix);return;} 7443if(object instanceof tr.b.Scalar){const el=this.ownerDocument.createElement('tr-v-ui-scalar-span');el.value=object;el.inline=true;this.appendElementWithLabel_(label,indent,el,suffix);return;} 7444if(object instanceof Array){this.appendElementsForArray_(label,object,indent,depth,maxDepth,suffix);return;} 7445this.appendElementsForObject_(label,object,indent,depth,maxDepth,suffix);},appendElementsForArray_(label,object,indent,depth,maxDepth,suffix){if(object.length===0){this.appendSimpleText_(label,indent,'[]',suffix);return;} 7446if(isTable(object)){const table=document.createElement('tr-ui-b-table');const columns=[];for(const colName of Object.keys(object[0])){let allStrings=true;let allNumbers=true;for(let i=0;i<object.length;++i){if(typeof(object[i][colName])!=='string'){allStrings=false;} 7447if(typeof(object[i][colName])!=='number'){allNumbers=false;} 7448if(!allStrings&&!allNumbers)break;} 7449const column={title:colName};column.value=function(row){return row[colName];};if(allStrings){column.cmp=function(x,y){return x[colName].localeCompare(y[colName]);};}else if(allNumbers){column.cmp=function(x,y){return x[colName]-y[colName];};} 7450columns.push(column);} 7451table.tableColumns=columns;table.tableRows=object;this.appendElementWithLabel_(label,indent,table,suffix);table.rebuild();return;} 7452this.appendElementsForType_(label+'[',object[0],indent,depth+1,maxDepth,object.length>1?',':']'+suffix);for(let i=1;i<object.length;i++){this.appendElementsForType_('',object[i],indent+label.length+1,depth+1,maxDepth,i<object.length-1?',':']'+suffix);} 7453return;},appendElementsForObject_(label,object,indent,depth,maxDepth,suffix){const keys=Object.keys(object);if(keys.length===0){this.appendSimpleText_(label,indent,'{}',suffix);return;} 7454this.appendElementsForType_(label+'{'+keys[0]+': ',object[keys[0]],indent,depth,maxDepth,keys.length>1?',':'}'+suffix);for(let i=1;i<keys.length;i++){this.appendElementsForType_(keys[i]+': ',object[keys[i]],indent+label.length+1,depth+1,maxDepth,i<keys.length-1?',':'}'+suffix);}},appendElementWithLabel_(label,indent,dataElement,suffix){const row=document.createElement('div');const indentSpan=document.createElement('span');indentSpan.style.whiteSpace='pre';for(let i=0;i<indent;i++){Polymer.dom(indentSpan).textContent+=' ';} 7455Polymer.dom(row).appendChild(indentSpan);const labelSpan=document.createElement('span');Polymer.dom(labelSpan).textContent=label;Polymer.dom(row).appendChild(labelSpan);Polymer.dom(row).appendChild(dataElement);const suffixSpan=document.createElement('span');Polymer.dom(suffixSpan).textContent=suffix;Polymer.dom(row).appendChild(suffixSpan);row.dataElement=dataElement;Polymer.dom(this.$.content).appendChild(row);},appendSimpleText_(label,indent,text,suffix){const el=this.ownerDocument.createElement('span');Polymer.dom(el).textContent=text;this.appendElementWithLabel_(label,indent,el,suffix);return el;}});'use strict';Polymer({is:'tr-ui-a-generic-object-view-with-label',ready(){this.labelEl_=document.createElement('div');this.genericObjectView_=document.createElement('tr-ui-a-generic-object-view');Polymer.dom(this.root).appendChild(this.labelEl_);Polymer.dom(this.root).appendChild(this.genericObjectView_);},get label(){return Polymer.dom(this.labelEl_).textContent;},set label(label){Polymer.dom(this.labelEl_).textContent=label;},get object(){return this.genericObjectView_.object;},set object(object){this.genericObjectView_.object=object;}});'use strict';tr.exportTo('tr.ui.analysis',function(){const ObjectSnapshotView=tr.ui.b.define('object-snapshot-view');ObjectSnapshotView.prototype={__proto__:HTMLDivElement.prototype,decorate(){this.objectSnapshot_=undefined;},get requiresTallView(){return true;},set modelEvent(obj){this.objectSnapshot=obj;},get modelEvent(){return this.objectSnapshot;},get objectSnapshot(){return this.objectSnapshot_;},set objectSnapshot(i){this.objectSnapshot_=i;this.updateContents();},updateContents(){throw new Error('Not implemented');}};const options=new tr.b.ExtensionRegistryOptions(tr.b.TYPE_BASED_REGISTRY_MODE);options.mandatoryBaseClass=ObjectSnapshotView;options.defaultMetadata={showInstances:true,showInTrackView:true};tr.b.decorateExtensionRegistry(ObjectSnapshotView,options);return{ObjectSnapshotView,};});'use strict';Polymer({is:'tr-ui-b-drag-handle',created(){this.lastMousePos_=0;this.onMouseMove_=this.onMouseMove_.bind(this);this.onMouseUp_=this.onMouseUp_.bind(this);this.addEventListener('mousedown',this.onMouseDown_);this.target_=undefined;this.horizontal=true;this.observer_=new WebKitMutationObserver(this.didTargetMutate_.bind(this));this.targetSizesByModeKey_={};},get modeKey_(){return this.target_.className===''?'.':this.target_.className;},get target(){return this.target_;},set target(target){this.observer_.disconnect();this.target_=target;if(!this.target_)return;this.observer_.observe(this.target_,{attributes:true,attributeFilter:['class']});},get horizontal(){return this.horizontal_;},set horizontal(h){this.horizontal_=h;if(this.horizontal_){this.className='horizontal-drag-handle';}else{this.className='vertical-drag-handle';}},get vertical(){return!this.horizontal_;},set vertical(v){this.horizontal=!v;},forceMutationObserverFlush_(){const records=this.observer_.takeRecords();if(records.length){this.didTargetMutate_(records);}},didTargetMutate_(e){const modeSize=this.targetSizesByModeKey_[this.modeKey_];if(modeSize!==undefined){this.setTargetSize_(modeSize);return;} 7456this.target_.style[this.targetStyleKey_]='';},get targetStyleKey_(){return this.horizontal_?'height':'width';},getTargetSize_(){const targetStyleKey=this.targetStyleKey_;if(!this.target_.style[targetStyleKey]){this.target_.style[targetStyleKey]=window.getComputedStyle(this.target_)[targetStyleKey];} 7457const size=parseInt(this.target_.style[targetStyleKey]);this.targetSizesByModeKey_[this.modeKey_]=size;return size;},setTargetSize_(s){this.target_.style[this.targetStyleKey_]=s+'px';this.targetSizesByModeKey_[this.modeKey_]=s;tr.b.dispatchSimpleEvent(this,'drag-handle-resize',true,false);},applyDelta_(delta){const curSize=this.getTargetSize_();let newSize;if(this.target_===this.nextElementSibling){newSize=curSize+delta;}else{newSize=curSize-delta;} 7458this.setTargetSize_(newSize);},onMouseMove_(e){const curMousePos=this.horizontal_?e.clientY:e.clientX;const delta=this.lastMousePos_-curMousePos;this.applyDelta_(delta);this.lastMousePos_=curMousePos;e.preventDefault();return true;},onMouseDown_(e){if(!this.target_)return;this.forceMutationObserverFlush_();this.lastMousePos_=this.horizontal_?e.clientY:e.clientX;document.addEventListener('mousemove',this.onMouseMove_);document.addEventListener('mouseup',this.onMouseUp_);e.preventDefault();return true;},onMouseUp_(e){document.removeEventListener('mousemove',this.onMouseMove_);document.removeEventListener('mouseup',this.onMouseUp_);e.preventDefault();}});'use strict';tr.exportTo('tr.ui.b',function(){function HotKey(dict){if(dict.eventType===undefined){throw new Error('eventType must be given');} 7459if(dict.keyCode===undefined&&dict.keyCodes===undefined){throw new Error('keyCode or keyCodes must be given');} 7460if(dict.keyCode!==undefined&&dict.keyCodes!==undefined){throw new Error('Only keyCode or keyCodes can be given');} 7461if(dict.callback===undefined){throw new Error('callback must be given');} 7462this.eventType_=dict.eventType;this.keyCodes_=[];if(dict.keyCode){this.pushKeyCode_(dict.keyCode);}else if(dict.keyCodes){dict.keyCodes.forEach(this.pushKeyCode_,this);} 7463this.useCapture_=!!dict.useCapture;this.callback_=dict.callback;this.thisArg_=dict.thisArg!==undefined?dict.thisArg:undefined;this.helpText_=dict.helpText!==undefined?dict.helpText:undefined;} 7464HotKey.prototype={get eventType(){return this.eventType_;},get keyCodes(){return this.keyCodes_;},get helpText(){return this.helpText_;},call(e){this.callback_.call(this.thisArg_,e);},pushKeyCode_(keyCode){this.keyCodes_.push(keyCode);}};return{HotKey,};});'use strict';Polymer({is:'tv-ui-b-hotkey-controller',created(){this.isAttached_=false;this.globalMode_=false;this.coupledToParentController_=undefined;this.curHost_=undefined;this.childControllers_=[];this.bubblingKeyDownHotKeys_={};this.capturingKeyDownHotKeys_={};this.bubblingKeyPressHotKeys_={};this.capturingKeyPressHotKeys_={};this.onBubblingKeyDown_=this.onKey_.bind(this,false);this.onCapturingKeyDown_=this.onKey_.bind(this,true);this.onBubblingKeyPress_=this.onKey_.bind(this,false);this.onCapturingKeyPress_=this.onKey_.bind(this,true);},attached(){this.isAttached_=true;const host=this.findHost_();if(host.__hotkeyController){throw new Error('Multiple hotkey controllers attached to this host');} 7465host.__hotkeyController=this;this.curHost_=host;let parentElement;if(host.parentElement){parentElement=host.parentElement;}else{parentElement=Polymer.dom(host).parentNode.host;} 7466const parentController=tr.b.getHotkeyControllerForElement(parentElement);if(parentController){this.coupledToParentController_=parentController;parentController.addChildController_(this);return;} 7467host.addEventListener('keydown',this.onBubblingKeyDown_,false);host.addEventListener('keydown',this.onCapturingKeyDown_,true);host.addEventListener('keypress',this.onBubblingKeyPress_,false);host.addEventListener('keypress',this.onCapturingKeyPress_,true);},detached(){this.isAttached_=false;const host=this.curHost_;if(!host)return;delete host.__hotkeyController;this.curHost_=undefined;if(this.coupledToParentController_){this.coupledToParentController_.removeChildController_(this);this.coupledToParentController_=undefined;return;} 7468host.removeEventListener('keydown',this.onBubblingKeyDown_,false);host.removeEventListener('keydown',this.onCapturingKeyDown_,true);host.removeEventListener('keypress',this.onBubblingKeyPress_,false);host.removeEventListener('keypress',this.onCapturingKeyPress_,true);},addChildController_(controller){const i=this.childControllers_.indexOf(controller);if(i!==-1){throw new Error('Controller already registered');} 7469this.childControllers_.push(controller);},removeChildController_(controller){const i=this.childControllers_.indexOf(controller);if(i===-1){throw new Error('Controller not registered');} 7470this.childControllers_.splice(i,1);return controller;},getKeyMapForEventType_(eventType,useCapture){if(eventType==='keydown'){if(!useCapture){return this.bubblingKeyDownHotKeys_;} 7471return this.capturingKeyDownHotKeys_;} 7472if(eventType==='keypress'){if(!useCapture){return this.bubblingKeyPressHotKeys_;} 7473return this.capturingKeyPressHotKeys_;} 7474throw new Error('Unsupported key event');},addHotKey(hotKey){if(!(hotKey instanceof tr.ui.b.HotKey)){throw new Error('hotKey must be a tr.ui.b.HotKey');} 7475const keyMap=this.getKeyMapForEventType_(hotKey.eventType,hotKey.useCapture);for(let i=0;i<hotKey.keyCodes.length;i++){const keyCode=hotKey.keyCodes[i];if(keyMap[keyCode]){throw new Error('Key is already bound for keyCode='+keyCode);}} 7476for(let i=0;i<hotKey.keyCodes.length;i++){const keyCode=hotKey.keyCodes[i];keyMap[keyCode]=hotKey;} 7477return hotKey;},removeHotKey(hotKey){if(!(hotKey instanceof tr.ui.b.HotKey)){throw new Error('hotKey must be a tr.ui.b.HotKey');} 7478const keyMap=this.getKeyMapForEventType_(hotKey.eventType,hotKey.useCapture);for(let i=0;i<hotKey.keyCodes.length;i++){const keyCode=hotKey.keyCodes[i];if(!keyMap[keyCode]){throw new Error('Key is not bound for keyCode='+keyCode);} 7479keyMap[keyCode]=hotKey;} 7480for(let i=0;i<hotKey.keyCodes.length;i++){const keyCode=hotKey.keyCodes[i];delete keyMap[keyCode];} 7481return hotKey;},get globalMode(){return this.globalMode_;},set globalMode(globalMode){const wasAttached=this.isAttached_;if(wasAttached){this.detached();} 7482this.globalMode_=!!globalMode;if(wasAttached){this.attached();}},get topmostConroller_(){if(this.coupledToParentController_){return this.coupledToParentController_.topmostConroller_;} 7483return this;},childRequestsGeneralFocus(child){const topmost=this.topmostConroller_;if(topmost.curHost_){if(topmost.curHost_.hasAttribute('tabIndex')){topmost.curHost_.focus();}else{if(document.activeElement){document.activeElement.blur();}}}else{if(document.activeElement){document.activeElement.blur();}}},childRequestsBlur(child){child.blur();const topmost=this.topmostConroller_;if(topmost.curHost_){topmost.curHost_.focus();}},findHost_(){if(this.globalMode_)return document.body;if(this.parentElement)return this.parentElement;if(!Polymer.dom(this).parentNode)return this.host;let node=this.parentNode;while(Polymer.dom(node).parentNode)node=Polymer.dom(node).parentNode;return node.host;},appendMatchingHotKeysTo_(matchedHotKeys,useCapture,e){const localKeyMap=this.getKeyMapForEventType_(e.type,useCapture);const localHotKey=localKeyMap[e.keyCode];if(localHotKey){matchedHotKeys.push(localHotKey);} 7484for(let i=0;i<this.childControllers_.length;i++){const controller=this.childControllers_[i];controller.appendMatchingHotKeysTo_(matchedHotKeys,useCapture,e);}},onKey_(useCapture,e){if(!useCapture&&e.path[0].tagName==='INPUT')return;let sortedControllers;const matchedHotKeys=[];this.appendMatchingHotKeysTo_(matchedHotKeys,useCapture,e);if(matchedHotKeys.length===0)return false;if(matchedHotKeys.length>1){throw new Error('More than one hotKey is currently unsupported');} 7485const hotKey=matchedHotKeys[0];let prevented=0;prevented|=hotKey.call(e);return!prevented&&e.defaultPrevented;}});'use strict';tr.exportTo('tr.b',function(){function getHotkeyControllerForElement(refElement){let curElement=refElement;while(curElement){if(curElement.tagName==='tv-ui-b-hotkey-controller'){return curElement;} 7486if(curElement.__hotkeyController){return curElement.__hotkeyController;} 7487if(curElement.parentElement){curElement=curElement.parentElement;continue;} 7488curElement=findHost(curElement);} 7489return undefined;} 7490function findHost(initialNode){let node=initialNode;while(Polymer.dom(node).parentNode){node=Polymer.dom(node).parentNode;} 7491return node.host;} 7492return{getHotkeyControllerForElement,};});'use strict';Polymer({is:'tr-ui-b-info-bar',ready(){this.messageEl_=this.$.message;this.buttonsEl_=this.$.buttons;this.message='';},get message(){return Polymer.dom(this.messageEl_).textContent;},set message(message){Polymer.dom(this.messageEl_).textContent=message;},get visible(){return!this.hidden;},set visible(visible){this.hidden=!visible;},removeAllButtons(){Polymer.dom(this.buttonsEl_).textContent='';},addButton(text,clickCallback){const button=document.createElement('button');Polymer.dom(button).textContent=text;button.addEventListener('click',clickCallback);Polymer.dom(this.buttonsEl_).appendChild(button);return button;}});'use strict';tr.exportTo('tr.ui.b',function(){const ContainerThatDecoratesItsChildren=tr.ui.b.define('div');ContainerThatDecoratesItsChildren.prototype={__proto__:HTMLDivElement.prototype,decorate(){this.observer_=new WebKitMutationObserver(this.didMutate_.bind(this));this.observer_.observe(this,{childList:true});Object.defineProperty(this,'textContent',{get:undefined,set:this.onSetTextContent_});},appendChild(x){HTMLDivElement.prototype.appendChild.call(this,x);this.didMutate_(this.observer_.takeRecords());},insertBefore(x,y){HTMLDivElement.prototype.insertBefore.call(this,x,y);this.didMutate_(this.observer_.takeRecords());},removeChild(x){HTMLDivElement.prototype.removeChild.call(this,x);this.didMutate_(this.observer_.takeRecords());},replaceChild(x,y){HTMLDivElement.prototype.replaceChild.call(this,x,y);this.didMutate_(this.observer_.takeRecords());},onSetTextContent_(textContent){if(textContent!==''){throw new Error('textContent can only be set to \'\'.');} 7493this.clear();},clear(){while(Polymer.dom(this).lastChild){HTMLDivElement.prototype.removeChild.call(this,Polymer.dom(this).lastChild);} 7494this.didMutate_(this.observer_.takeRecords());},didMutate_(records){this.beginDecorating_();for(let i=0;i<records.length;i++){const addedNodes=records[i].addedNodes;if(addedNodes){for(let j=0;j<addedNodes.length;j++){this.decorateChild_(addedNodes[j]);}} 7495const removedNodes=records[i].removedNodes;if(removedNodes){for(let j=0;j<removedNodes.length;j++){this.undecorateChild_(removedNodes[j]);}}} 7496this.doneDecoratingForNow_();},decorateChild_(child){throw new Error('Not implemented');},undecorateChild_(child){throw new Error('Not implemented');},beginDecorating_(){},doneDecoratingForNow_(){}};return{ContainerThatDecoratesItsChildren,};});'use strict';tr.exportTo('tr.ui.b',function(){const ListView=tr.ui.b.define('x-list-view',tr.ui.b.ContainerThatDecoratesItsChildren);ListView.prototype={__proto__:tr.ui.b.ContainerThatDecoratesItsChildren.prototype,decorate(){tr.ui.b.ContainerThatDecoratesItsChildren.prototype.decorate.call(this);Polymer.dom(this).classList.add('x-list-view');this.onItemClicked_=this.onItemClicked_.bind(this);this.onKeyDown_=this.onKeyDown_.bind(this);this.tabIndex=0;this.addEventListener('keydown',this.onKeyDown_);this.selectionChanged_=false;},decorateChild_(item){Polymer.dom(item).classList.add('list-item');item.addEventListener('click',this.onItemClicked_,true);Object.defineProperty(item,'selected',{configurable:true,get:()=>item.hasAttribute('selected'),set:value=>{const oldSelection=this.selectedElement;if(oldSelection&&oldSelection!==item&&value){Polymer.dom(this.selectedElement).removeAttribute('selected');} 7497if(value){Polymer.dom(item).setAttribute('selected','selected');}else{Polymer.dom(item).removeAttribute('selected');} 7498const newSelection=this.selectedElement;if(newSelection!==oldSelection){tr.b.dispatchSimpleEvent(this,'selection-changed',false);}},});},undecorateChild_(item){this.selectionChanged_|=item.selected;Polymer.dom(item).classList.remove('list-item');item.removeEventListener('click',this.onItemClicked_);delete item.selected;},beginDecorating_(){this.selectionChanged_=false;},doneDecoratingForNow_(){if(this.selectionChanged_){tr.b.dispatchSimpleEvent(this,'selection-changed',false);}},get selectedElement(){const el=Polymer.dom(this).querySelector('.list-item[selected]');if(!el)return undefined;return el;},set selectedElement(el){if(!el){if(this.selectedElement){this.selectedElement.selected=false;} 7499return;} 7500if(el.parentElement!==this){throw new Error('Can only select elements that are children of this list view');} 7501el.selected=true;},getElementByIndex(index){return Polymer.dom(this).querySelector('.list-item:nth-child('+index+')');},clear(){const changed=this.selectedElement!==undefined;tr.ui.b.ContainerThatDecoratesItsChildren.prototype.clear.call(this);if(changed){tr.b.dispatchSimpleEvent(this,'selection-changed',false);}},onItemClicked_(e){const currentSelectedElement=this.selectedElement;if(currentSelectedElement){Polymer.dom(currentSelectedElement).removeAttribute('selected');} 7502let element=e.target;while(element.parentElement!==this){element=element.parentElement;} 7503if(element!==currentSelectedElement){Polymer.dom(element).setAttribute('selected','selected');} 7504tr.b.dispatchSimpleEvent(this,'selection-changed',false);},onKeyDown_(e){if(this.selectedElement===undefined)return;if(e.keyCode===38){const prev=Polymer.dom(this.selectedElement).previousSibling;if(prev){prev.selected=true;tr.ui.b.scrollIntoViewIfNeeded(prev);e.preventDefault();return true;}}else if(e.keyCode===40){const next=Polymer.dom(this.selectedElement).nextSibling;if(next){next.selected=true;tr.ui.b.scrollIntoViewIfNeeded(next);e.preventDefault();return true;}}},addItem(textContent){const item=document.createElement('div');Polymer.dom(item).textContent=textContent;Polymer.dom(this).appendChild(item);return item;}};return{ListView,};});'use strict';tr.exportTo('tr.ui.b',function(){const MOUSE_SELECTOR_MODE={};MOUSE_SELECTOR_MODE.SELECTION=0x1;MOUSE_SELECTOR_MODE.PANSCAN=0x2;MOUSE_SELECTOR_MODE.ZOOM=0x4;MOUSE_SELECTOR_MODE.TIMING=0x8;MOUSE_SELECTOR_MODE.ROTATE=0x10;MOUSE_SELECTOR_MODE.ALL_MODES=0x1F;const MOUSE_SELECTOR_MODE_INFOS={};MOUSE_SELECTOR_MODE_INFOS[MOUSE_SELECTOR_MODE.PANSCAN]={mode:MOUSE_SELECTOR_MODE.PANSCAN,title:'pan',eventNames:{enter:'enterpan',begin:'beginpan',update:'updatepan',end:'endpan',exit:'exitpan'},activeBackgroundPosition:'-30px -10px',defaultBackgroundPosition:'0 -10px'};MOUSE_SELECTOR_MODE_INFOS[MOUSE_SELECTOR_MODE.SELECTION]={mode:MOUSE_SELECTOR_MODE.SELECTION,title:'selection',eventNames:{enter:'enterselection',begin:'beginselection',update:'updateselection',end:'endselection',exit:'exitselection'},activeBackgroundPosition:'-30px -40px',defaultBackgroundPosition:'0 -40px'};MOUSE_SELECTOR_MODE_INFOS[MOUSE_SELECTOR_MODE.ZOOM]={mode:MOUSE_SELECTOR_MODE.ZOOM,title:'zoom',eventNames:{enter:'enterzoom',begin:'beginzoom',update:'updatezoom',end:'endzoom',exit:'exitzoom'},activeBackgroundPosition:'-30px -70px',defaultBackgroundPosition:'0 -70px'};MOUSE_SELECTOR_MODE_INFOS[MOUSE_SELECTOR_MODE.TIMING]={mode:MOUSE_SELECTOR_MODE.TIMING,title:'timing',eventNames:{enter:'entertiming',begin:'begintiming',update:'updatetiming',end:'endtiming',exit:'exittiming'},activeBackgroundPosition:'-30px -100px',defaultBackgroundPosition:'0 -100px'};MOUSE_SELECTOR_MODE_INFOS[MOUSE_SELECTOR_MODE.ROTATE]={mode:MOUSE_SELECTOR_MODE.ROTATE,title:'rotate',eventNames:{enter:'enterrotate',begin:'beginrotate',update:'updaterotate',end:'endrotate',exit:'exitrotate'},activeBackgroundPosition:'-30px -130px',defaultBackgroundPosition:'0 -130px'};return{MOUSE_SELECTOR_MODE_INFOS,MOUSE_SELECTOR_MODE,};});'use strict';Polymer({is:'tr-ui-b-mouse-mode-icon',properties:{modeName:{type:String,reflectToAttribute:true,observer:'modeNameChanged'},},created(){this.active_=false;this.acceleratorKey_=undefined;},ready(){this.updateContents_();},get mode(){return tr.ui.b.MOUSE_SELECTOR_MODE[this.modeName];},set mode(mode){const modeInfo=tr.ui.b.MOUSE_SELECTOR_MODE_INFOS[mode];const modeName=tr.b.findFirstKeyInDictMatching(tr.ui.b.MOUSE_SELECTOR_MODE,function(modeName,candidateMode){return candidateMode===mode;});if(modeName===undefined){throw new Error('Unknown mode');} 7505this.modeName=modeName;},modeNameChanged(){this.updateContents_();},get active(){return this.active_;},set active(active){this.active_=!!active;if(this.active_){Polymer.dom(this).classList.add('active');}else{Polymer.dom(this).classList.remove('active');} 7506this.updateContents_();},get acceleratorKey(){return this.acceleratorKey_;},set acceleratorKey(acceleratorKey){this.acceleratorKey_=acceleratorKey;this.updateContents_();},updateContents_(){if(this.modeName===undefined)return;const mode=this.mode;if(mode===undefined){throw new Error('Invalid mode');} 7507const modeInfo=tr.ui.b.MOUSE_SELECTOR_MODE_INFOS[mode];if(!modeInfo){throw new Error('Invalid mode');} 7508let title=modeInfo.title;if(this.acceleratorKey_){title=title+' ('+this.acceleratorKey_+')';} 7509this.title=title;let bp;if(this.active_){bp=modeInfo.activeBackgroundPosition;}else{bp=modeInfo.defaultBackgroundPosition;} 7510this.style.backgroundPosition=bp;}});'use strict';tr.exportTo('tr.ui.b',function(){function MouseTracker(opt_targetElement){this.onMouseDown_=this.onMouseDown_.bind(this);this.onMouseMove_=this.onMouseMove_.bind(this);this.onMouseUp_=this.onMouseUp_.bind(this);this.targetElement=opt_targetElement;} 7511MouseTracker.prototype={get targetElement(){return this.targetElement_;},set targetElement(targetElement){if(this.targetElement_){this.targetElement_.removeEventListener('mousedown',this.onMouseDown_);} 7512this.targetElement_=targetElement;if(this.targetElement_){this.targetElement_.addEventListener('mousedown',this.onMouseDown_);}},onMouseDown_(e){if(e.button!==0)return true;e=this.remakeEvent_(e,'mouse-tracker-start');this.targetElement_.dispatchEvent(e);document.addEventListener('mousemove',this.onMouseMove_);document.addEventListener('mouseup',this.onMouseUp_);this.targetElement_.addEventListener('blur',this.onMouseUp_);this.savePreviousUserSelect_=document.body.style['-webkit-user-select'];document.body.style['-webkit-user-select']='none';e.preventDefault();return true;},onMouseMove_(e){e=this.remakeEvent_(e,'mouse-tracker-move');this.targetElement_.dispatchEvent(e);},onMouseUp_(e){document.removeEventListener('mousemove',this.onMouseMove_);document.removeEventListener('mouseup',this.onMouseUp_);this.targetElement_.removeEventListener('blur',this.onMouseUp_);document.body.style['-webkit-user-select']=this.savePreviousUserSelect_;e=this.remakeEvent_(e,'mouse-tracker-end');this.targetElement_.dispatchEvent(e);},remakeEvent_(e,newType){const remade=new tr.b.Event(newType,true,true);remade.x=e.x;remade.y=e.y;remade.offsetX=e.offsetX;remade.offsetY=e.offsetY;remade.clientX=e.clientX;remade.clientY=e.clientY;return remade;}};function trackMouseMovesUntilMouseUp(mouseMoveHandler,opt_mouseUpHandler,opt_keyUpHandler){function cleanupAndDispatchToMouseUp(e){document.removeEventListener('mousemove',mouseMoveHandler);if(opt_keyUpHandler){document.removeEventListener('keyup',opt_keyUpHandler);} 7513document.removeEventListener('mouseup',cleanupAndDispatchToMouseUp);if(opt_mouseUpHandler){opt_mouseUpHandler(e);}} 7514document.addEventListener('mousemove',mouseMoveHandler);if(opt_keyUpHandler){document.addEventListener('keyup',opt_keyUpHandler);} 7515document.addEventListener('mouseup',cleanupAndDispatchToMouseUp);} 7516return{MouseTracker,trackMouseMovesUntilMouseUp,};});'use strict';tr.exportTo('tr.ui.b',function(){const MOUSE_SELECTOR_MODE=tr.ui.b.MOUSE_SELECTOR_MODE;const MOUSE_SELECTOR_MODE_INFOS=tr.ui.b.MOUSE_SELECTOR_MODE_INFOS;const MIN_MOUSE_SELECTION_DISTANCE=4;const MODIFIER={SHIFT:0x1,SPACE:0x2,CMD_OR_CTRL:0x4};function isCmdOrCtrlPressed(event){if(tr.isMac)return event.metaKey;return event.ctrlKey;} 7517Polymer({is:'tr-ui-b-mouse-mode-selector',created(){this.supportedModeMask_=MOUSE_SELECTOR_MODE.ALL_MODES;this.initialRelativeMouseDownPos_={x:0,y:0};this.defaultMode_=MOUSE_SELECTOR_MODE.PANSCAN;this.settingsKey_=undefined;this.mousePos_={x:0,y:0};this.mouseDownPos_={x:0,y:0};this.onMouseDown_=this.onMouseDown_.bind(this);this.onMouseMove_=this.onMouseMove_.bind(this);this.onMouseUp_=this.onMouseUp_.bind(this);this.onKeyDown_=this.onKeyDown_.bind(this);this.onKeyUp_=this.onKeyUp_.bind(this);this.mode_=undefined;this.modeToKeyCodeMap_={};this.modifierToModeMap_={};this.targetElement_=undefined;this.modeBeforeAlternativeModeActivated_=null;this.isInteracting_=false;this.isClick_=false;},ready(){this.buttonsEl_=Polymer.dom(this.root).querySelector('.buttons');this.dragHandleEl_=Polymer.dom(this.root).querySelector('.drag-handle');this.supportedModeMask=MOUSE_SELECTOR_MODE.ALL_MODES;this.dragHandleEl_.addEventListener('mousedown',this.onDragHandleMouseDown_.bind(this));this.buttonsEl_.addEventListener('mouseup',this.onButtonMouseUp_);this.buttonsEl_.addEventListener('mousedown',this.onButtonMouseDown_);this.buttonsEl_.addEventListener('click',this.onButtonPress_.bind(this));},attached(){document.addEventListener('keydown',this.onKeyDown_);document.addEventListener('keyup',this.onKeyUp_);},detached(){document.removeEventListener('keydown',this.onKeyDown_);document.removeEventListener('keyup',this.onKeyUp_);},get targetElement(){return this.targetElement_;},set targetElement(target){if(this.targetElement_){this.targetElement_.removeEventListener('mousedown',this.onMouseDown_);} 7518this.targetElement_=target;if(this.targetElement_){this.targetElement_.addEventListener('mousedown',this.onMouseDown_);}},get defaultMode(){return this.defaultMode_;},set defaultMode(defaultMode){this.defaultMode_=defaultMode;},get settingsKey(){return this.settingsKey_;},set settingsKey(settingsKey){this.settingsKey_=settingsKey;if(!this.settingsKey_)return;let mode=tr.b.Settings.get(this.settingsKey_+'.mode',undefined);if(MOUSE_SELECTOR_MODE_INFOS[mode]===undefined){mode=undefined;} 7519if((mode&this.supportedModeMask_)===0){mode=undefined;} 7520if(!mode)mode=this.defaultMode_;this.mode=mode;const pos=tr.b.Settings.get(this.settingsKey_+'.pos',undefined);if(pos)this.pos=pos;},get supportedModeMask(){return this.supportedModeMask_;},set supportedModeMask(supportedModeMask){if(this.mode&&(supportedModeMask&this.mode)===0){throw new Error('supportedModeMask must include current mode.');} 7521function createButtonForMode(mode){return button;} 7522this.supportedModeMask_=supportedModeMask;Polymer.dom(this.buttonsEl_).textContent='';for(const modeName in MOUSE_SELECTOR_MODE){if(modeName==='ALL_MODES')continue;const mode=MOUSE_SELECTOR_MODE[modeName];if((this.supportedModeMask_&mode)===0)continue;const button=document.createElement('tr-ui-b-mouse-mode-icon');button.mode=mode;Polymer.dom(button).classList.add('tool-button');Polymer.dom(this.buttonsEl_).appendChild(button);}},getButtonForMode_(mode){for(let i=0;i<this.buttonsEl_.children.length;i++){const buttonEl=this.buttonsEl_.children[i];if(buttonEl.mode===mode){return buttonEl;}} 7523return undefined;},get mode(){return this.currentMode_;},set mode(newMode){if(newMode!==undefined){if(typeof newMode!=='number'){throw new Error('Mode must be a number');} 7524if((newMode&this.supportedModeMask_)===0){throw new Error('Cannot switch to this mode, it is not supported');} 7525if(MOUSE_SELECTOR_MODE_INFOS[newMode]===undefined){throw new Error('Unrecognized mode');}} 7526let modeInfo;if(this.currentMode_===newMode)return;if(this.currentMode_){const buttonEl=this.getButtonForMode_(this.currentMode_);if(buttonEl)buttonEl.active=false;if(this.isInteracting_){const mouseEvent=this.createEvent_(MOUSE_SELECTOR_MODE_INFOS[this.mode].eventNames.end);this.dispatchEvent(mouseEvent);} 7527modeInfo=MOUSE_SELECTOR_MODE_INFOS[this.currentMode_];tr.b.dispatchSimpleEvent(this,modeInfo.eventNames.exit,true);} 7528this.currentMode_=newMode;if(this.currentMode_){const buttonEl=this.getButtonForMode_(this.currentMode_);if(buttonEl)buttonEl.active=true;this.mouseDownPos_.x=this.mousePos_.x;this.mouseDownPos_.y=this.mousePos_.y;modeInfo=MOUSE_SELECTOR_MODE_INFOS[this.currentMode_];if(!this.isInAlternativeMode_){tr.b.dispatchSimpleEvent(this,modeInfo.eventNames.enter,true);} 7529if(this.isInteracting_){const mouseEvent=this.createEvent_(MOUSE_SELECTOR_MODE_INFOS[this.mode].eventNames.begin);this.dispatchEvent(mouseEvent);}} 7530if(this.settingsKey_&&!this.isInAlternativeMode_){tr.b.Settings.set(this.settingsKey_+'.mode',this.mode);}},setKeyCodeForMode(mode,keyCode){if((mode&this.supportedModeMask_)===0){throw new Error('Mode not supported');} 7531this.modeToKeyCodeMap_[mode]=keyCode;if(!this.buttonsEl_)return;const buttonEl=this.getButtonForMode_(mode);if(buttonEl){buttonEl.acceleratorKey=String.fromCharCode(keyCode);}},setCurrentMousePosFromEvent_(e){this.mousePos_.x=e.clientX;this.mousePos_.y=e.clientY;},createEvent_(eventName,sourceEvent){const event=new tr.b.Event(eventName,true);event.clientX=this.mousePos_.x;event.clientY=this.mousePos_.y;event.deltaX=this.mousePos_.x-this.mouseDownPos_.x;event.deltaY=this.mousePos_.y-this.mouseDownPos_.y;event.mouseDownX=this.mouseDownPos_.x;event.mouseDownY=this.mouseDownPos_.y;event.didPreventDefault=false;event.preventDefault=function(){event.didPreventDefault=true;if(sourceEvent){sourceEvent.preventDefault();}};event.stopPropagation=function(){sourceEvent.stopPropagation();};event.stopImmediatePropagation=function(){throw new Error('Not implemented');};return event;},onMouseDown_(e){if(e.button!==0)return;this.setCurrentMousePosFromEvent_(e);const mouseEvent=this.createEvent_(MOUSE_SELECTOR_MODE_INFOS[this.mode].eventNames.begin,e);if(this.mode===MOUSE_SELECTOR_MODE.SELECTION){mouseEvent.appendSelection=isCmdOrCtrlPressed(e);} 7532this.dispatchEvent(mouseEvent);this.isInteracting_=true;this.isClick_=true;tr.ui.b.trackMouseMovesUntilMouseUp(this.onMouseMove_,this.onMouseUp_);},onMouseMove_(e){this.setCurrentMousePosFromEvent_(e);const mouseEvent=this.createEvent_(MOUSE_SELECTOR_MODE_INFOS[this.mode].eventNames.update,e);this.dispatchEvent(mouseEvent);if(this.isInteracting_){this.checkIsClick_(e);}},onMouseUp_(e){if(e.button!==0)return;const mouseEvent=this.createEvent_(MOUSE_SELECTOR_MODE_INFOS[this.mode].eventNames.end,e);mouseEvent.isClick=this.isClick_;this.dispatchEvent(mouseEvent);if(this.isClick_&&!mouseEvent.didPreventDefault){this.dispatchClickEvents_(e);} 7533this.isInteracting_=false;this.updateAlternativeModeState_(e);},onButtonMouseDown_(e){e.preventDefault();e.stopImmediatePropagation();},onButtonMouseUp_(e){e.preventDefault();e.stopImmediatePropagation();},onButtonPress_(e){this.modeBeforeAlternativeModeActivated_=undefined;this.mode=e.target.mode;e.preventDefault();},onKeyDown_(e){if(e.path[0].tagName==='INPUT')return;if(e.keyCode===' '.charCodeAt(0)){this.spacePressed_=true;} 7534this.updateAlternativeModeState_(e);},onKeyUp_(e){if(e.path[0].tagName==='INPUT')return;if(e.keyCode===' '.charCodeAt(0)){this.spacePressed_=false;} 7535let didHandleKey=false;for(const[modeStr,keyCode]of Object.entries(this.modeToKeyCodeMap_)){if(e.keyCode===keyCode){this.modeBeforeAlternativeModeActivated_=undefined;const mode=parseInt(modeStr);this.mode=mode;didHandleKey=true;}} 7536if(didHandleKey){e.preventDefault();e.stopPropagation();return;} 7537this.updateAlternativeModeState_(e);},updateAlternativeModeState_(e){const shiftPressed=e.shiftKey;const spacePressed=this.spacePressed_;const cmdOrCtrlPressed=isCmdOrCtrlPressed(e);const smm=this.supportedModeMask_;let newMode;let isNewModeAnAlternativeMode=false;if(shiftPressed&&(this.modifierToModeMap_[MODIFIER.SHIFT]&smm)!==0){newMode=this.modifierToModeMap_[MODIFIER.SHIFT];isNewModeAnAlternativeMode=true;}else if(spacePressed&&(this.modifierToModeMap_[MODIFIER.SPACE]&smm)!==0){newMode=this.modifierToModeMap_[MODIFIER.SPACE];isNewModeAnAlternativeMode=true;}else if(cmdOrCtrlPressed&&(this.modifierToModeMap_[MODIFIER.CMD_OR_CTRL]&smm)!==0){newMode=this.modifierToModeMap_[MODIFIER.CMD_OR_CTRL];isNewModeAnAlternativeMode=true;}else{if(this.isInAlternativeMode_){newMode=this.modeBeforeAlternativeModeActivated_;isNewModeAnAlternativeMode=false;}else{newMode=undefined;}} 7538if(this.mode===newMode||newMode===undefined)return;if(isNewModeAnAlternativeMode){this.modeBeforeAlternativeModeActivated_=this.mode;} 7539this.mode=newMode;},get isInAlternativeMode_(){return!!this.modeBeforeAlternativeModeActivated_;},setModifierForAlternateMode(mode,modifier){this.modifierToModeMap_[modifier]=mode;},get pos(){return{x:parseInt(this.style.left),y:parseInt(this.style.top)};},set pos(pos){pos=this.constrainPositionToBounds_(pos);this.style.left=pos.x+'px';this.style.top=pos.y+'px';if(this.settingsKey_){tr.b.Settings.set(this.settingsKey_+'.pos',this.pos);}},constrainPositionToBounds_(pos){const parent=this.offsetParent||document.body;const parentRect=tr.ui.b.windowRectForElement(parent);const top=0;const bottom=parentRect.height-this.offsetHeight;const left=0;const right=parentRect.width-this.offsetWidth;const res={};res.x=Math.max(pos.x,left);res.x=Math.min(res.x,right);res.y=Math.max(pos.y,top);res.y=Math.min(res.y,bottom);return res;},onDragHandleMouseDown_(e){e.preventDefault();e.stopImmediatePropagation();const mouseDownPos={x:e.clientX-this.offsetLeft,y:e.clientY-this.offsetTop};tr.ui.b.trackMouseMovesUntilMouseUp(function(e){const pos={};pos.x=e.clientX-mouseDownPos.x;pos.y=e.clientY-mouseDownPos.y;this.pos=pos;}.bind(this));},checkIsClick_(e){if(!this.isInteracting_||!this.isClick_)return;const deltaX=this.mousePos_.x-this.mouseDownPos_.x;const deltaY=this.mousePos_.y-this.mouseDownPos_.y;const minDist=MIN_MOUSE_SELECTION_DISTANCE;if(deltaX*deltaX+deltaY*deltaY>minDist*minDist){this.isClick_=false;}},dispatchClickEvents_(e){if(!this.isClick_)return;const modeInfo=MOUSE_SELECTOR_MODE_INFOS[MOUSE_SELECTOR_MODE.SELECTION];const eventNames=modeInfo.eventNames;let mouseEvent=this.createEvent_(eventNames.begin);mouseEvent.appendSelection=isCmdOrCtrlPressed(e);this.dispatchEvent(mouseEvent);mouseEvent=this.createEvent_(eventNames.end);this.dispatchEvent(mouseEvent);}});return{MIN_MOUSE_SELECTION_DISTANCE,MODIFIER,};});'use strict';(function(){const DETAILS_SPLIT_REGEX=/^(\S*)\s*([\S\s]*)$/;Polymer({is:'tr-ui-e-chrome-cc-display-item-list-item',created(){Polymer.dom(this).setAttribute('name','');Polymer.dom(this).setAttribute('rawDetails','');Polymer.dom(this).setAttribute('richDetails',undefined);Polymer.dom(this).setAttribute('data_',undefined);},get data(){return this.data_;},set data(data){this.data_=data;if(!data){this.name='DATA MISSING';this.rawDetails='';this.richDetails=undefined;}else if(typeof data==='string'){const match=data.match(DETAILS_SPLIT_REGEX);this.name=match[1];this.rawDetails=match[2];this.richDetails=undefined;}else{this.name=data.name;this.rawDetails='';this.richDetails=data;}},stopPropagation(e){e.stopPropagation();},_computeIf(richDetails){return richDetails&&richDetails.skp64;},_computeHref(richDetails){return'data:application/octet-stream;base64,'+richDetails.skp64;}});})();'use strict';tr.exportTo('tr.ui.e.chrome.cc',function(){function Selection(){this.selectionToSetIfClicked=undefined;} 7540Selection.prototype={get specicifity(){throw new Error('Not implemented');},get associatedLayerId(){throw new Error('Not implemented');},get associatedRenderPassId(){throw new Error('Not implemented');},get highlightsByLayerId(){return{};},createAnalysis(){throw new Error('Not implemented');},findEquivalent(lthi){throw new Error('Not implemented');}};function RenderPassSelection(renderPass,renderPassId){if(!renderPass||(renderPassId===undefined)){throw new Error('Render pass (with id) is required');} 7541this.renderPass_=renderPass;this.renderPassId_=renderPassId;} 7542RenderPassSelection.prototype={__proto__:Selection.prototype,get specicifity(){return 1;},get associatedLayerId(){return undefined;},get associatedRenderPassId(){return this.renderPassId_;},get renderPass(){return this.renderPass_;},createAnalysis(){const dataView=document.createElement('tr-ui-a-generic-object-view-with-label');dataView.label='RenderPass '+this.renderPassId_;dataView.object=this.renderPass_.args;return dataView;},get title(){return this.renderPass_.objectInstance.typeName;}};function LayerSelection(layer){if(!layer){throw new Error('Layer is required');} 7543this.layer_=layer;} 7544LayerSelection.prototype={__proto__:Selection.prototype,get specicifity(){return 1;},get associatedLayerId(){return this.layer_.layerId;},get associatedRenderPassId(){return undefined;},get layer(){return this.layer_;},createAnalysis(){const dataView=document.createElement('tr-ui-a-generic-object-view-with-label');dataView.label='Layer '+this.layer_.layerId;if(this.layer_.usingGpuRasterization){dataView.label+=' (GPU-rasterized)';} 7545dataView.object=this.layer_.args;return dataView;},get title(){return this.layer_.objectInstance.typeName;},findEquivalent(lthi){const layer=lthi.activeTree.findLayerWithId(this.layer_.layerId)||lthi.pendingTree.findLayerWithId(this.layer_.layerId);if(!layer)return undefined;return new LayerSelection(layer);}};function TileSelection(tile,opt_data){this.tile_=tile;this.data_=opt_data||{};} 7546TileSelection.prototype={__proto__:Selection.prototype,get specicifity(){return 2;},get associatedLayerId(){return this.tile_.layerId;},get highlightsByLayerId(){const highlights={};highlights[this.tile_.layerId]=[{colorKey:this.tile_.objectInstance.typeName,rect:this.tile_.layerRect}];return highlights;},createAnalysis(){const analysis=document.createElement('tr-ui-a-generic-object-view-with-label');analysis.label='Tile '+this.tile_.objectInstance.id+' on layer '+ 7547this.tile_.layerId;if(this.data_){analysis.object={moreInfo:this.data_,tileArgs:this.tile_.args};}else{analysis.object=this.tile_.args;} 7548return analysis;},findEquivalent(lthi){const tileInstance=this.tile_.tileInstance;if(lthi.ts<tileInstance.creationTs||lthi.ts>=tileInstance.deletionTs){return undefined;} 7549const tileSnapshot=tileInstance.getSnapshotAt(lthi.ts);if(!tileSnapshot)return undefined;return new TileSelection(tileSnapshot);}};function LayerRectSelection(layer,rectType,rect,opt_data){this.layer_=layer;this.rectType_=rectType;this.rect_=rect;this.data_=opt_data!==undefined?opt_data:rect;} 7550LayerRectSelection.prototype={__proto__:Selection.prototype,get specicifity(){return 2;},get associatedLayerId(){return this.layer_.layerId;},get highlightsByLayerId(){const highlights={};highlights[this.layer_.layerId]=[{colorKey:this.rectType_,rect:this.rect_}];return highlights;},createAnalysis(){const analysis=document.createElement('tr-ui-a-generic-object-view-with-label');analysis.label=this.rectType_+' on layer '+this.layer_.layerId;analysis.object=this.data_;return analysis;},findEquivalent(lthi){return undefined;}};function AnimationRectSelection(layer,rect){this.layer_=layer;this.rect_=rect;} 7551AnimationRectSelection.prototype={__proto__:Selection.prototype,get specicifity(){return 0;},get associatedLayerId(){return this.layer_.layerId;},createAnalysis(){const analysis=document.createElement('tr-ui-a-generic-object-view-with-label');analysis.label='Animation Bounds of layer '+this.layer_.layerId;analysis.object=this.rect_;return analysis;}};return{Selection,RenderPassSelection,LayerSelection,TileSelection,LayerRectSelection,AnimationRectSelection,};});'use strict';tr.exportTo('tr.ui.e.chrome.cc',function(){const OPS_TIMING_ITERATIONS=3;const ANNOTATION='Comment';const BEGIN_ANNOTATION='BeginCommentGroup';const END_ANNOTATION='EndCommentGroup';const ANNOTATION_ID='ID: ';const ANNOTATION_CLASS='CLASS: ';const ANNOTATION_TAG='TAG: ';const constants=tr.e.cc.constants;const PictureOpsListView=tr.ui.b.define('tr-ui-e-chrome-cc-picture-ops-list-view');PictureOpsListView.prototype={__proto__:HTMLDivElement.prototype,decorate(){this.opsList_=new tr.ui.b.ListView();Polymer.dom(this).appendChild(this.opsList_);this.selectedOp_=undefined;this.selectedOpIndex_=undefined;this.opsList_.addEventListener('selection-changed',this.onSelectionChanged_.bind(this));this.picture_=undefined;},get picture(){return this.picture_;},set picture(picture){this.picture_=picture;this.updateContents_();},updateContents_(){this.opsList_.clear();if(!this.picture_)return;let ops=this.picture_.getOps();if(!ops)return;ops=this.picture_.tagOpsWithTimings(ops);ops=this.opsTaggedWithAnnotations_(ops);for(let i=0;i<ops.length;i++){const op=ops[i];const item=document.createElement('div');item.opIndex=op.opIndex;Polymer.dom(item).textContent=i+') '+op.cmd_string;if(op.elementInfo.tag||op.elementInfo.id||op.elementInfo.class){const elementInfo=document.createElement('span');Polymer.dom(elementInfo).classList.add('elementInfo');const tag=op.elementInfo.tag?op.elementInfo.tag:'unknown';const id=op.elementInfo.id?'id='+op.elementInfo.id:undefined;const className=op.elementInfo.class?'class='+ 7552op.elementInfo.class:undefined;Polymer.dom(elementInfo).textContent='<'+tag+(id?' ':'')+ 7553(id?id:'')+(className?' ':'')+ 7554(className?className:'')+'>';Polymer.dom(item).appendChild(elementInfo);} 7555if(op.info.length>0){const infoItem=document.createElement('div');Polymer.dom(infoItem).textContent=JSON.stringify(op.info);Polymer.dom(item).appendChild(infoItem);} 7556if(op.cmd_time&&op.cmd_time>=0.0001){const time=document.createElement('span');Polymer.dom(time).classList.add('time');const rounded=op.cmd_time.toFixed(4);Polymer.dom(time).textContent='('+rounded+'ms)';Polymer.dom(item).appendChild(time);} 7557Polymer.dom(this.opsList_).appendChild(item);}},onSelectionChanged_(e){let beforeSelectedOp=true;if(this.opsList_.selectedElement===this.selectedOp_){this.opsList_.selectedElement=undefined;beforeSelectedOp=false;this.selectedOpIndex_=undefined;} 7558this.selectedOp_=this.opsList_.selectedElement;const ops=this.opsList_.children;for(let i=0;i<ops.length;i++){const op=ops[i];if(op===this.selectedOp_){beforeSelectedOp=false;this.selectedOpIndex_=op.opIndex;}else if(beforeSelectedOp){Polymer.dom(op).setAttribute('beforeSelection','beforeSelection');}else{Polymer.dom(op).removeAttribute('beforeSelection');}} 7559tr.b.dispatchSimpleEvent(this,'selection-changed',false);},get numOps(){return this.opsList_.children.length;},get selectedOpIndex(){return this.selectedOpIndex_;},set selectedOpIndex(s){this.selectedOpIndex_=s;if(s===undefined){this.opsList_.selectedElement=this.selectedOp_;this.onSelectionChanged_();}else{if(s<0)throw new Error('Invalid index');if(s>=this.numOps)throw new Error('Invalid index');this.opsList_.selectedElement=this.opsList_.getElementByIndex(s+1);tr.ui.b.scrollIntoViewIfNeeded(this.opsList_.selectedElement);}},opsTaggedWithAnnotations_(ops){const annotationGroups=[];const opsWithoutAnnotations=[];for(let opIndex=0;opIndex<ops.length;opIndex++){const op=ops[opIndex];op.opIndex=opIndex;switch(op.cmd_string){case BEGIN_ANNOTATION:annotationGroups.push([]);break;case END_ANNOTATION:annotationGroups.pop();break;case ANNOTATION:annotationGroups[annotationGroups.length-1].push(op);break;default:{const annotations=[];let elementInfo={};annotationGroups.forEach(function(annotationGroup){elementInfo={};annotationGroup.forEach(function(annotation){annotation.info.forEach(function(info){if(info.includes(ANNOTATION_TAG)){elementInfo.tag=info.substring(info.indexOf(ANNOTATION_TAG)+ 7560ANNOTATION_TAG.length).toLowerCase();}else if(info.includes(ANNOTATION_ID)){elementInfo.id=info.substring(info.indexOf(ANNOTATION_ID)+ 7561ANNOTATION_ID.length);}else if(info.includes(ANNOTATION_CLASS)){elementInfo.class=info.substring(info.indexOf(ANNOTATION_CLASS)+ 7562ANNOTATION_CLASS.length);} 7563annotations.push(info);});});});op.annotations=annotations;op.elementInfo=elementInfo;opsWithoutAnnotations.push(op);}}} 7564return opsWithoutAnnotations;}};return{PictureOpsListView,};});'use strict';tr.exportTo('tr.ui.e.chrome.cc',function(){const THIS_DOC=document.currentScript.ownerDocument;const DisplayItemDebugger=tr.ui.b.define('tr-ui-e-chrome-cc-display-item-debugger');DisplayItemDebugger.prototype={__proto__:HTMLDivElement.prototype,decorate(){const node=tr.ui.b.instantiateTemplate('#tr-ui-e-chrome-cc-display-item-debugger-template',THIS_DOC);Polymer.dom(this).appendChild(node);this.pictureAsImageData_=undefined;this.zoomScaleValue_=1;this.sizeInfo_=Polymer.dom(this).querySelector('.size');this.rasterArea_=Polymer.dom(this).querySelector('raster-area');this.rasterCanvas_=Polymer.dom(this.rasterArea_).querySelector('canvas');this.rasterCtx_=this.rasterCanvas_.getContext('2d');this.trackMouse_();this.displayItemInfo_=Polymer.dom(this).querySelector('display-item-info');this.displayItemInfo_.addEventListener('click',this.onDisplayItemInfoClick_.bind(this),false);this.displayItemListView_=new tr.ui.b.ListView();this.displayItemListView_.addEventListener('selection-changed',this.onDisplayItemListSelection_.bind(this));Polymer.dom(this.displayItemInfo_).appendChild(this.displayItemListView_);this.displayListFilename_=Polymer.dom(this).querySelector('.dlfilename');this.displayListExportButton_=Polymer.dom(this).querySelector('.dlexport');this.displayListExportButton_.addEventListener('click',this.onExportDisplayListClicked_.bind(this));this.skpFilename_=Polymer.dom(this).querySelector('.skpfilename');this.skpExportButton_=Polymer.dom(this).querySelector('.skpexport');this.skpExportButton_.addEventListener('click',this.onExportSkPictureClicked_.bind(this));const leftPanel=Polymer.dom(this).querySelector('left-panel');const middleDragHandle=document.createElement('tr-ui-b-drag-handle');middleDragHandle.horizontal=false;middleDragHandle.target=leftPanel;const rightPanel=Polymer.dom(this).querySelector('right-panel');this.infoBar_=document.createElement('tr-ui-b-info-bar');Polymer.dom(this.rasterArea_).insertBefore(this.infoBar_,this.rasterCanvas_);Polymer.dom(this).insertBefore(middleDragHandle,rightPanel);this.picture_=undefined;this.pictureOpsListView_=new tr.ui.e.chrome.cc.PictureOpsListView();Polymer.dom(rightPanel).insertBefore(this.pictureOpsListView_,this.rasterArea_);this.pictureOpsListDragHandle_=document.createElement('tr-ui-b-drag-handle');this.pictureOpsListDragHandle_.horizontal=false;this.pictureOpsListDragHandle_.target=this.pictureOpsListView_;Polymer.dom(rightPanel).insertBefore(this.pictureOpsListDragHandle_,this.rasterArea_);},get picture(){return this.picture_;},set displayItemList(displayItemList){this.displayItemList_=displayItemList;this.picture=this.displayItemList_;this.displayItemListView_.clear();this.displayItemList_.items.forEach(function(item){const listItem=document.createElement('tr-ui-e-chrome-cc-display-item-list-item');listItem.data=item;Polymer.dom(this.displayItemListView_).appendChild(listItem);}.bind(this));},set picture(picture){this.picture_=picture;const showOpsList=picture&&picture!==this.displayItemList_;this.updateDrawOpsList_(showOpsList);if(picture){const size=this.getRasterCanvasSize_();this.rasterCanvas_.width=size.width;this.rasterCanvas_.height=size.height;} 7565const bounds=this.rasterArea_.getBoundingClientRect();const selectorBounds=this.mouseModeSelector_.getBoundingClientRect();this.mouseModeSelector_.pos={x:(bounds.right-selectorBounds.width-10),y:bounds.top};this.rasterize_();this.scheduleUpdateContents_();},getRasterCanvasSize_(){const style=window.getComputedStyle(this.rasterArea_);let width=parseInt(style.width);let height=parseInt(style.height);if(this.picture_){width=Math.max(width,this.picture_.layerRect.width);height=Math.max(height,this.picture_.layerRect.height);} 7566return{width,height};},scheduleUpdateContents_(){if(this.updateContentsPending_)return;this.updateContentsPending_=true;tr.b.requestAnimationFrameInThisFrameIfPossible(this.updateContents_.bind(this));},updateContents_(){this.updateContentsPending_=false;if(this.picture_){Polymer.dom(this.sizeInfo_).textContent='('+ 7567this.picture_.layerRect.width+' x '+ 7568this.picture_.layerRect.height+')';} 7569if(!this.pictureAsImageData_)return;this.infoBar_.visible=false;this.infoBar_.removeAllButtons();if(this.pictureAsImageData_.error){this.infoBar_.message='Cannot rasterize...';this.infoBar_.addButton('More info...',function(e){const overlay=new tr.ui.b.Overlay();Polymer.dom(overlay).textContent=this.pictureAsImageData_.error;overlay.visible=true;e.stopPropagation();return false;}.bind(this));this.infoBar_.visible=true;} 7570this.drawPicture_();},drawPicture_(){const size=this.getRasterCanvasSize_();if(size.width!==this.rasterCanvas_.width){this.rasterCanvas_.width=size.width;} 7571if(size.height!==this.rasterCanvas_.height){this.rasterCanvas_.height=size.height;} 7572this.rasterCtx_.clearRect(0,0,size.width,size.height);if(!this.picture_||!this.pictureAsImageData_.imageData)return;const imgCanvas=this.pictureAsImageData_.asCanvas();const w=imgCanvas.width;const h=imgCanvas.height;this.rasterCtx_.drawImage(imgCanvas,0,0,w,h,0,0,w*this.zoomScaleValue_,h*this.zoomScaleValue_);},rasterize_(){if(this.picture_){this.picture_.rasterize({showOverdraw:false},this.onRasterComplete_.bind(this));}},onRasterComplete_(pictureAsImageData){this.pictureAsImageData_=pictureAsImageData;this.scheduleUpdateContents_();},onDisplayItemListSelection_(e){const selected=this.displayItemListView_.selectedElement;if(!selected){this.picture=this.displayItemList_;return;} 7573const index=Array.prototype.indexOf.call(this.displayItemListView_.children,selected);const displayItem=this.displayItemList_.items[index];if(displayItem&&displayItem.skp64){this.picture=new tr.e.cc.Picture(displayItem.skp64,this.displayItemList_.layerRect);}else{this.picture=undefined;}},onDisplayItemInfoClick_(e){if(e&&e.target===this.displayItemInfo_){this.displayItemListView_.selectedElement=undefined;}},updateDrawOpsList_(showOpsList){if(showOpsList){this.pictureOpsListView_.picture=this.picture_;if(this.pictureOpsListView_.numOps>0){Polymer.dom(this.pictureOpsListView_).classList.add('hasPictureOps');Polymer.dom(this.pictureOpsListDragHandle_).classList.add('hasPictureOps');}}else{Polymer.dom(this.pictureOpsListView_).classList.remove('hasPictureOps');Polymer.dom(this.pictureOpsListDragHandle_).classList.remove('hasPictureOps');}},trackMouse_(){this.mouseModeSelector_=document.createElement('tr-ui-b-mouse-mode-selector');this.mouseModeSelector_.targetElement=this.rasterArea_;Polymer.dom(this.rasterArea_).appendChild(this.mouseModeSelector_);this.mouseModeSelector_.supportedModeMask=tr.ui.b.MOUSE_SELECTOR_MODE.ZOOM;this.mouseModeSelector_.mode=tr.ui.b.MOUSE_SELECTOR_MODE.ZOOM;this.mouseModeSelector_.defaultMode=tr.ui.b.MOUSE_SELECTOR_MODE.ZOOM;this.mouseModeSelector_.settingsKey='pictureDebugger.mouseModeSelector';this.mouseModeSelector_.addEventListener('beginzoom',this.onBeginZoom_.bind(this));this.mouseModeSelector_.addEventListener('updatezoom',this.onUpdateZoom_.bind(this));this.mouseModeSelector_.addEventListener('endzoom',this.onEndZoom_.bind(this));},onBeginZoom_(e){this.isZooming_=true;this.lastMouseViewPos_=this.extractRelativeMousePosition_(e);e.preventDefault();},onUpdateZoom_(e){if(!this.isZooming_)return;const currentMouseViewPos=this.extractRelativeMousePosition_(e);this.zoomScaleValue_+=((this.lastMouseViewPos_.y-currentMouseViewPos.y)*0.001);this.zoomScaleValue_=Math.max(this.zoomScaleValue_,0.1);this.drawPicture_();this.lastMouseViewPos_=currentMouseViewPos;},onEndZoom_(e){this.lastMouseViewPos_=undefined;this.isZooming_=false;e.preventDefault();},extractRelativeMousePosition_(e){return{x:e.clientX-this.rasterArea_.offsetLeft,y:e.clientY-this.rasterArea_.offsetTop};},saveFile_(filename,rawData){if(!rawData)return;const length=rawData.length;const arrayBuffer=new ArrayBuffer(length);const uint8Array=new Uint8Array(arrayBuffer);for(let c=0;c<length;c++){uint8Array[c]=rawData.charCodeAt(c);} 7574const blob=new Blob([uint8Array],{type:'application/octet-binary'});const blobUrl=window.URL.createObjectURL(blob);const link=document.createElementNS('http://www.w3.org/1999/xhtml','a');link.href=blobUrl;link.download=filename;const event=document.createEvent('MouseEvents');event.initMouseEvent('click',true,false,window,0,0,0,0,0,false,false,false,false,0,null);link.dispatchEvent(event);},onExportDisplayListClicked_(){const rawData=JSON.stringify(this.displayItemList_.items);this.saveFile_(this.displayListFilename_.value,rawData);},onExportSkPictureClicked_(){const rawData=tr.b.Base64.atob(this.picture_.getBase64SkpData());this.saveFile_(this.skpFilename_.value,rawData);}};return{DisplayItemDebugger,};});'use strict';tr.exportTo('tr.ui.e.chrome.cc',function(){const DisplayItemSnapshotView=tr.ui.b.define('tr-ui-e-chrome-cc-display-item-list-view',tr.ui.analysis.ObjectSnapshotView);DisplayItemSnapshotView.prototype={__proto__:tr.ui.analysis.ObjectSnapshotView.prototype,decorate(){Polymer.dom(this).classList.add('tr-ui-e-chrome-cc-display-item-list-view');this.displayItemDebugger_=new tr.ui.e.chrome.cc.DisplayItemDebugger();Polymer.dom(this).appendChild(this.displayItemDebugger_);},updateContents(){if(this.objectSnapshot_&&this.displayItemDebugger_){this.displayItemDebugger_.displayItemList=this.objectSnapshot_;}}};tr.ui.analysis.ObjectSnapshotView.register(DisplayItemSnapshotView,{typeNames:['cc::DisplayItemList'],showInstances:false});return{DisplayItemSnapshotView,};});'use strict';tr.exportTo('tr.ui.e.chrome.cc',function(){const constants=tr.e.cc.constants;const RENDER_PASS_QUADS=Math.max(constants.ACTIVE_TREE,constants.PENDING_TREE)+1;const LayerPicker=tr.ui.b.define('tr-ui-e-chrome-cc-layer-picker');LayerPicker.prototype={__proto__:HTMLUnknownElement.prototype,decorate(){this.lthi_=undefined;this.controls_=document.createElement('top-controls');this.renderPassQuads_=false;this.itemList_=new tr.ui.b.ListView();Polymer.dom(this).appendChild(this.controls_);Polymer.dom(this).appendChild(this.itemList_);this.itemList_.addEventListener('selection-changed',this.onItemSelectionChanged_.bind(this));Polymer.dom(this.controls_).appendChild(tr.ui.b.createSelector(this,'whichTree','layerPicker.whichTree',constants.ACTIVE_TREE,[{label:'Active tree',value:constants.ACTIVE_TREE},{label:'Pending tree',value:constants.PENDING_TREE},{label:'Render pass quads',value:RENDER_PASS_QUADS}]));this.showPureTransformLayers_=false;const showPureTransformLayers=tr.ui.b.createCheckBox(this,'showPureTransformLayers','layerPicker.showPureTransformLayers',false,'Transform layers');Polymer.dom(showPureTransformLayers).classList.add('show-transform-layers');showPureTransformLayers.title='When checked, pure transform layers are shown';Polymer.dom(this.controls_).appendChild(showPureTransformLayers);},get lthiSnapshot(){return this.lthiSnapshot_;},set lthiSnapshot(lthiSnapshot){this.lthiSnapshot_=lthiSnapshot;this.updateContents_();},get whichTree(){return this.renderPassQuads_?constants.ACTIVE_TREE:this.whichTree_;},set whichTree(whichTree){this.whichTree_=whichTree;this.renderPassQuads_=(whichTree===RENDER_PASS_QUADS);this.updateContents_();tr.b.dispatchSimpleEvent(this,'selection-change',false);},get layerTreeImpl(){if(this.lthiSnapshot===undefined)return undefined;return this.lthiSnapshot.getTree(this.whichTree);},get isRenderPassQuads(){return this.renderPassQuads_;},get showPureTransformLayers(){return this.showPureTransformLayers_;},set showPureTransformLayers(show){if(this.showPureTransformLayers_===show)return;this.showPureTransformLayers_=show;this.updateContents_();},getRenderPassInfos_(){if(!this.lthiSnapshot_)return[];const renderPassInfo=[];if(!this.lthiSnapshot_.args.frame||!this.lthiSnapshot_.args.frame.renderPasses){return renderPassInfo;} 7575const renderPasses=this.lthiSnapshot_.args.frame.renderPasses;for(let i=0;i<renderPasses.length;++i){const info={renderPass:renderPasses[i],depth:0,id:i,name:'cc::RenderPass'};renderPassInfo.push(info);} 7576return renderPassInfo;},getLayerInfos_(){if(!this.lthiSnapshot_)return[];const tree=this.lthiSnapshot_.getTree(this.whichTree_);if(!tree)return[];const layerInfos=[];const showPureTransformLayers=this.showPureTransformLayers_;function isPureTransformLayer(layer){if(layer.args.compositingReasons&&layer.args.compositingReasons.length!==1&&layer.args.compositingReasons[0]!=='No reasons given'){return false;} 7577if(layer.args.drawsContent)return false;return true;} 7578const visitedLayers={};function visitLayer(layer,depth,isMask,isReplica){if(visitedLayers[layer.layerId])return;visitedLayers[layer.layerId]=true;const info={layer,depth};if(layer.args.drawsContent){info.name=layer.objectInstance.name;}else{info.name='cc::LayerImpl';} 7579if(layer.usingGpuRasterization){info.name+=' (G)';} 7580info.isMaskLayer=isMask;info.replicaLayer=isReplica;if(showPureTransformLayers||!isPureTransformLayer(layer)){layerInfos.push(info);}} 7581tree.iterLayers(visitLayer);return layerInfos;},updateContents_(){if(this.renderPassQuads_){this.updateRenderPassContents_();}else{this.updateLayerContents_();}},updateRenderPassContents_(){this.itemList_.clear();let selectedRenderPassId;if(this.selection_&&this.selection_.associatedRenderPassId){selectedRenderPassId=this.selection_.associatedRenderPassId;} 7582const renderPassInfos=this.getRenderPassInfos_();renderPassInfos.forEach(function(renderPassInfo){const renderPass=renderPassInfo.renderPass;const id=renderPassInfo.id;const item=this.createElementWithDepth_(renderPassInfo.depth);const labelEl=Polymer.dom(item).appendChild(tr.ui.b.createSpan());Polymer.dom(labelEl).textContent=renderPassInfo.name+' '+id;item.renderPass=renderPass;item.renderPassId=id;Polymer.dom(this.itemList_).appendChild(item);if(id===selectedRenderPassId){renderPass.selectionState=tr.model.SelectionState.SELECTED;}},this);},updateLayerContents_(){this.changingItemSelection_=true;try{this.itemList_.clear();let selectedLayerId;if(this.selection_&&this.selection_.associatedLayerId){selectedLayerId=this.selection_.associatedLayerId;} 7583const layerInfos=this.getLayerInfos_();layerInfos.forEach(function(layerInfo){const layer=layerInfo.layer;const id=layer.layerId;const item=this.createElementWithDepth_(layerInfo.depth);const labelEl=Polymer.dom(item).appendChild(tr.ui.b.createSpan());Polymer.dom(labelEl).textContent=layerInfo.name+' '+id;const notesEl=Polymer.dom(item).appendChild(tr.ui.b.createSpan());if(layerInfo.isMaskLayer){Polymer.dom(notesEl).textContent+='(mask)';} 7584if(layerInfo.isReplicaLayer){Polymer.dom(notesEl).textContent+='(replica)';} 7585if((layer.gpuMemoryUsageInBytes!==undefined)&&(layer.gpuMemoryUsageInBytes>0)){const gpuUsageStr=tr.b.Unit.byName.sizeInBytes.format(layer.gpuMemoryUsageInBytes);Polymer.dom(notesEl).textContent+=' ('+gpuUsageStr+' MiB)';} 7586item.layer=layer;Polymer.dom(this.itemList_).appendChild(item);if(layer.layerId===selectedLayerId){layer.selectionState=tr.model.SelectionState.SELECTED;item.selected=true;}},this);}finally{this.changingItemSelection_=false;}},createElementWithDepth_(depth){const item=document.createElement('div');const indentEl=Polymer.dom(item).appendChild(tr.ui.b.createSpan());indentEl.style.whiteSpace='pre';for(let i=0;i<depth;i++){Polymer.dom(indentEl).textContent=Polymer.dom(indentEl).textContent+' ';} 7587return item;},onItemSelectionChanged_(e){if(this.changingItemSelection_)return;if(this.renderPassQuads_){this.onRenderPassSelected_(e);}else{this.onLayerSelected_(e);} 7588tr.b.dispatchSimpleEvent(this,'selection-change',false);},onRenderPassSelected_(e){let selectedRenderPass;let selectedRenderPassId;if(this.itemList_.selectedElement){selectedRenderPass=this.itemList_.selectedElement.renderPass;selectedRenderPassId=this.itemList_.selectedElement.renderPassId;} 7589if(selectedRenderPass){this.selection_=new tr.ui.e.chrome.cc.RenderPassSelection(selectedRenderPass,selectedRenderPassId);}else{this.selection_=undefined;}},onLayerSelected_(e){let selectedLayer;if(this.itemList_.selectedElement){selectedLayer=this.itemList_.selectedElement.layer;} 7590if(selectedLayer){this.selection_=new tr.ui.e.chrome.cc.LayerSelection(selectedLayer);}else{this.selection_=undefined;}},get selection(){return this.selection_;},set selection(selection){if(this.selection_===selection)return;this.selection_=selection;this.updateContents_();}};return{LayerPicker,};});'use strict';tr.exportTo('tr.e.cc',function(){const ObjectSnapshot=tr.model.ObjectSnapshot;function RenderPassSnapshot(){ObjectSnapshot.apply(this,arguments);} 7591RenderPassSnapshot.prototype={__proto__:ObjectSnapshot.prototype,preInitialize(){tr.e.cc.preInitializeObject(this);},initialize(){tr.e.cc.moveRequiredFieldsFromArgsToToplevel(this,['quadList']);}};ObjectSnapshot.subTypes.register(RenderPassSnapshot,{typeName:'cc::RenderPass'});return{RenderPassSnapshot,};});'use strict';tr.exportTo('tr.ui.b',function(){const deg2rad=tr.b.math.deg2rad;const constants={DEFAULT_SCALE:0.5,DEFAULT_EYE_DISTANCE:10000,MINIMUM_DISTANCE:1000,MAXIMUM_DISTANCE:100000,FOV:15,RESCALE_TIMEOUT_MS:200,MAXIMUM_TILT:80,SETTINGS_NAMESPACE:'tr.ui_camera'};const Camera=tr.ui.b.define('camera');Camera.prototype={__proto__:HTMLUnknownElement.prototype,decorate(eventSource){this.eventSource_=eventSource;this.eventSource_.addEventListener('beginpan',this.onPanBegin_.bind(this));this.eventSource_.addEventListener('updatepan',this.onPanUpdate_.bind(this));this.eventSource_.addEventListener('endpan',this.onPanEnd_.bind(this));this.eventSource_.addEventListener('beginzoom',this.onZoomBegin_.bind(this));this.eventSource_.addEventListener('updatezoom',this.onZoomUpdate_.bind(this));this.eventSource_.addEventListener('endzoom',this.onZoomEnd_.bind(this));this.eventSource_.addEventListener('beginrotate',this.onRotateBegin_.bind(this));this.eventSource_.addEventListener('updaterotate',this.onRotateUpdate_.bind(this));this.eventSource_.addEventListener('endrotate',this.onRotateEnd_.bind(this));this.eye_=[0,0,constants.DEFAULT_EYE_DISTANCE];this.gazeTarget_=[0,0,0];this.rotation_=[0,0];this.pixelRatio_=window.devicePixelRatio||1;},get modelViewMatrix(){const mvMatrix=mat4.create();mat4.lookAt(mvMatrix,this.eye_,this.gazeTarget_,[0,1,0]);return mvMatrix;},get projectionMatrix(){const rect=tr.ui.b.windowRectForElement(this.canvas_).scaleSize(this.pixelRatio_);const aspectRatio=rect.width/rect.height;const matrix=mat4.create();mat4.perspective(matrix,deg2rad(constants.FOV),aspectRatio,1,100000);return matrix;},set canvas(c){this.canvas_=c;},set deviceRect(rect){this.deviceRect_=rect;},get stackingDistanceDampening(){const gazeVector=[this.gazeTarget_[0]-this.eye_[0],this.gazeTarget_[1]-this.eye_[1],this.gazeTarget_[2]-this.eye_[2]];vec3.normalize(gazeVector,gazeVector);return 1+gazeVector[2];},loadCameraFromSettings(settings){this.eye_=settings.get('eye',this.eye_,constants.SETTINGS_NAMESPACE);this.gazeTarget_=settings.get('gaze_target',this.gazeTarget_,constants.SETTINGS_NAMESPACE);this.rotation_=settings.get('rotation',this.rotation_,constants.SETTINGS_NAMESPACE);this.dispatchRenderEvent_();},saveCameraToSettings(settings){settings.set('eye',this.eye_,constants.SETTINGS_NAMESPACE);settings.set('gaze_target',this.gazeTarget_,constants.SETTINGS_NAMESPACE);settings.set('rotation',this.rotation_,constants.SETTINGS_NAMESPACE);},resetCamera(){this.eye_=[0,0,constants.DEFAULT_EYE_DISTANCE];this.gazeTarget_=[0,0,0];this.rotation_=[0,0];const settings=tr.b.SessionSettings();const keys=settings.keys(constants.SETTINGS_NAMESPACE);if(keys.length!==0){this.loadCameraFromSettings(settings);return;} 7592if(this.deviceRect_){const rect=tr.ui.b.windowRectForElement(this.canvas_).scaleSize(this.pixelRatio_);this.eye_[0]=this.deviceRect_.width/2;this.eye_[1]=this.deviceRect_.height/2;this.gazeTarget_[0]=this.deviceRect_.width/2;this.gazeTarget_[1]=this.deviceRect_.height/2;} 7593this.saveCameraToSettings(settings);this.dispatchRenderEvent_();},updatePanByDelta(delta){const rect=tr.ui.b.windowRectForElement(this.canvas_).scaleSize(this.pixelRatio_);const eyeVector=[this.eye_[0]-this.gazeTarget_[0],this.eye_[1]-this.gazeTarget_[1],this.eye_[2]-this.gazeTarget_[2]];const length=vec3.length(eyeVector);vec3.normalize(eyeVector,eyeVector);const halfFov=constants.FOV/2;const multiplier=2.0*length*Math.tan(deg2rad(halfFov))/rect.height;const up=[0,1,0];const rotMatrix=mat4.create();mat4.rotate(rotMatrix,rotMatrix,deg2rad(this.rotation_[1]),[0,1,0]);mat4.rotate(rotMatrix,rotMatrix,deg2rad(this.rotation_[0]),[1,0,0]);vec3.transformMat4(up,up,rotMatrix);const right=[0,0,0];vec3.cross(right,eyeVector,up);vec3.normalize(right,right);for(let i=0;i<3;++i){this.gazeTarget_[i]+=delta[0]*multiplier*right[i]-delta[1]*multiplier*up[i];this.eye_[i]=this.gazeTarget_[i]+length*eyeVector[i];} 7594if(Math.abs(this.gazeTarget_[2])>1e-6){const gazeVector=[-eyeVector[0],-eyeVector[1],-eyeVector[2]];const newLength=tr.b.math.clamp(-this.eye_[2]/gazeVector[2],constants.MINIMUM_DISTANCE,constants.MAXIMUM_DISTANCE);for(let i=0;i<3;++i){this.gazeTarget_[i]=this.eye_[i]+newLength*gazeVector[i];}} 7595this.saveCameraToSettings(tr.b.SessionSettings());this.dispatchRenderEvent_();},updateZoomByDelta(delta){let deltaY=delta[1];deltaY=tr.b.math.clamp(deltaY,-50,50);let scale=1.0-deltaY/100.0;const eyeVector=[0,0,0];vec3.subtract(eyeVector,this.eye_,this.gazeTarget_);const length=vec3.length(eyeVector);if(length*scale<constants.MINIMUM_DISTANCE){scale=constants.MINIMUM_DISTANCE/length;}else if(length*scale>constants.MAXIMUM_DISTANCE){scale=constants.MAXIMUM_DISTANCE/length;} 7596vec3.scale(eyeVector,eyeVector,scale);vec3.add(this.eye_,this.gazeTarget_,eyeVector);this.saveCameraToSettings(tr.b.SessionSettings());this.dispatchRenderEvent_();},updateRotateByDelta(delta){delta[0]*=0.5;delta[1]*=0.5;if(Math.abs(this.rotation_[0]+delta[1])>constants.MAXIMUM_TILT){return;} 7597if(Math.abs(this.rotation_[1]-delta[0])>constants.MAXIMUM_TILT){return;} 7598const eyeVector=[0,0,0,0];vec3.subtract(eyeVector,this.eye_,this.gazeTarget_);const rotMatrix=mat4.create();mat4.rotate(rotMatrix,rotMatrix,-deg2rad(this.rotation_[0]),[1,0,0]);mat4.rotate(rotMatrix,rotMatrix,-deg2rad(this.rotation_[1]),[0,1,0]);vec4.transformMat4(eyeVector,eyeVector,rotMatrix);this.rotation_[0]+=delta[1];this.rotation_[1]-=delta[0];mat4.identity(rotMatrix);mat4.rotate(rotMatrix,rotMatrix,deg2rad(this.rotation_[1]),[0,1,0]);mat4.rotate(rotMatrix,rotMatrix,deg2rad(this.rotation_[0]),[1,0,0]);vec4.transformMat4(eyeVector,eyeVector,rotMatrix);vec3.add(this.eye_,this.gazeTarget_,eyeVector);this.saveCameraToSettings(tr.b.SessionSettings());this.dispatchRenderEvent_();},onPanBegin_(e){this.panning_=true;this.lastMousePosition_=this.getMousePosition_(e);},onPanUpdate_(e){if(!this.panning_)return;const delta=this.getMouseDelta_(e,this.lastMousePosition_);this.lastMousePosition_=this.getMousePosition_(e);this.updatePanByDelta(delta);},onPanEnd_(e){this.panning_=false;},onZoomBegin_(e){this.zooming_=true;const p=this.getMousePosition_(e);this.lastMousePosition_=p;this.zoomPoint_=p;},onZoomUpdate_(e){if(!this.zooming_)return;const delta=this.getMouseDelta_(e,this.lastMousePosition_);this.lastMousePosition_=this.getMousePosition_(e);this.updateZoomByDelta(delta);},onZoomEnd_(e){this.zooming_=false;this.zoomPoint_=undefined;},onRotateBegin_(e){this.rotating_=true;this.lastMousePosition_=this.getMousePosition_(e);},onRotateUpdate_(e){if(!this.rotating_)return;const delta=this.getMouseDelta_(e,this.lastMousePosition_);this.lastMousePosition_=this.getMousePosition_(e);this.updateRotateByDelta(delta);},onRotateEnd_(e){this.rotating_=false;},getMousePosition_(e){const rect=tr.ui.b.windowRectForElement(this.canvas_);return[(e.clientX-rect.x)*this.pixelRatio_,(e.clientY-rect.y)*this.pixelRatio_];},getMouseDelta_(e,p){const newP=this.getMousePosition_(e);return[newP[0]-p[0],newP[1]-p[1]];},dispatchRenderEvent_(){tr.b.dispatchSimpleEvent(this,'renderrequired',false,false);}};return{Camera,};});'use strict';tr.exportTo('tr.ui.b',function(){const THIS_DOC=document.currentScript.ownerDocument;const constants={};constants.IMAGE_LOAD_RETRY_TIME_MS=500;constants.SUBDIVISION_MINIMUM=1;constants.SUBDIVISION_RECURSION_DEPTH=3;constants.SUBDIVISION_DEPTH_THRESHOLD=100;constants.FAR_PLANE_DISTANCE=10000;function drawTexturedTriangle(ctx,img,p0,p1,p2,t0,t1,t2){const tmpP0=[p0[0],p0[1]];const tmpP1=[p1[0],p1[1]];const tmpP2=[p2[0],p2[1]];const tmpT0=[t0[0],t0[1]];const tmpT1=[t1[0],t1[1]];const tmpT2=[t2[0],t2[1]];ctx.beginPath();ctx.moveTo(tmpP0[0],tmpP0[1]);ctx.lineTo(tmpP1[0],tmpP1[1]);ctx.lineTo(tmpP2[0],tmpP2[1]);ctx.closePath();tmpP1[0]-=tmpP0[0];tmpP1[1]-=tmpP0[1];tmpP2[0]-=tmpP0[0];tmpP2[1]-=tmpP0[1];tmpT1[0]-=tmpT0[0];tmpT1[1]-=tmpT0[1];tmpT2[0]-=tmpT0[0];tmpT2[1]-=tmpT0[1];const det=1/(tmpT1[0]*tmpT2[1]-tmpT2[0]*tmpT1[1]);const a=(tmpT2[1]*tmpP1[0]-tmpT1[1]*tmpP2[0])*det;const b=(tmpT2[1]*tmpP1[1]-tmpT1[1]*tmpP2[1])*det;const c=(tmpT1[0]*tmpP2[0]-tmpT2[0]*tmpP1[0])*det;const d=(tmpT1[0]*tmpP2[1]-tmpT2[0]*tmpP1[1])*det;const e=tmpP0[0]-a*tmpT0[0]-c*tmpT0[1];const f=tmpP0[1]-b*tmpT0[0]-d*tmpT0[1];ctx.save();ctx.transform(a,b,c,d,e,f);ctx.clip();ctx.drawImage(img,0,0);ctx.restore();} 7599function drawTriangleSub(ctx,img,p0,p1,p2,t0,t1,t2,opt_recursionDepth){const depth=opt_recursionDepth||0;let subdivisionIndex=0;if(depth<constants.SUBDIVISION_MINIMUM){subdivisionIndex=7;}else if(depth<constants.SUBDIVISION_RECURSION_DEPTH){if(Math.abs(p0[2]-p1[2])>constants.SUBDIVISION_DEPTH_THRESHOLD){subdivisionIndex+=1;} 7600if(Math.abs(p0[2]-p2[2])>constants.SUBDIVISION_DEPTH_THRESHOLD){subdivisionIndex+=2;} 7601if(Math.abs(p1[2]-p2[2])>constants.SUBDIVISION_DEPTH_THRESHOLD){subdivisionIndex+=4;}} 7602const p01=vec4.create();const p02=vec4.create();const p12=vec4.create();const t01=vec2.create();const t02=vec2.create();const t12=vec2.create();for(let i=0;i<2;++i){p0[i]*=p0[2];p1[i]*=p1[2];p2[i]*=p2[2];} 7603for(let i=0;i<4;++i){p01[i]=(p0[i]+p1[i])/2;p02[i]=(p0[i]+p2[i])/2;p12[i]=(p1[i]+p2[i])/2;} 7604for(let i=0;i<2;++i){p0[i]/=p0[2];p1[i]/=p1[2];p2[i]/=p2[2];p01[i]/=p01[2];p02[i]/=p02[2];p12[i]/=p12[2];} 7605for(let i=0;i<2;++i){t01[i]=(t0[i]+t1[i])/2;t02[i]=(t0[i]+t2[i])/2;t12[i]=(t1[i]+t2[i])/2;} 7606switch(subdivisionIndex){case 1:drawTriangleSub(ctx,img,p0,p01,p2,t0,t01,t2,depth+1);drawTriangleSub(ctx,img,p01,p1,p2,t01,t1,t2,depth+1);break;case 2:drawTriangleSub(ctx,img,p0,p1,p02,t0,t1,t02,depth+1);drawTriangleSub(ctx,img,p1,p02,p2,t1,t02,t2,depth+1);break;case 3:drawTriangleSub(ctx,img,p0,p01,p02,t0,t01,t02,depth+1);drawTriangleSub(ctx,img,p02,p01,p2,t02,t01,t2,depth+1);drawTriangleSub(ctx,img,p01,p1,p2,t01,t1,t2,depth+1);break;case 4:drawTriangleSub(ctx,img,p0,p12,p2,t0,t12,t2,depth+1);drawTriangleSub(ctx,img,p0,p1,p12,t0,t1,t12,depth+1);break;case 5:drawTriangleSub(ctx,img,p0,p01,p2,t0,t01,t2,depth+1);drawTriangleSub(ctx,img,p2,p01,p12,t2,t01,t12,depth+1);drawTriangleSub(ctx,img,p01,p1,p12,t01,t1,t12,depth+1);break;case 6:drawTriangleSub(ctx,img,p0,p12,p02,t0,t12,t02,depth+1);drawTriangleSub(ctx,img,p0,p1,p12,t0,t1,t12,depth+1);drawTriangleSub(ctx,img,p02,p12,p2,t02,t12,t2,depth+1);break;case 7:drawTriangleSub(ctx,img,p0,p01,p02,t0,t01,t02,depth+1);drawTriangleSub(ctx,img,p01,p12,p02,t01,t12,t02,depth+1);drawTriangleSub(ctx,img,p01,p1,p12,t01,t1,t12,depth+1);drawTriangleSub(ctx,img,p02,p12,p2,t02,t12,t2,depth+1);break;default:drawTexturedTriangle(ctx,img,p0,p1,p2,t0,t1,t2);break;}} 7607const tmpVec4=vec4.create();function transform(transformed,point,matrix,viewport){vec4.set(tmpVec4,point[0],point[1],0,1);vec4.transformMat4(tmpVec4,tmpVec4,matrix);let w=tmpVec4[3];if(w<1e-6)w=1e-6;transformed[0]=((tmpVec4[0]/w)+1)*viewport.width/2;transformed[1]=((tmpVec4[1]/w)+1)*viewport.height/2;transformed[2]=w;} 7608function drawProjectedQuadBackgroundToContext(quad,p1,p2,p3,p4,ctx,quadCanvas){if(quad.imageData){quadCanvas.width=quad.imageData.width;quadCanvas.height=quad.imageData.height;quadCanvas.getContext('2d').putImageData(quad.imageData,0,0);const quadBBox=new tr.b.math.BBox2();quadBBox.addQuad(quad);const iw=quadCanvas.width;const ih=quadCanvas.height;drawTriangleSub(ctx,quadCanvas,p1,p2,p4,[0,0],[iw,0],[0,ih]);drawTriangleSub(ctx,quadCanvas,p2,p3,p4,[iw,0],[iw,ih],[0,ih]);} 7609if(quad.backgroundColor){ctx.fillStyle=quad.backgroundColor;ctx.beginPath();ctx.moveTo(p1[0],p1[1]);ctx.lineTo(p2[0],p2[1]);ctx.lineTo(p3[0],p3[1]);ctx.lineTo(p4[0],p4[1]);ctx.closePath();ctx.fill();}} 7610function drawProjectedQuadOutlineToContext(quad,p1,p2,p3,p4,ctx,quadCanvas){ctx.beginPath();ctx.moveTo(p1[0],p1[1]);ctx.lineTo(p2[0],p2[1]);ctx.lineTo(p3[0],p3[1]);ctx.lineTo(p4[0],p4[1]);ctx.closePath();ctx.save();if(quad.borderColor){ctx.strokeStyle=quad.borderColor;}else{ctx.strokeStyle='rgb(128,128,128)';} 7611if(quad.shadowOffset){ctx.shadowColor='rgb(0, 0, 0)';ctx.shadowOffsetX=quad.shadowOffset[0];ctx.shadowOffsetY=quad.shadowOffset[1];if(quad.shadowBlur){ctx.shadowBlur=quad.shadowBlur;}} 7612if(quad.borderWidth){ctx.lineWidth=quad.borderWidth;}else{ctx.lineWidth=1;} 7613ctx.stroke();ctx.restore();} 7614function drawProjectedQuadSelectionOutlineToContext(quad,p1,p2,p3,p4,ctx,quadCanvas){if(!quad.upperBorderColor)return;ctx.lineWidth=8;ctx.strokeStyle=quad.upperBorderColor;ctx.beginPath();ctx.moveTo(p1[0],p1[1]);ctx.lineTo(p2[0],p2[1]);ctx.lineTo(p3[0],p3[1]);ctx.lineTo(p4[0],p4[1]);ctx.closePath();ctx.stroke();} 7615function drawProjectedQuadToContext(passNumber,quad,p1,p2,p3,p4,ctx,quadCanvas){if(passNumber===0){drawProjectedQuadBackgroundToContext(quad,p1,p2,p3,p4,ctx,quadCanvas);}else if(passNumber===1){drawProjectedQuadOutlineToContext(quad,p1,p2,p3,p4,ctx,quadCanvas);}else if(passNumber===2){drawProjectedQuadSelectionOutlineToContext(quad,p1,p2,p3,p4,ctx,quadCanvas);}else{throw new Error('Invalid pass number');}} 7616const tmpP1=vec3.create();const tmpP2=vec3.create();const tmpP3=vec3.create();const tmpP4=vec3.create();function transformAndProcessQuads(matrix,viewport,quads,numPasses,handleQuadFunc,opt_arg1,opt_arg2){for(let passNumber=0;passNumber<numPasses;passNumber++){for(let i=0;i<quads.length;i++){const quad=quads[i];transform(tmpP1,quad.p1,matrix,viewport);transform(tmpP2,quad.p2,matrix,viewport);transform(tmpP3,quad.p3,matrix,viewport);transform(tmpP4,quad.p4,matrix,viewport);handleQuadFunc(passNumber,quad,tmpP1,tmpP2,tmpP3,tmpP4,opt_arg1,opt_arg2);}}} 7617const QuadStackView=tr.ui.b.define('quad-stack-view');QuadStackView.prototype={__proto__:HTMLDivElement.prototype,decorate(){this.className='quad-stack-view';const node=tr.ui.b.instantiateTemplate('#quad-stack-view-template',THIS_DOC);Polymer.dom(this).appendChild(node);this.updateHeaderVisibility_();this.canvas_=Polymer.dom(this).querySelector('#canvas');this.chromeImages_={left:Polymer.dom(this).querySelector('#chrome-left'),mid:Polymer.dom(this).querySelector('#chrome-mid'),right:Polymer.dom(this).querySelector('#chrome-right')};const stackingDistanceSlider=Polymer.dom(this).querySelector('#stacking-distance-slider');stackingDistanceSlider.value=tr.b.Settings.get('quadStackView.stackingDistance',45);stackingDistanceSlider.addEventListener('change',this.onStackingDistanceChange_.bind(this));stackingDistanceSlider.addEventListener('input',this.onStackingDistanceChange_.bind(this));this.trackMouse_();this.camera_=new tr.ui.b.Camera(this.mouseModeSelector_);this.camera_.addEventListener('renderrequired',this.onRenderRequired_.bind(this));this.cameraWasReset_=false;this.camera_.canvas=this.canvas_;this.viewportRect_=tr.b.math.Rect.fromXYWH(0,0,0,0);this.pixelRatio_=window.devicePixelRatio||1;},updateHeaderVisibility_(){if(this.headerText){Polymer.dom(this).querySelector('#header').style.display='';}else{Polymer.dom(this).querySelector('#header').style.display='none';}},get headerText(){return Polymer.dom(this).querySelector('#header').textContent;},set headerText(headerText){Polymer.dom(this).querySelector('#header').textContent=headerText;this.updateHeaderVisibility_();},onStackingDistanceChange_(e){tr.b.Settings.set('quadStackView.stackingDistance',this.stackingDistance);this.scheduleRender();e.stopPropagation();},get stackingDistance(){return Polymer.dom(this).querySelector('#stacking-distance-slider').value;},get mouseModeSelector(){return this.mouseModeSelector_;},get camera(){return this.camera_;},set quads(q){this.quads_=q;this.scheduleRender();},set deviceRect(rect){if(!rect||rect.equalTo(this.deviceRect_))return;this.deviceRect_=rect;this.camera_.deviceRect=rect;this.chromeQuad_=undefined;},resize(){if(!this.offsetParent)return true;const width=parseInt(window.getComputedStyle(this.offsetParent).width);const height=parseInt(window.getComputedStyle(this.offsetParent).height);const rect=tr.b.math.Rect.fromXYWH(0,0,width,height);if(rect.equalTo(this.viewportRect_))return false;this.viewportRect_=rect;this.style.width=width+'px';this.style.height=height+'px';this.canvas_.style.width=width+'px';this.canvas_.style.height=height+'px';this.canvas_.width=this.pixelRatio_*width;this.canvas_.height=this.pixelRatio_*height;if(!this.cameraWasReset_){this.camera_.resetCamera();this.cameraWasReset_=true;} 7618return true;},readyToDraw(){if(!this.chromeImages_.left.src){let leftContent=window.getComputedStyle(this.chromeImages_.left).backgroundImage;leftContent=tr.ui.b.extractUrlString(leftContent);let midContent=window.getComputedStyle(this.chromeImages_.mid).backgroundImage;midContent=tr.ui.b.extractUrlString(midContent);let rightContent=window.getComputedStyle(this.chromeImages_.right).backgroundImage;rightContent=tr.ui.b.extractUrlString(rightContent);this.chromeImages_.left.src=leftContent;this.chromeImages_.mid.src=midContent;this.chromeImages_.right.src=rightContent;} 7619return(this.chromeImages_.left.height>0)&&(this.chromeImages_.mid.height>0)&&(this.chromeImages_.right.height>0);},get chromeQuad(){if(this.chromeQuad_)return this.chromeQuad_;const chromeCanvas=document.createElement('canvas');const offsetY=this.chromeImages_.left.height;chromeCanvas.width=this.deviceRect_.width;chromeCanvas.height=this.deviceRect_.height+offsetY;const leftWidth=this.chromeImages_.left.width;const midWidth=this.chromeImages_.mid.width;const rightWidth=this.chromeImages_.right.width;const chromeCtx=chromeCanvas.getContext('2d');chromeCtx.drawImage(this.chromeImages_.left,0,0);chromeCtx.save();chromeCtx.translate(leftWidth,0);const s=(this.deviceRect_.width-leftWidth-rightWidth)/midWidth;chromeCtx.scale(s,1);chromeCtx.drawImage(this.chromeImages_.mid,0,0);chromeCtx.restore();chromeCtx.drawImage(this.chromeImages_.right,leftWidth+s*midWidth,0);const chromeRect=tr.b.math.Rect.fromXYWH(this.deviceRect_.x,this.deviceRect_.y-offsetY,this.deviceRect_.width,this.deviceRect_.height+offsetY);const chromeQuad=tr.b.math.Quad.fromRect(chromeRect);chromeQuad.stackingGroupId=this.maxStackingGroupId_+1;chromeQuad.imageData=chromeCtx.getImageData(0,0,chromeCanvas.width,chromeCanvas.height);chromeQuad.shadowOffset=[0,0];chromeQuad.shadowBlur=5;chromeQuad.borderWidth=3;this.chromeQuad_=chromeQuad;return this.chromeQuad_;},scheduleRender(){if(this.redrawScheduled_)return false;this.redrawScheduled_=true;tr.b.requestAnimationFrame(this.render,this);},onRenderRequired_(e){this.scheduleRender();},stackTransformAndProcessQuads_(numPasses,handleQuadFunc,includeChromeQuad,opt_arg1,opt_arg2){const mv=this.camera_.modelViewMatrix;const p=this.camera_.projectionMatrix;const viewport=tr.b.math.Rect.fromXYWH(0,0,this.canvas_.width,this.canvas_.height);const quadStacks=[];for(let i=0;i<this.quads_.length;++i){const quad=this.quads_[i];const stackingId=quad.stackingGroupId||0;while(stackingId>=quadStacks.length){quadStacks.push([]);} 7620quadStacks[stackingId].push(quad);} 7621const mvp=mat4.create();this.maxStackingGroupId_=quadStacks.length;const effectiveStackingDistance=this.stackingDistance*this.camera_.stackingDistanceDampening;mat4.multiply(mvp,p,mv);for(let i=0;i<quadStacks.length;++i){transformAndProcessQuads(mvp,viewport,quadStacks[i],numPasses,handleQuadFunc,opt_arg1,opt_arg2);mat4.translate(mv,mv,[0,0,effectiveStackingDistance]);mat4.multiply(mvp,p,mv);} 7622if(includeChromeQuad&&this.deviceRect_){transformAndProcessQuads(mvp,viewport,[this.chromeQuad],numPasses,drawProjectedQuadToContext,opt_arg1,opt_arg2);}},render(){this.redrawScheduled_=false;if(!this.readyToDraw()){setTimeout(this.scheduleRender.bind(this),constants.IMAGE_LOAD_RETRY_TIME_MS);return;} 7623if(!this.quads_)return;const canvasCtx=this.canvas_.getContext('2d');if(!this.resize()){canvasCtx.clearRect(0,0,this.canvas_.width,this.canvas_.height);} 7624const quadCanvas=document.createElement('canvas');this.stackTransformAndProcessQuads_(3,drawProjectedQuadToContext,true,canvasCtx,quadCanvas);quadCanvas.width=0;},trackMouse_(){this.mouseModeSelector_=document.createElement('tr-ui-b-mouse-mode-selector');this.mouseModeSelector_.targetElement=this.canvas_;this.mouseModeSelector_.supportedModeMask=tr.ui.b.MOUSE_SELECTOR_MODE.SELECTION|tr.ui.b.MOUSE_SELECTOR_MODE.PANSCAN|tr.ui.b.MOUSE_SELECTOR_MODE.ZOOM|tr.ui.b.MOUSE_SELECTOR_MODE.ROTATE;this.mouseModeSelector_.mode=tr.ui.b.MOUSE_SELECTOR_MODE.PANSCAN;this.mouseModeSelector_.pos={x:0,y:100};Polymer.dom(this).appendChild(this.mouseModeSelector_);this.mouseModeSelector_.settingsKey='quadStackView.mouseModeSelector';this.mouseModeSelector_.setModifierForAlternateMode(tr.ui.b.MOUSE_SELECTOR_MODE.ROTATE,tr.ui.b.MODIFIER.SHIFT);this.mouseModeSelector_.setModifierForAlternateMode(tr.ui.b.MOUSE_SELECTOR_MODE.PANSCAN,tr.ui.b.MODIFIER.SPACE);this.mouseModeSelector_.setModifierForAlternateMode(tr.ui.b.MOUSE_SELECTOR_MODE.ZOOM,tr.ui.b.MODIFIER.CMD_OR_CTRL);this.mouseModeSelector_.addEventListener('updateselection',this.onSelectionUpdate_.bind(this));this.mouseModeSelector_.addEventListener('endselection',this.onSelectionUpdate_.bind(this));},extractRelativeMousePosition_(e){const br=this.canvas_.getBoundingClientRect();return[this.pixelRatio_*(e.clientX-this.canvas_.offsetLeft-br.left),this.pixelRatio_*(e.clientY-this.canvas_.offsetTop-br.top)];},onSelectionUpdate_(e){const mousePos=this.extractRelativeMousePosition_(e);const res=[];function handleQuad(passNumber,quad,p1,p2,p3,p4){if(tr.b.math.pointInImplicitQuad(mousePos,p1,p2,p3,p4)){res.push(quad);}} 7625this.stackTransformAndProcessQuads_(1,handleQuad,false);e=new tr.b.Event('selectionchange');e.quads=res;this.dispatchEvent(e);}};return{QuadStackView,};});'use strict';tr.exportTo('tr.ui.e.chrome.cc',function(){const ColorScheme=tr.b.ColorScheme;const THIS_DOC=document.currentScript.ownerDocument;const TILE_HEATMAP_TYPE={};TILE_HEATMAP_TYPE.NONE='none';TILE_HEATMAP_TYPE.SCHEDULED_PRIORITY='scheduledPriority';TILE_HEATMAP_TYPE.USING_GPU_MEMORY='usingGpuMemory';const cc=tr.ui.e.chrome.cc;function createTileRectsSelectorBaseOptions(){return[{label:'None',value:'none'},{label:'Coverage Rects',value:'coverage'}];} 7626const LayerTreeQuadStackView=tr.ui.b.define('tr-ui-e-chrome-cc-layer-tree-quad-stack-view');LayerTreeQuadStackView.prototype={__proto__:HTMLDivElement.prototype,decorate(){this.isRenderPassQuads_=false;this.pictureAsImageData_={};this.messages_=[];this.controls_=document.createElement('top-controls');this.infoBar_=document.createElement('tr-ui-b-info-bar');this.quadStackView_=new tr.ui.b.QuadStackView();this.quadStackView_.addEventListener('selectionchange',this.onQuadStackViewSelectionChange_.bind(this));this.extraHighlightsByLayerId_=undefined;this.inputEventImageData_=undefined;const m=tr.ui.b.MOUSE_SELECTOR_MODE;const mms=this.quadStackView_.mouseModeSelector;mms.settingsKey='tr.e.cc.layerTreeQuadStackView.mouseModeSelector';mms.setKeyCodeForMode(m.SELECTION,'Z'.charCodeAt(0));mms.setKeyCodeForMode(m.PANSCAN,'X'.charCodeAt(0));mms.setKeyCodeForMode(m.ZOOM,'C'.charCodeAt(0));mms.setKeyCodeForMode(m.ROTATE,'V'.charCodeAt(0));const node=tr.ui.b.instantiateTemplate('#tr-ui-e-chrome-cc-layer-tree-quad-stack-view-template',THIS_DOC);Polymer.dom(this).appendChild(node);Polymer.dom(this).appendChild(this.controls_);Polymer.dom(this).appendChild(this.infoBar_);Polymer.dom(this).appendChild(this.quadStackView_);this.tileRectsSelector_=tr.ui.b.createSelector(this,'howToShowTiles','layerView.howToShowTiles','none',createTileRectsSelectorBaseOptions());Polymer.dom(this.controls_).appendChild(this.tileRectsSelector_);const tileHeatmapText=tr.ui.b.createSpan({textContent:'Tile heatmap:'});Polymer.dom(this.controls_).appendChild(tileHeatmapText);const tileHeatmapSelector=tr.ui.b.createSelector(this,'tileHeatmapType','layerView.tileHeatmapType',TILE_HEATMAP_TYPE.NONE,[{label:'None',value:TILE_HEATMAP_TYPE.NONE},{label:'Scheduled Priority',value:TILE_HEATMAP_TYPE.SCHEDULED_PRIORITY},{label:'Is using GPU memory',value:TILE_HEATMAP_TYPE.USING_GPU_MEMORY}]);Polymer.dom(this.controls_).appendChild(tileHeatmapSelector);const showOtherLayersCheckbox=tr.ui.b.createCheckBox(this,'showOtherLayers','layerView.showOtherLayers',true,'Other layers/passes');showOtherLayersCheckbox.title='When checked, show all layers, selected or not.';Polymer.dom(this.controls_).appendChild(showOtherLayersCheckbox);const showInvalidationsCheckbox=tr.ui.b.createCheckBox(this,'showInvalidations','layerView.showInvalidations',true,'Invalidations');showInvalidationsCheckbox.title='When checked, compositing invalidations are highlighted in red';Polymer.dom(this.controls_).appendChild(showInvalidationsCheckbox);const showUnrecordedRegionCheckbox=tr.ui.b.createCheckBox(this,'showUnrecordedRegion','layerView.showUnrecordedRegion',true,'Unrecorded area');showUnrecordedRegionCheckbox.title='When checked, unrecorded areas are highlighted in yellow';Polymer.dom(this.controls_).appendChild(showUnrecordedRegionCheckbox);const showBottlenecksCheckbox=tr.ui.b.createCheckBox(this,'showBottlenecks','layerView.showBottlenecks',true,'Bottlenecks');showBottlenecksCheckbox.title='When checked, scroll bottlenecks are highlighted';Polymer.dom(this.controls_).appendChild(showBottlenecksCheckbox);const showLayoutRectsCheckbox=tr.ui.b.createCheckBox(this,'showLayoutRects','layerView.showLayoutRects',false,'Layout rects');showLayoutRectsCheckbox.title='When checked, shows rects for regions where layout happened';Polymer.dom(this.controls_).appendChild(showLayoutRectsCheckbox);const showContentsCheckbox=tr.ui.b.createCheckBox(this,'showContents','layerView.showContents',true,'Contents');showContentsCheckbox.title='When checked, show the rendered contents inside the layer outlines';Polymer.dom(this.controls_).appendChild(showContentsCheckbox);const showAnimationBoundsCheckbox=tr.ui.b.createCheckBox(this,'showAnimationBounds','layerView.showAnimationBounds',false,'Animation Bounds');showAnimationBoundsCheckbox.title='When checked, show a border around'+' a layer showing the extent of its animation.';Polymer.dom(this.controls_).appendChild(showAnimationBoundsCheckbox);const showInputEventsCheckbox=tr.ui.b.createCheckBox(this,'showInputEvents','layerView.showInputEvents',true,'Input events');showInputEventsCheckbox.title='When checked, input events are '+'displayed as circles.';Polymer.dom(this.controls_).appendChild(showInputEventsCheckbox);this.whatRasterizedLink_=document.createElement('a');Polymer.dom(this.whatRasterizedLink_).classList.add('what-rasterized');Polymer.dom(this.whatRasterizedLink_).textContent='What rasterized?';this.whatRasterizedLink_.addEventListener('click',this.onWhatRasterizedLinkClicked_.bind(this));Polymer.dom(this).appendChild(this.whatRasterizedLink_);},get layerTreeImpl(){return this.layerTreeImpl_;},set isRenderPassQuads(newValue){this.isRenderPassQuads_=newValue;},set layerTreeImpl(layerTreeImpl){if(this.layerTreeImpl_===layerTreeImpl)return;this.layerTreeImpl_=layerTreeImpl;this.selection=undefined;},get extraHighlightsByLayerId(){return this.extraHighlightsByLayerId_;},set extraHighlightsByLayerId(extraHighlightsByLayerId){this.extraHighlightsByLayerId_=extraHighlightsByLayerId;this.scheduleUpdateContents_();},get showOtherLayers(){return this.showOtherLayers_;},set showOtherLayers(show){this.showOtherLayers_=show;this.updateContents_();},get showAnimationBounds(){return this.showAnimationBounds_;},set showAnimationBounds(show){this.showAnimationBounds_=show;this.updateContents_();},get showInputEvents(){return this.showInputEvents_;},set showInputEvents(show){this.showInputEvents_=show;this.updateContents_();},get showContents(){return this.showContents_;},set showContents(show){this.showContents_=show;this.updateContents_();},get showInvalidations(){return this.showInvalidations_;},set showInvalidations(show){this.showInvalidations_=show;this.updateContents_();},get showUnrecordedRegion(){return this.showUnrecordedRegion_;},set showUnrecordedRegion(show){this.showUnrecordedRegion_=show;this.updateContents_();},get showBottlenecks(){return this.showBottlenecks_;},set showBottlenecks(show){this.showBottlenecks_=show;this.updateContents_();},get showLayoutRects(){return this.showLayoutRects_;},set showLayoutRects(show){this.showLayoutRects_=show;this.updateContents_();},get howToShowTiles(){return this.howToShowTiles_;},set howToShowTiles(val){if(val!=='none'&&val!=='coverage'&&isNaN(parseFloat(val))){throw new Error('howToShowTiles requires "none" or "coverage" or a number');} 7627this.howToShowTiles_=val;this.updateContents_();},get tileHeatmapType(){return this.tileHeatmapType_;},set tileHeatmapType(val){this.tileHeatmapType_=val;this.updateContents_();},get selection(){return this.selection_;},set selection(selection){if(this.selection===selection)return;this.selection_=selection;tr.b.dispatchSimpleEvent(this,'selection-change');this.updateContents_();},regenerateContent(){this.updateTilesSelector_();this.updateContents_();},loadDataForImageElement_(image,callback){const imageContent=window.getComputedStyle(image).backgroundImage;image.src=tr.ui.b.extractUrlString(imageContent);image.onload=function(){const canvas=document.createElement('canvas');const ctx=canvas.getContext('2d');canvas.width=image.width;canvas.height=image.height;ctx.drawImage(image,0,0);const imageData=ctx.getImageData(0,0,canvas.width,canvas.height);callback(imageData);};},onQuadStackViewSelectionChange_(e){const selectableQuads=e.quads.filter(function(q){return q.selectionToSetIfClicked!==undefined;});if(selectableQuads.length===0){this.selection=undefined;return;} 7628selectableQuads.sort(function(x,y){const z=x.stackingGroupId-y.stackingGroupId;if(z!==0)return z;return x.selectionToSetIfClicked.specicifity- 7629y.selectionToSetIfClicked.specicifity;});const quadToSelect=selectableQuads[selectableQuads.length-1];this.selection=quadToSelect.selectionToSetIfClicked;},scheduleUpdateContents_(){if(this.updateContentsPending_)return;this.updateContentsPending_=true;tr.b.requestAnimationFrameInThisFrameIfPossible(this.updateContents_,this);},updateContents_(){if(!this.layerTreeImpl_){this.quadStackView_.headerText='No tree';this.quadStackView_.quads=[];return;} 7630const status=this.computePictureLoadingStatus_();if(!status.picturesComplete)return;const lthi=this.layerTreeImpl_.layerTreeHostImpl;const lthiInstance=lthi.objectInstance;const worldViewportRect=tr.b.math.Rect.fromXYWH(0,0,lthi.deviceViewportSize.width,lthi.deviceViewportSize.height);this.quadStackView_.deviceRect=worldViewportRect;if(this.isRenderPassQuads_){this.quadStackView_.quads=this.generateRenderPassQuads();}else{this.quadStackView_.quads=this.generateLayerQuads();} 7631this.updateWhatRasterizedLinkState_();let message='';if(lthi.tilesHaveGpuMemoryUsageInfo){const thisTreeUsageInBytes=this.layerTreeImpl_.gpuMemoryUsageInBytes;const otherTreeUsageInBytes=lthi.gpuMemoryUsageInBytes- 7632thisTreeUsageInBytes;message+=tr.b.convertUnit(thisTreeUsageInBytes,tr.b.UnitPrefixScale.BINARY.NONE,tr.b.UnitPrefixScale.BINARY.MEBI).toFixed(1)+' MiB on this tree';if(otherTreeUsageInBytes){message+=', '+ 7633tr.b.convertUnit(otherTreeUsageInBytes,tr.b.UnitPrefixScale.BINARY.NONE,tr.b.UnitPrefixScale.BINARY.MEBI).toFixed(1)+' MiB on the other tree';}}else{if(this.layerTreeImpl_){const thisTreeUsageInBytes=this.layerTreeImpl_.gpuMemoryUsageInBytes;message+=tr.b.convertUnit(thisTreeUsageInBytes,tr.b.UnitPrefixScale.BINARY.NONE,tr.b.UnitPrefixScale.BINARY.MEBI).toFixed(1)+' MiB on this tree';if(this.layerTreeImpl_.otherTree){message+=', ??? MiB on other tree. ';}}} 7634if(lthi.args.tileManagerBasicState){const tmgs=lthi.args.tileManagerBasicState.globalState;message+=' (softMax='+ 7635tr.b.convertUnit(tmgs.softMemoryLimitInBytes,tr.b.UnitPrefixScale.BINARY.NONE,tr.b.UnitPrefixScale.BINARY.MEBI).toFixed(1)+' MiB, hardMax='+ 7636tr.b.convertUnit(tmgs.hardMemoryLimitInBytes,tr.b.UnitPrefixScale.BINARY.NONE,tr.b.UnitPrefixScale.BINARY.MEBI).toFixed(1)+' MiB, '+ 7637tmgs.memoryLimitPolicy+')';}else{const thread=lthi.snapshottedOnThread;const didManageTilesSlices=thread.sliceGroup.slices.filter(s=>{if(s.category!=='tr.e.cc')return false;if(s.title!=='DidManage')return false;if(s.end>lthi.ts)return false;return true;});didManageTilesSlices.sort(function(x,y){return x.end-y.end;});if(didManageTilesSlices.length>0){const newest=didManageTilesSlices[didManageTilesSlices.length-1];const tmgs=newest.args.state.global_state;message+=' (softMax='+ 7638tr.b.convertUnit(tmgs.softMemoryLimitInBytes,tr.b.UnitPrefixScale.BINARY.NONE,tr.b.UnitPrefixScale.BINARY.MEBI).toFixed(1)+' MiB, hardMax='+ 7639tr.b.convertUnit(tmgs.hardMemoryLimitInBytes,tr.b.UnitPrefixScale.BINARY.NONE,tr.b.UnitPrefixScale.BINARY.MEBI).toFixed(1)+' MiB, '+ 7640tmgs.memoryLimitPolicy+')';}} 7641if(this.layerTreeImpl_.otherTree){message+=' (Another tree exists)';} 7642if(message.length){this.quadStackView_.headerText=message;}else{this.quadStackView_.headerText=undefined;} 7643this.updateInfoBar_(status.messages);},updateTilesSelector_(){const data=createTileRectsSelectorBaseOptions();if(this.layerTreeImpl_){const lthi=this.layerTreeImpl_.layerTreeHostImpl;const scaleNames=lthi.getContentsScaleNames();for(const scale in scaleNames){data.push({label:'Scale '+scale+' ('+scaleNames[scale]+')',value:scale});}} 7644const newSelector=tr.ui.b.createSelector(this,'howToShowTiles','layerView.howToShowTiles','none',data);this.controls_.replaceChild(newSelector,this.tileRectsSelector_);this.tileRectsSelector_=newSelector;},computePictureLoadingStatus_(){const layers=this.layers;const status={messages:[],picturesComplete:true};if(this.showContents){let hasPendingRasterizeImage=false;let firstPictureError=undefined;let hasMissingLayerRect=false;let hasUnresolvedPictureRef=false;for(let i=0;i<layers.length;i++){const layer=layers[i];for(let ir=0;ir<layer.pictures.length;++ir){const picture=layer.pictures[ir];if(picture.idRef){hasUnresolvedPictureRef=true;continue;} 7645if(!picture.layerRect){hasMissingLayerRect=true;continue;} 7646const pictureAsImageData=this.pictureAsImageData_[picture.guid];if(!pictureAsImageData){hasPendingRasterizeImage=true;this.pictureAsImageData_[picture.guid]=tr.e.cc.PictureAsImageData.Pending(this);picture.rasterize({stopIndex:undefined},function(pictureImageData){const picture_=pictureImageData.picture;this.pictureAsImageData_[picture_.guid]=pictureImageData;this.scheduleUpdateContents_();}.bind(this));continue;} 7647if(pictureAsImageData.isPending()){hasPendingRasterizeImage=true;continue;} 7648if(pictureAsImageData.error){if(!firstPictureError){firstPictureError=pictureAsImageData.error;} 7649break;}}} 7650if(hasPendingRasterizeImage){status.picturesComplete=false;}else{if(hasUnresolvedPictureRef){status.messages.push({header:'Missing picture',details:'Your trace didn\'t have pictures for every layer. '+'Old chrome versions had this problem'});} 7651if(hasMissingLayerRect){status.messages.push({header:'Missing layer rect',details:'Your trace may be corrupt or from a very old '+'Chrome revision.'});} 7652if(firstPictureError){status.messages.push({header:'Cannot rasterize',details:firstPictureError});}}} 7653if(this.showInputEvents&&this.layerTreeImpl.tracedInputLatencies&&this.inputEventImageData_===undefined){const image=Polymer.dom(this).querySelector('#input-event');if(!image.src){this.loadDataForImageElement_(image,function(imageData){this.inputEventImageData_=imageData;this.updateContentsPending_=false;this.scheduleUpdateContents_();}.bind(this));} 7654status.picturesComplete=false;} 7655return status;},get selectedRenderPass(){if(this.selection){return this.selection.renderPass_;}},get selectedLayer(){if(this.selection){const selectedLayerId=this.selection.associatedLayerId;return this.layerTreeImpl_.findLayerWithId(selectedLayerId);}},get renderPasses(){let renderPasses=this.layerTreeImpl.layerTreeHostImpl.args.frame.renderPasses;if(!this.showOtherLayers){const selectedRenderPass=this.selectedRenderPass;if(selectedRenderPass){renderPasses=[selectedRenderPass];}} 7656return renderPasses;},get layers(){let layers=this.layerTreeImpl.renderSurfaceLayerList;if(!this.showOtherLayers){const selectedLayer=this.selectedLayer;if(selectedLayer){layers=[selectedLayer];}} 7657return layers;},appendImageQuads_(quads,layer,layerQuad){for(let ir=0;ir<layer.pictures.length;++ir){const picture=layer.pictures[ir];if(!picture.layerRect)continue;const unitRect=picture.layerRect.asUVRectInside(layer.bounds);const iq=layerQuad.projectUnitRect(unitRect);const pictureData=this.pictureAsImageData_[picture.guid];if(this.showContents&&pictureData&&pictureData.imageData){iq.imageData=pictureData.imageData;iq.borderColor='rgba(0,0,0,0)';}else{iq.imageData=undefined;} 7658iq.stackingGroupId=layerQuad.stackingGroupId;quads.push(iq);}},appendAnimationQuads_(quads,layer,layerQuad){if(!layer.animationBoundsRect)return;const rect=layer.animationBoundsRect;const abq=tr.b.math.Quad.fromRect(rect);abq.backgroundColor='rgba(164,191,48,0.5)';abq.borderColor='rgba(205,255,0,0.75)';abq.borderWidth=3.0;abq.stackingGroupId=layerQuad.stackingGroupId;abq.selectionToSetIfClicked=new cc.AnimationRectSelection(layer,rect);quads.push(abq);},appendInvalidationQuads_(quads,layer,layerQuad){if(layer.layerTreeImpl.hasSourceFrameBeenDrawnBefore)return;for(let ir=0;ir<layer.annotatedInvalidation.rects.length;ir++){const rect=layer.annotatedInvalidation.rects[ir];const unitRect=rect.asUVRectInside(layer.bounds);const iq=layerQuad.projectUnitRect(unitRect);iq.backgroundColor='rgba(0, 255, 0, 0.1)';if(rect.reason==='renderer insertion'){iq.backgroundColor='rgba(0, 255, 128, 0.1)';} 7659iq.borderColor='rgba(0, 255, 0, 1)';iq.stackingGroupId=layerQuad.stackingGroupId;iq.selectionToSetIfClicked=new cc.LayerRectSelection(layer,'Invalidation rect ('+rect.reason+')',rect,rect);quads.push(iq);} 7660if(layer.annotatedInvalidation.rects.length===0){for(let ir=0;ir<layer.invalidation.rects.length;ir++){const rect=layer.invalidation.rects[ir];const unitRect=rect.asUVRectInside(layer.bounds);const iq=layerQuad.projectUnitRect(unitRect);iq.backgroundColor='rgba(0, 255, 0, 0.1)';iq.borderColor='rgba(0, 255, 0, 1)';iq.stackingGroupId=layerQuad.stackingGroupId;iq.selectionToSetIfClicked=new cc.LayerRectSelection(layer,'Invalidation rect',rect,rect);quads.push(iq);}}},appendUnrecordedRegionQuads_(quads,layer,layerQuad){for(let ir=0;ir<layer.unrecordedRegion.rects.length;ir++){const rect=layer.unrecordedRegion.rects[ir];const unitRect=rect.asUVRectInside(layer.bounds);const iq=layerQuad.projectUnitRect(unitRect);iq.backgroundColor='rgba(240, 230, 140, 0.3)';iq.borderColor='rgba(240, 230, 140, 1)';iq.stackingGroupId=layerQuad.stackingGroupId;iq.selectionToSetIfClicked=new cc.LayerRectSelection(layer,'Unrecorded area',rect,rect);quads.push(iq);}},appendBottleneckQuads_(quads,layer,layerQuad,stackingGroupId){function processRegion(region,label,borderColor){const backgroundColor=borderColor.clone();backgroundColor.a=0.4*(borderColor.a||1.0);if(!region||!region.rects)return;for(let ir=0;ir<region.rects.length;ir++){const rect=region.rects[ir];const unitRect=rect.asUVRectInside(layer.bounds);const iq=layerQuad.projectUnitRect(unitRect);iq.backgroundColor=backgroundColor.toString();iq.borderColor=borderColor.toString();iq.borderWidth=4.0;iq.stackingGroupId=stackingGroupId;iq.selectionToSetIfClicked=new cc.LayerRectSelection(layer,label,rect,rect);quads.push(iq);}} 7661processRegion(layer.touchEventHandlerRegion,'Touch listener',tr.b.Color.fromString('rgb(228, 226, 27)'));processRegion(layer.wheelEventHandlerRegion,'Wheel listener',tr.b.Color.fromString('rgb(176, 205, 29)'));processRegion(layer.nonFastScrollableRegion,'Repaints on scroll',tr.b.Color.fromString('rgb(213, 134, 32)'));},appendTileCoverageRectQuads_(quads,layer,layerQuad,heatmapType){if(!layer.tileCoverageRects)return;const tiles=[];for(let ct=0;ct<layer.tileCoverageRects.length;++ct){const tile=layer.tileCoverageRects[ct].tile;if(tile!==undefined)tiles.push(tile);} 7662const lthi=this.layerTreeImpl_.layerTreeHostImpl;const minMax=this.getMinMaxForHeatmap_(lthi.activeTiles,heatmapType);const heatmapResult=this.computeHeatmapColors_(tiles,minMax,heatmapType);let heatIndex=0;for(let ct=0;ct<layer.tileCoverageRects.length;++ct){let rect=layer.tileCoverageRects[ct].geometryRect;rect=rect.scale(1.0/layer.geometryContentsScale);const tile=layer.tileCoverageRects[ct].tile;const unitRect=rect.asUVRectInside(layer.bounds);const quad=layerQuad.projectUnitRect(unitRect);quad.backgroundColor='rgba(0, 0, 0, 0)';quad.stackingGroupId=layerQuad.stackingGroupId;let type=tr.e.cc.tileTypes.missing;if(tile){type=tile.getTypeForLayer(layer);quad.backgroundColor=heatmapResult[heatIndex].color;++heatIndex;} 7663quad.borderColor=tr.e.cc.tileBorder[type].color;quad.borderWidth=tr.e.cc.tileBorder[type].width;let label;if(tile){label='coverageRect';}else{label='checkerboard coverageRect';} 7664quad.selectionToSetIfClicked=new cc.LayerRectSelection(layer,label,rect,layer.tileCoverageRects[ct]);quads.push(quad);}},appendLayoutRectQuads_(quads,layer,layerQuad){if(!layer.layoutRects){return;} 7665for(let ct=0;ct<layer.layoutRects.length;++ct){let rect=layer.layoutRects[ct].geometryRect;rect=rect.scale(1.0/layer.geometryContentsScale);const unitRect=rect.asUVRectInside(layer.bounds);const quad=layerQuad.projectUnitRect(unitRect);quad.backgroundColor='rgba(0, 0, 0, 0)';quad.stackingGroupId=layerQuad.stackingGroupId;quad.borderColor='rgba(0, 0, 200, 0.7)';quad.borderWidth=2;const label='Layout rect';quad.selectionToSetIfClicked=new cc.LayerRectSelection(layer,label,rect);quads.push(quad);}},getValueForHeatmap_(tile,heatmapType){if(heatmapType===TILE_HEATMAP_TYPE.SCHEDULED_PRIORITY){return tile.scheduledPriority===0?undefined:tile.scheduledPriority;}else if(heatmapType===TILE_HEATMAP_TYPE.USING_GPU_MEMORY){if(tile.isSolidColor)return 0.5;return tile.isUsingGpuMemory?0:1;}},getMinMaxForHeatmap_(tiles,heatmapType){const range=new tr.b.math.Range();if(heatmapType===TILE_HEATMAP_TYPE.USING_GPU_MEMORY){range.addValue(0);range.addValue(1);return range;} 7666for(let i=0;i<tiles.length;++i){const value=this.getValueForHeatmap_(tiles[i],heatmapType);if(value===undefined)continue;range.addValue(value);} 7667if(range.range===0){range.addValue(1);} 7668return range;},computeHeatmapColors_(tiles,minMax,heatmapType){const min=minMax.min;const max=minMax.max;const color=function(value){let hue=120*(1-(value-min)/(max-min));if(hue<0)hue=0;return'hsla('+hue+', 100%, 50%, 0.5)';};const values=[];for(let i=0;i<tiles.length;++i){const tile=tiles[i];const value=this.getValueForHeatmap_(tile,heatmapType);const res={value,color:value!==undefined?color(value):undefined};values.push(res);} 7669return values;},appendTilesWithScaleQuads_(quads,layer,layerQuad,scale,heatmapType){const lthi=this.layerTreeImpl_.layerTreeHostImpl;const tiles=[];for(let i=0;i<lthi.activeTiles.length;++i){const tile=lthi.activeTiles[i];if(Math.abs(tile.contentsScale-scale)>1e-6){continue;} 7670if(layer.layerId!==tile.layerId)continue;tiles.push(tile);} 7671const minMax=this.getMinMaxForHeatmap_(lthi.activeTiles,heatmapType);const heatmapResult=this.computeHeatmapColors_(tiles,minMax,heatmapType);for(let i=0;i<tiles.length;++i){const tile=tiles[i];const rect=tile.layerRect;if(!tile.layerRect)continue;const unitRect=rect.asUVRectInside(layer.bounds);const quad=layerQuad.projectUnitRect(unitRect);quad.backgroundColor='rgba(0, 0, 0, 0)';quad.stackingGroupId=layerQuad.stackingGroupId;const type=tile.getTypeForLayer(layer);quad.borderColor=tr.e.cc.tileBorder[type].color;quad.borderWidth=tr.e.cc.tileBorder[type].width;quad.backgroundColor=heatmapResult[i].color;const data={tileType:type};if(heatmapType!==TILE_HEATMAP_TYPE.NONE){data[heatmapType]=heatmapResult[i].value;} 7672quad.selectionToSetIfClicked=new cc.TileSelection(tile,data);quads.push(quad);}},appendHighlightQuadsForLayer_(quads,layer,layerQuad,highlights){highlights.forEach(function(highlight){const rect=highlight.rect;const unitRect=rect.asUVRectInside(layer.bounds);const quad=layerQuad.projectUnitRect(unitRect);let colorId=ColorScheme.getColorIdForGeneralPurposeString(highlight.colorKey);const offset=ColorScheme.properties.brightenedOffsets[0];colorId=ColorScheme.getVariantColorId(colorId,offset);const color=ColorScheme.colors[colorId];const quadForDrawing=quad.clone();quadForDrawing.backgroundColor=color.withAlpha(0.5).toString();quadForDrawing.borderColor=color.withAlpha(1.0).darken().toString();quadForDrawing.stackingGroupId=layerQuad.stackingGroupId;quads.push(quadForDrawing);},this);},generateRenderPassQuads(){if(!this.layerTreeImpl.layerTreeHostImpl.args.frame)return[];const renderPasses=this.renderPasses;if(!renderPasses)return[];const quads=[];for(let i=0;i<renderPasses.length;++i){const quadList=renderPasses[i].quadList;for(let j=0;j<quadList.length;++j){const drawQuad=quadList[j];const quad=drawQuad.rectAsTargetSpaceQuad.clone();quad.borderColor='rgb(170, 204, 238)';quad.borderWidth=2;quad.stackingGroupId=i;quads.push(quad);}} 7673return quads;},generateLayerQuads(){this.updateContentsPending_=false;const layers=this.layers;const quads=[];let nextStackingGroupId=0;const alreadyVisitedLayerIds={};let selectionHighlightsByLayerId;if(this.selection){selectionHighlightsByLayerId=this.selection.highlightsByLayerId;}else{selectionHighlightsByLayerId={};} 7674const extraHighlightsByLayerId=this.extraHighlightsByLayerId||{};for(let i=1;i<=layers.length;i++){const layer=layers[layers.length-i];alreadyVisitedLayerIds[layer.layerId]=true;if(layer.objectInstance.name==='cc::NinePatchLayerImpl'){continue;} 7675const layerQuad=layer.layerQuad.clone();if(layer.usingGpuRasterization){const pixelRatio=window.devicePixelRatio||1;layerQuad.borderWidth=2.0*pixelRatio;layerQuad.borderColor='rgba(154,205,50,0.75)';}else{layerQuad.borderColor='rgba(0,0,0,0.75)';} 7676layerQuad.stackingGroupId=nextStackingGroupId++;layerQuad.selectionToSetIfClicked=new cc.LayerSelection(layer);layerQuad.layer=layer;if(this.showOtherLayers&&this.selectedLayer===layer){layerQuad.upperBorderColor='rgb(156,189,45)';} 7677if(this.showAnimationBounds){this.appendAnimationQuads_(quads,layer,layerQuad);} 7678this.appendImageQuads_(quads,layer,layerQuad);quads.push(layerQuad);if(this.showInvalidations){this.appendInvalidationQuads_(quads,layer,layerQuad);} 7679if(this.showUnrecordedRegion){this.appendUnrecordedRegionQuads_(quads,layer,layerQuad);} 7680if(this.showBottlenecks){this.appendBottleneckQuads_(quads,layer,layerQuad,layerQuad.stackingGroupId);} 7681if(this.showLayoutRects){this.appendLayoutRectQuads_(quads,layer,layerQuad);} 7682if(this.howToShowTiles==='coverage'){this.appendTileCoverageRectQuads_(quads,layer,layerQuad,this.tileHeatmapType);}else if(this.howToShowTiles!=='none'){this.appendTilesWithScaleQuads_(quads,layer,layerQuad,this.howToShowTiles,this.tileHeatmapType);} 7683let highlights;highlights=extraHighlightsByLayerId[layer.layerId];if(highlights){this.appendHighlightQuadsForLayer_(quads,layer,layerQuad,highlights);} 7684highlights=selectionHighlightsByLayerId[layer.layerId];if(highlights){this.appendHighlightQuadsForLayer_(quads,layer,layerQuad,highlights);}} 7685this.layerTreeImpl.iterLayers(function(layer,depth,isMask,isReplica){if(!this.showOtherLayers&&this.selectedLayer!==layer)return;if(alreadyVisitedLayerIds[layer.layerId])return;const layerQuad=layer.layerQuad;const stackingGroupId=nextStackingGroupId++;if(this.showBottlenecks){this.appendBottleneckQuads_(quads,layer,layerQuad,stackingGroupId);}},this);const tracedInputLatencies=this.layerTreeImpl.tracedInputLatencies;if(this.showInputEvents&&tracedInputLatencies){for(let i=0;i<tracedInputLatencies.length;i++){const coordinatesArray=tracedInputLatencies[i].args.data.coordinates;for(let j=0;j<coordinatesArray.length;j++){const inputQuad=tr.b.math.Quad.fromXYWH(coordinatesArray[j].x-25,coordinatesArray[j].y-25,50,50);inputQuad.borderColor='rgba(0, 0, 0, 0)';inputQuad.imageData=this.inputEventImageData_;quads.push(inputQuad);}}} 7686return quads;},updateInfoBar_(infoBarMessages){if(infoBarMessages.length){this.infoBar_.removeAllButtons();this.infoBar_.message='Some problems were encountered...';this.infoBar_.addButton('More info...',function(e){const overlay=new tr.ui.b.Overlay();Polymer.dom(overlay).textContent='';infoBarMessages.forEach(function(message){const title=document.createElement('h3');Polymer.dom(title).textContent=message.header;const details=document.createElement('div');Polymer.dom(details).textContent=message.details;Polymer.dom(overlay).appendChild(title);Polymer.dom(overlay).appendChild(details);});overlay.visible=true;e.stopPropagation();return false;});this.infoBar_.visible=true;}else{this.infoBar_.removeAllButtons();this.infoBar_.message='';this.infoBar_.visible=false;}},getWhatRasterized_(){const lthi=this.layerTreeImpl_.layerTreeHostImpl;const renderProcess=lthi.objectInstance.parent;const tasks=[];for(const event of renderProcess.getDescendantEvents()){if(!(event instanceof tr.model.Slice))continue;const tile=tr.e.cc.getTileFromRasterTaskSlice(event);if(tile===undefined)continue;if(tile.containingSnapshot===lthi){tasks.push(event);}} 7687return tasks;},updateWhatRasterizedLinkState_(){const tasks=this.getWhatRasterized_();if(tasks.length){Polymer.dom(this.whatRasterizedLink_).textContent=tasks.length+' raster tasks';this.whatRasterizedLink_.style.display='';}else{Polymer.dom(this.whatRasterizedLink_).textContent='';this.whatRasterizedLink_.style.display='none';}},onWhatRasterizedLinkClicked_(){const tasks=this.getWhatRasterized_();const event=new tr.model.RequestSelectionChangeEvent();event.selection=new tr.model.EventSet(tasks);this.dispatchEvent(event);}};return{LayerTreeQuadStackView,};});'use strict';tr.exportTo('tr.ui.e.chrome.cc',function(){const constants=tr.e.cc.constants;const LayerView=tr.ui.b.define('tr-ui-e-chrome-cc-layer-view');LayerView.prototype={__proto__:HTMLDivElement.prototype,decorate(){this.layerTreeQuadStackView_=new tr.ui.e.chrome.cc.LayerTreeQuadStackView();this.dragBar_=document.createElement('tr-ui-b-drag-handle');this.analysisEl_=document.createElement('tr-ui-e-chrome-cc-layer-view-analysis');this.analysisEl_.addEventListener('requestSelectionChange',this.onRequestSelectionChangeFromAnalysisEl_.bind(this));this.dragBar_.target=this.analysisEl_;Polymer.dom(this).appendChild(this.layerTreeQuadStackView_);Polymer.dom(this).appendChild(this.dragBar_);Polymer.dom(this).appendChild(this.analysisEl_);this.layerTreeQuadStackView_.addEventListener('selection-change',function(){this.layerTreeQuadStackViewSelectionChanged_();}.bind(this));this.layerTreeQuadStackViewSelectionChanged_();},get layerTreeImpl(){return this.layerTreeQuadStackView_.layerTreeImpl;},set layerTreeImpl(newValue){return this.layerTreeQuadStackView_.layerTreeImpl=newValue;},set isRenderPassQuads(newValue){return this.layerTreeQuadStackView_.isRenderPassQuads=newValue;},get selection(){return this.layerTreeQuadStackView_.selection;},set selection(newValue){this.layerTreeQuadStackView_.selection=newValue;},regenerateContent(){this.layerTreeQuadStackView_.regenerateContent();},layerTreeQuadStackViewSelectionChanged_(){const selection=this.layerTreeQuadStackView_.selection;if(selection){this.dragBar_.style.display='';this.analysisEl_.style.display='';Polymer.dom(this.analysisEl_).textContent='';const layer=selection.layer;if(layer&&layer.args&&layer.args.pictures){Polymer.dom(this.analysisEl_).appendChild(this.createPictureBtn_(layer.args.pictures));} 7688const analysis=selection.createAnalysis();Polymer.dom(this.analysisEl_).appendChild(analysis);}else{this.dragBar_.style.display='none';this.analysisEl_.style.display='none';const analysis=Polymer.dom(this.analysisEl_).firstChild;if(analysis){Polymer.dom(this.analysisEl_).removeChild(analysis);} 7689this.layerTreeQuadStackView_.style.height=window.getComputedStyle(this).height;} 7690tr.b.dispatchSimpleEvent(this,'selection-change');},createPictureBtn_(pictures){if(!(pictures instanceof Array)){pictures=[pictures];} 7691const link=document.createElement('tr-ui-a-analysis-link');link.selection=function(){const layeredPicture=new tr.e.cc.LayeredPicture(pictures);const snapshot=new tr.e.cc.PictureSnapshot(layeredPicture);snapshot.picture=layeredPicture;const selection=new tr.model.EventSet();selection.push(snapshot);return selection;};Polymer.dom(link).textContent='View in Picture Debugger';return link;},onRequestSelectionChangeFromAnalysisEl_(e){if(!(e.selection instanceof tr.ui.e.chrome.cc.Selection)){return;} 7692e.stopPropagation();this.selection=e.selection;},get extraHighlightsByLayerId(){return this.layerTreeQuadStackView_.extraHighlightsByLayerId;},set extraHighlightsByLayerId(extraHighlightsByLayerId){this.layerTreeQuadStackView_.extraHighlightsByLayerId=extraHighlightsByLayerId;}};return{LayerView,};});'use strict';tr.exportTo('tr.ui.e.chrome.cc',function(){const LayerTreeHostImplSnapshotView=tr.ui.b.define('tr-ui-e-chrome-cc-layer-tree-host-impl-snapshot-view',tr.ui.analysis.ObjectSnapshotView);LayerTreeHostImplSnapshotView.prototype={__proto__:tr.ui.analysis.ObjectSnapshotView.prototype,decorate(){Polymer.dom(this).classList.add('tr-ui-e-chrome-cc-lthi-s-view');this.selection_=undefined;this.layerPicker_=new tr.ui.e.chrome.cc.LayerPicker();this.layerPicker_.addEventListener('selection-change',this.onLayerPickerSelectionChanged_.bind(this));this.layerView_=new tr.ui.e.chrome.cc.LayerView();this.layerView_.addEventListener('selection-change',this.onLayerViewSelectionChanged_.bind(this));this.dragHandle_=document.createElement('tr-ui-b-drag-handle');this.dragHandle_.horizontal=false;this.dragHandle_.target=this.layerView_;Polymer.dom(this).appendChild(this.layerPicker_);Polymer.dom(this).appendChild(this.dragHandle_);Polymer.dom(this).appendChild(this.layerView_);this.onLayerViewSelectionChanged_();this.onLayerPickerSelectionChanged_();},get objectSnapshot(){return this.objectSnapshot_;},set objectSnapshot(objectSnapshot){this.objectSnapshot_=objectSnapshot;const lthi=this.objectSnapshot;let layerTreeImpl;if(lthi){layerTreeImpl=lthi.getTree(this.layerPicker_.whichTree);} 7693this.layerPicker_.lthiSnapshot=lthi;this.layerView_.layerTreeImpl=layerTreeImpl;this.layerView_.regenerateContent();if(!this.selection_)return;this.selection=this.selection_.findEquivalent(lthi);},get selection(){return this.selection_;},set selection(selection){if(this.selection_===selection)return;this.selection_=selection;this.layerPicker_.selection=selection;this.layerView_.selection=selection;tr.b.dispatchSimpleEvent(this,'cc-selection-change');},onLayerPickerSelectionChanged_(){this.selection_=this.layerPicker_.selection;this.layerView_.selection=this.selection;this.layerView_.layerTreeImpl=this.layerPicker_.layerTreeImpl;this.layerView_.isRenderPassQuads=this.layerPicker_.isRenderPassQuads;this.layerView_.regenerateContent();tr.b.dispatchSimpleEvent(this,'cc-selection-change');},onLayerViewSelectionChanged_(){this.selection_=this.layerView_.selection;this.layerPicker_.selection=this.selection;tr.b.dispatchSimpleEvent(this,'cc-selection-change');},get extraHighlightsByLayerId(){return this.layerView_.extraHighlightsByLayerId;},set extraHighlightsByLayerId(extraHighlightsByLayerId){this.layerView_.extraHighlightsByLayerId=extraHighlightsByLayerId;}};tr.ui.analysis.ObjectSnapshotView.register(LayerTreeHostImplSnapshotView,{typeName:'cc::LayerTreeHostImpl'});return{LayerTreeHostImplSnapshotView,};});'use strict';tr.exportTo('tr.ui.e.chrome.cc',function(){const OPS_TIMING_ITERATIONS=3;const CHART_PADDING_LEFT=65;const CHART_PADDING_RIGHT=40;const AXIS_PADDING_LEFT=60;const AXIS_PADDING_RIGHT=35;const AXIS_PADDING_TOP=25;const AXIS_PADDING_BOTTOM=45;const AXIS_LABEL_PADDING=5;const AXIS_TICK_SIZE=10;const LABEL_PADDING=5;const LABEL_INTERLEAVE_OFFSET=15;const BAR_PADDING=5;const VERTICAL_TICKS=5;const HUE_CHAR_CODE_ADJUSTMENT=5.7;const PictureOpsChartSummaryView=tr.ui.b.define('tr-ui-e-chrome-cc-picture-ops-chart-summary-view');PictureOpsChartSummaryView.prototype={__proto__:HTMLDivElement.prototype,decorate(){this.picture_=undefined;this.pictureDataProcessed_=false;this.chartScale_=window.devicePixelRatio;this.chart_=document.createElement('canvas');this.chartCtx_=this.chart_.getContext('2d');Polymer.dom(this).appendChild(this.chart_);this.opsTimingData_=[];this.chartWidth_=0;this.chartHeight_=0;this.requiresRedraw_=true;this.currentBarMouseOverTarget_=null;this.chart_.addEventListener('mousemove',this.onMouseMove_.bind(this));},get requiresRedraw(){return this.requiresRedraw_;},set requiresRedraw(requiresRedraw){this.requiresRedraw_=requiresRedraw;},get picture(){return this.picture_;},set picture(picture){this.picture_=picture;this.pictureDataProcessed_=false;if(Polymer.dom(this).classList.contains('hidden'))return;this.processPictureData_();this.requiresRedraw=true;this.updateChartContents();},hide(){Polymer.dom(this).classList.add('hidden');},show(){Polymer.dom(this).classList.remove('hidden');if(this.pictureDataProcessed_)return;this.processPictureData_();this.requiresRedraw=true;this.updateChartContents();},onMouseMove_(e){const lastBarMouseOverTarget=this.currentBarMouseOverTarget_;this.currentBarMouseOverTarget_=null;const x=e.offsetX;const y=e.offsetY;const chartLeft=CHART_PADDING_LEFT;const chartRight=this.chartWidth_-CHART_PADDING_RIGHT;const chartTop=AXIS_PADDING_TOP;const chartBottom=this.chartHeight_-AXIS_PADDING_BOTTOM;const chartInnerWidth=chartRight-chartLeft;if(x>chartLeft&&x<chartRight&&y>chartTop&&y<chartBottom){this.currentBarMouseOverTarget_=Math.floor((x-chartLeft)/chartInnerWidth*this.opsTimingData_.length);this.currentBarMouseOverTarget_=tr.b.math.clamp(this.currentBarMouseOverTarget_,0,this.opsTimingData_.length-1);} 7694if(this.currentBarMouseOverTarget_===lastBarMouseOverTarget)return;this.drawChartContents_();},updateChartContents(){if(this.requiresRedraw){this.updateChartDimensions_();} 7695this.drawChartContents_();},updateChartDimensions_(){this.chartWidth_=this.offsetWidth;this.chartHeight_=this.offsetHeight;this.chart_.width=this.chartWidth_*this.chartScale_;this.chart_.height=this.chartHeight_*this.chartScale_;this.chart_.style.width=this.chartWidth_+'px';this.chart_.style.height=this.chartHeight_+'px';this.chartCtx_.scale(this.chartScale_,this.chartScale_);},processPictureData_(){this.resetOpsTimingData_();this.pictureDataProcessed_=true;if(!this.picture_)return;let ops=this.picture_.getOps();if(!ops)return;ops=this.picture_.tagOpsWithTimings(ops);if(ops[0].cmd_time===undefined)return;this.collapseOpsToTimingBuckets_(ops);},drawChartContents_(){this.clearChartContents_();if(this.opsTimingData_.length===0){this.showNoTimingDataMessage_();return;} 7696this.drawChartAxes_();this.drawBars_();this.drawLineAtBottomOfChart_();if(this.currentBarMouseOverTarget_===null)return;this.drawTooltip_();},drawLineAtBottomOfChart_(){this.chartCtx_.strokeStyle='#AAA';this.chartCtx_.moveTo(0,this.chartHeight_-0.5);this.chartCtx_.lineTo(this.chartWidth_,this.chartHeight_-0.5);this.chartCtx_.stroke();},drawTooltip_(){const tooltipData=this.opsTimingData_[this.currentBarMouseOverTarget_];const tooltipTitle=tooltipData.cmd_string;const tooltipTime=tooltipData.cmd_time.toFixed(4);const tooltipWidth=110;const tooltipHeight=40;const chartInnerWidth=this.chartWidth_-CHART_PADDING_RIGHT- 7697CHART_PADDING_LEFT;const barWidth=chartInnerWidth/this.opsTimingData_.length;const tooltipOffset=Math.round((tooltipWidth-barWidth)*0.5);const left=CHART_PADDING_LEFT+this.currentBarMouseOverTarget_*barWidth-tooltipOffset;const top=Math.round((this.chartHeight_-tooltipHeight)*0.5);this.chartCtx_.save();this.chartCtx_.shadowOffsetX=0;this.chartCtx_.shadowOffsetY=5;this.chartCtx_.shadowBlur=4;this.chartCtx_.shadowColor='rgba(0,0,0,0.4)';this.chartCtx_.strokeStyle='#888';this.chartCtx_.fillStyle='#EEE';this.chartCtx_.fillRect(left,top,tooltipWidth,tooltipHeight);this.chartCtx_.shadowColor='transparent';this.chartCtx_.translate(0.5,0.5);this.chartCtx_.strokeRect(left,top,tooltipWidth,tooltipHeight);this.chartCtx_.restore();this.chartCtx_.fillStyle='#222';this.chartCtx_.textBaseline='top';this.chartCtx_.font='800 12px Arial';this.chartCtx_.fillText(tooltipTitle,left+8,top+8);this.chartCtx_.fillStyle='#555';this.chartCtx_.textBaseline='top';this.chartCtx_.font='400 italic 10px Arial';this.chartCtx_.fillText('Total: '+tooltipTime+'ms',left+8,top+22);},drawBars_(){const len=this.opsTimingData_.length;const max=this.opsTimingData_[0].cmd_time;const min=this.opsTimingData_[len-1].cmd_time;const width=this.chartWidth_-CHART_PADDING_LEFT-CHART_PADDING_RIGHT;const height=this.chartHeight_-AXIS_PADDING_TOP-AXIS_PADDING_BOTTOM;const barWidth=Math.floor(width/len);let opData;let opTiming;let opHeight;let opLabel;let barLeft;for(let b=0;b<len;b++){opData=this.opsTimingData_[b];opTiming=opData.cmd_time/max;opHeight=Math.round(Math.max(1,opTiming*height));opLabel=opData.cmd_string;barLeft=CHART_PADDING_LEFT+b*barWidth;this.chartCtx_.fillStyle=this.getOpColor_(opLabel);this.chartCtx_.fillRect(barLeft+BAR_PADDING,AXIS_PADDING_TOP+ 7698height-opHeight,barWidth-2*BAR_PADDING,opHeight);}},getOpColor_(opName){const characters=opName.split('');const hue=characters.reduce(this.reduceNameToHue,0)%360;return'hsl('+hue+', 30%, 50%)';},reduceNameToHue(previousValue,currentValue,index,array){return Math.round(previousValue+currentValue.charCodeAt(0)*HUE_CHAR_CODE_ADJUSTMENT);},drawChartAxes_(){const len=this.opsTimingData_.length;const max=this.opsTimingData_[0].cmd_time;const min=this.opsTimingData_[len-1].cmd_time;const width=this.chartWidth_-AXIS_PADDING_LEFT-AXIS_PADDING_RIGHT;const height=this.chartHeight_-AXIS_PADDING_TOP-AXIS_PADDING_BOTTOM;const totalBarWidth=this.chartWidth_-CHART_PADDING_LEFT- 7699CHART_PADDING_RIGHT;const barWidth=Math.floor(totalBarWidth/len);const tickYInterval=height/(VERTICAL_TICKS-1);let tickYPosition=0;const tickValInterval=(max-min)/(VERTICAL_TICKS-1);let tickVal=0;this.chartCtx_.fillStyle='#333';this.chartCtx_.strokeStyle='#777';this.chartCtx_.save();this.chartCtx_.translate(0.5,0.5);this.chartCtx_.save();this.chartCtx_.translate(AXIS_PADDING_LEFT,AXIS_PADDING_TOP);this.chartCtx_.moveTo(0,0);this.chartCtx_.lineTo(0,height);this.chartCtx_.lineTo(width,height);this.chartCtx_.font='10px Arial';this.chartCtx_.textAlign='right';this.chartCtx_.textBaseline='middle';for(let t=0;t<VERTICAL_TICKS;t++){tickYPosition=Math.round(t*tickYInterval);tickVal=(max-t*tickValInterval).toFixed(4);this.chartCtx_.moveTo(0,tickYPosition);this.chartCtx_.lineTo(-AXIS_TICK_SIZE,tickYPosition);this.chartCtx_.fillText(tickVal,-AXIS_TICK_SIZE-AXIS_LABEL_PADDING,tickYPosition);} 7700this.chartCtx_.stroke();this.chartCtx_.restore();this.chartCtx_.save();this.chartCtx_.translate(CHART_PADDING_LEFT+Math.round(barWidth*0.5),AXIS_PADDING_TOP+height+LABEL_PADDING);this.chartCtx_.font='10px Arial';this.chartCtx_.textAlign='center';this.chartCtx_.textBaseline='top';let labelTickLeft;let labelTickBottom;for(let l=0;l<len;l++){labelTickLeft=Math.round(l*barWidth);labelTickBottom=l%2*LABEL_INTERLEAVE_OFFSET;this.chartCtx_.save();this.chartCtx_.moveTo(labelTickLeft,-LABEL_PADDING);this.chartCtx_.lineTo(labelTickLeft,labelTickBottom);this.chartCtx_.stroke();this.chartCtx_.restore();this.chartCtx_.fillText(this.opsTimingData_[l].cmd_string,labelTickLeft,labelTickBottom);} 7701this.chartCtx_.restore();this.chartCtx_.restore();},clearChartContents_(){this.chartCtx_.clearRect(0,0,this.chartWidth_,this.chartHeight_);},showNoTimingDataMessage_(){this.chartCtx_.font='800 italic 14px Arial';this.chartCtx_.fillStyle='#333';this.chartCtx_.textAlign='center';this.chartCtx_.textBaseline='middle';this.chartCtx_.fillText('No timing data available.',this.chartWidth_*0.5,this.chartHeight_*0.5);},collapseOpsToTimingBuckets_(ops){const opsTimingDataIndexHash_={};const timingData=this.opsTimingData_;let op;let opIndex;for(let i=0;i<ops.length;i++){op=ops[i];if(op.cmd_time===undefined)continue;opIndex=opsTimingDataIndexHash_[op.cmd_string]||null;if(opIndex===null){timingData.push({cmd_time:0,cmd_string:op.cmd_string});opIndex=timingData.length-1;opsTimingDataIndexHash_[op.cmd_string]=opIndex;} 7702timingData[opIndex].cmd_time+=op.cmd_time;} 7703timingData.sort(this.sortTimingBucketsByOpTimeDescending_);this.collapseTimingBucketsToOther_(4);},collapseTimingBucketsToOther_(count){const timingData=this.opsTimingData_;const otherSource=timingData.splice(count,timingData.length-count);let otherDestination=null;if(!otherSource.length)return;timingData.push({cmd_time:0,cmd_string:'Other'});otherDestination=timingData[timingData.length-1];for(let i=0;i<otherSource.length;i++){otherDestination.cmd_time+=otherSource[i].cmd_time;}},sortTimingBucketsByOpTimeDescending_(a,b){return b.cmd_time-a.cmd_time;},resetOpsTimingData_(){this.opsTimingData_.length=0;}};return{PictureOpsChartSummaryView,};});'use strict';tr.exportTo('tr.ui.e.chrome.cc',function(){const BAR_PADDING=1;const BAR_WIDTH=5;const CHART_PADDING_LEFT=65;const CHART_PADDING_RIGHT=30;const CHART_PADDING_BOTTOM=35;const CHART_PADDING_TOP=20;const AXIS_PADDING_LEFT=55;const AXIS_PADDING_RIGHT=30;const AXIS_PADDING_BOTTOM=35;const AXIS_PADDING_TOP=20;const AXIS_TICK_SIZE=5;const AXIS_LABEL_PADDING=5;const VERTICAL_TICKS=5;const HUE_CHAR_CODE_ADJUSTMENT=5.7;const PictureOpsChartView=tr.ui.b.define('tr-ui-e-chrome-cc-picture-ops-chart-view');PictureOpsChartView.prototype={__proto__:HTMLDivElement.prototype,decorate(){this.picture_=undefined;this.pictureOps_=undefined;this.opCosts_=undefined;this.chartScale_=window.devicePixelRatio;this.chart_=document.createElement('canvas');this.chartCtx_=this.chart_.getContext('2d');Polymer.dom(this).appendChild(this.chart_);this.selectedOpIndex_=undefined;this.chartWidth_=0;this.chartHeight_=0;this.dimensionsHaveChanged_=true;this.currentBarMouseOverTarget_=undefined;this.ninetyFifthPercentileCost_=0;this.totalOpCost_=0;this.chart_.addEventListener('click',this.onClick_.bind(this));this.chart_.addEventListener('mousemove',this.onMouseMove_.bind(this));this.usePercentileScale_=false;this.usePercentileScaleCheckbox_=tr.ui.b.createCheckBox(this,'usePercentileScale','PictureOpsChartView.usePercentileScale',false,'Limit to 95%-ile');Polymer.dom(this.usePercentileScaleCheckbox_).classList.add('use-percentile-scale');Polymer.dom(this).appendChild(this.usePercentileScaleCheckbox_);},get dimensionsHaveChanged(){return this.dimensionsHaveChanged_;},set dimensionsHaveChanged(dimensionsHaveChanged){this.dimensionsHaveChanged_=dimensionsHaveChanged;},get usePercentileScale(){return this.usePercentileScale_;},set usePercentileScale(usePercentileScale){this.usePercentileScale_=usePercentileScale;this.drawChartContents_();},get numOps(){return this.opCosts_.length;},get selectedOpIndex(){return this.selectedOpIndex_;},set selectedOpIndex(selectedOpIndex){if(selectedOpIndex<0)throw new Error('Invalid index');if(selectedOpIndex>=this.numOps)throw new Error('Invalid index');this.selectedOpIndex_=selectedOpIndex;},get picture(){return this.picture_;},set picture(picture){this.picture_=picture;this.pictureOps_=picture.tagOpsWithTimings(picture.getOps());this.currentBarMouseOverTarget_=undefined;this.processPictureData_();this.dimensionsHaveChanged=true;},processPictureData_(){if(this.pictureOps_===undefined)return;let totalOpCost=0;this.opCosts_=this.pictureOps_.map(function(op){totalOpCost+=op.cmd_time;return op.cmd_time;});this.opCosts_.sort();const ninetyFifthPercentileCostIndex=Math.floor(this.opCosts_.length*0.95);this.ninetyFifthPercentileCost_=this.opCosts_[ninetyFifthPercentileCostIndex];this.maxCost_=this.opCosts_[this.opCosts_.length-1];this.totalOpCost_=totalOpCost;},extractBarIndex_(e){let index=undefined;if(this.pictureOps_===undefined||this.pictureOps_.length===0){return index;} 7704const x=e.offsetX;const y=e.offsetY;const totalBarWidth=(BAR_WIDTH+BAR_PADDING)*this.pictureOps_.length;const chartLeft=CHART_PADDING_LEFT;const chartTop=0;const chartBottom=this.chartHeight_-CHART_PADDING_BOTTOM;const chartRight=chartLeft+totalBarWidth;if(x<chartLeft||x>chartRight||y<chartTop||y>chartBottom){return index;} 7705index=Math.floor((x-chartLeft)/totalBarWidth*this.pictureOps_.length);index=tr.b.math.clamp(index,0,this.pictureOps_.length-1);return index;},onClick_(e){const barClicked=this.extractBarIndex_(e);if(barClicked===undefined)return;if(barClicked===this.selectedOpIndex){this.selectedOpIndex=undefined;}else{this.selectedOpIndex=barClicked;} 7706e.preventDefault();tr.b.dispatchSimpleEvent(this,'selection-changed',false);},onMouseMove_(e){const lastBarMouseOverTarget=this.currentBarMouseOverTarget_;this.currentBarMouseOverTarget_=this.extractBarIndex_(e);if(this.currentBarMouseOverTarget_===lastBarMouseOverTarget){return;} 7707this.drawChartContents_();},scrollSelectedItemIntoViewIfNecessary(){if(this.selectedOpIndex===undefined){return;} 7708const width=this.offsetWidth;const left=this.scrollLeft;const right=left+width;const targetLeft=CHART_PADDING_LEFT+ 7709(BAR_WIDTH+BAR_PADDING)*this.selectedOpIndex;if(targetLeft>left&&targetLeft<right){return;} 7710this.scrollLeft=(targetLeft-width*0.5);},updateChartContents(){if(this.dimensionsHaveChanged){this.updateChartDimensions_();} 7711this.drawChartContents_();},updateChartDimensions_(){if(!this.pictureOps_)return;let width=CHART_PADDING_LEFT+CHART_PADDING_RIGHT+ 7712((BAR_WIDTH+BAR_PADDING)*this.pictureOps_.length);if(width<this.offsetWidth){width=this.offsetWidth;} 7713this.chartWidth_=width;this.chartHeight_=this.getBoundingClientRect().height;this.chart_.width=this.chartWidth_*this.chartScale_;this.chart_.height=this.chartHeight_*this.chartScale_;this.chart_.style.width=this.chartWidth_+'px';this.chart_.style.height=this.chartHeight_+'px';this.chartCtx_.scale(this.chartScale_,this.chartScale_);this.dimensionsHaveChanged=false;},drawChartContents_(){this.clearChartContents_();if(this.pictureOps_===undefined||this.pictureOps_.length===0||this.pictureOps_[0].cmd_time===undefined){this.showNoTimingDataMessage_();return;} 7714this.drawSelection_();this.drawBars_();this.drawChartAxes_();this.drawLinesAtTickMarks_();this.drawLineAtBottomOfChart_();if(this.currentBarMouseOverTarget_===undefined){return;} 7715this.drawTooltip_();},drawSelection_(){if(this.selectedOpIndex===undefined){return;} 7716const width=(BAR_WIDTH+BAR_PADDING)*this.selectedOpIndex;this.chartCtx_.fillStyle='rgb(223, 235, 230)';this.chartCtx_.fillRect(CHART_PADDING_LEFT,CHART_PADDING_TOP,width,this.chartHeight_-CHART_PADDING_TOP-CHART_PADDING_BOTTOM);},drawChartAxes_(){const min=this.opCosts_[0];const max=this.opCosts_[this.opCosts_.length-1];const height=this.chartHeight_-AXIS_PADDING_TOP-AXIS_PADDING_BOTTOM;const tickYInterval=height/(VERTICAL_TICKS-1);let tickYPosition=0;const tickValInterval=(max-min)/(VERTICAL_TICKS-1);let tickVal=0;this.chartCtx_.fillStyle='#333';this.chartCtx_.strokeStyle='#777';this.chartCtx_.save();this.chartCtx_.translate(0.5,0.5);this.chartCtx_.beginPath();this.chartCtx_.moveTo(AXIS_PADDING_LEFT,AXIS_PADDING_TOP);this.chartCtx_.lineTo(AXIS_PADDING_LEFT,this.chartHeight_- 7717AXIS_PADDING_BOTTOM);this.chartCtx_.lineTo(this.chartWidth_-AXIS_PADDING_RIGHT,this.chartHeight_-AXIS_PADDING_BOTTOM);this.chartCtx_.stroke();this.chartCtx_.closePath();this.chartCtx_.translate(AXIS_PADDING_LEFT,AXIS_PADDING_TOP);this.chartCtx_.font='10px Arial';this.chartCtx_.textAlign='right';this.chartCtx_.textBaseline='middle';this.chartCtx_.beginPath();for(let t=0;t<VERTICAL_TICKS;t++){tickYPosition=Math.round(t*tickYInterval);tickVal=(max-t*tickValInterval).toFixed(4);this.chartCtx_.moveTo(0,tickYPosition);this.chartCtx_.lineTo(-AXIS_TICK_SIZE,tickYPosition);this.chartCtx_.fillText(tickVal,-AXIS_TICK_SIZE-AXIS_LABEL_PADDING,tickYPosition);} 7718this.chartCtx_.stroke();this.chartCtx_.closePath();this.chartCtx_.restore();},drawLinesAtTickMarks_(){const height=this.chartHeight_-AXIS_PADDING_TOP-AXIS_PADDING_BOTTOM;const width=this.chartWidth_-AXIS_PADDING_LEFT-AXIS_PADDING_RIGHT;const tickYInterval=height/(VERTICAL_TICKS-1);let tickYPosition=0;this.chartCtx_.save();this.chartCtx_.translate(AXIS_PADDING_LEFT+0.5,AXIS_PADDING_TOP+0.5);this.chartCtx_.beginPath();this.chartCtx_.strokeStyle='rgba(0,0,0,0.05)';for(let t=0;t<VERTICAL_TICKS;t++){tickYPosition=Math.round(t*tickYInterval);this.chartCtx_.moveTo(0,tickYPosition);this.chartCtx_.lineTo(width,tickYPosition);this.chartCtx_.stroke();} 7719this.chartCtx_.restore();this.chartCtx_.closePath();},drawLineAtBottomOfChart_(){this.chartCtx_.strokeStyle='#AAA';this.chartCtx_.beginPath();this.chartCtx_.moveTo(0,this.chartHeight_-0.5);this.chartCtx_.lineTo(this.chartWidth_,this.chartHeight_-0.5);this.chartCtx_.stroke();this.chartCtx_.closePath();},drawTooltip_(){const tooltipData=this.pictureOps_[this.currentBarMouseOverTarget_];const tooltipTitle=tooltipData.cmd_string;const tooltipTime=tooltipData.cmd_time.toFixed(4);const toolTipTimePercentage=((tooltipData.cmd_time/this.totalOpCost_)*100).toFixed(2);const tooltipWidth=120;const tooltipHeight=40;const chartInnerWidth=this.chartWidth_-CHART_PADDING_RIGHT- 7720CHART_PADDING_LEFT;const barWidth=BAR_WIDTH+BAR_PADDING;const tooltipOffset=Math.round((tooltipWidth-barWidth)*0.5);const left=CHART_PADDING_LEFT+this.currentBarMouseOverTarget_*barWidth-tooltipOffset;const top=Math.round((this.chartHeight_-tooltipHeight)*0.5);this.chartCtx_.save();this.chartCtx_.shadowOffsetX=0;this.chartCtx_.shadowOffsetY=5;this.chartCtx_.shadowBlur=4;this.chartCtx_.shadowColor='rgba(0,0,0,0.4)';this.chartCtx_.strokeStyle='#888';this.chartCtx_.fillStyle='#EEE';this.chartCtx_.fillRect(left,top,tooltipWidth,tooltipHeight);this.chartCtx_.shadowColor='transparent';this.chartCtx_.translate(0.5,0.5);this.chartCtx_.strokeRect(left,top,tooltipWidth,tooltipHeight);this.chartCtx_.restore();this.chartCtx_.fillStyle='#222';this.chartCtx_.textAlign='left';this.chartCtx_.textBaseline='top';this.chartCtx_.font='800 12px Arial';this.chartCtx_.fillText(tooltipTitle,left+8,top+8);this.chartCtx_.fillStyle='#555';this.chartCtx_.font='400 italic 10px Arial';this.chartCtx_.fillText(tooltipTime+'ms ('+ 7721toolTipTimePercentage+'%)',left+8,top+22);},drawBars_(){let op;let opColor=0;let opHeight=0;const opWidth=BAR_WIDTH+BAR_PADDING;let opHover=false;const bottom=this.chartHeight_-CHART_PADDING_BOTTOM;const maxHeight=this.chartHeight_-CHART_PADDING_BOTTOM- 7722CHART_PADDING_TOP;let maxValue;if(this.usePercentileScale){maxValue=this.ninetyFifthPercentileCost_;}else{maxValue=this.maxCost_;} 7723for(let b=0;b<this.pictureOps_.length;b++){op=this.pictureOps_[b];opHeight=Math.round((op.cmd_time/maxValue)*maxHeight);opHeight=Math.max(opHeight,1);opHover=(b===this.currentBarMouseOverTarget_);opColor=this.getOpColor_(op.cmd_string,opHover);if(b===this.selectedOpIndex){this.chartCtx_.fillStyle='#FFFF00';}else{this.chartCtx_.fillStyle=opColor;} 7724this.chartCtx_.fillRect(CHART_PADDING_LEFT+b*opWidth,bottom-opHeight,BAR_WIDTH,opHeight);}},getOpColor_(opName,hover){const characters=opName.split('');const hue=characters.reduce(this.reduceNameToHue,0)%360;const saturation=30;const lightness=hover?'75%':'50%';return'hsl('+hue+', '+saturation+'%, '+lightness+'%)';},reduceNameToHue(previousValue,currentValue,index,array){return Math.round(previousValue+currentValue.charCodeAt(0)*HUE_CHAR_CODE_ADJUSTMENT);},clearChartContents_(){this.chartCtx_.clearRect(0,0,this.chartWidth_,this.chartHeight_);},showNoTimingDataMessage_(){this.chartCtx_.font='800 italic 14px Arial';this.chartCtx_.fillStyle='#333';this.chartCtx_.textAlign='center';this.chartCtx_.textBaseline='middle';this.chartCtx_.fillText('No timing data available.',this.chartWidth_*0.5,this.chartHeight_*0.5);}};return{PictureOpsChartView,};});'use strict';tr.exportTo('tr.ui.e.chrome.cc',function(){const THIS_DOC=document.currentScript.ownerDocument;const PictureDebugger=tr.ui.b.define('tr-ui-e-chrome-cc-picture-debugger');PictureDebugger.prototype={__proto__:HTMLDivElement.prototype,decorate(){const node=tr.ui.b.instantiateTemplate('#tr-ui-e-chrome-cc-picture-debugger-template',THIS_DOC);Polymer.dom(this).appendChild(node);this.pictureAsImageData_=undefined;this.showOverdraw_=false;this.zoomScaleValue_=1;this.sizeInfo_=Polymer.dom(this).querySelector('.size');this.rasterArea_=Polymer.dom(this).querySelector('raster-area');this.rasterCanvas_=Polymer.dom(this.rasterArea_).querySelector('canvas');this.rasterCtx_=this.rasterCanvas_.getContext('2d');this.filename_=Polymer.dom(this).querySelector('.filename');this.drawOpsChartSummaryView_=new tr.ui.e.chrome.cc.PictureOpsChartSummaryView();this.drawOpsChartView_=new tr.ui.e.chrome.cc.PictureOpsChartView();this.drawOpsChartView_.addEventListener('selection-changed',this.onChartBarClicked_.bind(this));this.exportButton_=Polymer.dom(this).querySelector('.export');this.exportButton_.addEventListener('click',this.onSaveAsSkPictureClicked_.bind(this));this.trackMouse_();const overdrawCheckbox=tr.ui.b.createCheckBox(this,'showOverdraw','pictureView.showOverdraw',false,'Show overdraw');const chartCheckbox=tr.ui.b.createCheckBox(this,'showSummaryChart','pictureView.showSummaryChart',false,'Show timing summary');const pictureInfo=Polymer.dom(this).querySelector('picture-info');Polymer.dom(pictureInfo).appendChild(overdrawCheckbox);Polymer.dom(pictureInfo).appendChild(chartCheckbox);this.drawOpsView_=new tr.ui.e.chrome.cc.PictureOpsListView();this.drawOpsView_.addEventListener('selection-changed',this.onChangeDrawOps_.bind(this));const leftPanel=Polymer.dom(this).querySelector('left-panel');Polymer.dom(leftPanel).appendChild(this.drawOpsChartSummaryView_);Polymer.dom(leftPanel).appendChild(this.drawOpsView_);const middleDragHandle=document.createElement('tr-ui-b-drag-handle');middleDragHandle.horizontal=false;middleDragHandle.target=leftPanel;const rightPanel=Polymer.dom(this).querySelector('right-panel');rightPanel.replaceChild(this.drawOpsChartView_,Polymer.dom(rightPanel).querySelector('tr-ui-e-chrome-cc-picture-ops-chart-view'));this.infoBar_=document.createElement('tr-ui-b-info-bar');Polymer.dom(this.rasterArea_).appendChild(this.infoBar_);Polymer.dom(this).insertBefore(middleDragHandle,rightPanel);this.picture_=undefined;const hkc=document.createElement('tv-ui-b-hotkey-controller');hkc.addHotKey(new tr.ui.b.HotKey({eventType:'keypress',thisArg:this,keyCode:'h'.charCodeAt(0),callback(e){this.moveSelectedOpBy(-1);e.stopPropagation();}}));hkc.addHotKey(new tr.ui.b.HotKey({eventType:'keypress',thisArg:this,keyCode:'l'.charCodeAt(0),callback(e){this.moveSelectedOpBy(1);e.stopPropagation();}}));Polymer.dom(this).appendChild(hkc);this.mutationObserver_=new MutationObserver(this.onMutation_.bind(this));this.mutationObserver_.observe(leftPanel,{attributes:true});},onMutation_(mutations){for(let m=0;m<mutations.length;m++){if(mutations[m].attributeName==='style'){this.drawOpsChartSummaryView_.requiresRedraw=true;this.drawOpsChartSummaryView_.updateChartContents();this.drawOpsChartView_.dimensionsHaveChanged=true;this.drawOpsChartView_.updateChartContents();break;}}},onSaveAsSkPictureClicked_(){const rawData=tr.b.Base64.atob(this.picture_.getBase64SkpData());const length=rawData.length;const arrayBuffer=new ArrayBuffer(length);const uint8Array=new Uint8Array(arrayBuffer);for(let c=0;c<length;c++){uint8Array[c]=rawData.charCodeAt(c);} 7725const blob=new Blob([uint8Array],{type:'application/octet-binary'});const blobUrl=window.webkitURL.createObjectURL(blob);const link=document.createElementNS('http://www.w3.org/1999/xhtml','a');link.href=blobUrl;link.download=this.filename_.value;const event=document.createEvent('MouseEvents');event.initMouseEvent('click',true,false,window,0,0,0,0,0,false,false,false,false,0,null);link.dispatchEvent(event);},get picture(){return this.picture_;},set picture(picture){this.drawOpsView_.picture=picture;this.drawOpsChartView_.picture=picture;this.drawOpsChartSummaryView_.picture=picture;this.picture_=picture;this.exportButton_.disabled=!this.picture_.canSave;if(picture){const size=this.getRasterCanvasSize_();this.rasterCanvas_.width=size.width;this.rasterCanvas_.height=size.height;} 7726const bounds=this.rasterArea_.getBoundingClientRect();const selectorBounds=this.mouseModeSelector_.getBoundingClientRect();this.mouseModeSelector_.pos={x:(bounds.right-selectorBounds.width-10),y:bounds.top};this.rasterize_();this.scheduleUpdateContents_();},getRasterCanvasSize_(){const style=window.getComputedStyle(this.rasterArea_);const width=Math.max(parseInt(style.width),this.picture_.layerRect.width);const height=Math.max(parseInt(style.height),this.picture_.layerRect.height);return{width,height};},scheduleUpdateContents_(){if(this.updateContentsPending_)return;this.updateContentsPending_=true;tr.b.requestAnimationFrameInThisFrameIfPossible(this.updateContents_.bind(this));},updateContents_(){this.updateContentsPending_=false;if(this.picture_){Polymer.dom(this.sizeInfo_).textContent='('+ 7727this.picture_.layerRect.width+' x '+ 7728this.picture_.layerRect.height+')';} 7729this.drawOpsChartView_.updateChartContents();this.drawOpsChartView_.scrollSelectedItemIntoViewIfNecessary();if(!this.pictureAsImageData_)return;this.infoBar_.visible=false;this.infoBar_.removeAllButtons();if(this.pictureAsImageData_.error){this.infoBar_.message='Cannot rasterize...';this.infoBar_.addButton('More info...',function(e){const overlay=new tr.ui.b.Overlay();Polymer.dom(overlay).textContent=this.pictureAsImageData_.error;overlay.visible=true;e.stopPropagation();return false;}.bind(this));this.infoBar_.visible=true;} 7730this.drawPicture_();},drawPicture_(){const size=this.getRasterCanvasSize_();if(size.width!==this.rasterCanvas_.width){this.rasterCanvas_.width=size.width;} 7731if(size.height!==this.rasterCanvas_.height){this.rasterCanvas_.height=size.height;} 7732this.rasterCtx_.clearRect(0,0,size.width,size.height);if(!this.pictureAsImageData_.imageData)return;const imgCanvas=this.pictureAsImageData_.asCanvas();const w=imgCanvas.width;const h=imgCanvas.height;this.rasterCtx_.drawImage(imgCanvas,0,0,w,h,0,0,w*this.zoomScaleValue_,h*this.zoomScaleValue_);},rasterize_(){if(this.picture_){this.picture_.rasterize({stopIndex:this.drawOpsView_.selectedOpIndex,showOverdraw:this.showOverdraw_},this.onRasterComplete_.bind(this));}},onRasterComplete_(pictureAsImageData){this.pictureAsImageData_=pictureAsImageData;this.scheduleUpdateContents_();},moveSelectedOpBy(increment){if(this.selectedOpIndex===undefined){this.selectedOpIndex=0;return;} 7733this.selectedOpIndex=tr.b.math.clamp(this.selectedOpIndex+increment,0,this.numOps);},get numOps(){return this.drawOpsView_.numOps;},get selectedOpIndex(){return this.drawOpsView_.selectedOpIndex;},set selectedOpIndex(index){this.drawOpsView_.selectedOpIndex=index;this.drawOpsChartView_.selectedOpIndex=index;},onChartBarClicked_(e){this.drawOpsView_.selectedOpIndex=this.drawOpsChartView_.selectedOpIndex;},onChangeDrawOps_(e){this.rasterize_();this.scheduleUpdateContents_();this.drawOpsChartView_.selectedOpIndex=this.drawOpsView_.selectedOpIndex;},set showOverdraw(v){this.showOverdraw_=v;this.rasterize_();},set showSummaryChart(chartShouldBeVisible){if(chartShouldBeVisible){this.drawOpsChartSummaryView_.show();}else{this.drawOpsChartSummaryView_.hide();}},trackMouse_(){this.mouseModeSelector_=document.createElement('tr-ui-b-mouse-mode-selector');this.mouseModeSelector_.targetElement=this.rasterArea_;Polymer.dom(this.rasterArea_).appendChild(this.mouseModeSelector_);this.mouseModeSelector_.supportedModeMask=tr.ui.b.MOUSE_SELECTOR_MODE.ZOOM;this.mouseModeSelector_.mode=tr.ui.b.MOUSE_SELECTOR_MODE.ZOOM;this.mouseModeSelector_.defaultMode=tr.ui.b.MOUSE_SELECTOR_MODE.ZOOM;this.mouseModeSelector_.settingsKey='pictureDebugger.mouseModeSelector';this.mouseModeSelector_.addEventListener('beginzoom',this.onBeginZoom_.bind(this));this.mouseModeSelector_.addEventListener('updatezoom',this.onUpdateZoom_.bind(this));this.mouseModeSelector_.addEventListener('endzoom',this.onEndZoom_.bind(this));},onBeginZoom_(e){this.isZooming_=true;this.lastMouseViewPos_=this.extractRelativeMousePosition_(e);e.preventDefault();},onUpdateZoom_(e){if(!this.isZooming_)return;const currentMouseViewPos=this.extractRelativeMousePosition_(e);this.zoomScaleValue_+=((this.lastMouseViewPos_.y-currentMouseViewPos.y)*0.001);this.zoomScaleValue_=Math.max(this.zoomScaleValue_,0.1);this.drawPicture_();this.lastMouseViewPos_=currentMouseViewPos;},onEndZoom_(e){this.lastMouseViewPos_=undefined;this.isZooming_=false;e.preventDefault();},extractRelativeMousePosition_(e){return{x:e.clientX-this.rasterArea_.offsetLeft,y:e.clientY-this.rasterArea_.offsetTop};}};return{PictureDebugger,};});'use strict';tr.exportTo('tr.ui.e.chrome.cc',function(){const PictureSnapshotView=tr.ui.b.define('tr-ui-e-chrome-cc-picture-snapshot-view',tr.ui.analysis.ObjectSnapshotView);PictureSnapshotView.prototype={__proto__:tr.ui.analysis.ObjectSnapshotView.prototype,decorate(){Polymer.dom(this).classList.add('tr-ui-e-chrome-cc-picture-snapshot-view');this.pictureDebugger_=new tr.ui.e.chrome.cc.PictureDebugger();Polymer.dom(this).appendChild(this.pictureDebugger_);},updateContents(){if(this.objectSnapshot_&&this.pictureDebugger_){this.pictureDebugger_.picture=this.objectSnapshot_;}}};tr.ui.analysis.ObjectSnapshotView.register(PictureSnapshotView,{typeNames:['cc::Picture','cc::LayeredPicture'],showInstances:false});return{PictureSnapshotView,};});'use strict';tr.exportTo('tr.e.cc',function(){const knownRasterTaskNames=['TileManager::RunRasterTask','RasterWorkerPoolTaskImpl::RunRasterOnThread','RasterWorkerPoolTaskImpl::Raster','RasterTaskImpl::Raster','cc::RasterTask','RasterTask'];const knownAnalysisTaskNames=['TileManager::RunAnalyzeTask','RasterWorkerPoolTaskImpl::RunAnalysisOnThread','RasterWorkerPoolTaskImpl::Analyze','RasterTaskImpl::Analyze','cc::AnalyzeTask','AnalyzeTask'];function getTileFromRasterTaskSlice(slice){if(!(isSliceDoingRasterization(slice)||isSliceDoingAnalysis(slice))){return undefined;} 7734let tileData;if(slice.args.data){tileData=slice.args.data;}else{tileData=slice.args.tileData;} 7735if(tileData===undefined)return undefined;if(tileData.tile_id)return tileData.tile_id;const tile=tileData.tileId;if(!(tile instanceof tr.e.cc.TileSnapshot)){return undefined;} 7736return tileData.tileId;} 7737function isSliceDoingRasterization(slice){return knownRasterTaskNames.includes(slice.title);} 7738function isSliceDoingAnalysis(slice){return knownAnalysisTaskNames.includes(slice.title);} 7739return{getTileFromRasterTaskSlice,isSliceDoingRasterization,isSliceDoingAnalysis};});'use strict';tr.exportTo('tr.ui.analysis',function(){const AnalysisSubView={set tabLabel(label){Polymer.dom(this).setAttribute('tab-label',label);},get tabLabel(){return this.getAttribute('tab-label');},get requiresTallView(){return false;},get relatedEventsToHighlight(){return undefined;},set selection(selection){throw new Error('Not implemented!');},get selection(){throw new Error('Not implemented!');}};const allTypeInfosByEventProto=new Map();let onlyRootTypeInfosByEventProto=undefined;let eventProtoToRootTypeInfoMap=undefined;function AnalysisSubViewTypeInfo(eventConstructor,options){if(options.multi===undefined){throw new Error('missing field: multi');} 7740if(options.title===undefined){throw new Error('missing field: title');} 7741this.eventConstructor=eventConstructor;this.singleTagName=undefined;this.singleTitle=undefined;this.multiTagName=undefined;this.multiTitle=undefined;this.childrenTypeInfos_=undefined;} 7742AnalysisSubViewTypeInfo.prototype={get childrenTypeInfos(){return this.childrenTypeInfos_;},resetchildrenTypeInfos(){this.childrenTypeInfos_=[];}};AnalysisSubView.register=function(tagName,eventConstructor,options){let typeInfo=allTypeInfosByEventProto.get(eventConstructor.prototype);if(typeInfo===undefined){typeInfo=new AnalysisSubViewTypeInfo(eventConstructor,options);allTypeInfosByEventProto.set(typeInfo.eventConstructor.prototype,typeInfo);onlyRootTypeInfosByEventProto=undefined;} 7743if(!options.multi){if(typeInfo.singleTagName!==undefined){throw new Error('SingleTagName already set');} 7744typeInfo.singleTagName=tagName;typeInfo.singleTitle=options.title;}else{if(typeInfo.multiTagName!==undefined){throw new Error('MultiTagName already set');} 7745typeInfo.multiTagName=tagName;typeInfo.multiTitle=options.title;} 7746return typeInfo;};function rebuildRootSubViewTypeInfos(){onlyRootTypeInfosByEventProto=new Map();allTypeInfosByEventProto.forEach(function(typeInfo){typeInfo.resetchildrenTypeInfos();});allTypeInfosByEventProto.forEach(function(typeInfo,eventProto){const eventPrototype=typeInfo.eventConstructor.prototype;let lastEventProto=eventPrototype;let curEventProto=eventPrototype.__proto__;while(true){if(!allTypeInfosByEventProto.has(curEventProto)){const rootTypeInfo=allTypeInfosByEventProto.get(lastEventProto);const rootEventProto=lastEventProto;const isNew=onlyRootTypeInfosByEventProto.has(rootEventProto);onlyRootTypeInfosByEventProto.set(rootEventProto,rootTypeInfo);break;} 7747lastEventProto=curEventProto;curEventProto=curEventProto.__proto__;}});allTypeInfosByEventProto.forEach(function(typeInfo,eventProto){const eventPrototype=typeInfo.eventConstructor.prototype;const parentEventProto=eventPrototype.__proto__;const parentTypeInfo=allTypeInfosByEventProto.get(parentEventProto);if(!parentTypeInfo)return;parentTypeInfo.childrenTypeInfos.push(typeInfo);});eventProtoToRootTypeInfoMap=new Map();allTypeInfosByEventProto.forEach(function(typeInfo,eventProto){const eventPrototype=typeInfo.eventConstructor.prototype;let curEventProto=eventPrototype;while(true){if(onlyRootTypeInfosByEventProto.has(curEventProto)){const rootTypeInfo=onlyRootTypeInfosByEventProto.get(curEventProto);eventProtoToRootTypeInfoMap.set(eventPrototype,rootTypeInfo);break;} 7748curEventProto=curEventProto.__proto__;}});} 7749function findLowestTypeInfoForEvents(thisTypeInfo,events){if(events.length===0)return thisTypeInfo;const event0=tr.b.getFirstElement(events);let candidateSubTypeInfo;for(let i=0;i<thisTypeInfo.childrenTypeInfos.length;i++){const childTypeInfo=thisTypeInfo.childrenTypeInfos[i];if(event0 instanceof childTypeInfo.eventConstructor){candidateSubTypeInfo=childTypeInfo;break;}} 7750if(!candidateSubTypeInfo)return thisTypeInfo;let allMatch=true;for(const event of events){if(event instanceof candidateSubTypeInfo.eventConstructor)continue;allMatch=false;break;} 7751if(!allMatch){return thisTypeInfo;} 7752return findLowestTypeInfoForEvents(candidateSubTypeInfo,events);} 7753const primaryEventProtoToTypeInfoMap=new Map();function getRootTypeInfoForEvent(event){const curProto=event.__proto__;const typeInfo=primaryEventProtoToTypeInfoMap.get(curProto);if(typeInfo)return typeInfo;return getRootTypeInfoForEventSlow(event);} 7754function getRootTypeInfoForEventSlow(event){let typeInfo;let curProto=event.__proto__;while(true){if(curProto===Object.prototype){throw new Error('No view registered for '+event.toString());} 7755typeInfo=onlyRootTypeInfosByEventProto.get(curProto);if(typeInfo){primaryEventProtoToTypeInfoMap.set(event.__proto__,typeInfo);return typeInfo;} 7756curProto=curProto.__proto__;}} 7757AnalysisSubView.getEventsOrganizedByTypeInfo=function(selection){if(onlyRootTypeInfosByEventProto===undefined){rebuildRootSubViewTypeInfos();} 7758const eventsByRootTypeInfo=tr.b.groupIntoMap(selection,function(event){return getRootTypeInfoForEvent(event);},this,tr.model.EventSet);const eventsByLowestTypeInfo=new Map();eventsByRootTypeInfo.forEach(function(events,typeInfo){const lowestTypeInfo=findLowestTypeInfoForEvents(typeInfo,events);eventsByLowestTypeInfo.set(lowestTypeInfo,events);});return eventsByLowestTypeInfo;};return{AnalysisSubView,AnalysisSubViewTypeInfo,};});Polymer({is:'tr-ui-a-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView]});'use strict';Polymer({is:'tr-ui-a-stack-frame',ready(){this.stackFrame_=undefined;this.$.table.tableColumns=[];this.$.table.showHeader=true;},get stackFrame(){return this.stackFrame_;},set stackFrame(stackFrame){const table=this.$.table;this.stackFrame_=stackFrame;if(stackFrame===undefined){table.tableColumns=[];table.tableRows=[];table.rebuild();return;} 7759let hasName=false;let hasTitle=false;table.tableRows=stackFrame.stackTrace;table.tableRows.forEach(function(row){hasName|=row.name!==undefined;hasTitle|=row.title!==undefined;});const cols=[];if(hasName){cols.push({title:'Name',value(row){return row.name;}});} 7760if(hasTitle){cols.push({title:'Title',value(row){return row.title;}});} 7761table.tableColumns=cols;table.rebuild();},tableForTesting(){return this.$.table;}});'use strict';Polymer({is:'tr-ui-a-single-event-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],properties:{isFlow:{type:Boolean,value:false}},ready(){this.currentSelection_=undefined;this.$.table.tableColumns=[{title:'Label',value(row){return row.name;},width:'150px'},{title:'Value',width:'100%',value(row){return row.value;}}];this.$.table.showHeader=false;},get selection(){return this.currentSelection_;},set selection(selection){if(selection.length!==1){throw new Error('Only supports single slices');} 7762this.setSelectionWithoutErrorChecks(selection);},setSelectionWithoutErrorChecks(selection){this.currentSelection_=selection;this.updateContents_();},getFlowEventRows_(event){const rows=this.getEventRowsHelper_(event);rows.splice(0,0,{name:'ID',value:event.id});function createLinkTo(slice){const linkEl=document.createElement('tr-ui-a-analysis-link');linkEl.setSelectionAndContent(function(){return new tr.model.EventSet(slice);});Polymer.dom(linkEl).textContent=slice.userFriendlyName;return linkEl;} 7763rows.push({name:'From',value:createLinkTo(event.startSlice)});rows.push({name:'To',value:createLinkTo(event.endSlice)});return rows;},getEventRowsHelper_(event){const rows=[];if(event.error){rows.push({name:'Error',value:event.error});} 7764if(event.title){rows.push({name:'Title',value:event.title});} 7765if(event.category){rows.push({name:'Category',value:event.category});} 7766if(event.model!==undefined){const ufc=event.model.getUserFriendlyCategoryFromEvent(event);if(ufc!==undefined){rows.push({name:'User Friendly Category',value:ufc});}} 7767if(event.name){rows.push({name:'Name',value:event.name});} 7768rows.push({name:'Start',value:tr.v.ui.createScalarSpan(event.start,{unit:tr.b.Unit.byName.timeStampInMs})});if(event.duration){rows.push({name:'Wall Duration',value:tr.v.ui.createScalarSpan(event.duration,{unit:tr.b.Unit.byName.timeDurationInMs})});} 7769if(event.cpuDuration){rows.push({name:'CPU Duration',value:tr.v.ui.createScalarSpan(event.cpuDuration,{unit:tr.b.Unit.byName.timeDurationInMs})});} 7770if(event.subSlices!==undefined&&event.subSlices.length!==0){if(event.selfTime){rows.push({name:'Self Time',value:tr.v.ui.createScalarSpan(event.selfTime,{unit:tr.b.Unit.byName.timeDurationInMs})});} 7771if(event.cpuSelfTime){const cpuSelfTimeEl=tr.v.ui.createScalarSpan(event.cpuSelfTime,{unit:tr.b.Unit.byName.timeDurationInMs});if(event.cpuSelfTime>event.selfTime){cpuSelfTimeEl.warning=' Note that CPU Self Time is larger than Self Time. '+'This is a known limitation of this system, which occurs '+'due to several subslices, rounding issues, and imprecise '+'time at which we get cpu- and real-time.';} 7772rows.push({name:'CPU Self Time',value:cpuSelfTimeEl});}} 7773if(event.durationInUserTime){rows.push({name:'Duration (U)',value:tr.v.ui.createScalarSpan(event.durationInUserTime,{unit:tr.b.Unit.byName.timeDurationInMs})});} 7774function createStackFrameEl(sf){const sfEl=document.createElement('tr-ui-a-stack-frame');sfEl.stackFrame=sf;return sfEl;} 7775if(event.startStackFrame&&event.endStackFrame){if(event.startStackFrame===event.endStackFrame){rows.push({name:'Start+End Stack Trace',value:createStackFrameEl(event.startStackFrame)});}else{rows.push({name:'Start Stack Trace',value:createStackFrameEl(event.startStackFrame)});rows.push({name:'End Stack Trace',value:createStackFrameEl(event.endStackFrame)});}}else if(event.startStackFrame){rows.push({name:'Start Stack Trace',value:createStackFrameEl(event.startStackFrame)});}else if(event.endStackFrame){rows.push({name:'End Stack Trace',value:createStackFrameEl(event.endStackFrame)});} 7776if(event.info){const descriptionEl=tr.ui.b.createDiv({textContent:event.info.description,maxWidth:'300px'});rows.push({name:'Description',value:descriptionEl});if(event.info.docLinks){event.info.docLinks.forEach(function(linkObject){const linkEl=document.createElement('a');linkEl.target='_blank';linkEl.href=linkObject.href;Polymer.dom(linkEl).textContent=Polymer.dom(linkObject).textContent;rows.push({name:linkObject.label,value:linkEl});});}} 7777if(event.associatedAlerts.length){const alertSubRows=[];event.associatedAlerts.forEach(function(alert){const linkEl=document.createElement('tr-ui-a-analysis-link');linkEl.setSelectionAndContent(function(){return new tr.model.EventSet(alert);},alert.info.description);alertSubRows.push({name:alert.title,value:linkEl});});rows.push({name:'Alerts',value:'',isExpanded:true,subRows:alertSubRows});} 7778return rows;},getEventRows_(event){if(this.isFlow){return this.getFlowEventRows_(event);} 7779return this.getEventRowsHelper_(event);},addArgsToRows_(rows,args){let n=0;for(const argName in args){n+=1;} 7780if(n>0){const subRows=[];for(const argName in args){n+=1;} 7781if(n>0){const subRows=[];for(const argName in args){const argView=document.createElement('tr-ui-a-generic-object-view');argView.object=args[argName];subRows.push({name:argName,value:argView});} 7782rows.push({name:'Args',value:'',isExpanded:true,subRows});}}},addContextsToRows_(rows,contexts){if(contexts.length){const subRows=contexts.map(function(context){const contextView=document.createElement('tr-ui-a-generic-object-view');contextView.object=context;return{name:'Context',value:contextView};});rows.push({name:'Contexts',value:'',isExpanded:true,subRows});}},updateContents_(){if(this.currentSelection_===undefined){this.$.table.rows=[];this.$.table.rebuild();return;} 7783const event=tr.b.getOnlyElement(this.currentSelection_);const rows=this.getEventRows_(event);if(event.argsStripped){rows.push({name:'Args',value:'Stripped'});}else{this.addArgsToRows_(rows,event.args);} 7784this.addContextsToRows_(rows,event.contexts);const customizeRowsEvent=new tr.b.Event('customize-rows');customizeRowsEvent.rows=rows;this.dispatchEvent(customizeRowsEvent);this.$.table.tableRows=rows;this.$.table.rebuild();}});'use strict';Polymer({is:'tr-ui-e-chrome-cc-raster-task-view',created(){this.selection_=undefined;},set selection(selection){this.selection_=selection;this.updateContents_();},updateColumns_(hadCpuDurations){const timeSpanConfig={unit:tr.b.Unit.byName.timeDurationInMs,ownerDocument:this.ownerDocument};const columns=[{title:'Layer',value(row){if(row.isTotals)return'Totals';if(row.layer){const linkEl=document.createElement('tr-ui-a-analysis-link');linkEl.setSelectionAndContent(function(){return new tr.ui.e.chrome.cc.LayerSelection(costs.layer);},'Layer '+row.layerId);return linkEl;} 7785return'Layer '+row.layerId;},width:'250px'},{title:'Num Tiles',value(row){return row.numTiles;},cmp(a,b){return a.numTiles-b.numTiles;}},{title:'Num Analysis Tasks',value(row){return row.numAnalysisTasks;},cmp(a,b){return a.numAnalysisTasks-b.numAnalysisTasks;}},{title:'Num Raster Tasks',value(row){return row.numRasterTasks;},cmp(a,b){return a.numRasterTasks-b.numRasterTasks;}},{title:'Wall Duration (ms)',value(row){return tr.v.ui.createScalarSpan(row.duration,timeSpanConfig);},cmp(a,b){return a.duration-b.duration;}}];if(hadCpuDurations){columns.push({title:'CPU Duration (ms)',value(row){return tr.v.ui.createScalarSpan(row.cpuDuration,timeSpanConfig);},cmp(a,b){return a.cpuDuration-b.cpuDuration;}});} 7786let colWidthPercentage;if(columns.length===1){colWidthPercentage='100%';}else{colWidthPercentage=(100/(columns.length-1)).toFixed(3)+'%';} 7787for(let i=1;i<columns.length;i++){columns[i].width=colWidthPercentage;} 7788this.$.content.tableColumns=columns;this.$.content.sortColumnIndex=columns.length-1;},updateContents_(){const table=this.$.content;if(this.selection_.length===0){this.$.link.setSelectionAndContent(undefined,'');table.tableRows=[];table.footerRows=[];table.rebuild();return;} 7789const lthi=tr.e.cc.getTileFromRasterTaskSlice(tr.b.getFirstElement(this.selection_)).containingSnapshot;this.$.link.setSelectionAndContent(function(){return new tr.model.EventSet(lthi);},lthi.userFriendlyName);const costsByLayerId={};function getCurrentCostsForLayerId(tile){const layerId=tile.layerId;const lthi=tile.containingSnapshot;let layer;if(lthi.activeTree){layer=lthi.activeTree.findLayerWithId(layerId);} 7790if(layer===undefined&<hi.pendingTree){layer=lthi.pendingTree.findLayerWithId(layerId);} 7791if(costsByLayerId[layerId]===undefined){costsByLayerId[layerId]={layerId,layer,numTiles:0,numAnalysisTasks:0,numRasterTasks:0,duration:0,cpuDuration:0};} 7792return costsByLayerId[layerId];} 7793let totalDuration=0;let totalCpuDuration=0;let totalNumAnalyzeTasks=0;let totalNumRasterizeTasks=0;let hadCpuDurations=false;const tilesThatWeHaveSeen={};this.selection_.forEach(function(slice){const tile=tr.e.cc.getTileFromRasterTaskSlice(slice);const curCosts=getCurrentCostsForLayerId(tile);if(!tilesThatWeHaveSeen[tile.objectInstance.id]){tilesThatWeHaveSeen[tile.objectInstance.id]=true;curCosts.numTiles+=1;} 7794if(tr.e.cc.isSliceDoingAnalysis(slice)){curCosts.numAnalysisTasks+=1;totalNumAnalyzeTasks+=1;}else{curCosts.numRasterTasks+=1;totalNumRasterizeTasks+=1;} 7795curCosts.duration+=slice.duration;totalDuration+=slice.duration;if(slice.cpuDuration!==undefined){curCosts.cpuDuration+=slice.cpuDuration;totalCpuDuration+=slice.cpuDuration;hadCpuDurations=true;}});this.updateColumns_(hadCpuDurations);table.tableRows=Object.values(costsByLayerId);table.rebuild();table.footerRows=[{isTotals:true,numTiles:Object.keys(tilesThatWeHaveSeen).length,numAnalysisTasks:totalNumAnalyzeTasks,numRasterTasks:totalNumRasterizeTasks,duration:totalDuration,cpuDuration:totalCpuDuration}];}});'use strict';tr.exportTo('tr.ui.e.chrome.cc',function(){function RasterTaskSelection(selection){tr.ui.e.chrome.cc.Selection.call(this);const whySupported=RasterTaskSelection.whySuported(selection);if(!whySupported.ok){throw new Error('Fail: '+whySupported.why);} 7796this.slices_=tr.b.asArray(selection);this.tiles_=this.slices_.map(function(slice){const tile=tr.e.cc.getTileFromRasterTaskSlice(slice);if(tile===undefined){throw new Error('This should never happen due to .supports check.');} 7797return tile;});} 7798RasterTaskSelection.whySuported=function(selection){if(!(selection instanceof tr.model.EventSet)){return{ok:false,why:'Must be selection'};} 7799if(selection.length===0){return{ok:false,why:'Selection must be non empty'};} 7800let referenceSnapshot=undefined;for(const event of selection){if(!(event instanceof tr.model.Slice)){return{ok:false,why:'Not a slice'};} 7801const tile=tr.e.cc.getTileFromRasterTaskSlice(event);if(tile===undefined){return{ok:false,why:'No tile found'};} 7802if(!referenceSnapshot){referenceSnapshot=tile.containingSnapshot;}else{if(tile.containingSnapshot!==referenceSnapshot){return{ok:false,why:'Raster tasks are from different compositor instances'};}}} 7803return{ok:true};};RasterTaskSelection.supports=function(selection){return RasterTaskSelection.whySuported(selection).ok;};RasterTaskSelection.prototype={__proto__:tr.ui.e.chrome.cc.Selection.prototype,get specicifity(){return 3;},get associatedLayerId(){const tile0=this.tiles_[0];const allSameLayer=this.tiles_.every(function(tile){tile.layerId===tile0.layerId;});if(allSameLayer){return tile0.layerId;} 7804return undefined;},get extraHighlightsByLayerId(){const highlights={};this.tiles_.forEach(function(tile,i){if(highlights[tile.layerId]===undefined){highlights[tile.layerId]=[];} 7805const slice=this.slices_[i];highlights[tile.layerId].push({colorKey:slice.title,rect:tile.layerRect});},this);return highlights;},createAnalysis(){const sel=new tr.model.EventSet();this.slices_.forEach(function(slice){sel.push(slice);});let analysis;if(sel.length===1){analysis=document.createElement('tr-ui-a-single-event-sub-view');}else{analysis=document.createElement('tr-ui-e-chrome-cc-raster-task-view');} 7806analysis.selection=sel;return analysis;},findEquivalent(lthi){return undefined;},get containingSnapshot(){return this.tiles_[0].containingSnapshot;}};return{RasterTaskSelection,};});'use strict';tr.exportTo('tr.ui.e.chrome.cc',function(){const TileSnapshotView=tr.ui.b.define('tr-ui-e-chrome-cc-tile-snapshot-view',tr.ui.analysis.ObjectSnapshotView);TileSnapshotView.prototype={__proto__:tr.ui.analysis.ObjectSnapshotView.prototype,decorate(){Polymer.dom(this).classList.add('tr-ui-e-chrome-cc-tile-snapshot-view');this.layerTreeView_=new tr.ui.e.chrome.cc.LayerTreeHostImplSnapshotView();Polymer.dom(this).appendChild(this.layerTreeView_);},updateContents(){const tile=this.objectSnapshot_;const layerTreeHostImpl=tile.containingSnapshot;if(!layerTreeHostImpl)return;this.layerTreeView_.objectSnapshot=layerTreeHostImpl;this.layerTreeView_.selection=new tr.ui.e.chrome.cc.TileSelection(tile);}};tr.ui.analysis.ObjectSnapshotView.register(TileSnapshotView,{typeName:'cc::Tile',showInTrackView:false});return{TileSnapshotView,};});'use strict';tr.exportTo('tr.e.gpu',function(){const AsyncSlice=tr.model.AsyncSlice;function GpuAsyncSlice(){AsyncSlice.apply(this,arguments);} 7807GpuAsyncSlice.prototype={__proto__:AsyncSlice.prototype,get viewSubGroupTitle(){if(this.args.channel){if(this.category==='disabled-by-default-gpu.device'){return'Device.'+this.args.channel;} 7808return'Service.'+this.args.channel;} 7809return this.title;}};AsyncSlice.subTypes.register(GpuAsyncSlice,{categoryParts:['disabled-by-default-gpu.device','disabled-by-default-gpu.service']});return{GpuAsyncSlice,};});'use strict';tr.exportTo('tr.e.gpu',function(){const ObjectSnapshot=tr.model.ObjectSnapshot;function StateSnapshot(){ObjectSnapshot.apply(this,arguments);} 7810StateSnapshot.prototype={__proto__:ObjectSnapshot.prototype,preInitialize(){this.screenshot_=undefined;},initialize(){if(this.args.screenshot){this.screenshot_=this.args.screenshot;}},get screenshot(){return this.screenshot_;}};ObjectSnapshot.subTypes.register(StateSnapshot,{typeName:'gpu::State'});return{StateSnapshot,};});'use strict';tr.exportTo('tr.ui.e.chrome.gpu',function(){const StateSnapshotView=tr.ui.b.define('tr-ui-e-chrome-gpu-state-snapshot-view',tr.ui.analysis.ObjectSnapshotView);StateSnapshotView.prototype={__proto__:tr.ui.analysis.ObjectSnapshotView.prototype,decorate(){Polymer.dom(this).classList.add('tr-ui-e-chrome-gpu-state-snapshot-view');this.screenshotImage_=document.createElement('img');Polymer.dom(this).appendChild(this.screenshotImage_);},updateContents(){if(this.objectSnapshot_&&this.objectSnapshot_.screenshot){this.screenshotImage_.src='data:image/png;base64,'+ 7811this.objectSnapshot_.screenshot;}}};tr.ui.analysis.ObjectSnapshotView.register(StateSnapshotView,{typeName:'gpu::State'});return{StateSnapshotView,};});'use strict';tr.exportTo('tr.ui.analysis',function(){Polymer({is:'tr-ui-a-layout-tree-sub-view',behaviors:['tr-ui-a-sub-view'],set selection(selection){this.currentSelection_=selection;this.updateContents_();},get selection(){return this.currentSelection_;},updateContents_(){this.set('$.content.textContent','');if(!this.currentSelection_)return;const columns=[{title:'Tag/Name',value(layoutObject){return layoutObject.tag||':'+layoutObject.name;}},{title:'htmlId',value(layoutObject){return layoutObject.htmlId||'';}},{title:'classNames',value(layoutObject){return layoutObject.classNames||'';}},{title:'reasons',value(layoutObject){return layoutObject.needsLayoutReasons.join(', ');}},{title:'width',value(layoutObject){return layoutObject.absoluteRect.width;}},{title:'height',value(layoutObject){return layoutObject.absoluteRect.height;}},{title:'absX',value(layoutObject){return layoutObject.absoluteRect.left;}},{title:'absY',value(layoutObject){return layoutObject.absoluteRect.top;}},{title:'relX',value(layoutObject){return layoutObject.relativeRect.left;}},{title:'relY',value(layoutObject){return layoutObject.relativeRect.top;}},{title:'float',value(layoutObject){return layoutObject.isFloat?'float':'';}},{title:'positioned',value(layoutObject){return layoutObject.isPositioned?'positioned':'';}},{title:'relative',value(layoutObject){return layoutObject.isRelativePositioned?'relative':'';}},{title:'sticky',value(layoutObject){return layoutObject.isStickyPositioned?'sticky':'';}},{title:'anonymous',value(layoutObject){return layoutObject.isAnonymous?'anonymous':'';}},{title:'row',value(layoutObject){if(layoutObject.tableRow===undefined){return'';} 7812return layoutObject.tableRow;}},{title:'col',value(layoutObject){if(layoutObject.tableCol===undefined){return'';} 7813return layoutObject.tableCol;}},{title:'rowSpan',value(layoutObject){if(layoutObject.tableRowSpan===undefined){return'';} 7814return layoutObject.tableRowSpan;}},{title:'colSpan',value(layoutObject){if(layoutObject.tableColSpan===undefined){return'';} 7815return layoutObject.tableColSpan;}},{title:'address',value(layoutObject){return layoutObject.id.toString(16);}}];const table=this.ownerDocument.createElement('tr-ui-b-table');table.defaultExpansionStateCallback=function(layoutObject,parentLayoutObject){return true;};table.subRowsPropertyName='childLayoutObjects';table.tableColumns=columns;table.tableRows=this.currentSelection_.map(function(snapshot){return snapshot.rootLayoutObject;});table.rebuild();Polymer.dom(this.$.content).appendChild(table);},});return{};});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-layout-tree-sub-view',tr.e.chrome.LayoutTreeSnapshot,{multi:false,title:'Layout Tree',});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-layout-tree-sub-view',tr.e.chrome.LayoutTreeSnapshot,{multi:true,title:'Layout Trees',});'use strict';tr.exportTo('tr.ui.behaviors',function(){const SidePanel={get rangeOfInterest(){throw new Error('Not implemented');},set rangeOfInterest(rangeOfInterest){throw new Error('Not implemented');},get selection(){throw new Error('Not implemented');},set selection(selection){throw new Error('Not implemented');},get model(){throw new Error('Not implemented');},set model(model){throw new Error('Not implemented');},supportsModel(m){throw new Error('Not implemented');}};return{SidePanel,};});'use strict';tr.exportTo('tr.ui.side_panel',function(){function SidePanelRegistry(){} 7816const options=new tr.b.ExtensionRegistryOptions(tr.b.BASIC_REGISTRY_MODE);tr.b.decorateExtensionRegistry(SidePanelRegistry,options);return{SidePanelRegistry,};});'use strict';tr.exportTo('tr.ui.e.s',function(){const BlameContextSnapshot=tr.e.chrome.BlameContextSnapshot;const FrameTreeNodeSnapshot=tr.e.chrome.FrameTreeNodeSnapshot;const RenderFrameSnapshot=tr.e.chrome.RenderFrameSnapshot;const TopLevelSnapshot=tr.e.chrome.TopLevelSnapshot;const BlameContextInstance=tr.e.chrome.BlameContextInstance;const FrameTreeNodeInstance=tr.e.chrome.FrameTreeNodeInstance;const RenderFrameInstance=tr.e.chrome.RenderFrameInstance;const TopLevelInstance=tr.e.chrome.TopLevelInstance;function Row(context){this.subRows=undefined;this.contexts=[];this.type=undefined;this.renderer='N/A';this.url=undefined;this.time=0;this.eventsOfInterest=new tr.model.EventSet();if(context===undefined)return;this.type=context.objectInstance.blameContextType;this.contexts.push(context);if(context instanceof FrameTreeNodeSnapshot){if(context.renderFrame){this.contexts.push(context.renderFrame);this.renderer=context.renderFrame.objectInstance.parent.pid;}}else if(context instanceof RenderFrameSnapshot){if(context.frameTreeNode){this.contexts.push(context.frameTreeNode);} 7817this.renderer=context.objectInstance.parent.pid;}else if(context instanceof TopLevelSnapshot){this.renderer=context.objectInstance.parent.pid;}else{throw new Error('Unknown context type');} 7818this.eventsOfInterest.addEventSet(this.contexts);this.url=context.url;} 7819const groupFunctions={none:rows=>rows,tree(rows,rowMap){const getParentRow=function(row){let pivot;row.contexts.forEach(function(context){if(context instanceof tr.e.chrome.FrameTreeNodeSnapshot){pivot=context;}});if(pivot&&pivot.parentContext){return rowMap[pivot.parentContext.guid];} 7820return undefined;};const rootRows=[];rows.forEach(function(row){const parentRow=getParentRow(row);if(parentRow===undefined){rootRows.push(row);return;} 7821if(parentRow.subRows===undefined){parentRow.subRows=[];} 7822parentRow.subRows.push(row);});const aggregateAllDescendants=function(row){if(!row.subRows){if(getParentRow(row)){row.type='Subframe';} 7823return row;} 7824const result=new Row();result.type='Frame Tree';result.renderer=row.renderer;result.url=row.url;result.subRows=[row];row.subRows.forEach(subRow=>result.subRows.push(aggregateAllDescendants(subRow)));result.subRows.forEach(function(subRow){result.time+=subRow.time;result.eventsOfInterest.addEventSet(subRow.eventsOfInterest);});row.subRows=undefined;return result;};return rootRows.map(rootRow=>aggregateAllDescendants(rootRow));}};Polymer({is:'tr-ui-e-s-frame-data-side-panel',behaviors:[tr.ui.behaviors.SidePanel],ready(){this.model_=undefined;this.rangeOfInterest_=new tr.b.math.Range();this.$.table.showHeader=true;this.$.table.selectionMode=tr.ui.b.TableFormat.SelectionMode.ROW;this.$.table.tableColumns=this.createFrameDataTableColumns_();this.$.table.addEventListener('selection-changed',function(e){this.selectEventSet_(this.$.table.selectedTableRow.eventsOfInterest);}.bind(this));this.$.select.addEventListener('change',function(e){this.updateContents_();}.bind(this));},selectEventSet_(eventSet){const event=new tr.model.RequestSelectionChangeEvent();event.selection=eventSet;this.dispatchEvent(event);},createFrameDataTableColumns_(){return[{title:'Renderer',value:row=>row.renderer,cmp:(a,b)=>a.renderer-b.renderer},{title:'Type',value:row=>row.type},{title:'Time',value:row=>tr.v.ui.createScalarSpan(row.time,{unit:tr.b.Unit.byName.timeStampInMs,ownerDocument:this.ownerDocument}),cmp:(a,b)=>a.time-b.time},{title:'URL',value:row=>row.url,cmp:(a,b)=>(a.url||'').localeCompare(b.url||'')}];},createFrameDataTableRows_(){if(!this.model_)return[];const rows=[];const rowMap={};for(const proc of Object.values(this.model_.processes)){proc.objects.iterObjectInstances(function(objectInstance){if(!(objectInstance instanceof BlameContextInstance)){return;} 7825objectInstance.snapshots.forEach(function(snapshot){if(rowMap[snapshot.guid])return;const row=new Row(snapshot);row.contexts.forEach(context=>rowMap[context.guid]=row);rows.push(row);},this);},this);} 7826for(const proc of Object.values(this.model_.processes)){for(const thread of Object.values(proc.threads)){thread.sliceGroup.iterSlicesInTimeRange(function(topLevelSlice){topLevelSlice.contexts.forEach(function(context){if(!context.snapshot.guid||!rowMap[context.snapshot.guid]){return;} 7827const row=rowMap[context.snapshot.guid];row.eventsOfInterest.push(topLevelSlice);row.time+=topLevelSlice.selfTime||0;});},this.currentRangeOfInterest.min,this.currentRangeOfInterest.max);}} 7828const select=this.$.select;const groupOption=select.options[select.selectedIndex].value;const groupFunction=groupFunctions[groupOption];return groupFunction(rows,rowMap);},updateContents_(){this.$.table.tableRows=this.createFrameDataTableRows_();this.$.table.rebuild();},supportsModel(m){if(!m){return{supported:false,reason:'No model available.'};} 7829const ans={supported:false};for(const proc of Object.values(m.processes)){proc.objects.iterObjectInstances(function(instance){if(instance instanceof BlameContextInstance){ans.supported=true;}});} 7830if(!ans.supported){ans.reason='No frame data available';} 7831return ans;},get currentRangeOfInterest(){if(this.rangeOfInterest_.isEmpty){return this.model_.bounds;} 7832return this.rangeOfInterest_;},get rangeOfInterest(){return this.rangeOfInterest_;},set rangeOfInterest(rangeOfInterest){this.rangeOfInterest_=rangeOfInterest;this.updateContents_();},get selection(){},set selection(_){},get textLabel(){return'Frame Data';},get model(){return this.model_;},set model(model){this.model_=model;this.updateContents_();}});tr.ui.side_panel.SidePanelRegistry.register(function(){return document.createElement('tr-ui-e-s-frame-data-side-panel');});});'use strict';Polymer({is:'tr-ui-b-chart-legend-key',ready(){this.$.checkbox.addEventListener('change',this.onCheckboxChange_.bind(this));},onCheckboxChange_(){tr.b.dispatchSimpleEvent(this,tr.ui.b.DataSeriesEnableChangeEventType,true,false,{key:Polymer.dom(this).textContent,enabled:this.enabled});},set textContent(t){Polymer.dom(this.$.label).textContent=t;Polymer.dom(this.$.link).textContent=t;this.updateContents_();},set width(w){w-=20;this.$.link.style.width=w+'px';this.$.label.style.width=w+'px';},get textContent(){return Polymer.dom(this.$.label).textContent;},set optional(optional){this.$.checkbox.style.visibility=optional?'visible':'hidden';},get optional(){return this.$.checkbox.style.visibility==='visible';},set enabled(enabled){this.$.checkbox.checked=enabled?'checked':'';},get enabled(){return this.$.checkbox.checked;},set color(c){this.$.label.style.color=c;this.$.link.color=c;},set target(target){this.$.link.setSelectionAndContent(target,Polymer.dom(this.$.label).textContent);this.updateContents_();},get target(){return this.$.link.selection;},set title(title){this.$.link.title=title;},updateContents_(){this.$.link.style.display=this.target?'':'none';this.$.label.style.display=this.target?'none':'';this.$.label.htmlFor=this.optional?'checkbox':'';}});'use strict';(function(window){window.define=function(x){window.d3=x;};window.define.amd=true;})(this);!function(){function n(n){return null!=n&&!isNaN(n)}function t(n){return n.length}function e(n){for(var t=1;n*t%1;)t*=10;return t}function r(n,t){try{for(var e in t)Object.defineProperty(n.prototype,e,{value:t[e],enumerable:!1})}catch(r){n.prototype=t}}function u(){}function i(n){return aa+n in this}function o(n){return n=aa+n,n in this&&delete this[n]}function a(){var n=[];return this.forEach(function(t){n.push(t)}),n}function c(){var n=0;for(var t in this)t.charCodeAt(0)===ca&&++n;return n}function s(){for(var n in this)if(n.charCodeAt(0)===ca)return!1;return!0}function l(){}function f(n,t,e){return function(){var r=e.apply(t,arguments);return r===t?n:r}}function h(n,t){if(t in n)return t;t=t.charAt(0).toUpperCase()+t.substring(1);for(var e=0,r=sa.length;r>e;++e){var u=sa[e]+t;if(u in n)return u}}function g(){}function p(){}function v(n){function t(){for(var t,r=e,u=-1,i=r.length;++u<i;)(t=r[u].on)&&t.apply(this,arguments);return n}var e=[],r=new u;return t.on=function(t,u){var i,o=r.get(t);return arguments.length<2?o&&o.on:(o&&(o.on=null,e=e.slice(0,i=e.indexOf(o)).concat(e.slice(i+1)),r.remove(t)),u&&e.push(r.set(t,{on:u})),n)},t}function d(){Xo.event.preventDefault()}function m(){for(var n,t=Xo.event;n=t.sourceEvent;)t=n;return t}function y(n){for(var t=new p,e=0,r=arguments.length;++e<r;)t[arguments[e]]=v(t);return t.of=function(e,r){return function(u){try{var i=u.sourceEvent=Xo.event;u.target=n,Xo.event=u,t[u.type].apply(e,r)}finally{Xo.event=i}}},t}function x(n){return fa(n,da),n}function M(n){return"function"==typeof n?n:function(){return ha(n,this)}}function _(n){return"function"==typeof n?n:function(){return ga(n,this)}}function b(n,t){function e(){this.removeAttribute(n)}function r(){this.removeAttributeNS(n.space,n.local)}function u(){this.setAttribute(n,t)}function i(){this.setAttributeNS(n.space,n.local,t)}function o(){var e=t.apply(this,arguments);null==e?this.removeAttribute(n):this.setAttribute(n,e)}function a(){var e=t.apply(this,arguments);null==e?this.removeAttributeNS(n.space,n.local):this.setAttributeNS(n.space,n.local,e)}return n=Xo.ns.qualify(n),null==t?n.local?r:e:"function"==typeof t?n.local?a:o:n.local?i:u}function w(n){return n.trim().replace(/\s+/g," ")}function S(n){return new RegExp("(?:^|\\s+)"+Xo.requote(n)+"(?:\\s+|$)","g")}function k(n){return n.trim().split(/^|\s+/)}function E(n,t){function e(){for(var e=-1;++e<u;)n[e](this,t)}function r(){for(var e=-1,r=t.apply(this,arguments);++e<u;)n[e](this,r)}n=k(n).map(A);var u=n.length;return"function"==typeof t?r:e}function A(n){var t=S(n);return function(e,r){if(u=e.classList)return r?u.add(n):u.remove(n);var u=e.getAttribute("class")||"";r?(t.lastIndex=0,t.test(u)||e.setAttribute("class",w(u+" "+n))):e.setAttribute("class",w(u.replace(t," ")))}}function C(n,t,e){function r(){this.style.removeProperty(n)}function u(){this.style.setProperty(n,t,e)}function i(){var r=t.apply(this,arguments);null==r?this.style.removeProperty(n):this.style.setProperty(n,r,e)}return null==t?r:"function"==typeof t?i:u}function N(n,t){function e(){delete this[n]}function r(){this[n]=t}function u(){var e=t.apply(this,arguments);null==e?delete this[n]:this[n]=e}return null==t?e:"function"==typeof t?u:r}function L(n){return"function"==typeof n?n:(n=Xo.ns.qualify(n)).local?function(){return this.ownerDocument.createElementNS(n.space,n.local)}:function(){return this.ownerDocument.createElementNS(this.namespaceURI,n)}}function T(n){return{__data__:n}}function q(n){return function(){return va(this,n)}}function z(n){return arguments.length||(n=Xo.ascending),function(t,e){return t&&e?n(t.__data__,e.__data__):!t-!e}}function R(n,t){for(var e=0,r=n.length;r>e;e++)for(var u,i=n[e],o=0,a=i.length;a>o;o++)(u=i[o])&&t(u,o,e);return n}function D(n){return fa(n,ya),n}function P(n){var t,e;return function(r,u,i){var o,a=n[i].update,c=a.length;for(i!=e&&(e=i,t=0),u>=t&&(t=u+1);!(o=a[t])&&++t<c;);return o}}function U(){var n=this.__transition__;n&&++n.active}function j(n,t,e){function r(){var t=this[o];t&&(this.removeEventListener(n,t,t.$),delete this[o])}function u(){var u=c(t,Bo(arguments));r.call(this),this.addEventListener(n,this[o]=u,u.$=e),u._=t}function i(){var t,e=new RegExp("^__on([^.]+)"+Xo.requote(n)+"$");for(var r in this)if(t=r.match(e)){var u=this[r];this.removeEventListener(t[1],u,u.$),delete this[r]}}var o="__on"+n,a=n.indexOf("."),c=H;a>0&&(n=n.substring(0,a));var s=Ma.get(n);return s&&(n=s,c=F),a?t?u:r:t?g:i}function H(n,t){return function(e){var r=Xo.event;Xo.event=e,t[0]=this.__data__;try{n.apply(this,t)}finally{Xo.event=r}}}function F(n,t){var e=H(n,t);return function(n){var t=this,r=n.relatedTarget;r&&(r===t||8&r.compareDocumentPosition(t))||e.call(t,n)}}function O(){var n=".dragsuppress-"+ ++ba,t="click"+n,e=Xo.select(Go).on("touchmove"+n,d).on("dragstart"+n,d).on("selectstart"+n,d);if(_a){var r=Jo.style,u=r[_a];r[_a]="none"}return function(i){function o(){e.on(t,null)}e.on(n,null),_a&&(r[_a]=u),i&&(e.on(t,function(){d(),o()},!0),setTimeout(o,0))}}function Y(n,t){t.changedTouches&&(t=t.changedTouches[0]);var e=n.ownerSVGElement||n;if(e.createSVGPoint){var r=e.createSVGPoint();if(0>wa&&(Go.scrollX||Go.scrollY)){e=Xo.select("body").append("svg").style({position:"absolute",top:0,left:0,margin:0,padding:0,border:"none"},"important");var u=e[0][0].getScreenCTM();wa=!(u.f||u.e),e.remove()}return wa?(r.x=t.pageX,r.y=t.pageY):(r.x=t.clientX,r.y=t.clientY),r=r.matrixTransform(n.getScreenCTM().inverse()),[r.x,r.y]}var i=n.getBoundingClientRect();return[t.clientX-i.left-n.clientLeft,t.clientY-i.top-n.clientTop]}function I(n){return n>0?1:0>n?-1:0}function Z(n,t,e){return(t[0]-n[0])*(e[1]-n[1])-(t[1]-n[1])*(e[0]-n[0])}function V(n){return n>1?0:-1>n?Sa:Math.acos(n)}function X(n){return n>1?Ea:-1>n?-Ea:Math.asin(n)}function $(n){return((n=Math.exp(n))-1/n)/2}function B(n){return((n=Math.exp(n))+1/n)/2}function W(n){return((n=Math.exp(2*n))-1)/(n+1)}function J(n){return(n=Math.sin(n/2))*n}function G(){}function K(n,t,e){return new Q(n,t,e)}function Q(n,t,e){this.h=n,this.s=t,this.l=e}function nt(n,t,e){function r(n){return n>360?n-=360:0>n&&(n+=360),60>n?i+(o-i)*n/60:180>n?o:240>n?i+(o-i)*(240-n)/60:i}function u(n){return Math.round(255*r(n))}var i,o;return n=isNaN(n)?0:(n%=360)<0?n+360:n,t=isNaN(t)?0:0>t?0:t>1?1:t,e=0>e?0:e>1?1:e,o=.5>=e?e*(1+t):e+t-e*t,i=2*e-o,gt(u(n+120),u(n),u(n-120))}function tt(n,t,e){return new et(n,t,e)}function et(n,t,e){this.h=n,this.c=t,this.l=e}function rt(n,t,e){return isNaN(n)&&(n=0),isNaN(t)&&(t=0),ut(e,Math.cos(n*=Na)*t,Math.sin(n)*t)}function ut(n,t,e){return new it(n,t,e)}function it(n,t,e){this.l=n,this.a=t,this.b=e}function ot(n,t,e){var r=(n+16)/116,u=r+t/500,i=r-e/200;return u=ct(u)*Fa,r=ct(r)*Oa,i=ct(i)*Ya,gt(lt(3.2404542*u-1.5371385*r-.4985314*i),lt(-.969266*u+1.8760108*r+.041556*i),lt(.0556434*u-.2040259*r+1.0572252*i))}function at(n,t,e){return n>0?tt(Math.atan2(e,t)*La,Math.sqrt(t*t+e*e),n):tt(0/0,0/0,n)}function ct(n){return n>.206893034?n*n*n:(n-4/29)/7.787037}function st(n){return n>.008856?Math.pow(n,1/3):7.787037*n+4/29}function lt(n){return Math.round(255*(.00304>=n?12.92*n:1.055*Math.pow(n,1/2.4)-.055))}function ft(n){return gt(n>>16,255&n>>8,255&n)}function ht(n){return ft(n)+""}function gt(n,t,e){return new pt(n,t,e)}function pt(n,t,e){this.r=n,this.g=t,this.b=e}function vt(n){return 16>n?"0"+Math.max(0,n).toString(16):Math.min(255,n).toString(16)}function dt(n,t,e){var r,u,i,o,a=0,c=0,s=0;if(u=/([a-z]+)\((.*)\)/i.exec(n))switch(i=u[2].split(","),u[1]){case"hsl":return e(parseFloat(i[0]),parseFloat(i[1])/100,parseFloat(i[2])/100);case"rgb":return t(Mt(i[0]),Mt(i[1]),Mt(i[2]))}return(o=Va.get(n))?t(o.r,o.g,o.b):(null!=n&&"#"===n.charAt(0)&&(r=parseInt(n.substring(1),16),isNaN(r)||(4===n.length?(a=(3840&r)>>4,a=a>>4|a,c=240&r,c=c>>4|c,s=15&r,s=s<<4|s):7===n.length&&(a=(16711680&r)>>16,c=(65280&r)>>8,s=255&r))),t(a,c,s))}function mt(n,t,e){var r,u,i=Math.min(n/=255,t/=255,e/=255),o=Math.max(n,t,e),a=o-i,c=(o+i)/2;return a?(u=.5>c?a/(o+i):a/(2-o-i),r=n==o?(t-e)/a+(e>t?6:0):t==o?(e-n)/a+2:(n-t)/a+4,r*=60):(r=0/0,u=c>0&&1>c?0:r),K(r,u,c)}function yt(n,t,e){n=xt(n),t=xt(t),e=xt(e);var r=st((.4124564*n+.3575761*t+.1804375*e)/Fa),u=st((.2126729*n+.7151522*t+.072175*e)/Oa),i=st((.0193339*n+.119192*t+.9503041*e)/Ya);return ut(116*u-16,500*(r-u),200*(u-i))}function xt(n){return(n/=255)<=.04045?n/12.92:Math.pow((n+.055)/1.055,2.4)}function Mt(n){var t=parseFloat(n);return"%"===n.charAt(n.length-1)?Math.round(2.55*t):t}function _t(n){return"function"==typeof n?n:function(){return n}}function bt(n){return n}function wt(n){return function(t,e,r){return 2===arguments.length&&"function"==typeof e&&(r=e,e=null),St(t,e,n,r)}}function St(n,t,e,r){function u(){var n,t=c.status;if(!t&&c.responseText||t>=200&&300>t||304===t){try{n=e.call(i,c)}catch(r){return o.error.call(i,r),void 0}o.load.call(i,n)}else o.error.call(i,c)}var i={},o=Xo.dispatch("beforesend","progress","load","error"),a={},c=new XMLHttpRequest,s=null;return!Go.XDomainRequest||"withCredentials"in c||!/^(http(s)?:)?\/\//.test(n)||(c=new XDomainRequest),"onload"in c?c.onload=c.onerror=u:c.onreadystatechange=function(){c.readyState>3&&u()},c.onprogress=function(n){var t=Xo.event;Xo.event=n;try{o.progress.call(i,c)}finally{Xo.event=t}},i.header=function(n,t){return n=(n+"").toLowerCase(),arguments.length<2?a[n]:(null==t?delete a[n]:a[n]=t+"",i)},i.mimeType=function(n){return arguments.length?(t=null==n?null:n+"",i):t},i.responseType=function(n){return arguments.length?(s=n,i):s},i.response=function(n){return e=n,i},["get","post"].forEach(function(n){i[n]=function(){return i.send.apply(i,[n].concat(Bo(arguments)))}}),i.send=function(e,r,u){if(2===arguments.length&&"function"==typeof r&&(u=r,r=null),c.open(e,n,!0),null==t||"accept"in a||(a.accept=t+",*/*"),c.setRequestHeader)for(var l in a)c.setRequestHeader(l,a[l]);return null!=t&&c.overrideMimeType&&c.overrideMimeType(t),null!=s&&(c.responseType=s),null!=u&&i.on("error",u).on("load",function(n){u(null,n)}),o.beforesend.call(i,c),c.send(null==r?null:r),i},i.abort=function(){return c.abort(),i},Xo.rebind(i,o,"on"),null==r?i:i.get(kt(r))}function kt(n){return 1===n.length?function(t,e){n(null==t?e:null)}:n}function Et(){var n=At(),t=Ct()-n;t>24?(isFinite(t)&&(clearTimeout(Wa),Wa=setTimeout(Et,t)),Ba=0):(Ba=1,Ga(Et))}function At(){var n=Date.now();for(Ja=Xa;Ja;)n>=Ja.t&&(Ja.f=Ja.c(n-Ja.t)),Ja=Ja.n;return n}function Ct(){for(var n,t=Xa,e=1/0;t;)t.f?t=n?n.n=t.n:Xa=t.n:(t.t<e&&(e=t.t),t=(n=t).n);return $a=n,e}function Nt(n,t){return t-(n?Math.ceil(Math.log(n)/Math.LN10):1)}function Lt(n,t){var e=Math.pow(10,3*oa(8-t));return{scale:t>8?function(n){return n/e}:function(n){return n*e},symbol:n}}function Tt(n){var t=n.decimal,e=n.thousands,r=n.grouping,u=n.currency,i=r?function(n){for(var t=n.length,u=[],i=0,o=r[0];t>0&&o>0;)u.push(n.substring(t-=o,t+o)),o=r[i=(i+1)%r.length];return u.reverse().join(e)}:bt;return function(n){var e=Qa.exec(n),r=e[1]||" ",o=e[2]||">",a=e[3]||"",c=e[4]||"",s=e[5],l=+e[6],f=e[7],h=e[8],g=e[9],p=1,v="",d="",m=!1;switch(h&&(h=+h.substring(1)),(s||"0"===r&&"="===o)&&(s=r="0",o="=",f&&(l-=Math.floor((l-1)/4))),g){case"n":f=!0,g="g";break;case"%":p=100,d="%",g="f";break;case"p":p=100,d="%",g="r";break;case"b":case"o":case"x":case"X":"#"===c&&(v="0"+g.toLowerCase());case"c":case"d":m=!0,h=0;break;case"s":p=-1,g="r"}"$"===c&&(v=u[0],d=u[1]),"r"!=g||h||(g="g"),null!=h&&("g"==g?h=Math.max(1,Math.min(21,h)):("e"==g||"f"==g)&&(h=Math.max(0,Math.min(20,h)))),g=nc.get(g)||qt;var y=s&&f;return function(n){var e=d;if(m&&n%1)return"";var u=0>n||0===n&&0>1/n?(n=-n,"-"):a;if(0>p){var c=Xo.formatPrefix(n,h);n=c.scale(n),e=c.symbol+d}else n*=p;n=g(n,h);var x=n.lastIndexOf("."),M=0>x?n:n.substring(0,x),_=0>x?"":t+n.substring(x+1);!s&&f&&(M=i(M));var b=v.length+M.length+_.length+(y?0:u.length),w=l>b?new Array(b=l-b+1).join(r):"";return y&&(M=i(w+M)),u+=v,n=M+_,("<"===o?u+n+w:">"===o?w+u+n:"^"===o?w.substring(0,b>>=1)+u+n+w.substring(b):u+(y?n:w+n))+e}}}function qt(n){return n+""}function zt(){this._=new Date(arguments.length>1?Date.UTC.apply(this,arguments):arguments[0])}function Rt(n,t,e){function r(t){var e=n(t),r=i(e,1);return r-t>t-e?e:r}function u(e){return t(e=n(new ec(e-1)),1),e}function i(n,e){return t(n=new ec(+n),e),n}function o(n,r,i){var o=u(n),a=[];if(i>1)for(;r>o;)e(o)%i||a.push(new Date(+o)),t(o,1);else for(;r>o;)a.push(new Date(+o)),t(o,1);return a}function a(n,t,e){try{ec=zt;var r=new zt;return r._=n,o(r,t,e)}finally{ec=Date}}n.floor=n,n.round=r,n.ceil=u,n.offset=i,n.range=o;var c=n.utc=Dt(n);return c.floor=c,c.round=Dt(r),c.ceil=Dt(u),c.offset=Dt(i),c.range=a,n}function Dt(n){return function(t,e){try{ec=zt;var r=new zt;return r._=t,n(r,e)._}finally{ec=Date}}}function Pt(n){function t(n){function t(t){for(var e,u,i,o=[],a=-1,c=0;++a<r;)37===n.charCodeAt(a)&&(o.push(n.substring(c,a)),null!=(u=uc[e=n.charAt(++a)])&&(e=n.charAt(++a)),(i=C[e])&&(e=i(t,null==u?"e"===e?" ":"0":u)),o.push(e),c=a+1);return o.push(n.substring(c,a)),o.join("")}var r=n.length;return t.parse=function(t){var r={y:1900,m:0,d:1,H:0,M:0,S:0,L:0,Z:null},u=e(r,n,t,0);if(u!=t.length)return null;"p"in r&&(r.H=r.H%12+12*r.p);var i=null!=r.Z&&ec!==zt,o=new(i?zt:ec);return"j"in r?o.setFullYear(r.y,0,r.j):"w"in r&&("W"in r||"U"in r)?(o.setFullYear(r.y,0,1),o.setFullYear(r.y,0,"W"in r?(r.w+6)%7+7*r.W-(o.getDay()+5)%7:r.w+7*r.U-(o.getDay()+6)%7)):o.setFullYear(r.y,r.m,r.d),o.setHours(r.H+Math.floor(r.Z/100),r.M+r.Z%100,r.S,r.L),i?o._:o},t.toString=function(){return n},t}function e(n,t,e,r){for(var u,i,o,a=0,c=t.length,s=e.length;c>a;){if(r>=s)return-1;if(u=t.charCodeAt(a++),37===u){if(o=t.charAt(a++),i=N[o in uc?t.charAt(a++):o],!i||(r=i(n,e,r))<0)return-1}else if(u!=e.charCodeAt(r++))return-1}return r}function r(n,t,e){b.lastIndex=0;var r=b.exec(t.substring(e));return r?(n.w=w.get(r[0].toLowerCase()),e+r[0].length):-1}function u(n,t,e){M.lastIndex=0;var r=M.exec(t.substring(e));return r?(n.w=_.get(r[0].toLowerCase()),e+r[0].length):-1}function i(n,t,e){E.lastIndex=0;var r=E.exec(t.substring(e));return r?(n.m=A.get(r[0].toLowerCase()),e+r[0].length):-1}function o(n,t,e){S.lastIndex=0;var r=S.exec(t.substring(e));return r?(n.m=k.get(r[0].toLowerCase()),e+r[0].length):-1}function a(n,t,r){return e(n,C.c.toString(),t,r)}function c(n,t,r){return e(n,C.x.toString(),t,r)}function s(n,t,r){return e(n,C.X.toString(),t,r)}function l(n,t,e){var r=x.get(t.substring(e,e+=2).toLowerCase());return null==r?-1:(n.p=r,e)}var f=n.dateTime,h=n.date,g=n.time,p=n.periods,v=n.days,d=n.shortDays,m=n.months,y=n.shortMonths;t.utc=function(n){function e(n){try{ec=zt;var t=new ec;return t._=n,r(t)}finally{ec=Date}}var r=t(n);return e.parse=function(n){try{ec=zt;var t=r.parse(n);return t&&t._}finally{ec=Date}},e.toString=r.toString,e},t.multi=t.utc.multi=ee;var x=Xo.map(),M=jt(v),_=Ht(v),b=jt(d),w=Ht(d),S=jt(m),k=Ht(m),E=jt(y),A=Ht(y);p.forEach(function(n,t){x.set(n.toLowerCase(),t)});var C={a:function(n){return d[n.getDay()]},A:function(n){return v[n.getDay()]},b:function(n){return y[n.getMonth()]},B:function(n){return m[n.getMonth()]},c:t(f),d:function(n,t){return Ut(n.getDate(),t,2)},e:function(n,t){return Ut(n.getDate(),t,2)},H:function(n,t){return Ut(n.getHours(),t,2)},I:function(n,t){return Ut(n.getHours()%12||12,t,2)},j:function(n,t){return Ut(1+tc.dayOfYear(n),t,3)},L:function(n,t){return Ut(n.getMilliseconds(),t,3)},m:function(n,t){return Ut(n.getMonth()+1,t,2)},M:function(n,t){return Ut(n.getMinutes(),t,2)},p:function(n){return p[+(n.getHours()>=12)]},S:function(n,t){return Ut(n.getSeconds(),t,2)},U:function(n,t){return Ut(tc.sundayOfYear(n),t,2)},w:function(n){return n.getDay()},W:function(n,t){return Ut(tc.mondayOfYear(n),t,2)},x:t(h),X:t(g),y:function(n,t){return Ut(n.getFullYear()%100,t,2)},Y:function(n,t){return Ut(n.getFullYear()%1e4,t,4)},Z:ne,"%":function(){return"%"}},N={a:r,A:u,b:i,B:o,c:a,d:Bt,e:Bt,H:Jt,I:Jt,j:Wt,L:Qt,m:$t,M:Gt,p:l,S:Kt,U:Ot,w:Ft,W:Yt,x:c,X:s,y:Zt,Y:It,Z:Vt,"%":te};return t}function Ut(n,t,e){var r=0>n?"-":"",u=(r?-n:n)+"",i=u.length;return r+(e>i?new Array(e-i+1).join(t)+u:u)}function jt(n){return new RegExp("^(?:"+n.map(Xo.requote).join("|")+")","i")}function Ht(n){for(var t=new u,e=-1,r=n.length;++e<r;)t.set(n[e].toLowerCase(),e);return t}function Ft(n,t,e){ic.lastIndex=0;var r=ic.exec(t.substring(e,e+1));return r?(n.w=+r[0],e+r[0].length):-1}function Ot(n,t,e){ic.lastIndex=0;var r=ic.exec(t.substring(e));return r?(n.U=+r[0],e+r[0].length):-1}function Yt(n,t,e){ic.lastIndex=0;var r=ic.exec(t.substring(e));return r?(n.W=+r[0],e+r[0].length):-1}function It(n,t,e){ic.lastIndex=0;var r=ic.exec(t.substring(e,e+4));return r?(n.y=+r[0],e+r[0].length):-1}function Zt(n,t,e){ic.lastIndex=0;var r=ic.exec(t.substring(e,e+2));return r?(n.y=Xt(+r[0]),e+r[0].length):-1}function Vt(n,t,e){return/^[+-]\d{4}$/.test(t=t.substring(e,e+5))?(n.Z=+t,e+5):-1}function Xt(n){return n+(n>68?1900:2e3)}function $t(n,t,e){ic.lastIndex=0;var r=ic.exec(t.substring(e,e+2));return r?(n.m=r[0]-1,e+r[0].length):-1}function Bt(n,t,e){ic.lastIndex=0;var r=ic.exec(t.substring(e,e+2));return r?(n.d=+r[0],e+r[0].length):-1}function Wt(n,t,e){ic.lastIndex=0;var r=ic.exec(t.substring(e,e+3));return r?(n.j=+r[0],e+r[0].length):-1}function Jt(n,t,e){ic.lastIndex=0;var r=ic.exec(t.substring(e,e+2));return r?(n.H=+r[0],e+r[0].length):-1}function Gt(n,t,e){ic.lastIndex=0;var r=ic.exec(t.substring(e,e+2));return r?(n.M=+r[0],e+r[0].length):-1}function Kt(n,t,e){ic.lastIndex=0;var r=ic.exec(t.substring(e,e+2));return r?(n.S=+r[0],e+r[0].length):-1}function Qt(n,t,e){ic.lastIndex=0;var r=ic.exec(t.substring(e,e+3));return r?(n.L=+r[0],e+r[0].length):-1}function ne(n){var t=n.getTimezoneOffset(),e=t>0?"-":"+",r=~~(oa(t)/60),u=oa(t)%60;return e+Ut(r,"0",2)+Ut(u,"0",2)}function te(n,t,e){oc.lastIndex=0;var r=oc.exec(t.substring(e,e+1));return r?e+r[0].length:-1}function ee(n){for(var t=n.length,e=-1;++e<t;)n[e][0]=this(n[e][0]);return function(t){for(var e=0,r=n[e];!r[1](t);)r=n[++e];return r[0](t)}}function re(){}function ue(n,t,e){var r=e.s=n+t,u=r-n,i=r-u;e.t=n-i+(t-u)}function ie(n,t){n&&lc.hasOwnProperty(n.type)&&lc[n.type](n,t)}function oe(n,t,e){var r,u=-1,i=n.length-e;for(t.lineStart();++u<i;)r=n[u],t.point(r[0],r[1],r[2]);t.lineEnd()}function ae(n,t){var e=-1,r=n.length;for(t.polygonStart();++e<r;)oe(n[e],t,1);t.polygonEnd()}function ce(){function n(n,t){n*=Na,t=t*Na/2+Sa/4;var e=n-r,o=e>=0?1:-1,a=o*e,c=Math.cos(t),s=Math.sin(t),l=i*s,f=u*c+l*Math.cos(a),h=l*o*Math.sin(a);hc.add(Math.atan2(h,f)),r=n,u=c,i=s}var t,e,r,u,i;gc.point=function(o,a){gc.point=n,r=(t=o)*Na,u=Math.cos(a=(e=a)*Na/2+Sa/4),i=Math.sin(a)},gc.lineEnd=function(){n(t,e)}}function se(n){var t=n[0],e=n[1],r=Math.cos(e);return[r*Math.cos(t),r*Math.sin(t),Math.sin(e)]}function le(n,t){return n[0]*t[0]+n[1]*t[1]+n[2]*t[2]}function fe(n,t){return[n[1]*t[2]-n[2]*t[1],n[2]*t[0]-n[0]*t[2],n[0]*t[1]-n[1]*t[0]]}function they(n,t){n[0]+=t[0],n[1]+=t[1],n[2]+=t[2]}function ge(n,t){return[n[0]*t,n[1]*t,n[2]*t]}function pe(n){var t=Math.sqrt(n[0]*n[0]+n[1]*n[1]+n[2]*n[2]);n[0]/=t,n[1]/=t,n[2]/=t}function ve(n){return[Math.atan2(n[1],n[0]),X(n[2])]}function de(n,t){return oa(n[0]-t[0])<Aa&&oa(n[1]-t[1])<Aa}function me(n,t){n*=Na;var e=Math.cos(t*=Na);ye(e*Math.cos(n),e*Math.sin(n),Math.sin(t))}function ye(n,t,e){++pc,dc+=(n-dc)/pc,mc+=(t-mc)/pc,yc+=(e-yc)/pc}function xe(){function n(n,u){n*=Na;var i=Math.cos(u*=Na),o=i*Math.cos(n),a=i*Math.sin(n),c=Math.sin(u),s=Math.atan2(Math.sqrt((s=e*c-r*a)*s+(s=r*o-t*c)*s+(s=t*a-e*o)*s),t*o+e*a+r*c);vc+=s,xc+=s*(t+(t=o)),Mc+=s*(e+(e=a)),_c+=s*(r+(r=c)),ye(t,e,r)}var t,e,r;kc.point=function(u,i){u*=Na;var o=Math.cos(i*=Na);t=o*Math.cos(u),e=o*Math.sin(u),r=Math.sin(i),kc.point=n,ye(t,e,r)}}function Me(){kc.point=me}function _e(){function n(n,t){n*=Na;var e=Math.cos(t*=Na),o=e*Math.cos(n),a=e*Math.sin(n),c=Math.sin(t),s=u*c-i*a,l=i*o-r*c,f=r*a-u*o,h=Math.sqrt(s*s+l*l+f*f),g=r*o+u*a+i*c,p=h&&-V(g)/h,v=Math.atan2(h,g);bc+=p*s,wc+=p*l,Sc+=p*f,vc+=v,xc+=v*(r+(r=o)),Mc+=v*(u+(u=a)),_c+=v*(i+(i=c)),ye(r,u,i)}var t,e,r,u,i;kc.point=function(o,a){t=o,e=a,kc.point=n,o*=Na;var c=Math.cos(a*=Na);r=c*Math.cos(o),u=c*Math.sin(o),i=Math.sin(a),ye(r,u,i)},kc.lineEnd=function(){n(t,e),kc.lineEnd=Me,kc.point=me}}function be(){return!0}function we(n,t,e,r,u){var i=[],o=[];if(n.forEach(function(n){if(!((t=n.length-1)<=0)){var t,e=n[0],r=n[t];if(de(e,r)){u.lineStart();for(var a=0;t>a;++a)u.point((e=n[a])[0],e[1]);return u.lineEnd(),void 0}var c=new ke(e,n,null,!0),s=new ke(e,null,c,!1);c.o=s,i.push(c),o.push(s),c=new ke(r,n,null,!1),s=new ke(r,null,c,!0),c.o=s,i.push(c),o.push(s)}}),o.sort(t),Se(i),Se(o),i.length){for(var a=0,c=e,s=o.length;s>a;++a)o[a].e=c=!c;for(var l,f,h=i[0];;){for(var g=h,p=!0;g.v;)if((g=g.n)===h)return;l=g.z,u.lineStart();do{if(g.v=g.o.v=!0,g.e){if(p)for(var a=0,s=l.length;s>a;++a)u.point((f=l[a])[0],f[1]);else r(g.x,g.n.x,1,u);g=g.n}else{if(p){l=g.p.z;for(var a=l.length-1;a>=0;--a)u.point((f=l[a])[0],f[1])}else r(g.x,g.p.x,-1,u);g=g.p}g=g.o,l=g.z,p=!p}while(!g.v);u.lineEnd()}}}function Se(n){if(t=n.length){for(var t,e,r=0,u=n[0];++r<t;)u.n=e=n[r],e.p=u,u=e;u.n=e=n[0],e.p=u}}function ke(n,t,e,r){this.x=n,this.z=t,this.o=e,this.e=r,this.v=!1,this.n=this.p=null}function Ee(n,t,e,r){return function(u,i){function o(t,e){var r=u(t,e);n(t=r[0],e=r[1])&&i.point(t,e)}function a(n,t){var e=u(n,t);d.point(e[0],e[1])}function c(){y.point=a,d.lineStart()}function s(){y.point=o,d.lineEnd()}function l(n,t){v.push([n,t]);var e=u(n,t);M.point(e[0],e[1])}function f(){M.lineStart(),v=[]}function h(){l(v[0][0],v[0][1]),M.lineEnd();var n,t=M.clean(),e=x.buffer(),r=e.length;if(v.pop(),p.push(v),v=null,r){if(1&t){n=e[0];var u,r=n.length-1,o=-1;for(i.lineStart();++o<r;)i.point((u=n[o])[0],u[1]);return i.lineEnd(),void 0}r>1&&2&t&&e.push(e.pop().concat(e.shift())),g.push(e.filter(Ae))}}var g,p,v,d=t(i),m=u.invert(r[0],r[1]),y={point:o,lineStart:c,lineEnd:s,polygonStart:function(){y.point=l,y.lineStart=f,y.lineEnd=h,g=[],p=[],i.polygonStart()},polygonEnd:function(){y.point=o,y.lineStart=c,y.lineEnd=s,g=Xo.merge(g);var n=Le(m,p);g.length?we(g,Ne,n,e,i):n&&(i.lineStart(),e(null,null,1,i),i.lineEnd()),i.polygonEnd(),g=p=null},sphere:function(){i.polygonStart(),i.lineStart(),e(null,null,1,i),i.lineEnd(),i.polygonEnd()}},x=Ce(),M=t(x);return y}}function Ae(n){return n.length>1}function Ce(){var n,t=[];return{lineStart:function(){t.push(n=[])},point:function(t,e){n.push([t,e])},lineEnd:g,buffer:function(){var e=t;return t=[],n=null,e},rejoin:function(){t.length>1&&t.push(t.pop().concat(t.shift()))}}}function Ne(n,t){return((n=n.x)[0]<0?n[1]-Ea-Aa:Ea-n[1])-((t=t.x)[0]<0?t[1]-Ea-Aa:Ea-t[1])}function Le(n,t){var e=n[0],r=n[1],u=[Math.sin(e),-Math.cos(e),0],i=0,o=0;hc.reset();for(var a=0,c=t.length;c>a;++a){var s=t[a],l=s.length;if(l)for(var f=s[0],h=f[0],g=f[1]/2+Sa/4,p=Math.sin(g),v=Math.cos(g),d=1;;){d===l&&(d=0),n=s[d];var m=n[0],y=n[1]/2+Sa/4,x=Math.sin(y),M=Math.cos(y),_=m-h,b=_>=0?1:-1,w=b*_,S=w>Sa,k=p*x;if(hc.add(Math.atan2(k*b*Math.sin(w),v*M+k*Math.cos(w))),i+=S?_+b*ka:_,S^h>=e^m>=e){var E=fe(se(f),se(n));pe(E);var A=fe(u,E);pe(A);var C=(S^_>=0?-1:1)*X(A[2]);(r>C||r===C&&(E[0]||E[1]))&&(o+=S^_>=0?1:-1)}if(!d++)break;h=m,p=x,v=M,f=n}}return(-Aa>i||Aa>i&&0>hc)^1&o}function Te(n){var t,e=0/0,r=0/0,u=0/0;return{lineStart:function(){n.lineStart(),t=1},point:function(i,o){var a=i>0?Sa:-Sa,c=oa(i-e);oa(c-Sa)<Aa?(n.point(e,r=(r+o)/2>0?Ea:-Ea),n.point(u,r),n.lineEnd(),n.lineStart(),n.point(a,r),n.point(i,r),t=0):u!==a&&c>=Sa&&(oa(e-u)<Aa&&(e-=u*Aa),oa(i-a)<Aa&&(i-=a*Aa),r=qe(e,r,i,o),n.point(u,r),n.lineEnd(),n.lineStart(),n.point(a,r),t=0),n.point(e=i,r=o),u=a},lineEnd:function(){n.lineEnd(),e=r=0/0},clean:function(){return 2-t}}}function qe(n,t,e,r){var u,i,o=Math.sin(n-e);return oa(o)>Aa?Math.atan((Math.sin(t)*(i=Math.cos(r))*Math.sin(e)-Math.sin(r)*(u=Math.cos(t))*Math.sin(n))/(u*i*o)):(t+r)/2}function ze(n,t,e,r){var u;if(null==n)u=e*Ea,r.point(-Sa,u),r.point(0,u),r.point(Sa,u),r.point(Sa,0),r.point(Sa,-u),r.point(0,-u),r.point(-Sa,-u),r.point(-Sa,0),r.point(-Sa,u);else if(oa(n[0]-t[0])>Aa){var i=n[0]<t[0]?Sa:-Sa;u=e*i/2,r.point(-i,u),r.point(0,u),r.point(i,u)}else r.point(t[0],t[1])}function Re(n){function t(n,t){return Math.cos(n)*Math.cos(t)>i}function e(n){var e,i,c,s,l;return{lineStart:function(){s=c=!1,l=1},point:function(f,h){var g,p=[f,h],v=t(f,h),d=o?v?0:u(f,h):v?u(f+(0>f?Sa:-Sa),h):0;if(!e&&(s=c=v)&&n.lineStart(),v!==c&&(g=r(e,p),(de(e,g)||de(p,g))&&(p[0]+=Aa,p[1]+=Aa,v=t(p[0],p[1]))),v!==c)l=0,v?(n.lineStart(),g=r(p,e),n.point(g[0],g[1])):(g=r(e,p),n.point(g[0],g[1]),n.lineEnd()),e=g;else if(a&&e&&o^v){var m;d&i||!(m=r(p,e,!0))||(l=0,o?(n.lineStart(),n.point(m[0][0],m[0][1]),n.point(m[1][0],m[1][1]),n.lineEnd()):(n.point(m[1][0],m[1][1]),n.lineEnd(),n.lineStart(),n.point(m[0][0],m[0][1])))}!v||e&&de(e,p)||n.point(p[0],p[1]),e=p,c=v,i=d},lineEnd:function(){c&&n.lineEnd(),e=null},clean:function(){return l|(s&&c)<<1}}}function r(n,t,e){var r=se(n),u=se(t),o=[1,0,0],a=fe(r,u),c=le(a,a),s=a[0],l=c-s*s;if(!l)return!e&&n;var f=i*c/l,h=-i*s/l,g=fe(o,a),p=ge(o,f),v=ge(a,h);they(p,v);var d=g,m=le(p,d),y=le(d,d),x=m*m-y*(le(p,p)-1);if(!(0>x)){var M=Math.sqrt(x),_=ge(d,(-m-M)/y);if(they(_,p),_=ve(_),!e)return _;var b,w=n[0],S=t[0],k=n[1],E=t[1];w>S&&(b=w,w=S,S=b);var A=S-w,C=oa(A-Sa)<Aa,N=C||Aa>A;if(!C&&k>E&&(b=k,k=E,E=b),N?C?k+E>0^_[1]<(oa(_[0]-w)<Aa?k:E):k<=_[1]&&_[1]<=E:A>Sa^(w<=_[0]&&_[0]<=S)){var L=ge(d,(-m+M)/y);return they(L,p),[_,ve(L)]}}}function u(t,e){var r=o?n:Sa-n,u=0;return-r>t?u|=1:t>r&&(u|=2),-r>e?u|=4:e>r&&(u|=8),u}var i=Math.cos(n),o=i>0,a=oa(i)>Aa,c=cr(n,6*Na);return Ee(t,e,c,o?[0,-n]:[-Sa,n-Sa])}function De(n,t,e,r){return function(u){var i,o=u.a,a=u.b,c=o.x,s=o.y,l=a.x,f=a.y,h=0,g=1,p=l-c,v=f-s;if(i=n-c,p||!(i>0)){if(i/=p,0>p){if(h>i)return;g>i&&(g=i)}else if(p>0){if(i>g)return;i>h&&(h=i)}if(i=e-c,p||!(0>i)){if(i/=p,0>p){if(i>g)return;i>h&&(h=i)}else if(p>0){if(h>i)return;g>i&&(g=i)}if(i=t-s,v||!(i>0)){if(i/=v,0>v){if(h>i)return;g>i&&(g=i)}else if(v>0){if(i>g)return;i>h&&(h=i)}if(i=r-s,v||!(0>i)){if(i/=v,0>v){if(i>g)return;i>h&&(h=i)}else if(v>0){if(h>i)return;g>i&&(g=i)}return h>0&&(u.a={x:c+h*p,y:s+h*v}),1>g&&(u.b={x:c+g*p,y:s+g*v}),u}}}}}}function Pe(n,t,e,r){function u(r,u){return oa(r[0]-n)<Aa?u>0?0:3:oa(r[0]-e)<Aa?u>0?2:1:oa(r[1]-t)<Aa?u>0?1:0:u>0?3:2}function i(n,t){return o(n.x,t.x)}function o(n,t){var e=u(n,1),r=u(t,1);return e!==r?e-r:0===e?t[1]-n[1]:1===e?n[0]-t[0]:2===e?n[1]-t[1]:t[0]-n[0]}return function(a){function c(n){for(var t=0,e=d.length,r=n[1],u=0;e>u;++u)for(var i,o=1,a=d[u],c=a.length,s=a[0];c>o;++o)i=a[o],s[1]<=r?i[1]>r&&Z(s,i,n)>0&&++t:i[1]<=r&&Z(s,i,n)<0&&--t,s=i;return 0!==t}function s(i,a,c,s){var l=0,f=0;if(null==i||(l=u(i,c))!==(f=u(a,c))||o(i,a)<0^c>0){do s.point(0===l||3===l?n:e,l>1?r:t);while((l=(l+c+4)%4)!==f)}else s.point(a[0],a[1])}function l(u,i){return u>=n&&e>=u&&i>=t&&r>=i}function f(n,t){l(n,t)&&a.point(n,t)}function h(){N.point=p,d&&d.push(m=[]),S=!0,w=!1,_=b=0/0}function g(){v&&(p(y,x),M&&w&&A.rejoin(),v.push(A.buffer())),N.point=f,w&&a.lineEnd()}function p(n,t){n=Math.max(-Ac,Math.min(Ac,n)),t=Math.max(-Ac,Math.min(Ac,t));var e=l(n,t);if(d&&m.push([n,t]),S)y=n,x=t,M=e,S=!1,e&&(a.lineStart(),a.point(n,t));else if(e&&w)a.point(n,t);else{var r={a:{x:_,y:b},b:{x:n,y:t}};C(r)?(w||(a.lineStart(),a.point(r.a.x,r.a.y)),a.point(r.b.x,r.b.y),e||a.lineEnd(),k=!1):e&&(a.lineStart(),a.point(n,t),k=!1)}_=n,b=t,w=e}var v,d,m,y,x,M,_,b,w,S,k,E=a,A=Ce(),C=De(n,t,e,r),N={point:f,lineStart:h,lineEnd:g,polygonStart:function(){a=A,v=[],d=[],k=!0},polygonEnd:function(){a=E,v=Xo.merge(v);var t=c([n,r]),e=k&&t,u=v.length;(e||u)&&(a.polygonStart(),e&&(a.lineStart(),s(null,null,1,a),a.lineEnd()),u&&we(v,i,t,s,a),a.polygonEnd()),v=d=m=null}};return N}}function Ue(n,t){function e(e,r){return e=n(e,r),t(e[0],e[1])}return n.invert&&t.invert&&(e.invert=function(e,r){return e=t.invert(e,r),e&&n.invert(e[0],e[1])}),e}function je(n){var t=0,e=Sa/3,r=nr(n),u=r(t,e);return u.parallels=function(n){return arguments.length?r(t=n[0]*Sa/180,e=n[1]*Sa/180):[180*(t/Sa),180*(e/Sa)]},u}function They(n,t){function e(n,t){var e=Math.sqrt(i-2*u*Math.sin(t))/u;return[e*Math.sin(n*=u),o-e*Math.cos(n)]}var r=Math.sin(n),u=(r+Math.sin(t))/2,i=1+r*(2*u-r),o=Math.sqrt(i)/u;return e.invert=function(n,t){var e=o-t;return[Math.atan2(n,e)/u,X((i-(n*n+e*e)*u*u)/(2*u))]},e}function Fe(){function n(n,t){Nc+=u*n-r*t,r=n,u=t}var t,e,r,u;Rc.point=function(i,o){Rc.point=n,t=r=i,e=u=o},Rc.lineEnd=function(){n(t,e)}}function Oe(n,t){Lc>n&&(Lc=n),n>qc&&(qc=n),Tc>t&&(Tc=t),t>zc&&(zc=t)}function Ye(){function n(n,t){o.push("M",n,",",t,i)}function t(n,t){o.push("M",n,",",t),a.point=e}function e(n,t){o.push("L",n,",",t)}function r(){a.point=n}function u(){o.push("Z")}var i=Ie(4.5),o=[],a={point:n,lineStart:function(){a.point=t},lineEnd:r,polygonStart:function(){a.lineEnd=u},polygonEnd:function(){a.lineEnd=r,a.point=n},pointRadius:function(n){return i=Ie(n),a},result:function(){if(o.length){var n=o.join("");return o=[],n}}};return a}function Ie(n){return"m0,"+n+"a"+n+","+n+" 0 1,1 0,"+-2*n+"a"+n+","+n+" 0 1,1 0,"+2*n+"z"}function Ze(n,t){dc+=n,mc+=t,++yc}function Ve(){function n(n,r){var u=n-t,i=r-e,o=Math.sqrt(u*u+i*i);xc+=o*(t+n)/2,Mc+=o*(e+r)/2,_c+=o,Ze(t=n,e=r)}var t,e;Pc.point=function(r,u){Pc.point=n,Ze(t=r,e=u)}}function Xe(){Pc.point=Ze}function $e(){function n(n,t){var e=n-r,i=t-u,o=Math.sqrt(e*e+i*i);xc+=o*(r+n)/2,Mc+=o*(u+t)/2,_c+=o,o=u*n-r*t,bc+=o*(r+n),wc+=o*(u+t),Sc+=3*o,Ze(r=n,u=t)}var t,e,r,u;Pc.point=function(i,o){Pc.point=n,Ze(t=r=i,e=u=o)},Pc.lineEnd=function(){n(t,e)}}function Be(n){function t(t,e){n.moveTo(t,e),n.arc(t,e,o,0,ka)}function e(t,e){n.moveTo(t,e),a.point=r}function r(t,e){n.lineTo(t,e)}function u(){a.point=t}function i(){n.closePath()}var o=4.5,a={point:t,lineStart:function(){a.point=e},lineEnd:u,polygonStart:function(){a.lineEnd=i},polygonEnd:function(){a.lineEnd=u,a.point=t},pointRadius:function(n){return o=n,a},result:g};return a}function We(n){function t(n){return(a?r:e)(n)}function e(t){return Ke(t,function(e,r){e=n(e,r),t.point(e[0],e[1])})}function r(t){function e(e,r){e=n(e,r),t.point(e[0],e[1])}function r(){x=0/0,S.point=i,t.lineStart()}function i(e,r){var i=se([e,r]),o=n(e,r);u(x,M,y,_,b,w,x=o[0],M=o[1],y=e,_=i[0],b=i[1],w=i[2],a,t),t.point(x,M)}function o(){S.point=e,t.lineEnd()}function c(){r(),S.point=s,S.lineEnd=l}function s(n,t){i(f=n,h=t),g=x,p=M,v=_,d=b,m=w,S.point=i}function l(){u(x,M,y,_,b,w,g,p,f,v,d,m,a,t),S.lineEnd=o,o()}var f,h,g,p,v,d,m,y,x,M,_,b,w,S={point:e,lineStart:r,lineEnd:o,polygonStart:function(){t.polygonStart(),S.lineStart=c},polygonEnd:function(){t.polygonEnd(),S.lineStart=r}};return S}function u(t,e,r,a,c,s,l,f,h,g,p,v,d,m){var y=l-t,x=f-e,M=y*y+x*x;if(M>4*i&&d--){var _=a+g,b=c+p,w=s+v,S=Math.sqrt(_*_+b*b+w*w),k=Math.asin(w/=S),E=oa(oa(w)-1)<Aa||oa(r-h)<Aa?(r+h)/2:Math.atan2(b,_),A=n(E,k),C=A[0],N=A[1],L=C-t,T=N-e,q=x*L-y*T;(q*q/M>i||oa((y*L+x*T)/M-.5)>.3||o>a*g+c*p+s*v)&&(u(t,e,r,a,c,s,C,N,E,_/=S,b/=S,w,d,m),m.point(C,N),u(C,N,E,_,b,w,l,f,h,g,p,v,d,m))}}var i=.5,o=Math.cos(30*Na),a=16;return t.precision=function(n){return arguments.length?(a=(i=n*n)>0&&16,t):Math.sqrt(i)},t}function Je(n){var t=We(function(t,e){return n([t*La,e*La])});return function(n){return tr(t(n))}}function Ge(n){this.stream=n}function Ke(n,t){return{point:t,sphere:function(){n.sphere()},lineStart:function(){n.lineStart()},lineEnd:function(){n.lineEnd()},polygonStart:function(){n.polygonStart()},polygonEnd:function(){n.polygonEnd()}}}function Qe(n){return nr(function(){return n})()}function nr(n){function t(n){return n=a(n[0]*Na,n[1]*Na),[n[0]*h+c,s-n[1]*h]}function e(n){return n=a.invert((n[0]-c)/h,(s-n[1])/h),n&&[n[0]*La,n[1]*La]}function r(){a=Ue(o=ur(m,y,x),i);var n=i(v,d);return c=g-n[0]*h,s=p+n[1]*h,u()}function u(){return l&&(l.valid=!1,l=null),t}var i,o,a,c,s,l,f=We(function(n,t){return n=i(n,t),[n[0]*h+c,s-n[1]*h]}),h=150,g=480,p=250,v=0,d=0,m=0,y=0,x=0,M=Ec,_=bt,b=null,w=null;return t.stream=function(n){return l&&(l.valid=!1),l=tr(M(o,f(_(n)))),l.valid=!0,l},t.clipAngle=function(n){return arguments.length?(M=null==n?(b=n,Ec):Re((b=+n)*Na),u()):b},t.clipExtent=function(n){return arguments.length?(w=n,_=n?Pe(n[0][0],n[0][1],n[1][0],n[1][1]):bt,u()):w},t.scale=function(n){return arguments.length?(h=+n,r()):h},t.translate=function(n){return arguments.length?(g=+n[0],p=+n[1],r()):[g,p]},t.center=function(n){return arguments.length?(v=n[0]%360*Na,d=n[1]%360*Na,r()):[v*La,d*La]},t.rotate=function(n){return arguments.length?(m=n[0]%360*Na,y=n[1]%360*Na,x=n.length>2?n[2]%360*Na:0,r()):[m*La,y*La,x*La]},Xo.rebind(t,f,"precision"),function(){return i=n.apply(this,arguments),t.invert=i.invert&&e,r()}}function tr(n){return Ke(n,function(t,e){n.point(t*Na,e*Na)})}function er(n,t){return[n,t]}function rr(n,t){return[n>Sa?n-ka:-Sa>n?n+ka:n,t]}function ur(n,t,e){return n?t||e?Ue(or(n),ar(t,e)):or(n):t||e?ar(t,e):rr}function ir(n){return function(t,e){return t+=n,[t>Sa?t-ka:-Sa>t?t+ka:t,e]}}function or(n){var t=ir(n);return t.invert=ir(-n),t}function ar(n,t){function e(n,t){var e=Math.cos(t),a=Math.cos(n)*e,c=Math.sin(n)*e,s=Math.sin(t),l=s*r+a*u;return[Math.atan2(c*i-l*o,a*r-s*u),X(l*i+c*o)]}var r=Math.cos(n),u=Math.sin(n),i=Math.cos(t),o=Math.sin(t);return e.invert=function(n,t){var e=Math.cos(t),a=Math.cos(n)*e,c=Math.sin(n)*e,s=Math.sin(t),l=s*i-c*o;return[Math.atan2(c*i+s*o,a*r+l*u),X(l*r-a*u)]},e}function cr(n,t){var e=Math.cos(n),r=Math.sin(n);return function(u,i,o,a){var c=o*t;null!=u?(u=sr(e,u),i=sr(e,i),(o>0?i>u:u>i)&&(u+=o*ka)):(u=n+o*ka,i=n-.5*c);for(var s,l=u;o>0?l>i:i>l;l-=c)a.point((s=ve([e,-r*Math.cos(l),-r*Math.sin(l)]))[0],s[1])}}function sr(n,t){var e=se(t);e[0]-=n,pe(e);var r=V(-e[1]);return((-e[2]<0?-r:r)+2*Math.PI-Aa)%(2*Math.PI)}function lr(n,t,e){var r=Xo.range(n,t-Aa,e).concat(t);return function(n){return r.map(function(t){return[n,t]})}}function fr(n,t,e){var r=Xo.range(n,t-Aa,e).concat(t);return function(n){return r.map(function(t){return[t,n]})}}function hr(n){return n.source}function gr(n){return n.target}function pr(n,t,e,r){var u=Math.cos(t),i=Math.sin(t),o=Math.cos(r),a=Math.sin(r),c=u*Math.cos(n),s=u*Math.sin(n),l=o*Math.cos(e),f=o*Math.sin(e),h=2*Math.asin(Math.sqrt(J(r-t)+u*o*J(e-n))),g=1/Math.sin(h),p=h?function(n){var t=Math.sin(n*=h)*g,e=Math.sin(h-n)*g,r=e*c+t*l,u=e*s+t*f,o=e*i+t*a;return[Math.atan2(u,r)*La,Math.atan2(o,Math.sqrt(r*r+u*u))*La]}:function(){return[n*La,t*La]};return p.distance=h,p}function vr(){function n(n,u){var i=Math.sin(u*=Na),o=Math.cos(u),a=oa((n*=Na)-t),c=Math.cos(a);Uc+=Math.atan2(Math.sqrt((a=o*Math.sin(a))*a+(a=r*i-e*o*c)*a),e*i+r*o*c),t=n,e=i,r=o}var t,e,r;jc.point=function(u,i){t=u*Na,e=Math.sin(i*=Na),r=Math.cos(i),jc.point=n},jc.lineEnd=function(){jc.point=jc.lineEnd=g}}function dr(n,t){function e(t,e){var r=Math.cos(t),u=Math.cos(e),i=n(r*u);return[i*u*Math.sin(t),i*Math.sin(e)]}return e.invert=function(n,e){var r=Math.sqrt(n*n+e*e),u=t(r),i=Math.sin(u),o=Math.cos(u);return[Math.atan2(n*i,r*o),Math.asin(r&&e*i/r)]},e}function mr(n,t){function e(n,t){var e=oa(oa(t)-Ea)<Aa?0:o/Math.pow(u(t),i);return[e*Math.sin(i*n),o-e*Math.cos(i*n)]}var r=Math.cos(n),u=function(n){return Math.tan(Sa/4+n/2)},i=n===t?Math.sin(n):Math.log(r/Math.cos(t))/Math.log(u(t)/u(n)),o=r*Math.pow(u(n),i)/i;return i?(e.invert=function(n,t){var e=o-t,r=I(i)*Math.sqrt(n*n+e*e);return[Math.atan2(n,e)/i,2*Math.atan(Math.pow(o/r,1/i))-Ea]},e):xr}function yr(n,t){function e(n,t){var e=i-t;return[e*Math.sin(u*n),i-e*Math.cos(u*n)]}var r=Math.cos(n),u=n===t?Math.sin(n):(r-Math.cos(t))/(t-n),i=r/u+n;return oa(u)<Aa?er:(e.invert=function(n,t){var e=i-t;return[Math.atan2(n,e)/u,i-I(u)*Math.sqrt(n*n+e*e)]},e)}function xr(n,t){return[n,Math.log(Math.tan(Sa/4+t/2))]}function Mr(n){var t,e=Qe(n),r=e.scale,u=e.translate,i=e.clipExtent;return e.scale=function(){var n=r.apply(e,arguments);return n===e?t?e.clipExtent(null):e:n},e.translate=function(){var n=u.apply(e,arguments);return n===e?t?e.clipExtent(null):e:n},e.clipExtent=function(n){var o=i.apply(e,arguments);if(o===e){if(t=null==n){var a=Sa*r(),c=u();i([[c[0]-a,c[1]-a],[c[0]+a,c[1]+a]])}}else t&&(o=null);return o},e.clipExtent(null)}function _r(n,t){return[Math.log(Math.tan(Sa/4+t/2)),-n]}function br(n){return n[0]}function wr(n){return n[1]}function Sr(n){for(var t=n.length,e=[0,1],r=2,u=2;t>u;u++){for(;r>1&&Z(n[e[r-2]],n[e[r-1]],n[u])<=0;)--r;e[r++]=u}return e.slice(0,r)}function kr(n,t){return n[0]-t[0]||n[1]-t[1]}function Er(n,t,e){return(e[0]-t[0])*(n[1]-t[1])<(e[1]-t[1])*(n[0]-t[0])}function Ar(n,t,e,r){var u=n[0],i=e[0],o=t[0]-u,a=r[0]-i,c=n[1],s=e[1],l=t[1]-c,f=r[1]-s,h=(a*(c-s)-f*(u-i))/(f*o-a*l);return[u+h*o,c+h*l]}function Cr(n){var t=n[0],e=n[n.length-1];return!(t[0]-e[0]||t[1]-e[1])}function Nr(){Jr(this),this.edge=this.site=this.circle=null}function Lr(n){var t=Jc.pop()||new Nr;return t.site=n,t}function Tr(n){Or(n),$c.remove(n),Jc.push(n),Jr(n)}function qr(n){var t=n.circle,e=t.x,r=t.cy,u={x:e,y:r},i=n.P,o=n.N,a=[n];Tr(n);for(var c=i;c.circle&&oa(e-c.circle.x)<Aa&&oa(r-c.circle.cy)<Aa;)i=c.P,a.unshift(c),Tr(c),c=i;a.unshift(c),Or(c);for(var s=o;s.circle&&oa(e-s.circle.x)<Aa&&oa(r-s.circle.cy)<Aa;)o=s.N,a.push(s),Tr(s),s=o;a.push(s),Or(s);var l,f=a.length;for(l=1;f>l;++l)s=a[l],c=a[l-1],$r(s.edge,c.site,s.site,u);c=a[0],s=a[f-1],s.edge=Vr(c.site,s.site,null,u),Fr(c),Fr(s)}function zr(n){for(var t,e,r,u,i=n.x,o=n.y,a=$c._;a;)if(r=Rr(a,o)-i,r>Aa)a=a.L;else{if(u=i-Dr(a,o),!(u>Aa)){r>-Aa?(t=a.P,e=a):u>-Aa?(t=a,e=a.N):t=e=a;break}if(!a.R){t=a;break}a=a.R}var c=Lr(n);if($c.insert(t,c),t||e){if(t===e)return Or(t),e=Lr(t.site),$c.insert(c,e),c.edge=e.edge=Vr(t.site,c.site),Fr(t),Fr(e),void 0;if(!e)return c.edge=Vr(t.site,c.site),void 0;Or(t),Or(e);var s=t.site,l=s.x,f=s.y,h=n.x-l,g=n.y-f,p=e.site,v=p.x-l,d=p.y-f,m=2*(h*d-g*v),y=h*h+g*g,x=v*v+d*d,M={x:(d*y-g*x)/m+l,y:(h*x-v*y)/m+f};$r(e.edge,s,p,M),c.edge=Vr(s,n,null,M),e.edge=Vr(n,p,null,M),Fr(t),Fr(e)}}function Rr(n,t){var e=n.site,r=e.x,u=e.y,i=u-t;if(!i)return r;var o=n.P;if(!o)return-1/0;e=o.site;var a=e.x,c=e.y,s=c-t;if(!s)return a;var l=a-r,f=1/i-1/s,h=l/s;return f?(-h+Math.sqrt(h*h-2*f*(l*l/(-2*s)-c+s/2+u-i/2)))/f+r:(r+a)/2}function Dr(n,t){var e=n.N;if(e)return Rr(e,t);var r=n.site;return r.y===t?r.x:1/0}function Pr(n){this.site=n,this.edges=[]}function Ur(n){for(var t,e,r,u,i,o,a,c,s,l,f=n[0][0],h=n[1][0],g=n[0][1],p=n[1][1],v=Xc,d=v.length;d--;)if(i=v[d],i&&i.prepare())for(a=i.edges,c=a.length,o=0;c>o;)l=a[o].end(),r=l.x,u=l.y,s=a[++o%c].start(),t=s.x,e=s.y,(oa(r-t)>Aa||oa(u-e)>Aa)&&(a.splice(o,0,new Br(Xr(i.site,l,oa(r-f)<Aa&&p-u>Aa?{x:f,y:oa(t-f)<Aa?e:p}:oa(u-p)<Aa&&h-r>Aa?{x:oa(e-p)<Aa?t:h,y:p}:oa(r-h)<Aa&&u-g>Aa?{x:h,y:oa(t-h)<Aa?e:g}:oa(u-g)<Aa&&r-f>Aa?{x:oa(e-g)<Aa?t:f,y:g}:null),i.site,null)),++c)}function jr(n,t){return t.angle-n.angle}function Hr(){Jr(this),this.x=this.y=this.arc=this.site=this.cy=null}function Fr(n){var t=n.P,e=n.N;if(t&&e){var r=t.site,u=n.site,i=e.site;if(r!==i){var o=u.x,a=u.y,c=r.x-o,s=r.y-a,l=i.x-o,f=i.y-a,h=2*(c*f-s*l);if(!(h>=-Ca)){var g=c*c+s*s,p=l*l+f*f,v=(f*g-s*p)/h,d=(c*p-l*g)/h,f=d+a,m=Gc.pop()||new Hr;m.arc=n,m.site=u,m.x=v+o,m.y=f+Math.sqrt(v*v+d*d),m.cy=f,n.circle=m;for(var y=null,x=Wc._;x;)if(m.y<x.y||m.y===x.y&&m.x<=x.x){if(!x.L){y=x.P;break}x=x.L}else{if(!x.R){y=x;break}x=x.R}Wc.insert(y,m),y||(Bc=m)}}}}function Or(n){var t=n.circle;t&&(t.P||(Bc=t.N),Wc.remove(t),Gc.push(t),Jr(t),n.circle=null)}function Yr(n){for(var t,e=Vc,r=De(n[0][0],n[0][1],n[1][0],n[1][1]),u=e.length;u--;)t=e[u],(!Ir(t,n)||!r(t)||oa(t.a.x-t.b.x)<Aa&&oa(t.a.y-t.b.y)<Aa)&&(t.a=t.b=null,e.splice(u,1))}function Ir(n,t){var e=n.b;if(e)return!0;var r,u,i=n.a,o=t[0][0],a=t[1][0],c=t[0][1],s=t[1][1],l=n.l,f=n.r,h=l.x,g=l.y,p=f.x,v=f.y,d=(h+p)/2,m=(g+v)/2;if(v===g){if(o>d||d>=a)return;if(h>p){if(i){if(i.y>=s)return}else i={x:d,y:c};e={x:d,y:s}}else{if(i){if(i.y<c)return}else i={x:d,y:s};e={x:d,y:c}}}else if(r=(h-p)/(v-g),u=m-r*d,-1>r||r>1)if(h>p){if(i){if(i.y>=s)return}else i={x:(c-u)/r,y:c};e={x:(s-u)/r,y:s}}else{if(i){if(i.y<c)return}else i={x:(s-u)/r,y:s};e={x:(c-u)/r,y:c}}else if(v>g){if(i){if(i.x>=a)return}else i={x:o,y:r*o+u};e={x:a,y:r*a+u}}else{if(i){if(i.x<o)return}else i={x:a,y:r*a+u};e={x:o,y:r*o+u}}return n.a=i,n.b=e,!0}function Zr(n,t){this.l=n,this.r=t,this.a=this.b=null}function Vr(n,t,e,r){var u=new Zr(n,t);return Vc.push(u),e&&$r(u,n,t,e),r&&$r(u,t,n,r),Xc[n.i].edges.push(new Br(u,n,t)),Xc[t.i].edges.push(new Br(u,t,n)),u}function Xr(n,t,e){var r=new Zr(n,null);return r.a=t,r.b=e,Vc.push(r),r}function $r(n,t,e,r){n.a||n.b?n.l===e?n.b=r:n.a=r:(n.a=r,n.l=t,n.r=e)}function Br(n,t,e){var r=n.a,u=n.b;this.edge=n,this.site=t,this.angle=e?Math.atan2(e.y-t.y,e.x-t.x):n.l===t?Math.atan2(u.x-r.x,r.y-u.y):Math.atan2(r.x-u.x,u.y-r.y)}function Wr(){this._=null}function Jr(n){n.U=n.C=n.L=n.R=n.P=n.N=null}function Gr(n,t){var e=t,r=t.R,u=e.U;u?u.L===e?u.L=r:u.R=r:n._=r,r.U=u,e.U=r,e.R=r.L,e.R&&(e.R.U=e),r.L=e}function Kr(n,t){var e=t,r=t.L,u=e.U;u?u.L===e?u.L=r:u.R=r:n._=r,r.U=u,e.U=r,e.L=r.R,e.L&&(e.L.U=e),r.R=e}function Qr(n){for(;n.L;)n=n.L;return n}function nu(n,t){var e,r,u,i=n.sort(tu).pop();for(Vc=[],Xc=new Array(n.length),$c=new Wr,Wc=new Wr;;)if(u=Bc,i&&(!u||i.y<u.y||i.y===u.y&&i.x<u.x))(i.x!==e||i.y!==r)&&(Xc[i.i]=new Pr(i),zr(i),e=i.x,r=i.y),i=n.pop();else{if(!u)break;qr(u.arc)}t&&(Yr(t),Ur(t));var o={cells:Xc,edges:Vc};return $c=Wc=Vc=Xc=null,o}function tu(n,t){return t.y-n.y||t.x-n.x}function eu(n,t,e){return(n.x-e.x)*(t.y-n.y)-(n.x-t.x)*(e.y-n.y)}function ru(n){return n.x}function uu(n){return n.y}function iu(){return{leaf:!0,nodes:[],point:null,x:null,y:null}}function ou(n,t,e,r,u,i){if(!n(t,e,r,u,i)){var o=.5*(e+u),a=.5*(r+i),c=t.nodes;c[0]&&ou(n,c[0],e,r,o,a),c[1]&&ou(n,c[1],o,r,u,a),c[2]&&ou(n,c[2],e,a,o,i),c[3]&&ou(n,c[3],o,a,u,i)}}function au(n,t){n=Xo.rgb(n),t=Xo.rgb(t);var e=n.r,r=n.g,u=n.b,i=t.r-e,o=t.g-r,a=t.b-u;return function(n){return"#"+vt(Math.round(e+i*n))+vt(Math.round(r+o*n))+vt(Math.round(u+a*n))}}function cu(n,t){var e,r={},u={};for(e in n)e in t?r[e]=fu(n[e],t[e]):u[e]=n[e];for(e in t)e in n||(u[e]=t[e]);return function(n){for(e in r)u[e]=r[e](n);return u}}function su(n,t){return t-=n=+n,function(e){return n+t*e}}function lu(n,t){var e,r,u,i,o,a=0,c=0,s=[],l=[];for(n+="",t+="",Qc.lastIndex=0,r=0;e=Qc.exec(t);++r)e.index&&s.push(t.substring(a,c=e.index)),l.push({i:s.length,x:e[0]}),s.push(null),a=Qc.lastIndex;for(a<t.length&&s.push(t.substring(a)),r=0,i=l.length;(e=Qc.exec(n))&&i>r;++r)if(o=l[r],o.x==e[0]){if(o.i)if(null==s[o.i+1])for(s[o.i-1]+=o.x,s.splice(o.i,1),u=r+1;i>u;++u)l[u].i--;else for(s[o.i-1]+=o.x+s[o.i+1],s.splice(o.i,2),u=r+1;i>u;++u)l[u].i-=2;else if(null==s[o.i+1])s[o.i]=o.x;else for(s[o.i]=o.x+s[o.i+1],s.splice(o.i+1,1),u=r+1;i>u;++u)l[u].i--;l.splice(r,1),i--,r--}else o.x=su(parseFloat(e[0]),parseFloat(o.x));for(;i>r;)o=l.pop(),null==s[o.i+1]?s[o.i]=o.x:(s[o.i]=o.x+s[o.i+1],s.splice(o.i+1,1)),i--;return 1===s.length?null==s[0]?(o=l[0].x,function(n){return o(n)+""}):function(){return t}:function(n){for(r=0;i>r;++r)s[(o=l[r]).i]=o.x(n);return s.join("")}}function fu(n,t){for(var e,r=Xo.interpolators.length;--r>=0&&!(e=Xo.interpolators[r](n,t)););return e}function hu(n,t){var e,r=[],u=[],i=n.length,o=t.length,a=Math.min(n.length,t.length);for(e=0;a>e;++e)r.push(fu(n[e],t[e]));for(;i>e;++e)u[e]=n[e];for(;o>e;++e)u[e]=t[e];return function(n){for(e=0;a>e;++e)u[e]=r[e](n);return u}}function gu(n){return function(t){return 0>=t?0:t>=1?1:n(t)}}function pu(n){return function(t){return 1-n(1-t)}}function vu(n){return function(t){return.5*(.5>t?n(2*t):2-n(2-2*t))}}function du(n){return n*n}function mu(n){return n*n*n}function yu(n){if(0>=n)return 0;if(n>=1)return 1;var t=n*n,e=t*n;return 4*(.5>n?e:3*(n-t)+e-.75)}function xu(n){return function(t){return Math.pow(t,n)}}function Mu(n){return 1-Math.cos(n*Ea)}function _u(n){return Math.pow(2,10*(n-1))}function bu(n){return 1-Math.sqrt(1-n*n)}function wu(n,t){var e;return arguments.length<2&&(t=.45),arguments.length?e=t/ka*Math.asin(1/n):(n=1,e=t/4),function(r){return 1+n*Math.pow(2,-10*r)*Math.sin((r-e)*ka/t)}}function Su(n){return n||(n=1.70158),function(t){return t*t*((n+1)*t-n)}}function ku(n){return 1/2.75>n?7.5625*n*n:2/2.75>n?7.5625*(n-=1.5/2.75)*n+.75:2.5/2.75>n?7.5625*(n-=2.25/2.75)*n+.9375:7.5625*(n-=2.625/2.75)*n+.984375}function Eu(n,t){n=Xo.hcl(n),t=Xo.hcl(t);var e=n.h,r=n.c,u=n.l,i=t.h-e,o=t.c-r,a=t.l-u;return isNaN(o)&&(o=0,r=isNaN(r)?t.c:r),isNaN(i)?(i=0,e=isNaN(e)?t.h:e):i>180?i-=360:-180>i&&(i+=360),function(n){return rt(e+i*n,r+o*n,u+a*n)+""}}function Au(n,t){n=Xo.hsl(n),t=Xo.hsl(t);var e=n.h,r=n.s,u=n.l,i=t.h-e,o=t.s-r,a=t.l-u;return isNaN(o)&&(o=0,r=isNaN(r)?t.s:r),isNaN(i)?(i=0,e=isNaN(e)?t.h:e):i>180?i-=360:-180>i&&(i+=360),function(n){return nt(e+i*n,r+o*n,u+a*n)+""}}function Cu(n,t){n=Xo.lab(n),t=Xo.lab(t);var e=n.l,r=n.a,u=n.b,i=t.l-e,o=t.a-r,a=t.b-u;return function(n){return ot(e+i*n,r+o*n,u+a*n)+""}}function Nu(n,t){return t-=n,function(e){return Math.round(n+t*e)}}function Lu(n){var t=[n.a,n.b],e=[n.c,n.d],r=qu(t),u=Tu(t,e),i=qu(zu(e,t,-u))||0;t[0]*e[1]<e[0]*t[1]&&(t[0]*=-1,t[1]*=-1,r*=-1,u*=-1),this.rotate=(r?Math.atan2(t[1],t[0]):Math.atan2(-e[0],e[1]))*La,this.translate=[n.e,n.f],this.scale=[r,i],this.skew=i?Math.atan2(u,i)*La:0}function Tu(n,t){return n[0]*t[0]+n[1]*t[1]}function qu(n){var t=Math.sqrt(Tu(n,n));return t&&(n[0]/=t,n[1]/=t),t}function zu(n,t,e){return n[0]+=e*t[0],n[1]+=e*t[1],n}function Ru(n,t){var e,r=[],u=[],i=Xo.transform(n),o=Xo.transform(t),a=i.translate,c=o.translate,s=i.rotate,l=o.rotate,f=i.skew,h=o.skew,g=i.scale,p=o.scale;return a[0]!=c[0]||a[1]!=c[1]?(r.push("translate(",null,",",null,")"),u.push({i:1,x:su(a[0],c[0])},{i:3,x:su(a[1],c[1])})):c[0]||c[1]?r.push("translate("+c+")"):r.push(""),s!=l?(s-l>180?l+=360:l-s>180&&(s+=360),u.push({i:r.push(r.pop()+"rotate(",null,")")-2,x:su(s,l)})):l&&r.push(r.pop()+"rotate("+l+")"),f!=h?u.push({i:r.push(r.pop()+"skewX(",null,")")-2,x:su(f,h)}):h&&r.push(r.pop()+"skewX("+h+")"),g[0]!=p[0]||g[1]!=p[1]?(e=r.push(r.pop()+"scale(",null,",",null,")"),u.push({i:e-4,x:su(g[0],p[0])},{i:e-2,x:su(g[1],p[1])})):(1!=p[0]||1!=p[1])&&r.push(r.pop()+"scale("+p+")"),e=u.length,function(n){for(var t,i=-1;++i<e;)r[(t=u[i]).i]=t.x(n);return r.join("")}}function Du(n,t){return t=t-(n=+n)?1/(t-n):0,function(e){return(e-n)*t}}function Pu(n,t){return t=t-(n=+n)?1/(t-n):0,function(e){return Math.max(0,Math.min(1,(e-n)*t))}}function Uu(n){for(var t=n.source,e=n.target,r=Hu(t,e),u=[t];t!==r;)t=t.parent,u.push(t);for(var i=u.length;e!==r;)u.splice(i,0,e),e=e.parent;return u}function ju(n){for(var t=[],e=n.parent;null!=e;)t.push(n),n=e,e=e.parent;return t.push(n),t}function Hu(n,t){if(n===t)return n;for(var e=ju(n),r=ju(t),u=e.pop(),i=r.pop(),o=null;u===i;)o=u,u=e.pop(),i=r.pop();return o}function Fu(n){n.fixed|=2}function Ou(n){n.fixed&=-7}function Yu(n){n.fixed|=4,n.px=n.x,n.py=n.y}function Iu(n){n.fixed&=-5}function Zu(n,t,e){var r=0,u=0;if(n.charge=0,!n.leaf)for(var i,o=n.nodes,a=o.length,c=-1;++c<a;)i=o[c],null!=i&&(Zu(i,t,e),n.charge+=i.charge,r+=i.charge*i.cx,u+=i.charge*i.cy);if(n.point){n.leaf||(n.point.x+=Math.random()-.5,n.point.y+=Math.random()-.5);var s=t*e[n.point.index];n.charge+=n.pointCharge=s,r+=s*n.point.x,u+=s*n.point.y}n.cx=r/n.charge,n.cy=u/n.charge}function Vu(n,t){return Xo.rebind(n,t,"sort","children","value"),n.nodes=n,n.links=Wu,n}function Xu(n){return n.children}function $u(n){return n.value}function Bu(n,t){return t.value-n.value}function Wu(n){return Xo.merge(n.map(function(n){return(n.children||[]).map(function(t){return{source:n,target:t}})}))}function Ju(n){return n.x}function Gu(n){return n.y}function Ku(n,t,e){n.y0=t,n.y=e}function Qu(n){return Xo.range(n.length)}function ni(n){for(var t=-1,e=n[0].length,r=[];++t<e;)r[t]=0;return r}function ti(n){for(var t,e=1,r=0,u=n[0][1],i=n.length;i>e;++e)(t=n[e][1])>u&&(r=e,u=t);return r}function ei(n){return n.reduce(ri,0)}function ri(n,t){return n+t[1]}function ui(n,t){return ii(n,Math.ceil(Math.log(t.length)/Math.LN2+1))}function ii(n,t){for(var e=-1,r=+n[0],u=(n[1]-r)/t,i=[];++e<=t;)i[e]=u*e+r;return i}function oi(n){return[Xo.min(n),Xo.max(n)]}function ai(n,t){return n.parent==t.parent?1:2}function ci(n){var t=n.children;return t&&t.length?t[0]:n._tree.thread}function si(n){var t,e=n.children;return e&&(t=e.length)?e[t-1]:n._tree.thread}function li(n,t){var e=n.children;if(e&&(u=e.length))for(var r,u,i=-1;++i<u;)t(r=li(e[i],t),n)>0&&(n=r);return n}function fi(n,t){return n.x-t.x}function hi(n,t){return t.x-n.x}function gi(n,t){return n.depth-t.depth}function pi(n,t){function e(n,r){var u=n.children;if(u&&(o=u.length))for(var i,o,a=null,c=-1;++c<o;)i=u[c],e(i,a),a=i;t(n,r)}e(n,null)}function vi(n){for(var t,e=0,r=0,u=n.children,i=u.length;--i>=0;)t=u[i]._tree,t.prelim+=e,t.mod+=e,e+=t.shift+(r+=t.change)}function di(n,t,e){n=n._tree,t=t._tree;var r=e/(t.number-n.number);n.change+=r,t.change-=r,t.shift+=e,t.prelim+=e,t.mod+=e}function mi(n,t,e){return n._tree.ancestor.parent==t.parent?n._tree.ancestor:e}function yi(n,t){return n.value-t.value}function xi(n,t){var e=n._pack_next;n._pack_next=t,t._pack_prev=n,t._pack_next=e,e._pack_prev=t}function Mi(n,t){n._pack_next=t,t._pack_prev=n}function _i(n,t){var e=t.x-n.x,r=t.y-n.y,u=n.r+t.r;return.999*u*u>e*e+r*r}function bi(n){function t(n){l=Math.min(n.x-n.r,l),f=Math.max(n.x+n.r,f),h=Math.min(n.y-n.r,h),g=Math.max(n.y+n.r,g)}if((e=n.children)&&(s=e.length)){var e,r,u,i,o,a,c,s,l=1/0,f=-1/0,h=1/0,g=-1/0;if(e.forEach(wi),r=e[0],r.x=-r.r,r.y=0,t(r),s>1&&(u=e[1],u.x=u.r,u.y=0,t(u),s>2))for(i=e[2],Ei(r,u,i),t(i),xi(r,i),r._pack_prev=i,xi(i,u),u=r._pack_next,o=3;s>o;o++){Ei(r,u,i=e[o]);var p=0,v=1,d=1;for(a=u._pack_next;a!==u;a=a._pack_next,v++)if(_i(a,i)){p=1;break}if(1==p)for(c=r._pack_prev;c!==a._pack_prev&&!_i(c,i);c=c._pack_prev,d++);p?(d>v||v==d&&u.r<r.r?Mi(r,u=a):Mi(r=c,u),o--):(xi(r,i),u=i,t(i))}var m=(l+f)/2,y=(h+g)/2,x=0;for(o=0;s>o;o++)i=e[o],i.x-=m,i.y-=y,x=Math.max(x,i.r+Math.sqrt(i.x*i.x+i.y*i.y));n.r=x,e.forEach(Si)}}function wi(n){n._pack_next=n._pack_prev=n}function Si(n){delete n._pack_next,delete n._pack_prev}function ki(n,t,e,r){var u=n.children;if(n.x=t+=r*n.x,n.y=e+=r*n.y,n.r*=r,u)for(var i=-1,o=u.length;++i<o;)ki(u[i],t,e,r)}function Ei(n,t,e){var r=n.r+e.r,u=t.x-n.x,i=t.y-n.y;if(r&&(u||i)){var o=t.r+e.r,a=u*u+i*i;o*=o,r*=r;var c=.5+(r-o)/(2*a),s=Math.sqrt(Math.max(0,2*o*(r+a)-(r-=a)*r-o*o))/(2*a);e.x=n.x+c*u+s*i,e.y=n.y+c*i-s*u}else e.x=n.x+r,e.y=n.y}function Ai(n){return 1+Xo.max(n,function(n){return n.y})}function Ci(n){return n.reduce(function(n,t){return n+t.x},0)/n.length}function Ni(n){var t=n.children;return t&&t.length?Ni(t[0]):n}function Li(n){var t,e=n.children;return e&&(t=e.length)?Li(e[t-1]):n}function Ti(n){return{x:n.x,y:n.y,dx:n.dx,dy:n.dy}}function qi(n,t){var e=n.x+t[3],r=n.y+t[0],u=n.dx-t[1]-t[3],i=n.dy-t[0]-t[2];return 0>u&&(e+=u/2,u=0),0>i&&(r+=i/2,i=0),{x:e,y:r,dx:u,dy:i}}function zi(n){var t=n[0],e=n[n.length-1];return e>t?[t,e]:[e,t]}function Ri(n){return n.rangeExtent?n.rangeExtent():zi(n.range())}function Di(n,t,e,r){var u=e(n[0],n[1]),i=r(t[0],t[1]);return function(n){return i(u(n))}}function Pi(n,t){var e,r=0,u=n.length-1,i=n[r],o=n[u];return i>o&&(e=r,r=u,u=e,e=i,i=o,o=e),n[r]=t.floor(i),n[u]=t.ceil(o),n}function Ui(n){return n?{floor:function(t){return Math.floor(t/n)*n},ceil:function(t){return Math.ceil(t/n)*n}}:ls}function ji(n,t,e,r){var u=[],i=[],o=0,a=Math.min(n.length,t.length)-1;for(n[a]<n[0]&&(n=n.slice().reverse(),t=t.slice().reverse());++o<=a;)u.push(e(n[o-1],n[o])),i.push(r(t[o-1],t[o]));return function(t){var e=Xo.bisect(n,t,1,a)-1;return i[e](u[e](t))}}function Hi(n,t,e,r){function u(){var u=Math.min(n.length,t.length)>2?ji:Di,c=r?Pu:Du;return o=u(n,t,c,e),a=u(t,n,c,fu),i}function i(n){return o(n)}var o,a;return i.invert=function(n){return a(n)},i.domain=function(t){return arguments.length?(n=t.map(Number),u()):n},i.range=function(n){return arguments.length?(t=n,u()):t},i.rangeRound=function(n){return i.range(n).interpolate(Nu)},i.clamp=function(n){return arguments.length?(r=n,u()):r},i.interpolate=function(n){return arguments.length?(e=n,u()):e},i.ticks=function(t){return Ii(n,t)},i.tickFormat=function(t,e){return Zi(n,t,e)},i.nice=function(t){return Oi(n,t),u()},i.copy=function(){return Hi(n,t,e,r)},u()}function Fi(n,t){return Xo.rebind(n,t,"range","rangeRound","interpolate","clamp")}function Oi(n,t){return Pi(n,Ui(Yi(n,t)[2]))}function Yi(n,t){null==t&&(t=10);var e=zi(n),r=e[1]-e[0],u=Math.pow(10,Math.floor(Math.log(r/t)/Math.LN10)),i=t/r*u;return.15>=i?u*=10:.35>=i?u*=5:.75>=i&&(u*=2),e[0]=Math.ceil(e[0]/u)*u,e[1]=Math.floor(e[1]/u)*u+.5*u,e[2]=u,e}function Ii(n,t){return Xo.range.apply(Xo,Yi(n,t))}function Zi(n,t,e){var r=Yi(n,t);return Xo.format(e?e.replace(Qa,function(n,t,e,u,i,o,a,c,s,l){return[t,e,u,i,o,a,c,s||"."+Xi(l,r),l].join("")}):",."+Vi(r[2])+"f")}function Vi(n){return-Math.floor(Math.log(n)/Math.LN10+.01)}function Xi(n,t){var e=Vi(t[2]);return n in fs?Math.abs(e-Vi(Math.max(Math.abs(t[0]),Math.abs(t[1]))))+ +("e"!==n):e-2*("%"===n)}function $i(n,t,e,r){function u(n){return(e?Math.log(0>n?0:n):-Math.log(n>0?0:-n))/Math.log(t)}function i(n){return e?Math.pow(t,n):-Math.pow(t,-n)}function o(t){return n(u(t))}return o.invert=function(t){return i(n.invert(t))},o.domain=function(t){return arguments.length?(e=t[0]>=0,n.domain((r=t.map(Number)).map(u)),o):r},o.base=function(e){return arguments.length?(t=+e,n.domain(r.map(u)),o):t},o.nice=function(){var t=Pi(r.map(u),e?Math:gs);return n.domain(t),r=t.map(i),o},o.ticks=function(){var n=zi(r),o=[],a=n[0],c=n[1],s=Math.floor(u(a)),l=Math.ceil(u(c)),f=t%1?2:t;if(isFinite(l-s)){if(e){for(;l>s;s++)for(var h=1;f>h;h++)o.push(i(s)*h);o.push(i(s))}else for(o.push(i(s));s++<l;)for(var h=f-1;h>0;h--)o.push(i(s)*h);for(s=0;o[s]<a;s++);for(l=o.length;o[l-1]>c;l--);o=o.slice(s,l)}return o},o.tickFormat=function(n,t){if(!arguments.length)return hs;arguments.length<2?t=hs:"function"!=typeof t&&(t=Xo.format(t));var r,a=Math.max(.1,n/o.ticks().length),c=e?(r=1e-12,Math.ceil):(r=-1e-12,Math.floor);return function(n){return n/i(c(u(n)+r))<=a?t(n):""}},o.copy=function(){return $i(n.copy(),t,e,r)},Fi(o,n)}function Bi(n,t,e){function r(t){return n(u(t))}var u=Wi(t),i=Wi(1/t);return r.invert=function(t){return i(n.invert(t))},r.domain=function(t){return arguments.length?(n.domain((e=t.map(Number)).map(u)),r):e},r.ticks=function(n){return Ii(e,n)},r.tickFormat=function(n,t){return Zi(e,n,t)},r.nice=function(n){return r.domain(Oi(e,n))},r.exponent=function(o){return arguments.length?(u=Wi(t=o),i=Wi(1/t),n.domain(e.map(u)),r):t},r.copy=function(){return Bi(n.copy(),t,e)},Fi(r,n)}function Wi(n){return function(t){return 0>t?-Math.pow(-t,n):Math.pow(t,n)}}function Ji(n,t){function e(e){return o[((i.get(e)||"range"===t.t&&i.set(e,n.push(e)))-1)%o.length]}function r(t,e){return Xo.range(n.length).map(function(n){return t+e*n})}var i,o,a;return e.domain=function(r){if(!arguments.length)return n;n=[],i=new u;for(var o,a=-1,c=r.length;++a<c;)i.has(o=r[a])||i.set(o,n.push(o));return e[t.t].apply(e,t.a)},e.range=function(n){return arguments.length?(o=n,a=0,t={t:"range",a:arguments},e):o},e.rangePoints=function(u,i){arguments.length<2&&(i=0);var c=u[0],s=u[1],l=(s-c)/(Math.max(1,n.length-1)+i);return o=r(n.length<2?(c+s)/2:c+l*i/2,l),a=0,t={t:"rangePoints",a:arguments},e},e.rangeBands=function(u,i,c){arguments.length<2&&(i=0),arguments.length<3&&(c=i);var s=u[1]<u[0],l=u[s-0],f=u[1-s],h=(f-l)/(n.length-i+2*c);return o=r(l+h*c,h),s&&o.reverse(),a=h*(1-i),t={t:"rangeBands",a:arguments},e},e.rangeRoundBands=function(u,i,c){arguments.length<2&&(i=0),arguments.length<3&&(c=i);var s=u[1]<u[0],l=u[s-0],f=u[1-s],h=Math.floor((f-l)/(n.length-i+2*c)),g=f-l-(n.length-i)*h;return o=r(l+Math.round(g/2),h),s&&o.reverse(),a=Math.round(h*(1-i)),t={t:"rangeRoundBands",a:arguments},e},e.rangeBand=function(){return a},e.rangeExtent=function(){return zi(t.a[0])},e.copy=function(){return Ji(n,t)},e.domain(n)}function Gi(n,t){function e(){var e=0,i=t.length;for(u=[];++e<i;)u[e-1]=Xo.quantile(n,e/i);return r}function r(n){return isNaN(n=+n)?void 0:t[Xo.bisect(u,n)]}var u;return r.domain=function(t){return arguments.length?(n=t.filter(function(n){return!isNaN(n)}).sort(Xo.ascending),e()):n},r.range=function(n){return arguments.length?(t=n,e()):t},r.quantiles=function(){return u},r.invertExtent=function(e){return e=t.indexOf(e),0>e?[0/0,0/0]:[e>0?u[e-1]:n[0],e<u.length?u[e]:n[n.length-1]]},r.copy=function(){return Gi(n,t)},e()}function Ki(n,t,e){function r(t){return e[Math.max(0,Math.min(o,Math.floor(i*(t-n))))]}function u(){return i=e.length/(t-n),o=e.length-1,r}var i,o;return r.domain=function(e){return arguments.length?(n=+e[0],t=+e[e.length-1],u()):[n,t]},r.range=function(n){return arguments.length?(e=n,u()):e},r.invertExtent=function(t){return t=e.indexOf(t),t=0>t?0/0:t/i+n,[t,t+1/i]},r.copy=function(){return Ki(n,t,e)},u()}function Qi(n,t){function e(e){return e>=e?t[Xo.bisect(n,e)]:void 0}return e.domain=function(t){return arguments.length?(n=t,e):n},e.range=function(n){return arguments.length?(t=n,e):t},e.invertExtent=function(e){return e=t.indexOf(e),[n[e-1],n[e]]},e.copy=function(){return Qi(n,t)},e}function no(n){function t(n){return+n}return t.invert=t,t.domain=t.range=function(e){return arguments.length?(n=e.map(t),t):n},t.ticks=function(t){return Ii(n,t)},t.tickFormat=function(t,e){return Zi(n,t,e)},t.copy=function(){return no(n)},t}function to(n){return n.innerRadius}function eo(n){return n.outerRadius}function ro(n){return n.startAngle}function uo(n){return n.endAngle}function io(n){function t(t){function o(){s.push("M",i(n(l),a))}for(var c,s=[],l=[],f=-1,h=t.length,g=_t(e),p=_t(r);++f<h;)u.call(this,c=t[f],f)?l.push([+g.call(this,c,f),+p.call(this,c,f)]):l.length&&(o(),l=[]);return l.length&&o(),s.length?s.join(""):null}var e=br,r=wr,u=be,i=oo,o=i.key,a=.7;return t.x=function(n){return arguments.length?(e=n,t):e},t.y=function(n){return arguments.length?(r=n,t):r},t.defined=function(n){return arguments.length?(u=n,t):u},t.interpolate=function(n){return arguments.length?(o="function"==typeof n?i=n:(i=Ms.get(n)||oo).key,t):o},t.tension=function(n){return arguments.length?(a=n,t):a},t}function oo(n){return n.join("L")}function ao(n){return oo(n)+"Z"}function co(n){for(var t=0,e=n.length,r=n[0],u=[r[0],",",r[1]];++t<e;)u.push("H",(r[0]+(r=n[t])[0])/2,"V",r[1]);return e>1&&u.push("H",r[0]),u.join("")}function so(n){for(var t=0,e=n.length,r=n[0],u=[r[0],",",r[1]];++t<e;)u.push("V",(r=n[t])[1],"H",r[0]);return u.join("")}function lo(n){for(var t=0,e=n.length,r=n[0],u=[r[0],",",r[1]];++t<e;)u.push("H",(r=n[t])[0],"V",r[1]);return u.join("")}function fo(n,t){return n.length<4?oo(n):n[1]+po(n.slice(1,n.length-1),vo(n,t))}function ho(n,t){return n.length<3?oo(n):n[0]+po((n.push(n[0]),n),vo([n[n.length-2]].concat(n,[n[1]]),t))}function go(n,t){return n.length<3?oo(n):n[0]+po(n,vo(n,t))}function po(n,t){if(t.length<1||n.length!=t.length&&n.length!=t.length+2)return oo(n);var e=n.length!=t.length,r="",u=n[0],i=n[1],o=t[0],a=o,c=1;if(e&&(r+="Q"+(i[0]-2*o[0]/3)+","+(i[1]-2*o[1]/3)+","+i[0]+","+i[1],u=n[1],c=2),t.length>1){a=t[1],i=n[c],c++,r+="C"+(u[0]+o[0])+","+(u[1]+o[1])+","+(i[0]-a[0])+","+(i[1]-a[1])+","+i[0]+","+i[1];for(var s=2;s<t.length;s++,c++)i=n[c],a=t[s],r+="S"+(i[0]-a[0])+","+(i[1]-a[1])+","+i[0]+","+i[1]}if(e){var l=n[c];r+="Q"+(i[0]+2*a[0]/3)+","+(i[1]+2*a[1]/3)+","+l[0]+","+l[1]}return r}function vo(n,t){for(var e,r=[],u=(1-t)/2,i=n[0],o=n[1],a=1,c=n.length;++a<c;)e=i,i=o,o=n[a],r.push([u*(o[0]-e[0]),u*(o[1]-e[1])]);return r}function mo(n){if(n.length<3)return oo(n);var t=1,e=n.length,r=n[0],u=r[0],i=r[1],o=[u,u,u,(r=n[1])[0]],a=[i,i,i,r[1]],c=[u,",",i,"L",_o(ws,o),",",_o(ws,a)];for(n.push(n[e-1]);++t<=e;)r=n[t],o.shift(),o.push(r[0]),a.shift(),a.push(r[1]),bo(c,o,a);return n.pop(),c.push("L",r),c.join("")}function yo(n){if(n.length<4)return oo(n);for(var t,e=[],r=-1,u=n.length,i=[0],o=[0];++r<3;)t=n[r],i.push(t[0]),o.push(t[1]);for(e.push(_o(ws,i)+","+_o(ws,o)),--r;++r<u;)t=n[r],i.shift(),i.push(t[0]),o.shift(),o.push(t[1]),bo(e,i,o);return e.join("")}function xo(n){for(var t,e,r=-1,u=n.length,i=u+4,o=[],a=[];++r<4;)e=n[r%u],o.push(e[0]),a.push(e[1]);for(t=[_o(ws,o),",",_o(ws,a)],--r;++r<i;)e=n[r%u],o.shift(),o.push(e[0]),a.shift(),a.push(e[1]),bo(t,o,a);return t.join("")}function Mo(n,t){var e=n.length-1;if(e)for(var r,u,i=n[0][0],o=n[0][1],a=n[e][0]-i,c=n[e][1]-o,s=-1;++s<=e;)r=n[s],u=s/e,r[0]=t*r[0]+(1-t)*(i+u*a),r[1]=t*r[1]+(1-t)*(o+u*c);return mo(n)}function _o(n,t){return n[0]*t[0]+n[1]*t[1]+n[2]*t[2]+n[3]*t[3]}function bo(n,t,e){n.push("C",_o(_s,t),",",_o(_s,e),",",_o(bs,t),",",_o(bs,e),",",_o(ws,t),",",_o(ws,e))}function wo(n,t){return(t[1]-n[1])/(t[0]-n[0])}function So(n){for(var t=0,e=n.length-1,r=[],u=n[0],i=n[1],o=r[0]=wo(u,i);++t<e;)r[t]=(o+(o=wo(u=i,i=n[t+1])))/2;return r[t]=o,r}function ko(n){for(var t,e,r,u,i=[],o=So(n),a=-1,c=n.length-1;++a<c;)t=wo(n[a],n[a+1]),oa(t)<Aa?o[a]=o[a+1]=0:(e=o[a]/t,r=o[a+1]/t,u=e*e+r*r,u>9&&(u=3*t/Math.sqrt(u),o[a]=u*e,o[a+1]=u*r));for(a=-1;++a<=c;)u=(n[Math.min(c,a+1)][0]-n[Math.max(0,a-1)][0])/(6*(1+o[a]*o[a])),i.push([u||0,o[a]*u||0]);return i}function Eo(n){return n.length<3?oo(n):n[0]+po(n,ko(n))}function Ao(n){for(var t,e,r,u=-1,i=n.length;++u<i;)t=n[u],e=t[0],r=t[1]+ys,t[0]=e*Math.cos(r),t[1]=e*Math.sin(r);return n}function Co(n){function t(t){function c(){v.push("M",a(n(m),f),l,s(n(d.reverse()),f),"Z")}for(var h,g,p,v=[],d=[],m=[],y=-1,x=t.length,M=_t(e),_=_t(u),b=e===r?function(){return g}:_t(r),w=u===i?function(){return p}:_t(i);++y<x;)o.call(this,h=t[y],y)?(d.push([g=+M.call(this,h,y),p=+_.call(this,h,y)]),m.push([+b.call(this,h,y),+w.call(this,h,y)])):d.length&&(c(),d=[],m=[]);return d.length&&c(),v.length?v.join(""):null}var e=br,r=br,u=0,i=wr,o=be,a=oo,c=a.key,s=a,l="L",f=.7;return t.x=function(n){return arguments.length?(e=r=n,t):r},t.x0=function(n){return arguments.length?(e=n,t):e},t.x1=function(n){return arguments.length?(r=n,t):r},t.y=function(n){return arguments.length?(u=i=n,t):i},t.y0=function(n){return arguments.length?(u=n,t):u},t.y1=function(n){return arguments.length?(i=n,t):i},t.defined=function(n){return arguments.length?(o=n,t):o},t.interpolate=function(n){return arguments.length?(c="function"==typeof n?a=n:(a=Ms.get(n)||oo).key,s=a.reverse||a,l=a.closed?"M":"L",t):c},t.tension=function(n){return arguments.length?(f=n,t):f},t}function No(n){return n.radius}function Lo(n){return[n.x,n.y]}function To(n){return function(){var t=n.apply(this,arguments),e=t[0],r=t[1]+ys;return[e*Math.cos(r),e*Math.sin(r)]}}function qo(){return 64}function zo(){return"circle"}function Ro(n){var t=Math.sqrt(n/Sa);return"M0,"+t+"A"+t+","+t+" 0 1,1 0,"+-t+"A"+t+","+t+" 0 1,1 0,"+t+"Z"}function Do(n,t){return fa(n,Ns),n.id=t,n}function Po(n,t,e,r){var u=n.id;return R(n,"function"==typeof e?function(n,i,o){n.__transition__[u].tween.set(t,r(e.call(n,n.__data__,i,o)))}:(e=r(e),function(n){n.__transition__[u].tween.set(t,e)}))}function Uo(n){return null==n&&(n=""),function(){this.textContent=n}}function jo(n,t,e,r){var i=n.__transition__||(n.__transition__={active:0,count:0}),o=i[e];if(!o){var a=r.time;o=i[e]={tween:new u,time:a,ease:r.ease,delay:r.delay,duration:r.duration},++i.count,Xo.timer(function(r){function u(r){return i.active>e?s():(i.active=e,o.event&&o.event.start.call(n,l,t),o.tween.forEach(function(e,r){(r=r.call(n,l,t))&&v.push(r)}),Xo.timer(function(){return p.c=c(r||1)?be:c,1},0,a),void 0)}function c(r){if(i.active!==e)return s();for(var u=r/g,a=f(u),c=v.length;c>0;)v[--c].call(n,a);return u>=1?(o.event&&o.event.end.call(n,l,t),s()):void 0}function s(){return--i.count?delete i[e]:delete n.__transition__,1}var l=n.__data__,f=o.ease,h=o.delay,g=o.duration,p=Ja,v=[];return p.t=h+a,r>=h?u(r-h):(p.c=u,void 0)},0,a)}}function Ho(n,t){n.attr("transform",function(n){return"translate("+t(n)+",0)"})}function Fo(n,t){n.attr("transform",function(n){return"translate(0,"+t(n)+")"})}function Oo(n){return n.toISOString()}function Yo(n,t,e){function r(t){return n(t)}function u(n,e){var r=n[1]-n[0],u=r/e,i=Xo.bisect(js,u);return i==js.length?[t.year,Yi(n.map(function(n){return n/31536e6}),e)[2]]:i?t[u/js[i-1]<js[i]/u?i-1:i]:[Os,Yi(n,e)[2]]}return r.invert=function(t){return Io(n.invert(t))},r.domain=function(t){return arguments.length?(n.domain(t),r):n.domain().map(Io)},r.nice=function(n,t){function e(e){return!isNaN(e)&&!n.range(e,Io(+e+1),t).length}var i=r.domain(),o=zi(i),a=null==n?u(o,10):"number"==typeof n&&u(o,n);return a&&(n=a[0],t=a[1]),r.domain(Pi(i,t>1?{floor:function(t){for(;e(t=n.floor(t));)t=Io(t-1);return t},ceil:function(t){for(;e(t=n.ceil(t));)t=Io(+t+1);return t}}:n))},r.ticks=function(n,t){var e=zi(r.domain()),i=null==n?u(e,10):"number"==typeof n?u(e,n):!n.range&&[{range:n},t];return i&&(n=i[0],t=i[1]),n.range(e[0],Io(+e[1]+1),1>t?1:t)},r.tickFormat=function(){return e},r.copy=function(){return Yo(n.copy(),t,e)},Fi(r,n)}function Io(n){return new Date(n)}function Zo(n){return JSON.parse(n.responseText)}function Vo(n){var t=Wo.createRange();return t.selectNode(Wo.body),t.createContextualFragment(n.responseText)}var Xo={version:"3.4.3"};Date.now||(Date.now=function(){return+new Date});var $o=[].slice,Bo=function(n){return $o.call(n)},Wo=document,Jo=Wo.documentElement,Go=window;try{Bo(Jo.childNodes)[0].nodeType}catch(Ko){Bo=function(n){for(var t=n.length,e=new Array(t);t--;)e[t]=n[t];return e}}try{Wo.createElement("div").style.setProperty("opacity",0,"")}catch(Qo){var na=Go.Element.prototype,ta=na.setAttribute,ea=na.setAttributeNS,ra=Go.CSSStyleDeclaration.prototype,ua=ra.setProperty;na.setAttribute=function(n,t){ta.call(this,n,t+"")},na.setAttributeNS=function(n,t,e){ea.call(this,n,t,e+"")},ra.setProperty=function(n,t,e){ua.call(this,n,t+"",e)}}Xo.ascending=function(n,t){return t>n?-1:n>t?1:n>=t?0:0/0},Xo.descending=function(n,t){return n>t?-1:t>n?1:t>=n?0:0/0},Xo.min=function(n,t){var e,r,u=-1,i=n.length;if(1===arguments.length){for(;++u<i&&!(null!=(e=n[u])&&e>=e);)e=void 0;for(;++u<i;)null!=(r=n[u])&&e>r&&(e=r)}else{for(;++u<i&&!(null!=(e=t.call(n,n[u],u))&&e>=e);)e=void 0;for(;++u<i;)null!=(r=t.call(n,n[u],u))&&e>r&&(e=r)}return e},Xo.max=function(n,t){var e,r,u=-1,i=n.length;if(1===arguments.length){for(;++u<i&&!(null!=(e=n[u])&&e>=e);)e=void 0;for(;++u<i;)null!=(r=n[u])&&r>e&&(e=r)}else{for(;++u<i&&!(null!=(e=t.call(n,n[u],u))&&e>=e);)e=void 0;for(;++u<i;)null!=(r=t.call(n,n[u],u))&&r>e&&(e=r)}return e},Xo.extent=function(n,t){var e,r,u,i=-1,o=n.length;if(1===arguments.length){for(;++i<o&&!(null!=(e=u=n[i])&&e>=e);)e=u=void 0;for(;++i<o;)null!=(r=n[i])&&(e>r&&(e=r),r>u&&(u=r))}else{for(;++i<o&&!(null!=(e=u=t.call(n,n[i],i))&&e>=e);)e=void 0;for(;++i<o;)null!=(r=t.call(n,n[i],i))&&(e>r&&(e=r),r>u&&(u=r))}return[e,u]},Xo.sum=function(n,t){var e,r=0,u=n.length,i=-1;if(1===arguments.length)for(;++i<u;)isNaN(e=+n[i])||(r+=e);else for(;++i<u;)isNaN(e=+t.call(n,n[i],i))||(r+=e);return r},Xo.mean=function(t,e){var r,u=t.length,i=0,o=-1,a=0;if(1===arguments.length)for(;++o<u;)n(r=t[o])&&(i+=(r-i)/++a);else for(;++o<u;)n(r=e.call(t,t[o],o))&&(i+=(r-i)/++a);return a?i:void 0},Xo.quantile=function(n,t){var e=(n.length-1)*t+1,r=Math.floor(e),u=+n[r-1],i=e-r;return i?u+i*(n[r]-u):u},Xo.median=function(t,e){return arguments.length>1&&(t=t.map(e)),t=t.filter(n),t.length?Xo.quantile(t.sort(Xo.ascending),.5):void 0},Xo.bisector=function(n){return{left:function(t,e,r,u){for(arguments.length<3&&(r=0),arguments.length<4&&(u=t.length);u>r;){var i=r+u>>>1;n.call(t,t[i],i)<e?r=i+1:u=i}return r},right:function(t,e,r,u){for(arguments.length<3&&(r=0),arguments.length<4&&(u=t.length);u>r;){var i=r+u>>>1;e<n.call(t,t[i],i)?u=i:r=i+1}return r}}};var ia=Xo.bisector(function(n){return n});Xo.bisectLeft=ia.left,Xo.bisect=Xo.bisectRight=ia.right,Xo.shuffle=function(n){for(var t,e,r=n.length;r;)e=0|Math.random()*r--,t=n[r],n[r]=n[e],n[e]=t;return n},Xo.permute=function(n,t){for(var e=t.length,r=new Array(e);e--;)r[e]=n[t[e]];return r},Xo.pairs=function(n){for(var t,e=0,r=n.length-1,u=n[0],i=new Array(0>r?0:r);r>e;)i[e]=[t=u,u=n[++e]];return i},Xo.zip=function(){if(!(u=arguments.length))return[];for(var n=-1,e=Xo.min(arguments,t),r=new Array(e);++n<e;)for(var u,i=-1,o=r[n]=new Array(u);++i<u;)o[i]=arguments[i][n];return r},Xo.transpose=function(n){return Xo.zip.apply(Xo,n)},Xo.keys=function(n){var t=[];for(var e in n)t.push(e);return t},Xo.values=function(n){var t=[];for(var e in n)t.push(n[e]);return t},Xo.entries=function(n){var t=[];for(var e in n)t.push({key:e,value:n[e]});return t},Xo.merge=function(n){for(var t,e,r,u=n.length,i=-1,o=0;++i<u;)o+=n[i].length;for(e=new Array(o);--u>=0;)for(r=n[u],t=r.length;--t>=0;)e[--o]=r[t];return e};var oa=Math.abs;Xo.range=function(n,t,r){if(arguments.length<3&&(r=1,arguments.length<2&&(t=n,n=0)),1/0===(t-n)/r)throw new Error("infinite range");var u,i=[],o=e(oa(r)),a=-1;if(n*=o,t*=o,r*=o,0>r)for(;(u=n+r*++a)>t;)i.push(u/o);else for(;(u=n+r*++a)<t;)i.push(u/o);return i},Xo.map=function(n){var t=new u;if(n instanceof u)n.forEach(function(n,e){t.set(n,e)});else for(var e in n)t.set(e,n[e]);return t},r(u,{has:i,get:function(n){return this[aa+n]},set:function(n,t){return this[aa+n]=t},remove:o,keys:a,values:function(){var n=[];return this.forEach(function(t,e){n.push(e)}),n},entries:function(){var n=[];return this.forEach(function(t,e){n.push({key:t,value:e})}),n},size:c,empty:s,forEach:function(n){for(var t in this)t.charCodeAt(0)===ca&&n.call(this,t.substring(1),this[t])}});var aa="\x00",ca=aa.charCodeAt(0);Xo.nest=function(){function n(t,a,c){if(c>=o.length)return r?r.call(i,a):e?a.sort(e):a;for(var s,l,f,h,g=-1,p=a.length,v=o[c++],d=new u;++g<p;)(h=d.get(s=v(l=a[g])))?h.push(l):d.set(s,[l]);return t?(l=t(),f=function(e,r){l.set(e,n(t,r,c))}):(l={},f=function(e,r){l[e]=n(t,r,c)}),d.forEach(f),l}function t(n,e){if(e>=o.length)return n;var r=[],u=a[e++];return n.forEach(function(n,u){r.push({key:n,values:t(u,e)})}),u?r.sort(function(n,t){return u(n.key,t.key)}):r}var e,r,i={},o=[],a=[];return i.map=function(t,e){return n(e,t,0)},i.entries=function(e){return t(n(Xo.map,e,0),0)},i.key=function(n){return o.push(n),i},i.sortKeys=function(n){return a[o.length-1]=n,i},i.sortValues=function(n){return e=n,i},i.rollup=function(n){return r=n,i},i},Xo.set=function(n){var t=new l;if(n)for(var e=0,r=n.length;r>e;++e)t.add(n[e]);return t},r(l,{has:i,add:function(n){return this[aa+n]=!0,n},remove:function(n){return n=aa+n,n in this&&delete this[n]},values:a,size:c,empty:s,forEach:function(n){for(var t in this)t.charCodeAt(0)===ca&&n.call(this,t.substring(1))}}),Xo.behavior={},Xo.rebind=function(n,t){for(var e,r=1,u=arguments.length;++r<u;)n[e=arguments[r]]=f(n,t,t[e]);return n};var sa=["webkit","ms","moz","Moz","o","O"];Xo.dispatch=function(){for(var n=new p,t=-1,e=arguments.length;++t<e;)n[arguments[t]]=v(n);return n},p.prototype.on=function(n,t){var e=n.indexOf("."),r="";if(e>=0&&(r=n.substring(e+1),n=n.substring(0,e)),n)return arguments.length<2?this[n].on(r):this[n].on(r,t);if(2===arguments.length){if(null==t)for(n in this)this.hasOwnProperty(n)&&this[n].on(r,null);return this}},Xo.event=null,Xo.requote=function(n){return n.replace(la,"\\$&")};var la=/[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g,fa={}.__proto__?function(n,t){n.__proto__=t}:function(n,t){for(var e in t)n[e]=t[e]},ha=function(n,t){return t.querySelector(n)},ga=function(n,t){return t.querySelectorAll(n)},pa=Jo[h(Jo,"matchesSelector")],va=function(n,t){return pa.call(n,t)};"function"==typeof Sizzle&&(ha=function(n,t){return Sizzle(n,t)[0]||null},ga=Sizzle,va=Sizzle.matchesSelector),Xo.selection=function(){return xa};var da=Xo.selection.prototype=[];da.select=function(n){var t,e,r,u,i=[];n=M(n);for(var o=-1,a=this.length;++o<a;){i.push(t=[]),t.parentNode=(r=this[o]).parentNode;for(var c=-1,s=r.length;++c<s;)(u=r[c])?(t.push(e=n.call(u,u.__data__,c,o)),e&&"__data__"in u&&(e.__data__=u.__data__)):t.push(null)}return x(i)},da.selectAll=function(n){var t,e,r=[];n=_(n);for(var u=-1,i=this.length;++u<i;)for(var o=this[u],a=-1,c=o.length;++a<c;)(e=o[a])&&(r.push(t=Bo(n.call(e,e.__data__,a,u))),t.parentNode=e);return x(r)};var ma={svg:"http://www.w3.org/2000/svg",xhtml:"http://www.w3.org/1999/xhtml",xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};Xo.ns={prefix:ma,qualify:function(n){var t=n.indexOf(":"),e=n;return t>=0&&(e=n.substring(0,t),n=n.substring(t+1)),ma.hasOwnProperty(e)?{space:ma[e],local:n}:n}},da.attr=function(n,t){if(arguments.length<2){if("string"==typeof n){var e=this.node();return n=Xo.ns.qualify(n),n.local?e.getAttributeNS(n.space,n.local):e.getAttribute(n)}for(t in n)this.each(b(t,n[t]));return this}return this.each(b(n,t))},da.classed=function(n,t){if(arguments.length<2){if("string"==typeof n){var e=this.node(),r=(n=k(n)).length,u=-1;if(t=e.classList){for(;++u<r;)if(!t.contains(n[u]))return!1}else for(t=e.getAttribute("class");++u<r;)if(!S(n[u]).test(t))return!1;return!0}for(t in n)this.each(E(t,n[t]));return this}return this.each(E(n,t))},da.style=function(n,t,e){var r=arguments.length;if(3>r){if("string"!=typeof n){2>r&&(t="");for(e in n)this.each(C(e,n[e],t));return this}if(2>r)return Go.getComputedStyle(this.node(),null).getPropertyValue(n);e=""}return this.each(C(n,t,e))},da.property=function(n,t){if(arguments.length<2){if("string"==typeof n)return this.node()[n];for(t in n)this.each(N(t,n[t]));return this}return this.each(N(n,t))},da.text=function(n){return arguments.length?this.each("function"==typeof n?function(){var t=n.apply(this,arguments);this.textContent=null==t?"":t}:null==n?function(){this.textContent=""}:function(){this.textContent=n}):this.node().textContent},da.html=function(n){return arguments.length?this.each("function"==typeof n?function(){var t=n.apply(this,arguments);this.innerHTML=null==t?"":t}:null==n?function(){this.innerHTML=""}:function(){this.innerHTML=n}):this.node().innerHTML},da.append=function(n){return n=L(n),this.select(function(){return this.appendChild(n.apply(this,arguments))})},da.insert=function(n,t){return n=L(n),t=M(t),this.select(function(){return this.insertBefore(n.apply(this,arguments),t.apply(this,arguments)||null)})},da.remove=function(){return this.each(function(){var n=this.parentNode;n&&n.removeChild(this)})},da.data=function(n,t){function e(n,e){var r,i,o,a=n.length,f=e.length,h=Math.min(a,f),g=new Array(f),p=new Array(f),v=new Array(a);if(t){var d,m=new u,y=new u,x=[];for(r=-1;++r<a;)d=t.call(i=n[r],i.__data__,r),m.has(d)?v[r]=i:m.set(d,i),x.push(d);for(r=-1;++r<f;)d=t.call(e,o=e[r],r),(i=m.get(d))?(g[r]=i,i.__data__=o):y.has(d)||(p[r]=T(o)),y.set(d,o),m.remove(d);for(r=-1;++r<a;)m.has(x[r])&&(v[r]=n[r])}else{for(r=-1;++r<h;)i=n[r],o=e[r],i?(i.__data__=o,g[r]=i):p[r]=T(o);for(;f>r;++r)p[r]=T(e[r]);for(;a>r;++r)v[r]=n[r]}p.update=g,p.parentNode=g.parentNode=v.parentNode=n.parentNode,c.push(p),s.push(g),l.push(v)}var r,i,o=-1,a=this.length;if(!arguments.length){for(n=new Array(a=(r=this[0]).length);++o<a;)(i=r[o])&&(n[o]=i.__data__);return n}var c=D([]),s=x([]),l=x([]);if("function"==typeof n)for(;++o<a;)e(r=this[o],n.call(r,r.parentNode.__data__,o));else for(;++o<a;)e(r=this[o],n);return s.enter=function(){return c},s.exit=function(){return l},s},da.datum=function(n){return arguments.length?this.property("__data__",n):this.property("__data__")},da.filter=function(n){var t,e,r,u=[];"function"!=typeof n&&(n=q(n));for(var i=0,o=this.length;o>i;i++){u.push(t=[]),t.parentNode=(e=this[i]).parentNode;for(var a=0,c=e.length;c>a;a++)(r=e[a])&&n.call(r,r.__data__,a,i)&&t.push(r)}return x(u)},da.order=function(){for(var n=-1,t=this.length;++n<t;)for(var e,r=this[n],u=r.length-1,i=r[u];--u>=0;)(e=r[u])&&(i&&i!==e.nextSibling&&i.parentNode.insertBefore(e,i),i=e);return this},da.sort=function(n){n=z.apply(this,arguments);for(var t=-1,e=this.length;++t<e;)this[t].sort(n);return this.order()},da.each=function(n){return R(this,function(t,e,r){n.call(t,t.__data__,e,r)})},da.call=function(n){var t=Bo(arguments);return n.apply(t[0]=this,t),this},da.empty=function(){return!this.node()},da.node=function(){for(var n=0,t=this.length;t>n;n++)for(var e=this[n],r=0,u=e.length;u>r;r++){var i=e[r];if(i)return i}return null},da.size=function(){var n=0;return this.each(function(){++n}),n};var ya=[];Xo.selection.enter=D,Xo.selection.enter.prototype=ya,ya.append=da.append,ya.empty=da.empty,ya.node=da.node,ya.call=da.call,ya.size=da.size,ya.select=function(n){for(var t,e,r,u,i,o=[],a=-1,c=this.length;++a<c;){r=(u=this[a]).update,o.push(t=[]),t.parentNode=u.parentNode;for(var s=-1,l=u.length;++s<l;)(i=u[s])?(t.push(r[s]=e=n.call(u.parentNode,i.__data__,s,a)),e.__data__=i.__data__):t.push(null)}return x(o)},ya.insert=function(n,t){return arguments.length<2&&(t=P(this)),da.insert.call(this,n,t)},da.transition=function(){for(var n,t,e=ks||++Ls,r=[],u=Es||{time:Date.now(),ease:yu,delay:0,duration:250},i=-1,o=this.length;++i<o;){r.push(n=[]);for(var a=this[i],c=-1,s=a.length;++c<s;)(t=a[c])&&jo(t,c,e,u),n.push(t)}return Do(r,e)},da.interrupt=function(){return this.each(U)},Xo.select=function(n){var t=["string"==typeof n?ha(n,Wo):n];return t.parentNode=Jo,x([t])},Xo.selectAll=function(n){var t=Bo("string"==typeof n?ga(n,Wo):n);return t.parentNode=Jo,x([t])};var xa=Xo.select(Jo);da.on=function(n,t,e){var r=arguments.length;if(3>r){if("string"!=typeof n){2>r&&(t=!1);for(e in n)this.each(j(e,n[e],t));return this}if(2>r)return(r=this.node()["__on"+n])&&r._;e=!1}return this.each(j(n,t,e))};var Ma=Xo.map({mouseenter:"mouseover",mouseleave:"mouseout"});Ma.forEach(function(n){"on"+n in Wo&&Ma.remove(n)});var _a="onselectstart"in Wo?null:h(Jo.style,"userSelect"),ba=0;Xo.mouse=function(n){return Y(n,m())};var wa=/WebKit/.test(Go.navigator.userAgent)?-1:0;Xo.touches=function(n,t){return arguments.length<2&&(t=m().touches),t?Bo(t).map(function(t){var e=Y(n,t);return e.identifier=t.identifier,e}):[]},Xo.behavior.drag=function(){function n(){this.on("mousedown.drag",o).on("touchstart.drag",a)}function t(){return Xo.event.changedTouches[0].identifier}function e(n,t){return Xo.touches(n).filter(function(n){return n.identifier===t})[0]}function r(n,t,e,r){return function(){function o(){var n=t(l,g),e=n[0]-v[0],r=n[1]-v[1];d|=e|r,v=n,f({type:"drag",x:n[0]+c[0],y:n[1]+c[1],dx:e,dy:r})}function a(){m.on(e+"."+p,null).on(r+"."+p,null),y(d&&Xo.event.target===h),f({type:"dragend"})}var c,s=this,l=s.parentNode,f=u.of(s,arguments),h=Xo.event.target,g=n(),p=null==g?"drag":"drag-"+g,v=t(l,g),d=0,m=Xo.select(Go).on(e+"."+p,o).on(r+"."+p,a),y=O();i?(c=i.apply(s,arguments),c=[c.x-v[0],c.y-v[1]]):c=[0,0],f({type:"dragstart"})}}var u=y(n,"drag","dragstart","dragend"),i=null,o=r(g,Xo.mouse,"mousemove","mouseup"),a=r(t,e,"touchmove","touchend");return n.origin=function(t){return arguments.length?(i=t,n):i},Xo.rebind(n,u,"on")};var Sa=Math.PI,ka=2*Sa,Ea=Sa/2,Aa=1e-6,Ca=Aa*Aa,Na=Sa/180,La=180/Sa,Ta=Math.SQRT2,qa=2,za=4;Xo.interpolateZoom=function(n,t){function e(n){var t=n*y;if(m){var e=B(v),o=i/(qa*h)*(e*W(Ta*t+v)-$(v));return[r+o*s,u+o*l,i*e/B(Ta*t+v)]}return[r+n*s,u+n*l,i*Math.exp(Ta*t)]}var r=n[0],u=n[1],i=n[2],o=t[0],a=t[1],c=t[2],s=o-r,l=a-u,f=s*s+l*l,h=Math.sqrt(f),g=(c*c-i*i+za*f)/(2*i*qa*h),p=(c*c-i*i-za*f)/(2*c*qa*h),v=Math.log(Math.sqrt(g*g+1)-g),d=Math.log(Math.sqrt(p*p+1)-p),m=d-v,y=(m||Math.log(c/i))/Ta;return e.duration=1e3*y,e},Xo.behavior.zoom=function(){function n(n){n.on(A,s).on(Pa+".zoom",f).on(C,h).on("dblclick.zoom",g).on(L,l)}function t(n){return[(n[0]-S.x)/S.k,(n[1]-S.y)/S.k]}function e(n){return[n[0]*S.k+S.x,n[1]*S.k+S.y]}function r(n){S.k=Math.max(E[0],Math.min(E[1],n))}function u(n,t){t=e(t),S.x+=n[0]-t[0],S.y+=n[1]-t[1]}function i(){_&&_.domain(M.range().map(function(n){return(n-S.x)/S.k}).map(M.invert)),w&&w.domain(b.range().map(function(n){return(n-S.y)/S.k}).map(b.invert))}function o(n){n({type:"zoomstart"})}function a(n){i(),n({type:"zoom",scale:S.k,translate:[S.x,S.y]})}function c(n){n({type:"zoomend"})}function s(){function n(){l=1,u(Xo.mouse(r),g),a(i)}function e(){f.on(C,Go===r?h:null).on(N,null),p(l&&Xo.event.target===s),c(i)}var r=this,i=T.of(r,arguments),s=Xo.event.target,l=0,f=Xo.select(Go).on(C,n).on(N,e),g=t(Xo.mouse(r)),p=O();U.call(r),o(i)}function l(){function n(){var n=Xo.touches(g);return h=S.k,n.forEach(function(n){n.identifier in v&&(v[n.identifier]=t(n))}),n}function e(){for(var t=Xo.event.changedTouches,e=0,i=t.length;i>e;++e)v[t[e].identifier]=null;var o=n(),c=Date.now();if(1===o.length){if(500>c-x){var s=o[0],l=v[s.identifier];r(2*S.k),u(s,l),d(),a(p)}x=c}else if(o.length>1){var s=o[0],f=o[1],h=s[0]-f[0],g=s[1]-f[1];m=h*h+g*g}}function i(){for(var n,t,e,i,o=Xo.touches(g),c=0,s=o.length;s>c;++c,i=null)if(e=o[c],i=v[e.identifier]){if(t)break;n=e,t=i}if(i){var l=(l=e[0]-n[0])*l+(l=e[1]-n[1])*l,f=m&&Math.sqrt(l/m);n=[(n[0]+e[0])/2,(n[1]+e[1])/2],t=[(t[0]+i[0])/2,(t[1]+i[1])/2],r(f*h)}x=null,u(n,t),a(p)}function f(){if(Xo.event.touches.length){for(var t=Xo.event.changedTouches,e=0,r=t.length;r>e;++e)delete v[t[e].identifier];for(var u in v)return void n()}b.on(M,null).on(_,null),w.on(A,s).on(L,l),k(),c(p)}var h,g=this,p=T.of(g,arguments),v={},m=0,y=Xo.event.changedTouches[0].identifier,M="touchmove.zoom-"+y,_="touchend.zoom-"+y,b=Xo.select(Go).on(M,i).on(_,f),w=Xo.select(g).on(A,null).on(L,e),k=O();U.call(g),e(),o(p)}function f(){var n=T.of(this,arguments);m?clearTimeout(m):(U.call(this),o(n)),m=setTimeout(function(){m=null,c(n)},50),d();var e=v||Xo.mouse(this);p||(p=t(e)),r(Math.pow(2,.002*Ra())*S.k),u(e,p),a(n)}function h(){p=null}function g(){var n=T.of(this,arguments),e=Xo.mouse(this),i=t(e),s=Math.log(S.k)/Math.LN2;o(n),r(Math.pow(2,Xo.event.shiftKey?Math.ceil(s)-1:Math.floor(s)+1)),u(e,i),a(n),c(n)}var p,v,m,x,M,_,b,w,S={x:0,y:0,k:1},k=[960,500],E=Da,A="mousedown.zoom",C="mousemove.zoom",N="mouseup.zoom",L="touchstart.zoom",T=y(n,"zoomstart","zoom","zoomend");return n.event=function(n){n.each(function(){var n=T.of(this,arguments),t=S;ks?Xo.select(this).transition().each("start.zoom",function(){S=this.__chart__||{x:0,y:0,k:1},o(n)}).tween("zoom:zoom",function(){var e=k[0],r=k[1],u=e/2,i=r/2,o=Xo.interpolateZoom([(u-S.x)/S.k,(i-S.y)/S.k,e/S.k],[(u-t.x)/t.k,(i-t.y)/t.k,e/t.k]);return function(t){var r=o(t),c=e/r[2];this.__chart__=S={x:u-r[0]*c,y:i-r[1]*c,k:c},a(n)}}).each("end.zoom",function(){c(n)}):(this.__chart__=S,o(n),a(n),c(n))})},n.translate=function(t){return arguments.length?(S={x:+t[0],y:+t[1],k:S.k},i(),n):[S.x,S.y]},n.scale=function(t){return arguments.length?(S={x:S.x,y:S.y,k:+t},i(),n):S.k},n.scaleExtent=function(t){return arguments.length?(E=null==t?Da:[+t[0],+t[1]],n):E},n.center=function(t){return arguments.length?(v=t&&[+t[0],+t[1]],n):v},n.size=function(t){return arguments.length?(k=t&&[+t[0],+t[1]],n):k},n.x=function(t){return arguments.length?(_=t,M=t.copy(),S={x:0,y:0,k:1},n):_},n.y=function(t){return arguments.length?(w=t,b=t.copy(),S={x:0,y:0,k:1},n):w},Xo.rebind(n,T,"on")};var Ra,Da=[0,1/0],Pa="onwheel"in Wo?(Ra=function(){return-Xo.event.deltaY*(Xo.event.deltaMode?120:1)},"wheel"):"onmousewheel"in Wo?(Ra=function(){return Xo.event.wheelDelta},"mousewheel"):(Ra=function(){return-Xo.event.detail},"MozMousePixelScroll");G.prototype.toString=function(){return this.rgb()+""},Xo.hsl=function(n,t,e){return 1===arguments.length?n instanceof Q?K(n.h,n.s,n.l):dt(""+n,mt,K):K(+n,+t,+e)};var Ua=Q.prototype=new G;Ua.brighter=function(n){return n=Math.pow(.7,arguments.length?n:1),K(this.h,this.s,this.l/n)},Ua.darker=function(n){return n=Math.pow(.7,arguments.length?n:1),K(this.h,this.s,n*this.l)},Ua.rgb=function(){return nt(this.h,this.s,this.l)},Xo.hcl=function(n,t,e){return 1===arguments.length?n instanceof et?tt(n.h,n.c,n.l):n instanceof it?at(n.l,n.a,n.b):at((n=yt((n=Xo.rgb(n)).r,n.g,n.b)).l,n.a,n.b):tt(+n,+t,+e)};var ja=et.prototype=new G;ja.brighter=function(n){return tt(this.h,this.c,Math.min(100,this.l+Ha*(arguments.length?n:1)))},ja.darker=function(n){return tt(this.h,this.c,Math.max(0,this.l-Ha*(arguments.length?n:1)))},ja.rgb=function(){return rt(this.h,this.c,this.l).rgb()},Xo.lab=function(n,t,e){return 1===arguments.length?n instanceof it?ut(n.l,n.a,n.b):n instanceof et?rt(n.l,n.c,n.h):yt((n=Xo.rgb(n)).r,n.g,n.b):ut(+n,+t,+e)};var Ha=18,Fa=.95047,Oa=1,Ya=1.08883,Ia=it.prototype=new G;Ia.brighter=function(n){return ut(Math.min(100,this.l+Ha*(arguments.length?n:1)),this.a,this.b)},Ia.darker=function(n){return ut(Math.max(0,this.l-Ha*(arguments.length?n:1)),this.a,this.b)},Ia.rgb=function(){return ot(this.l,this.a,this.b)},Xo.rgb=function(n,t,e){return 1===arguments.length?n instanceof pt?gt(n.r,n.g,n.b):dt(""+n,gt,nt):gt(~~n,~~t,~~e)};var Za=pt.prototype=new G;Za.brighter=function(n){n=Math.pow(.7,arguments.length?n:1);var t=this.r,e=this.g,r=this.b,u=30;return t||e||r?(t&&u>t&&(t=u),e&&u>e&&(e=u),r&&u>r&&(r=u),gt(Math.min(255,~~(t/n)),Math.min(255,~~(e/n)),Math.min(255,~~(r/n)))):gt(u,u,u)},Za.darker=function(n){return n=Math.pow(.7,arguments.length?n:1),gt(~~(n*this.r),~~(n*this.g),~~(n*this.b))},Za.hsl=function(){return mt(this.r,this.g,this.b)},Za.toString=function(){return"#"+vt(this.r)+vt(this.g)+vt(this.b)};var Va=Xo.map({aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074});Va.forEach(function(n,t){Va.set(n,ft(t))}),Xo.functor=_t,Xo.xhr=wt(bt),Xo.dsv=function(n,t){function e(n,e,i){arguments.length<3&&(i=e,e=null);var o=St(n,t,null==e?r:u(e),i);return o.row=function(n){return arguments.length?o.response(null==(e=n)?r:u(n)):e},o}function r(n){return e.parse(n.responseText)}function u(n){return function(t){return e.parse(t.responseText,n)}}function i(t){return t.map(o).join(n)}function o(n){return a.test(n)?'"'+n.replace(/\"/g,'""')+'"':n}var a=new RegExp('["'+n+"\n]"),c=n.charCodeAt(0);return e.parse=function(n,t){var r;return e.parseRows(n,function(n,e){if(r)return r(n,e-1);var u=new Function("d","return {"+n.map(function(n,t){return JSON.stringify(n)+": d["+t+"]"}).join(",")+"}");r=t?function(n,e){return t(u(n),e)}:u})},e.parseRows=function(n,t){function e(){if(l>=s)return o;if(u)return u=!1,i;var t=l;if(34===n.charCodeAt(t)){for(var e=t;e++<s;)if(34===n.charCodeAt(e)){if(34!==n.charCodeAt(e+1))break;++e}l=e+2;var r=n.charCodeAt(e+1);return 13===r?(u=!0,10===n.charCodeAt(e+2)&&++l):10===r&&(u=!0),n.substring(t+1,e).replace(/""/g,'"')}for(;s>l;){var r=n.charCodeAt(l++),a=1;if(10===r)u=!0;else if(13===r)u=!0,10===n.charCodeAt(l)&&(++l,++a);else if(r!==c)continue;return n.substring(t,l-a)}return n.substring(t)}for(var r,u,i={},o={},a=[],s=n.length,l=0,f=0;(r=e())!==o;){for(var h=[];r!==i&&r!==o;)h.push(r),r=e();(!t||(h=t(h,f++)))&&a.push(h)}return a},e.format=function(t){if(Array.isArray(t[0]))return e.formatRows(t);var r=new l,u=[];return t.forEach(function(n){for(var t in n)r.has(t)||u.push(r.add(t))}),[u.map(o).join(n)].concat(t.map(function(t){return u.map(function(n){return o(t[n])}).join(n)})).join("\n")},e.formatRows=function(n){return n.map(i).join("\n")},e},Xo.csv=Xo.dsv(",","text/csv"),Xo.tsv=Xo.dsv(" ","text/tab-separated-values");var Xa,$a,Ba,Wa,Ja,Ga=Go[h(Go,"requestAnimationFrame")]||function(n){setTimeout(n,17)};Xo.timer=function(n,t,e){var r=arguments.length;2>r&&(t=0),3>r&&(e=Date.now());var u=e+t,i={c:n,t:u,f:!1,n:null};$a?$a.n=i:Xa=i,$a=i,Ba||(Wa=clearTimeout(Wa),Ba=1,Ga(Et))},Xo.timer.flush=function(){At(),Ct()},Xo.round=function(n,t){return t?Math.round(n*(t=Math.pow(10,t)))/t:Math.round(n)};var Ka=["y","z","a","f","p","n","\xb5","m","","k","M","G","T","P","E","Z","Y"].map(Lt);Xo.formatPrefix=function(n,t){var e=0;return n&&(0>n&&(n*=-1),t&&(n=Xo.round(n,Nt(n,t))),e=1+Math.floor(1e-12+Math.log(n)/Math.LN10),e=Math.max(-24,Math.min(24,3*Math.floor((0>=e?e+1:e-1)/3)))),Ka[8+e/3]};var Qa=/(?:([^{])?([<>=^]))?([+\- ])?([$#])?(0)?(\d+)?(,)?(\.-?\d+)?([a-z%])?/i,nc=Xo.map({b:function(n){return n.toString(2)},c:function(n){return String.fromCharCode(n)},o:function(n){return n.toString(8)},x:function(n){return n.toString(16)},X:function(n){return n.toString(16).toUpperCase()},g:function(n,t){return n.toPrecision(t)},e:function(n,t){return n.toExponential(t)},f:function(n,t){return n.toFixed(t)},r:function(n,t){return(n=Xo.round(n,Nt(n,t))).toFixed(Math.max(0,Math.min(20,Nt(n*(1+1e-15),t))))}}),tc=Xo.time={},ec=Date;zt.prototype={getDate:function(){return this._.getUTCDate()},getDay:function(){return this._.getUTCDay()},getFullYear:function(){return this._.getUTCFullYear()},getHours:function(){return this._.getUTCHours()},getMilliseconds:function(){return this._.getUTCMilliseconds()},getMinutes:function(){return this._.getUTCMinutes()},getMonth:function(){return this._.getUTCMonth()},getSeconds:function(){return this._.getUTCSeconds()},getTime:function(){return this._.getTime()},getTimezoneOffset:function(){return 0},valueOf:function(){return this._.valueOf()},setDate:function(){rc.setUTCDate.apply(this._,arguments)},setDay:function(){rc.setUTCDay.apply(this._,arguments)},setFullYear:function(){rc.setUTCFullYear.apply(this._,arguments)},setHours:function(){rc.setUTCHours.apply(this._,arguments)},setMilliseconds:function(){rc.setUTCMilliseconds.apply(this._,arguments)},setMinutes:function(){rc.setUTCMinutes.apply(this._,arguments)},setMonth:function(){rc.setUTCMonth.apply(this._,arguments)},setSeconds:function(){rc.setUTCSeconds.apply(this._,arguments)},setTime:function(){rc.setTime.apply(this._,arguments)}};var rc=Date.prototype;tc.year=Rt(function(n){return n=tc.day(n),n.setMonth(0,1),n},function(n,t){n.setFullYear(n.getFullYear()+t)},function(n){return n.getFullYear()}),tc.years=tc.year.range,tc.years.utc=tc.year.utc.range,tc.day=Rt(function(n){var t=new ec(2e3,0);return t.setFullYear(n.getFullYear(),n.getMonth(),n.getDate()),t},function(n,t){n.setDate(n.getDate()+t)},function(n){return n.getDate()-1}),tc.days=tc.day.range,tc.days.utc=tc.day.utc.range,tc.dayOfYear=function(n){var t=tc.year(n);return Math.floor((n-t-6e4*(n.getTimezoneOffset()-t.getTimezoneOffset()))/864e5)},["sunday","monday","tuesday","wednesday","thursday","friday","saturday"].forEach(function(n,t){t=7-t;var e=tc[n]=Rt(function(n){return(n=tc.day(n)).setDate(n.getDate()-(n.getDay()+t)%7),n},function(n,t){n.setDate(n.getDate()+7*Math.floor(t))},function(n){var e=tc.year(n).getDay();return Math.floor((tc.dayOfYear(n)+(e+t)%7)/7)-(e!==t)});tc[n+"s"]=e.range,tc[n+"s"].utc=e.utc.range,tc[n+"OfYear"]=function(n){var e=tc.year(n).getDay();return Math.floor((tc.dayOfYear(n)+(e+t)%7)/7)}}),tc.week=tc.sunday,tc.weeks=tc.sunday.range,tc.weeks.utc=tc.sunday.utc.range,tc.weekOfYear=tc.sundayOfYear;var uc={"-":"",_:" ",0:"0"},ic=/^\s*\d+/,oc=/^%/;Xo.locale=function(n){return{numberFormat:Tt(n),timeFormat:Pt(n)}};var ac=Xo.locale({decimal:".",thousands:",",grouping:[3],currency:["$",""],dateTime:"%a %b %e %X %Y",date:"%m/%d/%Y",time:"%H:%M:%S",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});Xo.format=ac.numberFormat,Xo.geo={},re.prototype={s:0,t:0,add:function(n){ue(n,this.t,cc),ue(cc.s,this.s,this),this.s?this.t+=cc.t:this.s=cc.t},reset:function(){this.s=this.t=0},valueOf:function(){return this.s}};var cc=new re;Xo.geo.stream=function(n,t){n&&sc.hasOwnProperty(n.type)?sc[n.type](n,t):ie(n,t)};var sc={Feature:function(n,t){ie(n.geometry,t)},FeatureCollection:function(n,t){for(var e=n.features,r=-1,u=e.length;++r<u;)ie(e[r].geometry,t)}},lc={Sphere:function(n,t){t.sphere()},Point:function(n,t){n=n.coordinates,t.point(n[0],n[1],n[2])},MultiPoint:function(n,t){for(var e=n.coordinates,r=-1,u=e.length;++r<u;)n=e[r],t.point(n[0],n[1],n[2])},LineString:function(n,t){oe(n.coordinates,t,0)},MultiLineString:function(n,t){for(var e=n.coordinates,r=-1,u=e.length;++r<u;)oe(e[r],t,0)},Polygon:function(n,t){ae(n.coordinates,t)},MultiPolygon:function(n,t){for(var e=n.coordinates,r=-1,u=e.length;++r<u;)ae(e[r],t)},GeometryCollection:function(n,t){for(var e=n.geometries,r=-1,u=e.length;++r<u;)ie(e[r],t)}};Xo.geo.area=function(n){return fc=0,Xo.geo.stream(n,gc),fc};var fc,hc=new re,gc={sphere:function(){fc+=4*Sa},point:g,lineStart:g,lineEnd:g,polygonStart:function(){hc.reset(),gc.lineStart=ce},polygonEnd:function(){var n=2*hc;fc+=0>n?4*Sa+n:n,gc.lineStart=gc.lineEnd=gc.point=g}};Xo.geo.bounds=function(){function n(n,t){x.push(M=[l=n,h=n]),f>t&&(f=t),t>g&&(g=t)}function t(t,e){var r=se([t*Na,e*Na]);if(m){var u=fe(m,r),i=[u[1],-u[0],0],o=fe(i,u);pe(o),o=ve(o);var c=t-p,s=c>0?1:-1,v=o[0]*La*s,d=oa(c)>180;if(d^(v>s*p&&s*t>v)){var y=o[1]*La;y>g&&(g=y)}else if(v=(v+360)%360-180,d^(v>s*p&&s*t>v)){var y=-o[1]*La;f>y&&(f=y)}else f>e&&(f=e),e>g&&(g=e);d?p>t?a(l,t)>a(l,h)&&(h=t):a(t,h)>a(l,h)&&(l=t):h>=l?(l>t&&(l=t),t>h&&(h=t)):t>p?a(l,t)>a(l,h)&&(h=t):a(t,h)>a(l,h)&&(l=t)}else n(t,e);m=r,p=t}function e(){_.point=t}function r(){M[0]=l,M[1]=h,_.point=n,m=null}function u(n,e){if(m){var r=n-p;y+=oa(r)>180?r+(r>0?360:-360):r}else v=n,d=e;gc.point(n,e),t(n,e)}function i(){gc.lineStart()}function o(){u(v,d),gc.lineEnd(),oa(y)>Aa&&(l=-(h=180)),M[0]=l,M[1]=h,m=null}function a(n,t){return(t-=n)<0?t+360:t}function c(n,t){return n[0]-t[0]}function s(n,t){return t[0]<=t[1]?t[0]<=n&&n<=t[1]:n<t[0]||t[1]<n}var l,f,h,g,p,v,d,m,y,x,M,_={point:n,lineStart:e,lineEnd:r,polygonStart:function(){_.point=u,_.lineStart=i,_.lineEnd=o,y=0,gc.polygonStart()},polygonEnd:function(){gc.polygonEnd(),_.point=n,_.lineStart=e,_.lineEnd=r,0>hc?(l=-(h=180),f=-(g=90)):y>Aa?g=90:-Aa>y&&(f=-90),M[0]=l,M[1]=h}};return function(n){g=h=-(l=f=1/0),x=[],Xo.geo.stream(n,_);var t=x.length;if(t){x.sort(c);for(var e,r=1,u=x[0],i=[u];t>r;++r)e=x[r],s(e[0],u)||s(e[1],u)?(a(u[0],e[1])>a(u[0],u[1])&&(u[1]=e[1]),a(e[0],u[1])>a(u[0],u[1])&&(u[0]=e[0])):i.push(u=e);for(var o,e,p=-1/0,t=i.length-1,r=0,u=i[t];t>=r;u=e,++r)e=i[r],(o=a(u[1],e[0]))>p&&(p=o,l=e[0],h=u[1])}return x=M=null,1/0===l||1/0===f?[[0/0,0/0],[0/0,0/0]]:[[l,f],[h,g]]}}(),Xo.geo.centroid=function(n){pc=vc=dc=mc=yc=xc=Mc=_c=bc=wc=Sc=0,Xo.geo.stream(n,kc);var t=bc,e=wc,r=Sc,u=t*t+e*e+r*r;return Ca>u&&(t=xc,e=Mc,r=_c,Aa>vc&&(t=dc,e=mc,r=yc),u=t*t+e*e+r*r,Ca>u)?[0/0,0/0]:[Math.atan2(e,t)*La,X(r/Math.sqrt(u))*La]};var pc,vc,dc,mc,yc,xc,Mc,_c,bc,wc,Sc,kc={sphere:g,point:me,lineStart:xe,lineEnd:Me,polygonStart:function(){kc.lineStart=_e},polygonEnd:function(){kc.lineStart=xe}},Ec=Ee(be,Te,ze,[-Sa,-Sa/2]),Ac=1e9;Xo.geo.clipExtent=function(){var n,t,e,r,u,i,o={stream:function(n){return u&&(u.valid=!1),u=i(n),u.valid=!0,u},extent:function(a){return arguments.length?(i=Pe(n=+a[0][0],t=+a[0][1],e=+a[1][0],r=+a[1][1]),u&&(u.valid=!1,u=null),o):[[n,t],[e,r]]}};return o.extent([[0,0],[960,500]])},(Xo.geo.conicEqualArea=function(){return je(They)}).raw=They,Xo.geo.albers=function(){return Xo.geo.conicEqualArea().rotate([96,0]).center([-.6,38.7]).parallels([29.5,45.5]).scale(1070)},Xo.geo.albersUsa=function(){function n(n){var i=n[0],o=n[1];return t=null,e(i,o),t||(r(i,o),t)||u(i,o),t}var t,e,r,u,i=Xo.geo.albers(),o=Xo.geo.conicEqualArea().rotate([154,0]).center([-2,58.5]).parallels([55,65]),a=Xo.geo.conicEqualArea().rotate([157,0]).center([-3,19.9]).parallels([8,18]),c={point:function(n,e){t=[n,e]}};return n.invert=function(n){var t=i.scale(),e=i.translate(),r=(n[0]-e[0])/t,u=(n[1]-e[1])/t;return(u>=.12&&.234>u&&r>=-.425&&-.214>r?o:u>=.166&&.234>u&&r>=-.214&&-.115>r?a:i).invert(n)},n.stream=function(n){var t=i.stream(n),e=o.stream(n),r=a.stream(n);return{point:function(n,u){t.point(n,u),e.point(n,u),r.point(n,u)},sphere:function(){t.sphere(),e.sphere(),r.sphere()},lineStart:function(){t.lineStart(),e.lineStart(),r.lineStart()},lineEnd:function(){t.lineEnd(),e.lineEnd(),r.lineEnd()},polygonStart:function(){t.polygonStart(),e.polygonStart(),r.polygonStart()},polygonEnd:function(){t.polygonEnd(),e.polygonEnd(),r.polygonEnd()}}},n.precision=function(t){return arguments.length?(i.precision(t),o.precision(t),a.precision(t),n):i.precision()},n.scale=function(t){return arguments.length?(i.scale(t),o.scale(.35*t),a.scale(t),n.translate(i.translate())):i.scale()},n.translate=function(t){if(!arguments.length)return i.translate();var s=i.scale(),l=+t[0],f=+t[1];return e=i.translate(t).clipExtent([[l-.455*s,f-.238*s],[l+.455*s,f+.238*s]]).stream(c).point,r=o.translate([l-.307*s,f+.201*s]).clipExtent([[l-.425*s+Aa,f+.12*s+Aa],[l-.214*s-Aa,f+.234*s-Aa]]).stream(c).point,u=a.translate([l-.205*s,f+.212*s]).clipExtent([[l-.214*s+Aa,f+.166*s+Aa],[l-.115*s-Aa,f+.234*s-Aa]]).stream(c).point,n},n.scale(1070)};var Cc,Nc,Lc,Tc,qc,zc,Rc={point:g,lineStart:g,lineEnd:g,polygonStart:function(){Nc=0,Rc.lineStart=Fe},polygonEnd:function(){Rc.lineStart=Rc.lineEnd=Rc.point=g,Cc+=oa(Nc/2)}},Dc={point:Oe,lineStart:g,lineEnd:g,polygonStart:g,polygonEnd:g},Pc={point:Ze,lineStart:Ve,lineEnd:Xe,polygonStart:function(){Pc.lineStart=$e},polygonEnd:function(){Pc.point=Ze,Pc.lineStart=Ve,Pc.lineEnd=Xe}};Xo.geo.path=function(){function n(n){return n&&("function"==typeof a&&i.pointRadius(+a.apply(this,arguments)),o&&o.valid||(o=u(i)),Xo.geo.stream(n,o)),i.result()}function t(){return o=null,n}var e,r,u,i,o,a=4.5;return n.area=function(n){return Cc=0,Xo.geo.stream(n,u(Rc)),Cc},n.centroid=function(n){return dc=mc=yc=xc=Mc=_c=bc=wc=Sc=0,Xo.geo.stream(n,u(Pc)),Sc?[bc/Sc,wc/Sc]:_c?[xc/_c,Mc/_c]:yc?[dc/yc,mc/yc]:[0/0,0/0]},n.bounds=function(n){return qc=zc=-(Lc=Tc=1/0),Xo.geo.stream(n,u(Dc)),[[Lc,Tc],[qc,zc]]},n.projection=function(n){return arguments.length?(u=(e=n)?n.stream||Je(n):bt,t()):e},n.context=function(n){return arguments.length?(i=null==(r=n)?new Ye:new Be(n),"function"!=typeof a&&i.pointRadius(a),t()):r},n.pointRadius=function(t){return arguments.length?(a="function"==typeof t?t:(i.pointRadius(+t),+t),n):a},n.projection(Xo.geo.albersUsa()).context(null)},Xo.geo.transform=function(n){return{stream:function(t){var e=new Ge(t);for(var r in n)e[r]=n[r];return e}}},Ge.prototype={point:function(n,t){this.stream.point(n,t)},sphere:function(){this.stream.sphere()},lineStart:function(){this.stream.lineStart()},lineEnd:function(){this.stream.lineEnd()},polygonStart:function(){this.stream.polygonStart()},polygonEnd:function(){this.stream.polygonEnd()}},Xo.geo.projection=Qe,Xo.geo.projectionMutator=nr,(Xo.geo.equirectangular=function(){return Qe(er)}).raw=er.invert=er,Xo.geo.rotation=function(n){function t(t){return t=n(t[0]*Na,t[1]*Na),t[0]*=La,t[1]*=La,t}return n=ur(n[0]%360*Na,n[1]*Na,n.length>2?n[2]*Na:0),t.invert=function(t){return t=n.invert(t[0]*Na,t[1]*Na),t[0]*=La,t[1]*=La,t},t},rr.invert=er,Xo.geo.circle=function(){function n(){var n="function"==typeof r?r.apply(this,arguments):r,t=ur(-n[0]*Na,-n[1]*Na,0).invert,u=[];return e(null,null,1,{point:function(n,e){u.push(n=t(n,e)),n[0]*=La,n[1]*=La}}),{type:"Polygon",coordinates:[u]}}var t,e,r=[0,0],u=6;return n.origin=function(t){return arguments.length?(r=t,n):r},n.angle=function(r){return arguments.length?(e=cr((t=+r)*Na,u*Na),n):t},n.precision=function(r){return arguments.length?(e=cr(t*Na,(u=+r)*Na),n):u},n.angle(90)},Xo.geo.distance=function(n,t){var e,r=(t[0]-n[0])*Na,u=n[1]*Na,i=t[1]*Na,o=Math.sin(r),a=Math.cos(r),c=Math.sin(u),s=Math.cos(u),l=Math.sin(i),f=Math.cos(i);return Math.atan2(Math.sqrt((e=f*o)*e+(e=s*l-c*f*a)*e),c*l+s*f*a)},Xo.geo.graticule=function(){function n(){return{type:"MultiLineString",coordinates:t()}}function t(){return Xo.range(Math.ceil(i/d)*d,u,d).map(h).concat(Xo.range(Math.ceil(s/m)*m,c,m).map(g)).concat(Xo.range(Math.ceil(r/p)*p,e,p).filter(function(n){return oa(n%d)>Aa}).map(l)).concat(Xo.range(Math.ceil(a/v)*v,o,v).filter(function(n){return oa(n%m)>Aa}).map(f))}var e,r,u,i,o,a,c,s,l,f,h,g,p=10,v=p,d=90,m=360,y=2.5;return n.lines=function(){return t().map(function(n){return{type:"LineString",coordinates:n}})},n.outline=function(){return{type:"Polygon",coordinates:[h(i).concat(g(c).slice(1),h(u).reverse().slice(1),g(s).reverse().slice(1))]}},n.extent=function(t){return arguments.length?n.majorExtent(t).minorExtent(t):n.minorExtent()},n.majorExtent=function(t){return arguments.length?(i=+t[0][0],u=+t[1][0],s=+t[0][1],c=+t[1][1],i>u&&(t=i,i=u,u=t),s>c&&(t=s,s=c,c=t),n.precision(y)):[[i,s],[u,c]]},n.minorExtent=function(t){return arguments.length?(r=+t[0][0],e=+t[1][0],a=+t[0][1],o=+t[1][1],r>e&&(t=r,r=e,e=t),a>o&&(t=a,a=o,o=t),n.precision(y)):[[r,a],[e,o]]},n.step=function(t){return arguments.length?n.majorStep(t).minorStep(t):n.minorStep()},n.majorStep=function(t){return arguments.length?(d=+t[0],m=+t[1],n):[d,m]},n.minorStep=function(t){return arguments.length?(p=+t[0],v=+t[1],n):[p,v]},n.precision=function(t){return arguments.length?(y=+t,l=lr(a,o,90),f=fr(r,e,y),h=lr(s,c,90),g=fr(i,u,y),n):y},n.majorExtent([[-180,-90+Aa],[180,90-Aa]]).minorExtent([[-180,-80-Aa],[180,80+Aa]])},Xo.geo.greatArc=function(){function n(){return{type:"LineString",coordinates:[t||r.apply(this,arguments),e||u.apply(this,arguments)]}}var t,e,r=hr,u=gr;return n.distance=function(){return Xo.geo.distance(t||r.apply(this,arguments),e||u.apply(this,arguments))},n.source=function(e){return arguments.length?(r=e,t="function"==typeof e?null:e,n):r},n.target=function(t){return arguments.length?(u=t,e="function"==typeof t?null:t,n):u},n.precision=function(){return arguments.length?n:0},n},Xo.geo.interpolate=function(n,t){return pr(n[0]*Na,n[1]*Na,t[0]*Na,t[1]*Na)},Xo.geo.length=function(n){return Uc=0,Xo.geo.stream(n,jc),Uc};var Uc,jc={sphere:g,point:g,lineStart:vr,lineEnd:g,polygonStart:g,polygonEnd:g},Hc=dr(function(n){return Math.sqrt(2/(1+n))},function(n){return 2*Math.asin(n/2)});(Xo.geo.azimuthalEqualArea=function(){return Qe(Hc)}).raw=Hc;var Fc=dr(function(n){var t=Math.acos(n);return t&&t/Math.sin(t)},bt);(Xo.geo.azimuthalEquidistant=function(){return Qe(Fc)}).raw=Fc,(Xo.geo.conicConformal=function(){return je(mr)}).raw=mr,(Xo.geo.conicEquidistant=function(){return je(yr)}).raw=yr;var Oc=dr(function(n){return 1/n},Math.atan);(Xo.geo.gnomonic=function(){return Qe(Oc)}).raw=Oc,xr.invert=function(n,t){return[n,2*Math.atan(Math.exp(t))-Ea]},(Xo.geo.mercator=function(){return Mr(xr)}).raw=xr;var Yc=dr(function(){return 1},Math.asin);(Xo.geo.orthographic=function(){return Qe(Yc)}).raw=Yc;var Ic=dr(function(n){return 1/(1+n)},function(n){return 2*Math.atan(n)});(Xo.geo.stereographic=function(){return Qe(Ic)}).raw=Ic,_r.invert=function(n,t){return[-t,2*Math.atan(Math.exp(n))-Ea]},(Xo.geo.transverseMercator=function(){var n=Mr(_r),t=n.center,e=n.rotate;return n.center=function(n){return n?t([-n[1],n[0]]):(n=t(),[-n[1],n[0]])},n.rotate=function(n){return n?e([n[0],n[1],n.length>2?n[2]+90:90]):(n=e(),[n[0],n[1],n[2]-90])},n.rotate([0,0])}).raw=_r,Xo.geom={},Xo.geom.hull=function(n){function t(n){if(n.length<3)return[];var t,u=_t(e),i=_t(r),o=n.length,a=[],c=[];for(t=0;o>t;t++)a.push([+u.call(this,n[t],t),+i.call(this,n[t],t),t]);for(a.sort(kr),t=0;o>t;t++)c.push([a[t][0],-a[t][1]]);var s=Sr(a),l=Sr(c),f=l[0]===s[0],h=l[l.length-1]===s[s.length-1],g=[];for(t=s.length-1;t>=0;--t)g.push(n[a[s[t]][2]]);for(t=+f;t<l.length-h;++t)g.push(n[a[l[t]][2]]);return g}var e=br,r=wr;return arguments.length?t(n):(t.x=function(n){return arguments.length?(e=n,t):e},t.y=function(n){return arguments.length?(r=n,t):r},t)},Xo.geom.polygon=function(n){return fa(n,Zc),n};var Zc=Xo.geom.polygon.prototype=[];Zc.area=function(){for(var n,t=-1,e=this.length,r=this[e-1],u=0;++t<e;)n=r,r=this[t],u+=n[1]*r[0]-n[0]*r[1];return.5*u},Zc.centroid=function(n){var t,e,r=-1,u=this.length,i=0,o=0,a=this[u-1];for(arguments.length||(n=-1/(6*this.area()));++r<u;)t=a,a=this[r],e=t[0]*a[1]-a[0]*t[1],i+=(t[0]+a[0])*e,o+=(t[1]+a[1])*e;return[i*n,o*n]},Zc.clip=function(n){for(var t,e,r,u,i,o,a=Cr(n),c=-1,s=this.length-Cr(this),l=this[s-1];++c<s;){for(t=n.slice(),n.length=0,u=this[c],i=t[(r=t.length-a)-1],e=-1;++e<r;)o=t[e],Er(o,l,u)?(Er(i,l,u)||n.push(Ar(i,o,l,u)),n.push(o)):Er(i,l,u)&&n.push(Ar(i,o,l,u)),i=o;a&&n.push(n[0]),l=u}return n};var Vc,Xc,$c,Bc,Wc,Jc=[],Gc=[];Pr.prototype.prepare=function(){for(var n,t=this.edges,e=t.length;e--;)n=t[e].edge,n.b&&n.a||t.splice(e,1);return t.sort(jr),t.length},Br.prototype={start:function(){return this.edge.l===this.site?this.edge.a:this.edge.b},end:function(){return this.edge.l===this.site?this.edge.b:this.edge.a}},Wr.prototype={insert:function(n,t){var e,r,u;if(n){if(t.P=n,t.N=n.N,n.N&&(n.N.P=t),n.N=t,n.R){for(n=n.R;n.L;)n=n.L;n.L=t}else n.R=t;e=n}else this._?(n=Qr(this._),t.P=null,t.N=n,n.P=n.L=t,e=n):(t.P=t.N=null,this._=t,e=null);for(t.L=t.R=null,t.U=e,t.C=!0,n=t;e&&e.C;)r=e.U,e===r.L?(u=r.R,u&&u.C?(e.C=u.C=!1,r.C=!0,n=r):(n===e.R&&(Gr(this,e),n=e,e=n.U),e.C=!1,r.C=!0,Kr(this,r))):(u=r.L,u&&u.C?(e.C=u.C=!1,r.C=!0,n=r):(n===e.L&&(Kr(this,e),n=e,e=n.U),e.C=!1,r.C=!0,Gr(this,r))),e=n.U;this._.C=!1},remove:function(n){n.N&&(n.N.P=n.P),n.P&&(n.P.N=n.N),n.N=n.P=null;var t,e,r,u=n.U,i=n.L,o=n.R;if(e=i?o?Qr(o):i:o,u?u.L===n?u.L=e:u.R=e:this._=e,i&&o?(r=e.C,e.C=n.C,e.L=i,i.U=e,e!==o?(u=e.U,e.U=n.U,n=e.R,u.L=n,e.R=o,o.U=e):(e.U=u,u=e,n=e.R)):(r=n.C,n=e),n&&(n.U=u),!r){if(n&&n.C)return n.C=!1,void 0;do{if(n===this._)break;if(n===u.L){if(t=u.R,t.C&&(t.C=!1,u.C=!0,Gr(this,u),t=u.R),t.L&&t.L.C||t.R&&t.R.C){t.R&&t.R.C||(t.L.C=!1,t.C=!0,Kr(this,t),t=u.R),t.C=u.C,u.C=t.R.C=!1,Gr(this,u),n=this._;break}}else if(t=u.L,t.C&&(t.C=!1,u.C=!0,Kr(this,u),t=u.L),t.L&&t.L.C||t.R&&t.R.C){t.L&&t.L.C||(t.R.C=!1,t.C=!0,Gr(this,t),t=u.L),t.C=u.C,u.C=t.L.C=!1,Kr(this,u),n=this._;break}t.C=!0,n=u,u=u.U}while(!n.C);n&&(n.C=!1)}}},Xo.geom.voronoi=function(n){function t(n){var t=new Array(n.length),r=a[0][0],u=a[0][1],i=a[1][0],o=a[1][1];return nu(e(n),a).cells.forEach(function(e,a){var c=e.edges,s=e.site,l=t[a]=c.length?c.map(function(n){var t=n.start();return[t.x,t.y]}):s.x>=r&&s.x<=i&&s.y>=u&&s.y<=o?[[r,o],[i,o],[i,u],[r,u]]:[];l.point=n[a]}),t}function e(n){return n.map(function(n,t){return{x:Math.round(i(n,t)/Aa)*Aa,y:Math.round(o(n,t)/Aa)*Aa,i:t}})}var r=br,u=wr,i=r,o=u,a=Kc;return n?t(n):(t.links=function(n){return nu(e(n)).edges.filter(function(n){return n.l&&n.r}).map(function(t){return{source:n[t.l.i],target:n[t.r.i]}})},t.triangles=function(n){var t=[];return nu(e(n)).cells.forEach(function(e,r){for(var u,i,o=e.site,a=e.edges.sort(jr),c=-1,s=a.length,l=a[s-1].edge,f=l.l===o?l.r:l.l;++c<s;)u=l,i=f,l=a[c].edge,f=l.l===o?l.r:l.l,r<i.i&&r<f.i&&eu(o,i,f)<0&&t.push([n[r],n[i.i],n[f.i]])}),t},t.x=function(n){return arguments.length?(i=_t(r=n),t):r},t.y=function(n){return arguments.length?(o=_t(u=n),t):u},t.clipExtent=function(n){return arguments.length?(a=null==n?Kc:n,t):a===Kc?null:a},t.size=function(n){return arguments.length?t.clipExtent(n&&[[0,0],n]):a===Kc?null:a&&a[1]},t)};var Kc=[[-1e6,-1e6],[1e6,1e6]];Xo.geom.delaunay=function(n){return Xo.geom.voronoi().triangles(n)},Xo.geom.quadtree=function(n,t,e,r,u){function i(n){function i(n,t,e,r,u,i,o,a){if(!isNaN(e)&&!isNaN(r))if(n.leaf){var c=n.x,l=n.y;if(null!=c)if(oa(c-e)+oa(l-r)<.01)s(n,t,e,r,u,i,o,a);else{var f=n.point;n.x=n.y=n.point=null,s(n,f,c,l,u,i,o,a),s(n,t,e,r,u,i,o,a)}else n.x=e,n.y=r,n.point=t}else s(n,t,e,r,u,i,o,a)}function s(n,t,e,r,u,o,a,c){var s=.5*(u+a),l=.5*(o+c),f=e>=s,h=r>=l,g=(h<<1)+f;n.leaf=!1,n=n.nodes[g]||(n.nodes[g]=iu()),f?u=s:a=s,h?o=l:c=l,i(n,t,e,r,u,o,a,c)}var l,f,h,g,p,v,d,m,y,x=_t(a),M=_t(c);if(null!=t)v=t,d=e,m=r,y=u;else if(m=y=-(v=d=1/0),f=[],h=[],p=n.length,o)for(g=0;p>g;++g)l=n[g],l.x<v&&(v=l.x),l.y<d&&(d=l.y),l.x>m&&(m=l.x),l.y>y&&(y=l.y),f.push(l.x),h.push(l.y);else for(g=0;p>g;++g){var _=+x(l=n[g],g),b=+M(l,g);v>_&&(v=_),d>b&&(d=b),_>m&&(m=_),b>y&&(y=b),f.push(_),h.push(b)}var w=m-v,S=y-d;w>S?y=d+w:m=v+S;var k=iu();if(k.add=function(n){i(k,n,+x(n,++g),+M(n,g),v,d,m,y)},k.visit=function(n){ou(n,k,v,d,m,y)},g=-1,null==t){for(;++g<p;)i(k,n[g],f[g],h[g],v,d,m,y);--g}else n.forEach(k.add);return f=h=n=l=null,k}var o,a=br,c=wr;return(o=arguments.length)?(a=ru,c=uu,3===o&&(u=e,r=t,e=t=0),i(n)):(i.x=function(n){return arguments.length?(a=n,i):a},i.y=function(n){return arguments.length?(c=n,i):c},i.extent=function(n){return arguments.length?(null==n?t=e=r=u=null:(t=+n[0][0],e=+n[0][1],r=+n[1][0],u=+n[1][1]),i):null==t?null:[[t,e],[r,u]]},i.size=function(n){return arguments.length?(null==n?t=e=r=u=null:(t=e=0,r=+n[0],u=+n[1]),i):null==t?null:[r-t,u-e]},i)},Xo.interpolateRgb=au,Xo.interpolateObject=cu,Xo.interpolateNumber=su,Xo.interpolateString=lu;var Qc=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g;Xo.interpolate=fu,Xo.interpolators=[function(n,t){var e=typeof t;return("string"===e?Va.has(t)||/^(#|rgb\(|hsl\()/.test(t)?au:lu:t instanceof G?au:"object"===e?Array.isArray(t)?hu:cu:su)(n,t)}],Xo.interpolateArray=hu;var ns=function(){return bt},ts=Xo.map({linear:ns,poly:xu,quad:function(){return du},cubic:function(){return mu},sin:function(){return Mu},exp:function(){return _u},circle:function(){return bu},elastic:wu,back:Su,bounce:function(){return ku}}),es=Xo.map({"in":bt,out:pu,"in-out":vu,"out-in":function(n){return vu(pu(n))}});Xo.ease=function(n){var t=n.indexOf("-"),e=t>=0?n.substring(0,t):n,r=t>=0?n.substring(t+1):"in";return e=ts.get(e)||ns,r=es.get(r)||bt,gu(r(e.apply(null,$o.call(arguments,1))))},Xo.interpolateHcl=Eu,Xo.interpolateHsl=Au,Xo.interpolateLab=Cu,Xo.interpolateRound=Nu,Xo.transform=function(n){var t=Wo.createElementNS(Xo.ns.prefix.svg,"g");return(Xo.transform=function(n){if(null!=n){t.setAttribute("transform",n);var e=t.transform.baseVal.consolidate()}return new Lu(e?e.matrix:rs)})(n)},Lu.prototype.toString=function(){return"translate("+this.translate+")rotate("+this.rotate+")skewX("+this.skew+")scale("+this.scale+")"};var rs={a:1,b:0,c:0,d:1,e:0,f:0};Xo.interpolateTransform=Ru,Xo.layout={},Xo.layout.bundle=function(){return function(n){for(var t=[],e=-1,r=n.length;++e<r;)t.push(Uu(n[e]));return t}},Xo.layout.chord=function(){function n(){var n,s,f,h,g,p={},v=[],d=Xo.range(i),m=[];for(e=[],r=[],n=0,h=-1;++h<i;){for(s=0,g=-1;++g<i;)s+=u[h][g];v.push(s),m.push(Xo.range(i)),n+=s}for(o&&d.sort(function(n,t){return o(v[n],v[t])}),a&&m.forEach(function(n,t){n.sort(function(n,e){return a(u[t][n],u[t][e])})}),n=(ka-l*i)/n,s=0,h=-1;++h<i;){for(f=s,g=-1;++g<i;){var y=d[h],x=m[y][g],M=u[y][x],_=s,b=s+=M*n;p[y+"-"+x]={index:y,subindex:x,startAngle:_,endAngle:b,value:M}}r[y]={index:y,startAngle:f,endAngle:s,value:(s-f)/n},s+=l}for(h=-1;++h<i;)for(g=h-1;++g<i;){var w=p[h+"-"+g],S=p[g+"-"+h];(w.value||S.value)&&e.push(w.value<S.value?{source:S,target:w}:{source:w,target:S})}c&&t()}function t(){e.sort(function(n,t){return c((n.source.value+n.target.value)/2,(t.source.value+t.target.value)/2)})}var e,r,u,i,o,a,c,s={},l=0;return s.matrix=function(n){return arguments.length?(i=(u=n)&&u.length,e=r=null,s):u},s.padding=function(n){return arguments.length?(l=n,e=r=null,s):l},s.sortGroups=function(n){return arguments.length?(o=n,e=r=null,s):o},s.sortSubgroups=function(n){return arguments.length?(a=n,e=null,s):a},s.sortChords=function(n){return arguments.length?(c=n,e&&t(),s):c},s.chords=function(){return e||n(),e},s.groups=function(){return r||n(),r},s},Xo.layout.force=function(){function n(n){return function(t,e,r,u){if(t.point!==n){var i=t.cx-n.x,o=t.cy-n.y,a=u-e,c=i*i+o*o;if(c>a*a/d){if(p>c){var s=t.charge/c;n.px-=i*s,n.py-=o*s}return!0}if(t.point&&c&&p>c){var s=t.pointCharge/c;n.px-=i*s,n.py-=o*s}}return!t.charge}}function t(n){n.px=Xo.event.x,n.py=Xo.event.y,a.resume()}var e,r,u,i,o,a={},c=Xo.dispatch("start","tick","end"),s=[1,1],l=.9,f=us,h=is,g=-30,p=os,v=.1,d=.64,m=[],y=[];return a.tick=function(){if((r*=.99)<.005)return c.end({type:"end",alpha:r=0}),!0;var t,e,a,f,h,p,d,x,M,_=m.length,b=y.length;for(e=0;b>e;++e)a=y[e],f=a.source,h=a.target,x=h.x-f.x,M=h.y-f.y,(p=x*x+M*M)&&(p=r*i[e]*((p=Math.sqrt(p))-u[e])/p,x*=p,M*=p,h.x-=x*(d=f.weight/(h.weight+f.weight)),h.y-=M*d,f.x+=x*(d=1-d),f.y+=M*d);if((d=r*v)&&(x=s[0]/2,M=s[1]/2,e=-1,d))for(;++e<_;)a=m[e],a.x+=(x-a.x)*d,a.y+=(M-a.y)*d;if(g)for(Zu(t=Xo.geom.quadtree(m),r,o),e=-1;++e<_;)(a=m[e]).fixed||t.visit(n(a));for(e=-1;++e<_;)a=m[e],a.fixed?(a.x=a.px,a.y=a.py):(a.x-=(a.px-(a.px=a.x))*l,a.y-=(a.py-(a.py=a.y))*l);c.tick({type:"tick",alpha:r})},a.nodes=function(n){return arguments.length?(m=n,a):m},a.links=function(n){return arguments.length?(y=n,a):y},a.size=function(n){return arguments.length?(s=n,a):s},a.linkDistance=function(n){return arguments.length?(f="function"==typeof n?n:+n,a):f},a.distance=a.linkDistance,a.linkStrength=function(n){return arguments.length?(h="function"==typeof n?n:+n,a):h},a.friction=function(n){return arguments.length?(l=+n,a):l},a.charge=function(n){return arguments.length?(g="function"==typeof n?n:+n,a):g},a.chargeDistance=function(n){return arguments.length?(p=n*n,a):Math.sqrt(p)},a.gravity=function(n){return arguments.length?(v=+n,a):v},a.theta=function(n){return arguments.length?(d=n*n,a):Math.sqrt(d)},a.alpha=function(n){return arguments.length?(n=+n,r?r=n>0?n:0:n>0&&(c.start({type:"start",alpha:r=n}),Xo.timer(a.tick)),a):r},a.start=function(){function n(n,r){if(!e){for(e=new Array(c),a=0;c>a;++a)e[a]=[];for(a=0;s>a;++a){var u=y[a];e[u.source.index].push(u.target),e[u.target.index].push(u.source)}}for(var i,o=e[t],a=-1,s=o.length;++a<s;)if(!isNaN(i=o[a][n]))return i;return Math.random()*r}var t,e,r,c=m.length,l=y.length,p=s[0],v=s[1];for(t=0;c>t;++t)(r=m[t]).index=t,r.weight=0;for(t=0;l>t;++t)r=y[t],"number"==typeof r.source&&(r.source=m[r.source]),"number"==typeof r.target&&(r.target=m[r.target]),++r.source.weight,++r.target.weight;for(t=0;c>t;++t)r=m[t],isNaN(r.x)&&(r.x=n("x",p)),isNaN(r.y)&&(r.y=n("y",v)),isNaN(r.px)&&(r.px=r.x),isNaN(r.py)&&(r.py=r.y);if(u=[],"function"==typeof f)for(t=0;l>t;++t)u[t]=+f.call(this,y[t],t);else for(t=0;l>t;++t)u[t]=f;if(i=[],"function"==typeof h)for(t=0;l>t;++t)i[t]=+h.call(this,y[t],t);else for(t=0;l>t;++t)i[t]=h;if(o=[],"function"==typeof g)for(t=0;c>t;++t)o[t]=+g.call(this,m[t],t);else for(t=0;c>t;++t)o[t]=g;return a.resume()},a.resume=function(){return a.alpha(.1)},a.stop=function(){return a.alpha(0)},a.drag=function(){return e||(e=Xo.behavior.drag().origin(bt).on("dragstart.force",Fu).on("drag.force",t).on("dragend.force",Ou)),arguments.length?(this.on("mouseover.force",Yu).on("mouseout.force",Iu).call(e),void 0):e},Xo.rebind(a,c,"on")};var us=20,is=1,os=1/0;Xo.layout.hierarchy=function(){function n(t,o,a){var c=u.call(e,t,o);if(t.depth=o,a.push(t),c&&(s=c.length)){for(var s,l,f=-1,h=t.children=new Array(s),g=0,p=o+1;++f<s;)l=h[f]=n(c[f],p,a),l.parent=t,g+=l.value;r&&h.sort(r),i&&(t.value=g)}else delete t.children,i&&(t.value=+i.call(e,t,o)||0);return t}function t(n,r){var u=n.children,o=0;if(u&&(a=u.length))for(var a,c=-1,s=r+1;++c<a;)o+=t(u[c],s);else i&&(o=+i.call(e,n,r)||0);return i&&(n.value=o),o}function e(t){var e=[];return n(t,0,e),e}var r=Bu,u=Xu,i=$u;return e.sort=function(n){return arguments.length?(r=n,e):r},e.children=function(n){return arguments.length?(u=n,e):u},e.value=function(n){return arguments.length?(i=n,e):i},e.revalue=function(n){return t(n,0),n},e},Xo.layout.partition=function(){function n(t,e,r,u){var i=t.children;if(t.x=e,t.y=t.depth*u,t.dx=r,t.dy=u,i&&(o=i.length)){var o,a,c,s=-1;for(r=t.value?r/t.value:0;++s<o;)n(a=i[s],e,c=a.value*r,u),e+=c}}function t(n){var e=n.children,r=0;if(e&&(u=e.length))for(var u,i=-1;++i<u;)r=Math.max(r,t(e[i]));return 1+r}function e(e,i){var o=r.call(this,e,i);return n(o[0],0,u[0],u[1]/t(o[0])),o}var r=Xo.layout.hierarchy(),u=[1,1];return e.size=function(n){return arguments.length?(u=n,e):u},Vu(e,r)},Xo.layout.pie=function(){function n(i){var o=i.map(function(e,r){return+t.call(n,e,r)}),a=+("function"==typeof r?r.apply(this,arguments):r),c=(("function"==typeof u?u.apply(this,arguments):u)-a)/Xo.sum(o),s=Xo.range(i.length);null!=e&&s.sort(e===as?function(n,t){return o[t]-o[n]}:function(n,t){return e(i[n],i[t])});var l=[];return s.forEach(function(n){var t;l[n]={data:i[n],value:t=o[n],startAngle:a,endAngle:a+=t*c}}),l}var t=Number,e=as,r=0,u=ka;return n.value=function(e){return arguments.length?(t=e,n):t},n.sort=function(t){return arguments.length?(e=t,n):e},n.startAngle=function(t){return arguments.length?(r=t,n):r},n.endAngle=function(t){return arguments.length?(u=t,n):u},n};var as={};Xo.layout.stack=function(){function n(a,c){var s=a.map(function(e,r){return t.call(n,e,r)}),l=s.map(function(t){return t.map(function(t,e){return[i.call(n,t,e),o.call(n,t,e)]})}),f=e.call(n,l,c);s=Xo.permute(s,f),l=Xo.permute(l,f);var h,g,p,v=r.call(n,l,c),d=s.length,m=s[0].length;for(g=0;m>g;++g)for(u.call(n,s[0][g],p=v[g],l[0][g][1]),h=1;d>h;++h)u.call(n,s[h][g],p+=l[h-1][g][1],l[h][g][1]);return a}var t=bt,e=Qu,r=ni,u=Ku,i=Ju,o=Gu;return n.values=function(e){return arguments.length?(t=e,n):t},n.order=function(t){return arguments.length?(e="function"==typeof t?t:cs.get(t)||Qu,n):e},n.offset=function(t){return arguments.length?(r="function"==typeof t?t:ss.get(t)||ni,n):r},n.x=function(t){return arguments.length?(i=t,n):i},n.y=function(t){return arguments.length?(o=t,n):o},n.out=function(t){return arguments.length?(u=t,n):u},n};var cs=Xo.map({"inside-out":function(n){var t,e,r=n.length,u=n.map(ti),i=n.map(ei),o=Xo.range(r).sort(function(n,t){return u[n]-u[t]}),a=0,c=0,s=[],l=[];for(t=0;r>t;++t)e=o[t],c>a?(a+=i[e],s.push(e)):(c+=i[e],l.push(e));return l.reverse().concat(s)},reverse:function(n){return Xo.range(n.length).reverse()},"default":Qu}),ss=Xo.map({silhouette:function(n){var t,e,r,u=n.length,i=n[0].length,o=[],a=0,c=[];for(e=0;i>e;++e){for(t=0,r=0;u>t;t++)r+=n[t][e][1];r>a&&(a=r),o.push(r)}for(e=0;i>e;++e)c[e]=(a-o[e])/2;return c},wiggle:function(n){var t,e,r,u,i,o,a,c,s,l=n.length,f=n[0],h=f.length,g=[];for(g[0]=c=s=0,e=1;h>e;++e){for(t=0,u=0;l>t;++t)u+=n[t][e][1];for(t=0,i=0,a=f[e][0]-f[e-1][0];l>t;++t){for(r=0,o=(n[t][e][1]-n[t][e-1][1])/(2*a);t>r;++r)o+=(n[r][e][1]-n[r][e-1][1])/a;i+=o*n[t][e][1]}g[e]=c-=u?i/u*a:0,s>c&&(s=c)}for(e=0;h>e;++e)g[e]-=s;return g},expand:function(n){var t,e,r,u=n.length,i=n[0].length,o=1/u,a=[];for(e=0;i>e;++e){for(t=0,r=0;u>t;t++)r+=n[t][e][1];if(r)for(t=0;u>t;t++)n[t][e][1]/=r;else for(t=0;u>t;t++)n[t][e][1]=o}for(e=0;i>e;++e)a[e]=0;return a},zero:ni});Xo.layout.histogram=function(){function n(n,i){for(var o,a,c=[],s=n.map(e,this),l=r.call(this,s,i),f=u.call(this,l,s,i),i=-1,h=s.length,g=f.length-1,p=t?1:1/h;++i<g;)o=c[i]=[],o.dx=f[i+1]-(o.x=f[i]),o.y=0;if(g>0)for(i=-1;++i<h;)a=s[i],a>=l[0]&&a<=l[1]&&(o=c[Xo.bisect(f,a,1,g)-1],o.y+=p,o.push(n[i]));return c}var t=!0,e=Number,r=oi,u=ui;return n.value=function(t){return arguments.length?(e=t,n):e},n.range=function(t){return arguments.length?(r=_t(t),n):r},n.bins=function(t){return arguments.length?(u="number"==typeof t?function(n){return ii(n,t)}:_t(t),n):u},n.frequency=function(e){return arguments.length?(t=!!e,n):t},n},Xo.layout.tree=function(){function n(n,i){function o(n,t){var r=n.children,u=n._tree;if(r&&(i=r.length)){for(var i,a,s,l=r[0],f=l,h=-1;++h<i;)s=r[h],o(s,a),f=c(s,a,f),a=s;vi(n);var g=.5*(l._tree.prelim+s._tree.prelim);t?(u.prelim=t._tree.prelim+e(n,t),u.mod=u.prelim-g):u.prelim=g}else t&&(u.prelim=t._tree.prelim+e(n,t))}function a(n,t){n.x=n._tree.prelim+t;var e=n.children;if(e&&(r=e.length)){var r,u=-1;for(t+=n._tree.mod;++u<r;)a(e[u],t)}}function c(n,t,r){if(t){for(var u,i=n,o=n,a=t,c=n.parent.children[0],s=i._tree.mod,l=o._tree.mod,f=a._tree.mod,h=c._tree.mod;a=si(a),i=ci(i),a&&i;)c=ci(c),o=si(o),o._tree.ancestor=n,u=a._tree.prelim+f-i._tree.prelim-s+e(a,i),u>0&&(di(mi(a,n,r),n,u),s+=u,l+=u),f+=a._tree.mod,s+=i._tree.mod,h+=c._tree.mod,l+=o._tree.mod;a&&!si(o)&&(o._tree.thread=a,o._tree.mod+=f-l),i&&!ci(c)&&(c._tree.thread=i,c._tree.mod+=s-h,r=n)}return r}var s=t.call(this,n,i),l=s[0];pi(l,function(n,t){n._tree={ancestor:n,prelim:0,mod:0,change:0,shift:0,number:t?t._tree.number+1:0}}),o(l),a(l,-l._tree.prelim);var f=li(l,hi),h=li(l,fi),g=li(l,gi),p=f.x-e(f,h)/2,v=h.x+e(h,f)/2,d=g.depth||1;return pi(l,u?function(n){n.x*=r[0],n.y=n.depth*r[1],delete n._tree}:function(n){n.x=(n.x-p)/(v-p)*r[0],n.y=n.depth/d*r[1],delete n._tree}),s}var t=Xo.layout.hierarchy().sort(null).value(null),e=ai,r=[1,1],u=!1;return n.separation=function(t){return arguments.length?(e=t,n):e},n.size=function(t){return arguments.length?(u=null==(r=t),n):u?null:r},n.nodeSize=function(t){return arguments.length?(u=null!=(r=t),n):u?r:null},Vu(n,t)},Xo.layout.pack=function(){function n(n,i){var o=e.call(this,n,i),a=o[0],c=u[0],s=u[1],l=null==t?Math.sqrt:"function"==typeof t?t:function(){return t};if(a.x=a.y=0,pi(a,function(n){n.r=+l(n.value)}),pi(a,bi),r){var f=r*(t?1:Math.max(2*a.r/c,2*a.r/s))/2;pi(a,function(n){n.r+=f}),pi(a,bi),pi(a,function(n){n.r-=f})}return ki(a,c/2,s/2,t?1:1/Math.max(2*a.r/c,2*a.r/s)),o}var t,e=Xo.layout.hierarchy().sort(yi),r=0,u=[1,1];return n.size=function(t){return arguments.length?(u=t,n):u},n.radius=function(e){return arguments.length?(t=null==e||"function"==typeof e?e:+e,n):t},n.padding=function(t){return arguments.length?(r=+t,n):r},Vu(n,e)},Xo.layout.cluster=function(){function n(n,i){var o,a=t.call(this,n,i),c=a[0],s=0;pi(c,function(n){var t=n.children;t&&t.length?(n.x=Ci(t),n.y=Ai(t)):(n.x=o?s+=e(n,o):0,n.y=0,o=n)});var l=Ni(c),f=Li(c),h=l.x-e(l,f)/2,g=f.x+e(f,l)/2;return pi(c,u?function(n){n.x=(n.x-c.x)*r[0],n.y=(c.y-n.y)*r[1]}:function(n){n.x=(n.x-h)/(g-h)*r[0],n.y=(1-(c.y?n.y/c.y:1))*r[1]}),a}var t=Xo.layout.hierarchy().sort(null).value(null),e=ai,r=[1,1],u=!1;return n.separation=function(t){return arguments.length?(e=t,n):e},n.size=function(t){return arguments.length?(u=null==(r=t),n):u?null:r},n.nodeSize=function(t){return arguments.length?(u=null!=(r=t),n):u?r:null},Vu(n,t)},Xo.layout.treemap=function(){function n(n,t){for(var e,r,u=-1,i=n.length;++u<i;)r=(e=n[u]).value*(0>t?0:t),e.area=isNaN(r)||0>=r?0:r}function t(e){var i=e.children;if(i&&i.length){var o,a,c,s=f(e),l=[],h=i.slice(),p=1/0,v="slice"===g?s.dx:"dice"===g?s.dy:"slice-dice"===g?1&e.depth?s.dy:s.dx:Math.min(s.dx,s.dy);for(n(h,s.dx*s.dy/e.value),l.area=0;(c=h.length)>0;)l.push(o=h[c-1]),l.area+=o.area,"squarify"!==g||(a=r(l,v))<=p?(h.pop(),p=a):(l.area-=l.pop().area,u(l,v,s,!1),v=Math.min(s.dx,s.dy),l.length=l.area=0,p=1/0);l.length&&(u(l,v,s,!0),l.length=l.area=0),i.forEach(t)}}function e(t){var r=t.children;if(r&&r.length){var i,o=f(t),a=r.slice(),c=[];for(n(a,o.dx*o.dy/t.value),c.area=0;i=a.pop();)c.push(i),c.area+=i.area,null!=i.z&&(u(c,i.z?o.dx:o.dy,o,!a.length),c.length=c.area=0);r.forEach(e)}}function r(n,t){for(var e,r=n.area,u=0,i=1/0,o=-1,a=n.length;++o<a;)(e=n[o].area)&&(i>e&&(i=e),e>u&&(u=e));return r*=r,t*=t,r?Math.max(t*u*p/r,r/(t*i*p)):1/0}function u(n,t,e,r){var u,i=-1,o=n.length,a=e.x,s=e.y,l=t?c(n.area/t):0;if(t==e.dx){for((r||l>e.dy)&&(l=e.dy);++i<o;)u=n[i],u.x=a,u.y=s,u.dy=l,a+=u.dx=Math.min(e.x+e.dx-a,l?c(u.area/l):0);u.z=!0,u.dx+=e.x+e.dx-a,e.y+=l,e.dy-=l}else{for((r||l>e.dx)&&(l=e.dx);++i<o;)u=n[i],u.x=a,u.y=s,u.dx=l,s+=u.dy=Math.min(e.y+e.dy-s,l?c(u.area/l):0);u.z=!1,u.dy+=e.y+e.dy-s,e.x+=l,e.dx-=l}}function i(r){var u=o||a(r),i=u[0];return i.x=0,i.y=0,i.dx=s[0],i.dy=s[1],o&&a.revalue(i),n([i],i.dx*i.dy/i.value),(o?e:t)(i),h&&(o=u),u}var o,a=Xo.layout.hierarchy(),c=Math.round,s=[1,1],l=null,f=Ti,h=!1,g="squarify",p=.5*(1+Math.sqrt(5));return i.size=function(n){return arguments.length?(s=n,i):s},i.padding=function(n){function t(t){var e=n.call(i,t,t.depth);return null==e?Ti(t):qi(t,"number"==typeof e?[e,e,e,e]:e)}function e(t){return qi(t,n)}if(!arguments.length)return l;var r;return f=null==(l=n)?Ti:"function"==(r=typeof n)?t:"number"===r?(n=[n,n,n,n],e):e,i},i.round=function(n){return arguments.length?(c=n?Math.round:Number,i):c!=Number},i.sticky=function(n){return arguments.length?(h=n,o=null,i):h},i.ratio=function(n){return arguments.length?(p=n,i):p},i.mode=function(n){return arguments.length?(g=n+"",i):g},Vu(i,a)},Xo.random={normal:function(n,t){var e=arguments.length;return 2>e&&(t=1),1>e&&(n=0),function(){var e,r,u;do e=2*Math.random()-1,r=2*Math.random()-1,u=e*e+r*r;while(!u||u>1);return n+t*e*Math.sqrt(-2*Math.log(u)/u)}},logNormal:function(){var n=Xo.random.normal.apply(Xo,arguments);return function(){return Math.exp(n())}},bates:function(n){var t=Xo.random.irwinHall(n);return function(){return t()/n}},irwinHall:function(n){return function(){for(var t=0,e=0;n>e;e++)t+=Math.random();return t}}},Xo.scale={};var ls={floor:bt,ceil:bt};Xo.scale.linear=function(){return Hi([0,1],[0,1],fu,!1)};var fs={s:1,g:1,p:1,r:1,e:1};Xo.scale.log=function(){return $i(Xo.scale.linear().domain([0,1]),10,!0,[1,10])};var hs=Xo.format(".0e"),gs={floor:function(n){return-Math.ceil(-n)},ceil:function(n){return-Math.floor(-n)}};Xo.scale.pow=function(){return Bi(Xo.scale.linear(),1,[0,1])},Xo.scale.sqrt=function(){return Xo.scale.pow().exponent(.5)},Xo.scale.ordinal=function(){return Ji([],{t:"range",a:[[]]})},Xo.scale.category10=function(){return Xo.scale.ordinal().range(ps)},Xo.scale.category20=function(){return Xo.scale.ordinal().range(vs)},Xo.scale.category20b=function(){return Xo.scale.ordinal().range(ds)},Xo.scale.category20c=function(){return Xo.scale.ordinal().range(ms)};var ps=[2062260,16744206,2924588,14034728,9725885,9197131,14907330,8355711,12369186,1556175].map(ht),vs=[2062260,11454440,16744206,16759672,2924588,10018698,14034728,16750742,9725885,12955861,9197131,12885140,14907330,16234194,8355711,13092807,12369186,14408589,1556175,10410725].map(ht),ds=[3750777,5395619,7040719,10264286,6519097,9216594,11915115,13556636,9202993,12426809,15186514,15190932,8666169,11356490,14049643,15177372,8077683,10834324,13528509,14589654].map(ht),ms=[3244733,7057110,10406625,13032431,15095053,16616764,16625259,16634018,3253076,7652470,10607003,13101504,7695281,10394312,12369372,14342891,6513507,9868950,12434877,14277081].map(ht);Xo.scale.quantile=function(){return Gi([],[])},Xo.scale.quantize=function(){return Ki(0,1,[0,1])},Xo.scale.threshold=function(){return Qi([.5],[0,1])},Xo.scale.identity=function(){return no([0,1])},Xo.svg={},Xo.svg.arc=function(){function n(){var n=t.apply(this,arguments),i=e.apply(this,arguments),o=r.apply(this,arguments)+ys,a=u.apply(this,arguments)+ys,c=(o>a&&(c=o,o=a,a=c),a-o),s=Sa>c?"0":"1",l=Math.cos(o),f=Math.sin(o),h=Math.cos(a),g=Math.sin(a);return c>=xs?n?"M0,"+i+"A"+i+","+i+" 0 1,1 0,"+-i+"A"+i+","+i+" 0 1,1 0,"+i+"M0,"+n+"A"+n+","+n+" 0 1,0 0,"+-n+"A"+n+","+n+" 0 1,0 0,"+n+"Z":"M0,"+i+"A"+i+","+i+" 0 1,1 0,"+-i+"A"+i+","+i+" 0 1,1 0,"+i+"Z":n?"M"+i*l+","+i*f+"A"+i+","+i+" 0 "+s+",1 "+i*h+","+i*g+"L"+n*h+","+n*g+"A"+n+","+n+" 0 "+s+",0 "+n*l+","+n*f+"Z":"M"+i*l+","+i*f+"A"+i+","+i+" 0 "+s+",1 "+i*h+","+i*g+"L0,0"+"Z"}var t=to,e=eo,r=ro,u=uo;return n.innerRadius=function(e){return arguments.length?(t=_t(e),n):t},n.outerRadius=function(t){return arguments.length?(e=_t(t),n):e},n.startAngle=function(t){return arguments.length?(r=_t(t),n):r},n.endAngle=function(t){return arguments.length?(u=_t(t),n):u},n.centroid=function(){var n=(t.apply(this,arguments)+e.apply(this,arguments))/2,i=(r.apply(this,arguments)+u.apply(this,arguments))/2+ys;return[Math.cos(i)*n,Math.sin(i)*n]},n};var ys=-Ea,xs=ka-Aa;Xo.svg.line=function(){return io(bt)};var Ms=Xo.map({linear:oo,"linear-closed":ao,step:co,"step-before":so,"step-after":lo,basis:mo,"basis-open":yo,"basis-closed":xo,bundle:Mo,cardinal:go,"cardinal-open":fo,"cardinal-closed":ho,monotone:Eo});Ms.forEach(function(n,t){t.key=n,t.closed=/-closed$/.test(n)});var _s=[0,2/3,1/3,0],bs=[0,1/3,2/3,0],ws=[0,1/6,2/3,1/6];Xo.svg.line.radial=function(){var n=io(Ao);return n.radius=n.x,delete n.x,n.angle=n.y,delete n.y,n},so.reverse=lo,lo.reverse=so,Xo.svg.area=function(){return Co(bt)},Xo.svg.area.radial=function(){var n=Co(Ao);return n.radius=n.x,delete n.x,n.innerRadius=n.x0,delete n.x0,n.outerRadius=n.x1,delete n.x1,n.angle=n.y,delete n.y,n.startAngle=n.y0,delete n.y0,n.endAngle=n.y1,delete n.y1,n},Xo.svg.chord=function(){function n(n,a){var c=t(this,i,n,a),s=t(this,o,n,a);return"M"+c.p0+r(c.r,c.p1,c.a1-c.a0)+(e(c,s)?u(c.r,c.p1,c.r,c.p0):u(c.r,c.p1,s.r,s.p0)+r(s.r,s.p1,s.a1-s.a0)+u(s.r,s.p1,c.r,c.p0))+"Z"}function t(n,t,e,r){var u=t.call(n,e,r),i=a.call(n,u,r),o=c.call(n,u,r)+ys,l=s.call(n,u,r)+ys;return{r:i,a0:o,a1:l,p0:[i*Math.cos(o),i*Math.sin(o)],p1:[i*Math.cos(l),i*Math.sin(l)]}}function e(n,t){return n.a0==t.a0&&n.a1==t.a1}function r(n,t,e){return"A"+n+","+n+" 0 "+ +(e>Sa)+",1 "+t}function u(n,t,e,r){return"Q 0,0 "+r}var i=hr,o=gr,a=No,c=ro,s=uo;return n.radius=function(t){return arguments.length?(a=_t(t),n):a},n.source=function(t){return arguments.length?(i=_t(t),n):i},n.target=function(t){return arguments.length?(o=_t(t),n):o},n.startAngle=function(t){return arguments.length?(c=_t(t),n):c},n.endAngle=function(t){return arguments.length?(s=_t(t),n):s},n},Xo.svg.diagonal=function(){function n(n,u){var i=t.call(this,n,u),o=e.call(this,n,u),a=(i.y+o.y)/2,c=[i,{x:i.x,y:a},{x:o.x,y:a},o];return c=c.map(r),"M"+c[0]+"C"+c[1]+" "+c[2]+" "+c[3]}var t=hr,e=gr,r=Lo;return n.source=function(e){return arguments.length?(t=_t(e),n):t},n.target=function(t){return arguments.length?(e=_t(t),n):e},n.projection=function(t){return arguments.length?(r=t,n):r},n},Xo.svg.diagonal.radial=function(){var n=Xo.svg.diagonal(),t=Lo,e=n.projection;return n.projection=function(n){return arguments.length?e(To(t=n)):t},n},Xo.svg.symbol=function(){function n(n,r){return(Ss.get(t.call(this,n,r))||Ro)(e.call(this,n,r))}var t=zo,e=qo;return n.type=function(e){return arguments.length?(t=_t(e),n):t},n.size=function(t){return arguments.length?(e=_t(t),n):e},n};var Ss=Xo.map({circle:Ro,cross:function(n){var t=Math.sqrt(n/5)/2;return"M"+-3*t+","+-t+"H"+-t+"V"+-3*t+"H"+t+"V"+-t+"H"+3*t+"V"+t+"H"+t+"V"+3*t+"H"+-t+"V"+t+"H"+-3*t+"Z"},diamond:function(n){var t=Math.sqrt(n/(2*Cs)),e=t*Cs;return"M0,"+-t+"L"+e+",0"+" 0,"+t+" "+-e+",0"+"Z"},square:function(n){var t=Math.sqrt(n)/2;return"M"+-t+","+-t+"L"+t+","+-t+" "+t+","+t+" "+-t+","+t+"Z"},"triangle-down":function(n){var t=Math.sqrt(n/As),e=t*As/2;return"M0,"+e+"L"+t+","+-e+" "+-t+","+-e+"Z"},"triangle-up":function(n){var t=Math.sqrt(n/As),e=t*As/2;return"M0,"+-e+"L"+t+","+e+" "+-t+","+e+"Z"}});Xo.svg.symbolTypes=Ss.keys();var ks,Es,As=Math.sqrt(3),Cs=Math.tan(30*Na),Ns=[],Ls=0;Ns.call=da.call,Ns.empty=da.empty,Ns.node=da.node,Ns.size=da.size,Xo.transition=function(n){return arguments.length?ks?n.transition():n:xa.transition()},Xo.transition.prototype=Ns,Ns.select=function(n){var t,e,r,u=this.id,i=[];n=M(n);for(var o=-1,a=this.length;++o<a;){i.push(t=[]);for(var c=this[o],s=-1,l=c.length;++s<l;)(r=c[s])&&(e=n.call(r,r.__data__,s,o))?("__data__"in r&&(e.__data__=r.__data__),jo(e,s,u,r.__transition__[u]),t.push(e)):t.push(null)}return Do(i,u)},Ns.selectAll=function(n){var t,e,r,u,i,o=this.id,a=[];n=_(n);for(var c=-1,s=this.length;++c<s;)for(var l=this[c],f=-1,h=l.length;++f<h;)if(r=l[f]){i=r.__transition__[o],e=n.call(r,r.__data__,f,c),a.push(t=[]);for(var g=-1,p=e.length;++g<p;)(u=e[g])&&jo(u,g,o,i),t.push(u)}return Do(a,o)},Ns.filter=function(n){var t,e,r,u=[];"function"!=typeof n&&(n=q(n));for(var i=0,o=this.length;o>i;i++){u.push(t=[]);for(var e=this[i],a=0,c=e.length;c>a;a++)(r=e[a])&&n.call(r,r.__data__,a,i)&&t.push(r)}return Do(u,this.id)},Ns.tween=function(n,t){var e=this.id;return arguments.length<2?this.node().__transition__[e].tween.get(n):R(this,null==t?function(t){t.__transition__[e].tween.remove(n)}:function(r){r.__transition__[e].tween.set(n,t)})},Ns.attr=function(n,t){function e(){this.removeAttribute(a)}function r(){this.removeAttributeNS(a.space,a.local)}function u(n){return null==n?e:(n+="",function(){var t,e=this.getAttribute(a);return e!==n&&(t=o(e,n),function(n){this.setAttribute(a,t(n))})})}function i(n){return null==n?r:(n+="",function(){var t,e=this.getAttributeNS(a.space,a.local);return e!==n&&(t=o(e,n),function(n){this.setAttributeNS(a.space,a.local,t(n))})})}if(arguments.length<2){for(t in n)this.attr(t,n[t]);return this}var o="transform"==n?Ru:fu,a=Xo.ns.qualify(n);return Po(this,"attr."+n,t,a.local?i:u)},Ns.attrTween=function(n,t){function e(n,e){var r=t.call(this,n,e,this.getAttribute(u));return r&&function(n){this.setAttribute(u,r(n))}}function r(n,e){var r=t.call(this,n,e,this.getAttributeNS(u.space,u.local));return r&&function(n){this.setAttributeNS(u.space,u.local,r(n))}}var u=Xo.ns.qualify(n);return this.tween("attr."+n,u.local?r:e)},Ns.style=function(n,t,e){function r(){this.style.removeProperty(n)}function u(t){return null==t?r:(t+="",function(){var r,u=Go.getComputedStyle(this,null).getPropertyValue(n);return u!==t&&(r=fu(u,t),function(t){this.style.setProperty(n,r(t),e)})})}var i=arguments.length;if(3>i){if("string"!=typeof n){2>i&&(t="");for(e in n)this.style(e,n[e],t);return this}e=""}return Po(this,"style."+n,t,u)},Ns.styleTween=function(n,t,e){function r(r,u){var i=t.call(this,r,u,Go.getComputedStyle(this,null).getPropertyValue(n));return i&&function(t){this.style.setProperty(n,i(t),e)}}return arguments.length<3&&(e=""),this.tween("style."+n,r)},Ns.text=function(n){return Po(this,"text",n,Uo)},Ns.remove=function(){return this.each("end.transition",function(){var n;this.__transition__.count<2&&(n=this.parentNode)&&n.removeChild(this)})},Ns.ease=function(n){var t=this.id;return arguments.length<1?this.node().__transition__[t].ease:("function"!=typeof n&&(n=Xo.ease.apply(Xo,arguments)),R(this,function(e){e.__transition__[t].ease=n}))},Ns.delay=function(n){var t=this.id;return R(this,"function"==typeof n?function(e,r,u){e.__transition__[t].delay=+n.call(e,e.__data__,r,u)}:(n=+n,function(e){e.__transition__[t].delay=n}))},Ns.duration=function(n){var t=this.id;return R(this,"function"==typeof n?function(e,r,u){e.__transition__[t].duration=Math.max(1,n.call(e,e.__data__,r,u))}:(n=Math.max(1,n),function(e){e.__transition__[t].duration=n}))},Ns.each=function(n,t){var e=this.id;if(arguments.length<2){var r=Es,u=ks;ks=e,R(this,function(t,r,u){Es=t.__transition__[e],n.call(t,t.__data__,r,u)}),Es=r,ks=u}else R(this,function(r){var u=r.__transition__[e];(u.event||(u.event=Xo.dispatch("start","end"))).on(n,t)});return this},Ns.transition=function(){for(var n,t,e,r,u=this.id,i=++Ls,o=[],a=0,c=this.length;c>a;a++){o.push(n=[]);for(var t=this[a],s=0,l=t.length;l>s;s++)(e=t[s])&&(r=Object.create(e.__transition__[u]),r.delay+=r.duration,jo(e,s,i,r)),n.push(e)}return Do(o,i)},Xo.svg.axis=function(){function n(n){n.each(function(){var n,s=Xo.select(this),l=this.__chart__||e,f=this.__chart__=e.copy(),h=null==c?f.ticks?f.ticks.apply(f,a):f.domain():c,g=null==t?f.tickFormat?f.tickFormat.apply(f,a):bt:t,p=s.selectAll(".tick").data(h,f),v=p.enter().insert("g",".domain").attr("class","tick").style("opacity",Aa),d=Xo.transition(p.exit()).style("opacity",Aa).remove(),m=Xo.transition(p).style("opacity",1),y=Ri(f),x=s.selectAll(".domain").data([0]),M=(x.enter().append("path").attr("class","domain"),Xo.transition(x));v.append("line"),v.append("text");var _=v.select("line"),b=m.select("line"),w=p.select("text").text(g),S=v.select("text"),k=m.select("text");switch(r){case"bottom":n=Ho,_.attr("y2",u),S.attr("y",Math.max(u,0)+o),b.attr("x2",0).attr("y2",u),k.attr("x",0).attr("y",Math.max(u,0)+o),w.attr("dy",".71em").style("text-anchor","middle"),M.attr("d","M"+y[0]+","+i+"V0H"+y[1]+"V"+i);break;case"top":n=Ho,_.attr("y2",-u),S.attr("y",-(Math.max(u,0)+o)),b.attr("x2",0).attr("y2",-u),k.attr("x",0).attr("y",-(Math.max(u,0)+o)),w.attr("dy","0em").style("text-anchor","middle"),M.attr("d","M"+y[0]+","+-i+"V0H"+y[1]+"V"+-i);break;case"left":n=Fo,_.attr("x2",-u),S.attr("x",-(Math.max(u,0)+o)),b.attr("x2",-u).attr("y2",0),k.attr("x",-(Math.max(u,0)+o)).attr("y",0),w.attr("dy",".32em").style("text-anchor","end"),M.attr("d","M"+-i+","+y[0]+"H0V"+y[1]+"H"+-i);break;case"right":n=Fo,_.attr("x2",u),S.attr("x",Math.max(u,0)+o),b.attr("x2",u).attr("y2",0),k.attr("x",Math.max(u,0)+o).attr("y",0),w.attr("dy",".32em").style("text-anchor","start"),M.attr("d","M"+i+","+y[0]+"H0V"+y[1]+"H"+i)}if(f.rangeBand){var E=f,A=E.rangeBand()/2;l=f=function(n){return E(n)+A}}else l.rangeBand?l=f:d.call(n,f);v.call(n,l),m.call(n,f)})}var t,e=Xo.scale.linear(),r=Ts,u=6,i=6,o=3,a=[10],c=null;return n.scale=function(t){return arguments.length?(e=t,n):e},n.orient=function(t){return arguments.length?(r=t in qs?t+"":Ts,n):r},n.ticks=function(){return arguments.length?(a=arguments,n):a},n.tickValues=function(t){return arguments.length?(c=t,n):c},n.tickFormat=function(e){return arguments.length?(t=e,n):t},n.tickSize=function(t){var e=arguments.length;return e?(u=+t,i=+arguments[e-1],n):u},n.innerTickSize=function(t){return arguments.length?(u=+t,n):u},n.outerTickSize=function(t){return arguments.length?(i=+t,n):i},n.tickPadding=function(t){return arguments.length?(o=+t,n):o},n.tickSubdivide=function(){return arguments.length&&n},n};var Ts="bottom",qs={top:1,right:1,bottom:1,left:1};Xo.svg.brush=function(){function n(i){i.each(function(){var i=Xo.select(this).style("pointer-events","all").style("-webkit-tap-highlight-color","rgba(0,0,0,0)").on("mousedown.brush",u).on("touchstart.brush",u),o=i.selectAll(".background").data([0]);o.enter().append("rect").attr("class","background").style("visibility","hidden").style("cursor","crosshair"),i.selectAll(".extent").data([0]).enter().append("rect").attr("class","extent").style("cursor","move");var a=i.selectAll(".resize").data(p,bt);a.exit().remove(),a.enter().append("g").attr("class",function(n){return"resize "+n}).style("cursor",function(n){return zs[n]}).append("rect").attr("x",function(n){return/[ew]$/.test(n)?-3:null}).attr("y",function(n){return/^[ns]/.test(n)?-3:null}).attr("width",6).attr("height",6).style("visibility","hidden"),a.style("display",n.empty()?"none":null);var l,f=Xo.transition(i),h=Xo.transition(o);c&&(l=Ri(c),h.attr("x",l[0]).attr("width",l[1]-l[0]),e(f)),s&&(l=Ri(s),h.attr("y",l[0]).attr("height",l[1]-l[0]),r(f)),t(f)})}function t(n){n.selectAll(".resize").attr("transform",function(n){return"translate("+l[+/e$/.test(n)]+","+f[+/^s/.test(n)]+")"})}function e(n){n.select(".extent").attr("x",l[0]),n.selectAll(".extent,.n>rect,.s>rect").attr("width",l[1]-l[0])}function r(n){n.select(".extent").attr("y",f[0]),n.selectAll(".extent,.e>rect,.w>rect").attr("height",f[1]-f[0])}function u(){function u(){32==Xo.event.keyCode&&(C||(x=null,L[0]-=l[1],L[1]-=f[1],C=2),d())}function p(){32==Xo.event.keyCode&&2==C&&(L[0]+=l[1],L[1]+=f[1],C=0,d())}function v(){var n=Xo.mouse(_),u=!1;M&&(n[0]+=M[0],n[1]+=M[1]),C||(Xo.event.altKey?(x||(x=[(l[0]+l[1])/2,(f[0]+f[1])/2]),L[0]=l[+(n[0]<x[0])],L[1]=f[+(n[1]<x[1])]):x=null),E&&m(n,c,0)&&(e(S),u=!0),A&&m(n,s,1)&&(r(S),u=!0),u&&(t(S),w({type:"brush",mode:C?"move":"resize"}))}function m(n,t,e){var r,u,a=Ri(t),c=a[0],s=a[1],p=L[e],v=e?f:l,d=v[1]-v[0];return C&&(c-=p,s-=d+p),r=(e?g:h)?Math.max(c,Math.min(s,n[e])):n[e],C?u=(r+=p)+d:(x&&(p=Math.max(c,Math.min(s,2*x[e]-r))),r>p?(u=r,r=p):u=p),v[0]!=r||v[1]!=u?(e?o=null:i=null,v[0]=r,v[1]=u,!0):void 0}function y(){v(),S.style("pointer-events","all").selectAll(".resize").style("display",n.empty()?"none":null),Xo.select("body").style("cursor",null),T.on("mousemove.brush",null).on("mouseup.brush",null).on("touchmove.brush",null).on("touchend.brush",null).on("keydown.brush",null).on("keyup.brush",null),N(),w({type:"brushend"})}var x,M,_=this,b=Xo.select(Xo.event.target),w=a.of(_,arguments),S=Xo.select(_),k=b.datum(),E=!/^(n|s)$/.test(k)&&c,A=!/^(e|w)$/.test(k)&&s,C=b.classed("extent"),N=O(),L=Xo.mouse(_),T=Xo.select(Go).on("keydown.brush",u).on("keyup.brush",p);if(Xo.event.changedTouches?T.on("touchmove.brush",v).on("touchend.brush",y):T.on("mousemove.brush",v).on("mouseup.brush",y),S.interrupt().selectAll("*").interrupt(),C)L[0]=l[0]-L[0],L[1]=f[0]-L[1];else if(k){var q=+/w$/.test(k),z=+/^n/.test(k);M=[l[1-q]-L[0],f[1-z]-L[1]],L[0]=l[q],L[1]=f[z]}else Xo.event.altKey&&(x=L.slice());S.style("pointer-events","none").selectAll(".resize").style("display",null),Xo.select("body").style("cursor",b.style("cursor")),w({type:"brushstart"}),v()}var i,o,a=y(n,"brushstart","brush","brushend"),c=null,s=null,l=[0,0],f=[0,0],h=!0,g=!0,p=Rs[0];return n.event=function(n){n.each(function(){var n=a.of(this,arguments),t={x:l,y:f,i:i,j:o},e=this.__chart__||t;this.__chart__=t,ks?Xo.select(this).transition().each("start.brush",function(){i=e.i,o=e.j,l=e.x,f=e.y,n({type:"brushstart"})}).tween("brush:brush",function(){var e=hu(l,t.x),r=hu(f,t.y);return i=o=null,function(u){l=t.x=e(u),f=t.y=r(u),n({type:"brush",mode:"resize"})}}).each("end.brush",function(){i=t.i,o=t.j,n({type:"brush",mode:"resize"}),n({type:"brushend"})}):(n({type:"brushstart"}),n({type:"brush",mode:"resize"}),n({type:"brushend"}))})},n.x=function(t){return arguments.length?(c=t,p=Rs[!c<<1|!s],n):c},n.y=function(t){return arguments.length?(s=t,p=Rs[!c<<1|!s],n):s},n.clamp=function(t){return arguments.length?(c&&s?(h=!!t[0],g=!!t[1]):c?h=!!t:s&&(g=!!t),n):c&&s?[h,g]:c?h:s?g:null},n.extent=function(t){var e,r,u,a,h;return arguments.length?(c&&(e=t[0],r=t[1],s&&(e=e[0],r=r[0]),i=[e,r],c.invert&&(e=c(e),r=c(r)),e>r&&(h=e,e=r,r=h),(e!=l[0]||r!=l[1])&&(l=[e,r])),s&&(u=t[0],a=t[1],c&&(u=u[1],a=a[1]),o=[u,a],s.invert&&(u=s(u),a=s(a)),u>a&&(h=u,u=a,a=h),(u!=f[0]||a!=f[1])&&(f=[u,a])),n):(c&&(i?(e=i[0],r=i[1]):(e=l[0],r=l[1],c.invert&&(e=c.invert(e),r=c.invert(r)),e>r&&(h=e,e=r,r=h))),s&&(o?(u=o[0],a=o[1]):(u=f[0],a=f[1],s.invert&&(u=s.invert(u),a=s.invert(a)),u>a&&(h=u,u=a,a=h))),c&&s?[[e,u],[r,a]]:c?[e,r]:s&&[u,a])},n.clear=function(){return n.empty()||(l=[0,0],f=[0,0],i=o=null),n},n.empty=function(){return!!c&&l[0]==l[1]||!!s&&f[0]==f[1]},Xo.rebind(n,a,"on")};var zs={n:"ns-resize",e:"ew-resize",s:"ns-resize",w:"ew-resize",nw:"nwse-resize",ne:"nesw-resize",se:"nwse-resize",sw:"nesw-resize"},Rs=[["n","e","s","w","nw","ne","se","sw"],["e","w"],["n","s"],[]],Ds=tc.format=ac.timeFormat,Ps=Ds.utc,Us=Ps("%Y-%m-%dT%H:%M:%S.%LZ");Ds.iso=Date.prototype.toISOString&&+new Date("2000-01-01T00:00:00.000Z")?Oo:Us,Oo.parse=function(n){var t=new Date(n);return isNaN(t)?null:t},Oo.toString=Us.toString,tc.second=Rt(function(n){return new ec(1e3*Math.floor(n/1e3))},function(n,t){n.setTime(n.getTime()+1e3*Math.floor(t))},function(n){return n.getSeconds()}),tc.seconds=tc.second.range,tc.seconds.utc=tc.second.utc.range,tc.minute=Rt(function(n){return new ec(6e4*Math.floor(n/6e4))},function(n,t){n.setTime(n.getTime()+6e4*Math.floor(t))},function(n){return n.getMinutes()}),tc.minutes=tc.minute.range,tc.minutes.utc=tc.minute.utc.range,tc.hour=Rt(function(n){var t=n.getTimezoneOffset()/60;return new ec(36e5*(Math.floor(n/36e5-t)+t))},function(n,t){n.setTime(n.getTime()+36e5*Math.floor(t))},function(n){return n.getHours()}),tc.hours=tc.hour.range,tc.hours.utc=tc.hour.utc.range,tc.month=Rt(function(n){return n=tc.day(n),n.setDate(1),n},function(n,t){n.setMonth(n.getMonth()+t)},function(n){return n.getMonth()}),tc.months=tc.month.range,tc.months.utc=tc.month.utc.range;var js=[1e3,5e3,15e3,3e4,6e4,3e5,9e5,18e5,36e5,108e5,216e5,432e5,864e5,1728e5,6048e5,2592e6,7776e6,31536e6],Hs=[[tc.second,1],[tc.second,5],[tc.second,15],[tc.second,30],[tc.minute,1],[tc.minute,5],[tc.minute,15],[tc.minute,30],[tc.hour,1],[tc.hour,3],[tc.hour,6],[tc.hour,12],[tc.day,1],[tc.day,2],[tc.week,1],[tc.month,1],[tc.month,3],[tc.year,1]],Fs=Ds.multi([[".%L",function(n){return n.getMilliseconds()}],[":%S",function(n){return n.getSeconds()}],["%I:%M",function(n){return n.getMinutes()}],["%I %p",function(n){return n.getHours()}],["%a %d",function(n){return n.getDay()&&1!=n.getDate()}],["%b %d",function(n){return 1!=n.getDate()}],["%B",function(n){return n.getMonth()}],["%Y",be]]),Os={range:function(n,t,e){return Xo.range(Math.ceil(n/e)*e,+t,e).map(Io)},floor:bt,ceil:bt};Hs.year=tc.year,tc.scale=function(){return Yo(Xo.scale.linear(),Hs,Fs)};var Ys=Hs.map(function(n){return[n[0].utc,n[1]]}),Is=Ps.multi([[".%L",function(n){return n.getUTCMilliseconds()}],[":%S",function(n){return n.getUTCSeconds()}],["%I:%M",function(n){return n.getUTCMinutes()}],["%I %p",function(n){return n.getUTCHours()}],["%a %d",function(n){return n.getUTCDay()&&1!=n.getUTCDate()}],["%b %d",function(n){return 1!=n.getUTCDate()}],["%B",function(n){return n.getUTCMonth()}],["%Y",be]]);Ys.year=tc.year.utc,tc.scale.utc=function(){return Yo(Xo.scale.linear(),Ys,Is)},Xo.text=wt(function(n){return n.responseText}),Xo.json=function(n,t){return St(n,"application/json",Zo,t)},Xo.html=function(n,t){return St(n,"text/html",Vo,t)},Xo.xml=wt(function(n){return n.responseXML}),"function"==typeof define&&define.amd?define(Xo):"object"==typeof module&&module.exports?module.exports=Xo:this.d3=Xo}();'use strict';(function(window){window.define=undefined;}).call(this,this);'use strict';tr.exportTo('tr.ui.b',function(){const DataSeriesEnableChangeEventType='data-series-enabled-change';const THIS_DOC=document.currentScript.ownerDocument;const svgNS='http://www.w3.org/2000/svg';const ColorScheme=tr.b.ColorScheme;function getColorOfKey(key,selected){let id=ColorScheme.getColorIdForGeneralPurposeString(key);if(selected){id+=ColorScheme.properties.brightenedOffsets[0];} 7833return ColorScheme.colorsAsStrings[id];} 7834function getSVGTextSize(parentNode,text,opt_callback,opt_this){const textNode=document.createElementNS('http://www.w3.org/2000/svg','text');textNode.setAttributeNS(null,'x',0);textNode.setAttributeNS(null,'y',0);textNode.setAttributeNS(null,'fill','black');textNode.appendChild(document.createTextNode(text));parentNode.appendChild(textNode);if(opt_callback){opt_callback.call(opt_this||parentNode,textNode);} 7835const width=textNode.getComputedTextLength();const height=textNode.getBBox().height;parentNode.removeChild(textNode);return{width,height};} 7836function DataSeries(key){this.key_=key;this.target_=undefined;this.title_='';this.optional_=false;this.enabled_=true;this.color_=getColorOfKey(key,false);this.highlightedColor_=getColorOfKey(key,true);} 7837DataSeries.prototype={get key(){return this.key_;},get title(){return this.title_;},set title(t){this.title_=t;},get color(){return this.color_;},set color(c){this.color_=c;},get highlightedColor(){return this.highlightedColor_;},set highlightedColor(c){this.highlightedColor_=c;},get optional(){return this.optional_;},set optional(optional){this.optional_=optional;},get enabled(){return this.enabled_;},set enabled(enabled){if(!this.optional&&!enabled){this.optional=true;} 7838this.enabled_=enabled;},get target(){return this.target_;},set target(t){this.target_=t;}};const ChartBase=tr.ui.b.define('svg',undefined,svgNS);ChartBase.prototype={__proto__:HTMLUnknownElement.prototype,getDataSeries(key){if(!this.seriesByKey_.has(key)){this.seriesByKey_.set(key,new DataSeries(key));} 7839return this.seriesByKey_.get(key);},decorate(){Polymer.dom(this).classList.add('chart-base');this.chartTitle_=undefined;this.seriesByKey_=new Map();this.graphWidth_=undefined;this.graphHeight_=undefined;this.margin={top:0,right:0,bottom:0,left:0,};this.hideLegend_=false;const template=Polymer.dom(THIS_DOC).querySelector('#chart-base-template');const svgEl=Polymer.dom(template.content).querySelector('svg');for(let i=0;i<Polymer.dom(svgEl).children.length;i++){Polymer.dom(this).appendChild(Polymer.dom(svgEl.children[i]).cloneNode(true));} 7840this.addEventListener(DataSeriesEnableChangeEventType,this.onDataSeriesEnableChange_.bind(this));},get hideLegend(){return this.hideLegend_;},set hideLegend(h){this.hideLegend_=h;this.updateContents_();},isSeriesEnabled(key){return this.getDataSeries(key).enabled;},onDataSeriesEnableChange_(event){this.getDataSeries(event.key).enabled=event.enabled;this.updateContents_();},get chartTitle(){return this.chartTitle_;},set chartTitle(chartTitle){this.chartTitle_=chartTitle;this.updateContents_();},get chartAreaElement(){return Polymer.dom(this).querySelector('#chart-area');},get graphWidth(){if(this.graphWidth_===undefined)return this.defaultGraphWidth;return this.graphWidth_;},set graphWidth(width){this.graphWidth_=width;this.updateContents_();},get defaultGraphWidth(){return 0;},get graphHeight(){if(this.graphHeight_===undefined)return this.defaultGraphHeight;return this.graphHeight_;},set graphHeight(height){this.graphHeight_=height;this.updateContents_();},get defaultGraphHeight(){return 0;},get totalWidth(){return this.margin.left+this.graphWidth+this.margin.right;},get totalHeight(){return this.margin.top+this.graphHeight+this.margin.bottom;},updateMargins_(){const legendSize=this.computeLegendSize_();this.margin.right=Math.max(this.margin.right,legendSize.width);this.margin.bottom=Math.max(this.margin.bottom,legendSize.height-this.graphHeight);if(this.chartTitle_){const titleSize=getSVGTextSize(this,this.chartTitle_,textNode=>{textNode.style.fontSize='16pt';});this.margin.top=Math.max(this.margin.top,titleSize.height+15);const horizontalOverhangPx=(titleSize.width-this.graphWidth)/2;this.margin.left=Math.max(this.margin.left,horizontalOverhangPx);this.margin.right=Math.max(this.margin.right,horizontalOverhangPx);}},computeLegendSize_(){let width=0;let height=0;if(this.hideLegend)return{width,height};for(const series of this.seriesByKey_.values()){const textSize=getSVGTextSize(this,series.key);width=Math.max(width,textSize.width+20);height+=textSize.height;} 7841return{width,height};},updateDimensions_(){const thisSel=d3.select(this);thisSel.attr('width',this.totalWidth);thisSel.attr('height',this.totalHeight);d3.select(this.chartAreaElement).attr('transform','translate('+this.margin.left+', '+this.margin.top+')');},updateContents_(){this.updateMargins_();this.updateDimensions_();this.updateTitle_();this.updateLegend_();},updateTitle_(){const titleSel=d3.select(this.chartAreaElement).select('#title');if(!this.chartTitle_){titleSel.style('display','none');return;} 7842titleSel.attr('transform','translate('+this.graphWidth*0.5+',-15)').style('display',undefined).style('text-anchor','middle').style('font-size','16pt').attr('class','title').attr('width',this.graphWidth).text(this.chartTitle_);},updateLegend_(){const chartAreaSel=d3.select(this.chartAreaElement);chartAreaSel.selectAll('.legend').remove();if(this.hideLegend)return;const series=[...this.seriesByKey_.values()].reverse();const legendEntriesSel=chartAreaSel.selectAll('.legend').data(series);legendEntriesSel.enter().append('foreignObject').attr('class','legend').attr('x',this.graphWidth+2).attr('width',this.margin.right).attr('height',18).attr('transform',(series,i)=>'translate(0,'+i*18+')').append('xhtml:body').style('margin',0).append('tr-ui-b-chart-legend-key').property('color',series=>((this.currentHighlightedLegendKey===series.key)?series.highlightedColor:series.color)).property('width',this.margin.right).property('target',series=>series.target).property('title',series=>series.title).property('optional',series=>series.optional).property('enabled',series=>series.enabled).text(series=>series.key);legendEntriesSel.exit().remove();},get highlightedLegendKey(){return this.highlightedLegendKey_;},set highlightedLegendKey(highlightedLegendKey){this.highlightedLegendKey_=highlightedLegendKey;this.updateHighlight_();},get currentHighlightedLegendKey(){if(this.tempHighlightedLegendKey_){return this.tempHighlightedLegendKey_;} 7843return this.highlightedLegendKey_;},pushTempHighlightedLegendKey(key){if(this.tempHighlightedLegendKey_){throw new Error('push cannot nest');} 7844this.tempHighlightedLegendKey_=key;this.updateHighlight_();},popTempHighlightedLegendKey(key){if(this.tempHighlightedLegendKey_!==key){throw new Error('pop cannot happen');} 7845this.tempHighlightedLegendKey_=undefined;this.updateHighlight_();},updateHighlight_(){const chartAreaSel=d3.select(this.chartAreaElement);const legendEntriesSel=chartAreaSel.selectAll('.legend');const getDataSeries=chart.getDataSeries.bind(chart);const currentHighlightedLegendKey=chart.currentHighlightedLegendKey;legendEntriesSel.each(function(key){const dataSeries=getDataSeries(key);if(key===currentHighlightedLegendKey){this.style.fill=dataSeries.highlightedColor;this.style.fontWeight='bold';}else{this.style.fill=dataSeries.color;this.style.fontWeight='';}});}};return{ChartBase,DataSeriesEnableChangeEventType,getColorOfKey,getSVGTextSize,};});'use strict';tr.exportTo('tr.ui.b',function(){const D3_Y_AXIS_WIDTH_PX=9;const D3_X_AXIS_HEIGHT_PX=23;function sanitizePower(x,defaultValue){if(!isNaN(x)&&isFinite(x)&&(x!==0))return x;return defaultValue;} 7846const ChartBase2D=tr.ui.b.define('chart-base-2d',tr.ui.b.ChartBase);ChartBase2D.prototype={__proto__:tr.ui.b.ChartBase.prototype,decorate(){super.decorate();Polymer.dom(this).classList.add('chart-base-2d');this.xScale_=d3.scale.linear();this.yScale_=d3.scale.linear();this.isYLogScale_=false;this.yLogScaleMin_=undefined;this.autoDataRange_=new tr.b.math.Range();this.overrideDataRange_=undefined;this.hideXAxis_=false;this.hideYAxis_=false;this.data_=[];this.xAxisLabel_='';this.yAxisLabel_='';this.textHeightPx_=0;d3.select(this.chartAreaElement).append('g').attr('id','brushes');d3.select(this.chartAreaElement).append('g').attr('id','series');this.addEventListener('mousedown',this.onMouseDown_.bind(this));},get xAxisLabel(){return this.xAxisLabel_;},set xAxisLabel(label){this.xAxisLabel_=label;},get yAxisLabel(){return this.yAxisLabel_;},set yAxisLabel(label){this.yAxisLabel_=label;},get hideXAxis(){return this.hideXAxis_;},set hideXAxis(h){this.hideXAxis_=h;this.updateContents_();},get hideYAxis(){return this.hideYAxis_;},set hideYAxis(h){this.hideYAxis_=h;this.updateContents_();},get data(){return this.data_;},set data(data){if(data===undefined){throw new Error('data must be an Array');} 7847this.data_=data;this.updateSeriesKeys_();this.updateDataRange_();this.updateContents_();},set isYLogScale(logScale){if(logScale){this.yScale_=d3.scale.log(10);}else{this.yScale_=d3.scale.linear();} 7848this.isYLogScale_=logScale;},getYScaleMin_(){return this.isYLogScale_?this.yLogScaleMin_:0;},getYScaleDomain_(minValue,maxValue){if(this.overrideDataRange_!==undefined){return[this.dataRange.min,this.dataRange.max];} 7849if(this.isYLogScale_){return[this.getYScaleMin_(),maxValue];} 7850return[Math.min(minValue,this.getYScaleMin_()),maxValue];},getSampleWidth_(data,index,leftSide){let leftIndex;let rightIndex;if(leftSide){leftIndex=Math.max(index-1,0);rightIndex=index;}else{leftIndex=index;rightIndex=Math.min(index+1,data.length-1);} 7851const leftWidth=this.getXForDatum_(data[index],index)- 7852this.getXForDatum_(data[leftIndex],leftIndex);const rightWidth=this.getXForDatum_(data[rightIndex],rightIndex)- 7853this.getXForDatum_(data[index],index);return tr.b.math.Statistics.mean([leftWidth,rightWidth]);},updateSeriesKeys_(){this.data_.forEach(function(datum){Object.keys(datum).forEach(function(key){if(this.isDatumFieldSeries_(key)){this.getDataSeries(key);}},this);},this);},isDatumFieldSeries_(fieldName){return fieldName!=='x';},getXForDatum_(datum,index){return datum.x;},updateMargins_(){this.margin.left=this.hideYAxis?0:this.yAxisWidth;this.margin.bottom=this.hideXAxis?0:this.xAxisHeight;if(this.hideXAxis&&!this.hideYAxis){this.margin.bottom=10;} 7854if(this.hideYAxis&&!this.hideXAxis){this.margin.left=10;} 7855this.margin.top=this.hideYAxis?0:10;if(this.yAxisLabel){this.margin.top+=this.textHeightPx_;} 7856if(this.xAxisLabel){this.margin.right=Math.max(this.margin.right,16+tr.ui.b.getSVGTextSize(this,this.xAxisLabel).width);} 7857super.updateMargins_();},get xAxisHeight(){return D3_X_AXIS_HEIGHT_PX;},computeScaleTickWidth_(scale){if(this.data.length===0)return 0;let tickValues=scale.ticks();let format=scale.tickFormat();if(this.isYLogScale_){const enclosingPowers=this.dataRange.enclosingPowers();tickValues=[sanitizePower(enclosingPowers.min,1),sanitizePower(enclosingPowers.max,10),];format=v=>v.toString();} 7858return D3_Y_AXIS_WIDTH_PX+Math.max(tr.ui.b.getSVGTextSize(this,format(tickValues[0])).width,tr.ui.b.getSVGTextSize(this,format(tickValues[tickValues.length-1])).width);},get yAxisWidth(){return this.computeScaleTickWidth_(this.yScale_);},updateScales_(){if(this.data_.length===0)return;this.xScale_.range([0,this.graphWidth]);this.xScale_.domain(d3.extent(this.data_,this.getXForDatum_.bind(this)));this.yScale_.range([this.graphHeight,0]);this.yScale_.domain([this.dataRange.min,this.dataRange.max]);},updateBrushContents_(brushSel){brushSel.selectAll('*').remove();},updateXAxis_(xAxis){xAxis.selectAll('*').remove();xAxis[0][0].style.opacity=0;if(this.hideXAxis)return;this.drawXAxis_(xAxis);const label=xAxis.append('text').attr('class','label');this.drawXAxisTicks_(xAxis);this.drawXAxisLabel_(label);xAxis[0][0].style.opacity=1;},drawXAxis_(xAxis){xAxis.attr('transform','translate(0,'+this.graphHeight+')').call(d3.svg.axis().scale(this.xScale_).orient('bottom'));},drawXAxisLabel_(label){label.attr('x',this.graphWidth+16).attr('y',8).text(this.xAxisLabel);},drawXAxisTicks_(xAxis){let previousRight=undefined;xAxis.selectAll('.tick')[0].forEach(function(tick){const currentLeft=tick.transform.baseVal[0].matrix.e;if((previousRight===undefined)||(currentLeft>(previousRight+3))){const currentWidth=tick.getBBox().width;previousRight=currentLeft+currentWidth;}else{tick.style.opacity=0;}});},set overrideDataRange(range){this.overrideDataRange_=range;},get dataRange(){if(this.overrideDataRange_!==undefined){return this.overrideDataRange_;} 7859return this.autoDataRange_;},updateDataRange_(){if(this.overrideDataRange_!==undefined)return;const dataBySeriesKey=this.getDataBySeriesKey_();this.autoDataRange_.reset();for(const[series,values]of Object.entries(dataBySeriesKey)){for(let i=0;i<values.length;i++){this.autoDataRange_.addValue(values[i][series]);}} 7860this.yLogScaleMin_=undefined;if(this.autoDataRange_.min!==undefined){let minValue=this.autoDataRange_.min;if(minValue===0){minValue=1;} 7861const onePowerLess=tr.b.math.lesserPower(minValue/10);this.yLogScaleMin_=onePowerLess;}},updateYAxis_(yAxis){yAxis.selectAll('*').remove();yAxis[0][0].style.opacity=0;if(this.hideYAxis)return;this.drawYAxis_(yAxis);this.drawYAxisTicks_(yAxis);const label=yAxis.append('text').attr('class','label');this.drawYAxisLabel_(label);},drawYAxis_(yAxis){let axisModifier=d3.svg.axis().scale(this.yScale_).orient('left');if(this.isYLogScale_){if(this.yLogScaleMin_===undefined)return;const tickValues=[];const enclosingPowers=this.dataRange.enclosingPowers();const maxPower=sanitizePower(enclosingPowers.max,10);for(let power=sanitizePower(enclosingPowers.min,1);power<=maxPower;power*=10){tickValues.push(power);} 7862axisModifier=axisModifier.tickValues(tickValues).tickFormat(v=>v.toString());} 7863yAxis.call(axisModifier);},drawYAxisLabel_(label){const labelWidthPx=Math.ceil(tr.ui.b.getSVGTextSize(this.chartAreaElement,this.yAxisLabel).width);label.attr('x',-labelWidthPx).attr('y',-8).text(this.yAxisLabel);},drawYAxisTicks_(yAxis){let previousTop=undefined;yAxis.selectAll('.tick')[0].forEach(function(tick){const bbox=tick.getBBox();const currentTop=tick.transform.baseVal[0].matrix.f;const currentBottom=currentTop+bbox.height;if((previousTop===undefined)||(previousTop>(currentBottom+3))){previousTop=currentTop;}else{tick.style.opacity=0;}});yAxis[0][0].style.opacity=1;},updateContents_(){if(this.textHeightPx_===0){this.textHeightPx_=tr.ui.b.getSVGTextSize(this,'Ay').height;} 7864this.updateScales_();super.updateContents_();const chartAreaSel=d3.select(this.chartAreaElement);this.updateXAxis_(chartAreaSel.select('.x.axis'));this.updateYAxis_(chartAreaSel.select('.y.axis'));this.updateBrushContents_(chartAreaSel.select('#brushes'));this.updateDataContents_(chartAreaSel.select('#series'));},updateDataContents_(seriesSel){throw new Error('Not implemented');},getDataBySeriesKey_(){const dataBySeriesKey={};for(const[key,series]of this.seriesByKey_){dataBySeriesKey[key]=[];} 7865this.data_.forEach(function(multiSeriesDatum,index){const x=this.getXForDatum_(multiSeriesDatum,index);d3.keys(multiSeriesDatum).forEach(function(seriesKey){if(seriesKey==='x')return;if(multiSeriesDatum[seriesKey]===undefined)return;if(!this.isDatumFieldSeries_(seriesKey))return;const singleSeriesDatum={x};singleSeriesDatum[seriesKey]=multiSeriesDatum[seriesKey];dataBySeriesKey[seriesKey].push(singleSeriesDatum);},this);},this);return dataBySeriesKey;},getChartPointAtClientPoint_(clientPoint){const rect=this.getBoundingClientRect();return{x:clientPoint.x-rect.left-this.margin.left,y:clientPoint.y-rect.top-this.margin.top};},getDataPointAtChartPoint_(chartPoint){return{x:tr.b.math.clamp(this.xScale_.invert(chartPoint.x),this.xScale_.domain()[0],this.xScale_.domain()[1]),y:tr.b.math.clamp(this.yScale_.invert(chartPoint.y),this.yScale_.domain()[0],this.yScale_.domain()[1])};},getDataPointAtClientPoint_(clientX,clientY){const chartPoint=this.getChartPointAtClientPoint_({x:clientX,y:clientY});return this.getDataPointAtChartPoint_(chartPoint);},prepareDataEvent_(mouseEvent,dataEvent){const dataPoint=this.getDataPointAtClientPoint_(mouseEvent.clientX,mouseEvent.clientY);dataEvent.x=dataPoint.x;dataEvent.y=dataPoint.y;},onMouseDown_(mouseEvent){tr.ui.b.trackMouseMovesUntilMouseUp(this.onMouseMove_.bind(this,mouseEvent.button),this.onMouseUp_.bind(this,mouseEvent.button));mouseEvent.preventDefault();mouseEvent.stopPropagation();const dataEvent=new tr.b.Event('item-mousedown');dataEvent.button=mouseEvent.button;Polymer.dom(this).classList.add('updating-brushing-state');this.prepareDataEvent_(mouseEvent,dataEvent);this.dispatchEvent(dataEvent);},onMouseMove_(button,mouseEvent){if(mouseEvent.buttons!==undefined){mouseEvent.preventDefault();mouseEvent.stopPropagation();} 7866const dataEvent=new tr.b.Event('item-mousemove');dataEvent.button=button;this.prepareDataEvent_(mouseEvent,dataEvent);this.dispatchEvent(dataEvent);},onMouseUp_(button,mouseEvent){mouseEvent.preventDefault();mouseEvent.stopPropagation();const dataEvent=new tr.b.Event('item-mouseup');dataEvent.button=button;this.prepareDataEvent_(mouseEvent,dataEvent);this.dispatchEvent(dataEvent);Polymer.dom(this).classList.remove('updating-brushing-state');}};return{ChartBase2D,};});'use strict';tr.exportTo('tr.ui.b',function(){const ChartBase2D=tr.ui.b.ChartBase2D;const ChartBase2DBrushX=tr.ui.b.define('chart-base-2d-brush-1d',ChartBase2D);ChartBase2DBrushX.prototype={__proto__:ChartBase2D.prototype,decorate(){super.decorate();this.brushedRange_=new tr.b.math.Range();},set brushedRange(range){this.brushedRange_.reset();this.brushedRange_.addRange(range);this.updateContents_();},get brushedRange(){return tr.b.math.Range.fromDict(this.brushedRange_.toJSON());},computeBrushRangeFromIndices(indexA,indexB){indexA=tr.b.math.clamp(indexA,0,this.data_.length-1);indexB=tr.b.math.clamp(indexB,0,this.data_.length-1);const leftIndex=Math.min(indexA,indexB);const rightIndex=Math.max(indexA,indexB);const brushRange=new tr.b.math.Range();brushRange.addValue(this.getXForDatum_(this.data_[leftIndex],leftIndex)- 7867this.getSampleWidth_(this.data_,leftIndex,true));brushRange.addValue(this.getXForDatum_(this.data_[rightIndex],rightIndex)+ 7868this.getSampleWidth_(this.data_,rightIndex,false));return brushRange;},getDataIndex_(dataX){if(this.data.length===0)return undefined;const bisect=d3.bisector(this.getXForDatum_.bind(this)).right;return bisect(this.data_,dataX)-1;},prepareDataEvent_(mouseEvent,dataEvent){ChartBase2D.prototype.prepareDataEvent_.call(this,mouseEvent,dataEvent);dataEvent.index=this.getDataIndex_(dataEvent.x);if(dataEvent.index!==undefined){dataEvent.data=this.data_[dataEvent.index];}},updateBrushContents_(brushSel){brushSel.selectAll('*').remove();const brushes=this.brushedRange_.isEmpty?[]:[this.brushedRange_];const brushRectsSel=brushSel.selectAll('rect').data(brushes);brushRectsSel.enter().append('rect');brushRectsSel.exit().remove();this.drawBrush_(brushRectsSel);},drawBrush_(brushRectsSel){brushRectsSel.attr('x',d=>this.xScale_(d.min)).attr('y',0).attr('width',d=>this.xScale_(d.max)-this.xScale_(d.min)).attr('height',this.graphHeight);}};return{ChartBase2DBrushX,};});'use strict';tr.exportTo('tr.ui.b',function(){const LineChart=tr.ui.b.define('line-chart',tr.ui.b.ChartBase2DBrushX);LineChart.prototype={__proto__:tr.ui.b.ChartBase2DBrushX.prototype,get defaultGraphWidth(){return 20*this.data_.length;},get defaultGraphHeight(){return 100;},updateDataContents_(dataSel){dataSel.selectAll('*').remove();const dataBySeriesKey=this.getDataBySeriesKey_();const seriesKeys=[...this.seriesByKey_.keys()];const pathsSel=dataSel.selectAll('path').data(seriesKeys);pathsSel.enter().append('path').style('fill','none').style('stroke-width','1.5px').style('stroke',key=>this.getDataSeries(key).color).attr('d',key=>{const line=d3.svg.line().x(d=>this.xScale_(d.x)).y(d=>this.yScale_(this.dataRange.clamp(d[key])));return line(dataBySeriesKey[key]);});pathsSel.exit().remove();}};return{LineChart,};});'use strict';Polymer({is:'tr-ui-e-s-input-latency-side-panel',behaviors:[tr.ui.behaviors.SidePanel],ready(){this.rangeOfInterest_=new tr.b.math.Range();this.frametimeType_=tr.model.helpers.IMPL_FRAMETIME_TYPE;this.latencyChart_=undefined;this.frametimeChart_=undefined;this.selectedProcessId_=undefined;this.mouseDownIndex_=undefined;this.curMouseIndex_=undefined;},get model(){return this.model_;},set model(model){this.model_=model;if(this.model_){this.modelHelper_=this.model_.getOrCreateHelper(tr.model.helpers.ChromeModelHelper);}else{this.modelHelper_=undefined;} 7869this.updateToolbar_();this.updateContents_();},get frametimeType(){return this.frametimeType_;},set frametimeType(type){if(this.frametimeType_===type)return;this.frametimeType_=type;this.updateContents_();},get selectedProcessId(){return this.selectedProcessId_;},set selectedProcessId(process){if(this.selectedProcessId_===process)return;this.selectedProcessId_=process;this.updateContents_();},set selection(selection){if(this.latencyChart_===undefined)return;this.latencyChart_.brushedRange=selection.bounds;},setBrushedIndices(mouseDownIndex,curIndex){this.mouseDownIndex_=mouseDownIndex;this.curMouseIndex_=curIndex;this.updateBrushedRange_();},updateBrushedRange_(){if(this.latencyChart_===undefined)return;let r=new tr.b.math.Range();if(this.mouseDownIndex_===undefined){this.latencyChart_.brushedRange=r;return;} 7870r=this.latencyChart_.computeBrushRangeFromIndices(this.mouseDownIndex_,this.curMouseIndex_);this.latencyChart_.brushedRange=r;let latencySlices=[];for(const thread of this.model_.getAllThreads()){for(const event of thread.getDescendantEvents()){if(event.title.indexOf('InputLatency:')===0){latencySlices.push(event);}}} 7871latencySlices=tr.model.helpers.getSlicesIntersectingRange(r,latencySlices);const event=new tr.model.RequestSelectionChangeEvent();event.selection=new tr.model.EventSet(latencySlices);this.latencyChart_.dispatchEvent(event);},registerMouseEventForLatencyChart_(){this.latencyChart_.addEventListener('item-mousedown',function(e){this.mouseDownIndex_=e.index;this.curMouseIndex_=e.index;this.updateBrushedRange_();}.bind(this));this.latencyChart_.addEventListener('item-mousemove',function(e){if(e.button===undefined)return;this.curMouseIndex_=e.index;this.updateBrushedRange_();}.bind(this));this.latencyChart_.addEventListener('item-mouseup',function(e){this.curMouseIndex=e.index;this.updateBrushedRange_();}.bind(this));},updateToolbar_(){const browserProcess=this.modelHelper_.browserProcess;const labels=[];if(browserProcess!==undefined){const labelStr='Browser: '+browserProcess.pid;labels.push({label:labelStr,value:browserProcess.pid});} 7872for(const rendererHelper of 7873Object.values(this.modelHelper_.rendererHelpers)){const rendererProcess=rendererHelper.process;const labelStr='Renderer: '+rendererProcess.userFriendlyName;labels.push({label:labelStr,value:rendererProcess.userFriendlyName});} 7874if(labels.length===0)return;this.selectedProcessId_=labels[0].value;const toolbarEl=this.$.toolbar;Polymer.dom(toolbarEl).appendChild(tr.ui.b.createSelector(this,'frametimeType','inputLatencySidePanel.frametimeType',this.frametimeType_,[{label:'Main Thread Frame Times',value:tr.model.helpers.MAIN_FRAMETIME_TYPE},{label:'Impl Thread Frame Times',value:tr.model.helpers.IMPL_FRAMETIME_TYPE}]));Polymer.dom(toolbarEl).appendChild(tr.ui.b.createSelector(this,'selectedProcessId','inputLatencySidePanel.selectedProcessId',this.selectedProcessId_,labels));},get currentRangeOfInterest(){if(this.rangeOfInterest_.isEmpty){return this.model_.bounds;} 7875return this.rangeOfInterest_;},createLatencyLineChart(data,title,parentNode){const chart=new tr.ui.b.LineChart();Polymer.dom(parentNode).appendChild(chart);let width=600;if(document.body.clientWidth!==undefined){width=document.body.clientWidth*0.5;} 7876chart.graphWidth=width;chart.chartTitle=title;chart.data=data;return chart;},updateContents_(){const resultArea=this.$.result_area;this.latencyChart_=undefined;this.frametimeChart_=undefined;Polymer.dom(resultArea).textContent='';if(this.modelHelper_===undefined)return;const rangeOfInterest=this.currentRangeOfInterest;let chromeProcess;if(this.modelHelper_.rendererHelpers[this.selectedProcessId_]){chromeProcess=this.modelHelper_.rendererHelpers[this.selectedProcessId_];}else{chromeProcess=this.modelHelper_.browserHelper;} 7877const frameEvents=chromeProcess.getFrameEventsInRange(this.frametimeType,rangeOfInterest);const frametimeData=tr.model.helpers.getFrametimeDataFromEvents(frameEvents);const averageFrametime=tr.b.math.Statistics.mean(frametimeData,d=>d.frametime);const latencyEvents=this.modelHelper_.browserHelper.getLatencyEventsInRange(rangeOfInterest);const latencyData=[];latencyEvents.forEach(function(event){if(event.inputLatency===undefined)return;latencyData.push({x:event.start,latency:event.inputLatency/1000});});const averageLatency=tr.b.math.Statistics.mean(latencyData,function(d){return d.latency;});const latencySummaryText=document.createElement('div');Polymer.dom(latencySummaryText).appendChild(tr.ui.b.createSpan({textContent:'Average Latency '+averageLatency+' ms',bold:true}));Polymer.dom(resultArea).appendChild(latencySummaryText);const frametimeSummaryText=document.createElement('div');Polymer.dom(frametimeSummaryText).appendChild(tr.ui.b.createSpan({textContent:'Average Frame Time '+averageFrametime+' ms',bold:true}));Polymer.dom(resultArea).appendChild(frametimeSummaryText);if(latencyData.length!==0){this.latencyChart_=this.createLatencyLineChart(latencyData,'Latency Over Time',resultArea);this.registerMouseEventForLatencyChart_();} 7878if(frametimeData.length!==0){this.frametimeChart_=this.createLatencyLineChart(frametimeData,'Frame Times',resultArea);}},get rangeOfInterest(){return this.rangeOfInterest_;},set rangeOfInterest(rangeOfInterest){this.rangeOfInterest_=rangeOfInterest;this.updateContents_();},supportsModel(m){if(m===undefined){return{supported:false,reason:'Unknown tracing model'};} 7879if(!tr.model.helpers.ChromeModelHelper.supportsModel(m)){return{supported:false,reason:'No Chrome browser or renderer process found'};} 7880const modelHelper=m.getOrCreateHelper(tr.model.helpers.ChromeModelHelper);if(modelHelper.browserHelper&&modelHelper.browserHelper.hasLatencyEvents){return{supported:true};} 7881return{supported:false,reason:'No InputLatency events trace. Consider enabling '+'benchmark" and "input" category when recording the trace'};},get textLabel(){return'Input Latency';}});tr.ui.side_panel.SidePanelRegistry.register(function(){return document.createElement('tr-ui-e-s-input-latency-side-panel');});'use strict';tr.exportTo('tr.e.system_stats',function(){const ObjectSnapshot=tr.model.ObjectSnapshot;function SystemStatsSnapshot(objectInstance,ts,args){ObjectSnapshot.apply(this,arguments);this.objectInstance=objectInstance;this.ts=ts;this.args=args;this.stats=args;} 7882SystemStatsSnapshot.prototype={__proto__:ObjectSnapshot.prototype,initialize(){if(this.args.length===0){throw new Error('No system stats snapshot data.');} 7883this.stats_=this.args;},getStats(){return this.stats_;},setStats(stats){this.stats_=stats;}};ObjectSnapshot.subTypes.register(SystemStatsSnapshot,{typeName:'base::TraceEventSystemStatsMonitor::SystemStats'});return{SystemStatsSnapshot,};});'use strict';tr.exportTo('tr.ui.b',function(){const constants={HEADING_WIDTH:250};return{constants,};});'use strict';Polymer({is:'tr-ui-b-heading',DOWN_ARROW:String.fromCharCode(0x25BE),RIGHT_ARROW:String.fromCharCode(0x25B8),ready(viewport){this.style.width=(tr.ui.b.constants.HEADING_WIDTH-6)+'px';this.heading_='';this.expanded_=true;this.arrowVisible_=false;this.selectionGenerator_=undefined;this.updateContents_();},get heading(){return this.heading_;},set heading(text){if(this.heading_===text)return;this.heading_=text;this.updateContents_();},set arrowVisible(val){if(this.arrowVisible_===val)return;this.arrowVisible_=!!val;this.updateContents_();},set tooltip(text){this.$.heading.title=text;},set selectionGenerator(generator){if(this.selectionGenerator_===generator)return;this.selectionGenerator_=generator;this.updateContents_();},get expanded(){return this.expanded_;},set expanded(expanded){if(this.expanded_===expanded)return;this.expanded_=!!expanded;this.updateContents_();},onHeadingDivClicked_(){this.dispatchEvent(new tr.b.Event('heading-clicked',true));},updateContents_(){if(this.arrowVisible_){this.$.arrow.style.display='';}else{this.$.arrow.style.display='none';this.$.heading.style.display=this.expanded_?'':'none';} 7884if(this.arrowVisible_){Polymer.dom(this.$.arrow).textContent=this.expanded_?this.DOWN_ARROW:this.RIGHT_ARROW;} 7885this.$.link.style.display='none';this.$.heading_content.style.display='none';if(this.selectionGenerator_){this.$.link.style.display='inline-block';this.$.link.selection=this.selectionGenerator_;Polymer.dom(this.$.link).textContent=this.heading_;}else{this.$.heading_content.style.display='inline-block';Polymer.dom(this.$.heading_content).textContent=this.heading_;}}});'use strict';tr.exportTo('tr.ui.tracks',function(){const Track=tr.ui.b.define('track',tr.ui.b.ContainerThatDecoratesItsChildren);Track.prototype={__proto__:tr.ui.b.ContainerThatDecoratesItsChildren.prototype,decorate(viewport){tr.ui.b.ContainerThatDecoratesItsChildren.prototype.decorate.call(this);if(viewport===undefined){throw new Error('viewport is required when creating a Track.');} 7886this.viewport_=viewport;Polymer.dom(this).classList.add('track');},get viewport(){return this.viewport_;},get drawingContainer(){if(this instanceof tr.ui.tracks.DrawingContainer)return this;let cur=this.parentElement;while(cur){if(cur instanceof tr.ui.tracks.DrawingContainer)return cur;cur=cur.parentElement;} 7887return undefined;},get eventContainer(){},invalidateDrawingContainer(){const dc=this.drawingContainer;if(dc)dc.invalidate();},context(){if(!Polymer.dom(this).parentNode)return undefined;if(!Polymer.dom(this).parentNode.context){throw new Error('Parent container does not support context() method.');} 7888return Polymer.dom(this).parentNode.context();},decorateChild_(childTrack){},undecorateChild_(childTrack){if(childTrack.detach){childTrack.detach();}},updateContents_(){},drawTrack(type){const ctx=this.context();const pixelRatio=window.devicePixelRatio||1;const bounds=this.getBoundingClientRect();const canvasBounds=ctx.canvas.getBoundingClientRect();ctx.save();ctx.translate(0,pixelRatio*(bounds.top-canvasBounds.top));const dt=this.viewport.currentDisplayTransform;const viewLWorld=dt.xViewToWorld(0);const viewRWorld=dt.xViewToWorld(bounds.width*pixelRatio);this.draw(type,viewLWorld,viewRWorld);ctx.restore();},draw(type,viewLWorld,viewRWorld){},addEventsToTrackMap(eventToTrackMap){},addContainersToTrackMap(containerToTrackMap){},addIntersectingEventsInRangeToSelection(loVX,hiVX,loVY,hiVY,selection){const pixelRatio=window.devicePixelRatio||1;const dt=this.viewport.currentDisplayTransform;const viewPixWidthWorld=dt.xViewVectorToWorld(1);const loWX=dt.xViewToWorld(loVX*pixelRatio);const hiWX=dt.xViewToWorld(hiVX*pixelRatio);const clientRect=this.getBoundingClientRect();const a=Math.max(loVY,clientRect.top);const b=Math.min(hiVY,clientRect.bottom);if(a>b)return;this.addIntersectingEventsInRangeToSelectionInWorldSpace(loWX,hiWX,viewPixWidthWorld,selection);},addIntersectingEventsInRangeToSelectionInWorldSpace(loWX,hiWX,viewPixWidthWorld,selection){},addClosestEventToSelection(worldX,worldMaxDist,loY,hiY,selection){},addClosestInstantEventToSelection(instantEvents,worldX,worldMaxDist,selection){const instantEvent=tr.b.math.findClosestElementInSortedArray(instantEvents,function(x){return x.start;},worldX,worldMaxDist);if(!instantEvent)return;selection.push(instantEvent);}};return{Track,};});'use strict';tr.exportTo('tr.ui.tracks',function(){const SelectionState=tr.model.SelectionState;const EventPresenter=tr.ui.b.EventPresenter;const ObjectInstanceTrack=tr.ui.b.define('object-instance-track',tr.ui.tracks.Track);ObjectInstanceTrack.prototype={__proto__:tr.ui.tracks.Track.prototype,decorate(viewport){tr.ui.tracks.Track.prototype.decorate.call(this,viewport);Polymer.dom(this).classList.add('object-instance-track');this.objectInstances_=[];this.objectSnapshots_=[];this.heading_=document.createElement('tr-ui-b-heading');Polymer.dom(this).appendChild(this.heading_);},set heading(heading){this.heading_.heading=heading;},get heading(){return this.heading_.heading;},set tooltip(tooltip){this.heading_.tooltip=tooltip;},get objectInstances(){return this.objectInstances_;},set objectInstances(objectInstances){if(!objectInstances||objectInstances.length===0){this.heading='';this.objectInstances_=[];this.objectSnapshots_=[];return;} 7889this.heading=objectInstances[0].typeName;this.objectInstances_=objectInstances;this.objectSnapshots_=[];this.objectInstances_.forEach(function(instance){this.objectSnapshots_.push.apply(this.objectSnapshots_,instance.snapshots);},this);this.objectSnapshots_.sort(function(a,b){return a.ts-b.ts;});},get height(){return window.getComputedStyle(this).height;},set height(height){this.style.height=height;},get snapshotRadiusView(){return 7*(window.devicePixelRatio||1);},draw(type,viewLWorld,viewRWorld){switch(type){case tr.ui.tracks.DrawType.GENERAL_EVENT:this.drawLetterDots_(viewLWorld,viewRWorld);break;}},drawLetterDots_(viewLWorld,viewRWorld){const ctx=this.context();const pixelRatio=window.devicePixelRatio||1;const bounds=this.getBoundingClientRect();const height=bounds.height*pixelRatio;const halfHeight=height*0.5;const twoPi=Math.PI*2;const dt=this.viewport.currentDisplayTransform;const snapshotRadiusView=this.snapshotRadiusView;const snapshotRadiusWorld=dt.xViewVectorToWorld(height);ctx.save();dt.applyTransformToCanvas(ctx);const objectInstances=this.objectInstances_;let loI=tr.b.math.findLowIndexInSortedArray(objectInstances,function(instance){return instance.deletionTs;},viewLWorld);ctx.strokeStyle='rgb(0,0,0)';for(let i=loI;i<objectInstances.length;++i){const instance=objectInstances[i];const x=instance.creationTs;if(x>viewRWorld)break;const right=instance.deletionTs===Number.MAX_VALUE?viewRWorld:instance.deletionTs;ctx.fillStyle=EventPresenter.getObjectInstanceColor(instance);ctx.fillRect(x,pixelRatio,right-x,height-2*pixelRatio);} 7890ctx.restore();const objectSnapshots=this.objectSnapshots_;loI=tr.b.math.findLowIndexInSortedArray(objectSnapshots,function(snapshot){return snapshot.ts+snapshotRadiusWorld;},viewLWorld);for(let i=loI;i<objectSnapshots.length;++i){const snapshot=objectSnapshots[i];const x=snapshot.ts;if(x-snapshotRadiusWorld>viewRWorld)break;const xView=dt.xWorldToView(x);ctx.fillStyle=EventPresenter.getObjectSnapshotColor(snapshot);ctx.beginPath();ctx.arc(xView,halfHeight,snapshotRadiusView,0,twoPi);ctx.fill();if(snapshot.selected){ctx.lineWidth=5;ctx.strokeStyle='rgb(100,100,0)';ctx.stroke();ctx.beginPath();ctx.arc(xView,halfHeight,snapshotRadiusView-1,0,twoPi);ctx.lineWidth=2;ctx.strokeStyle='rgb(255,255,0)';ctx.stroke();}else{ctx.lineWidth=1;ctx.strokeStyle='rgb(0,0,0)';ctx.stroke();}} 7891ctx.lineWidth=1;let selectionState=SelectionState.NONE;if(objectInstances.length&&objectInstances[0].selectionState===SelectionState.DIMMED){selectionState=SelectionState.DIMMED;} 7892if(selectionState===SelectionState.DIMMED){const width=bounds.width*pixelRatio;ctx.fillStyle='rgba(255,255,255,0.5)';ctx.fillRect(0,0,width,height);ctx.restore();}},addEventsToTrackMap(eventToTrackMap){if(this.objectInstance_!==undefined){this.objectInstance_.forEach(function(obj){eventToTrackMap.addEvent(obj,this);},this);} 7893if(this.objectSnapshots_!==undefined){this.objectSnapshots_.forEach(function(obj){eventToTrackMap.addEvent(obj,this);},this);}},addIntersectingEventsInRangeToSelectionInWorldSpace(loWX,hiWX,viewPixWidthWorld,selection){let foundSnapshot=false;function onSnapshot(snapshot){selection.push(snapshot);foundSnapshot=true;} 7894const snapshotRadiusView=this.snapshotRadiusView;const snapshotRadiusWorld=viewPixWidthWorld*snapshotRadiusView;tr.b.math.iterateOverIntersectingIntervals(this.objectSnapshots_,function(x){return x.ts-snapshotRadiusWorld;},function(x){return 2*snapshotRadiusWorld;},loWX,hiWX,onSnapshot);if(foundSnapshot)return;tr.b.math.iterateOverIntersectingIntervals(this.objectInstances_,function(x){return x.creationTs;},function(x){return x.deletionTs-x.creationTs;},loWX,hiWX,(value)=>{selection.push(value);});},addEventNearToProvidedEventToSelection(event,offset,selection){let events;if(event instanceof tr.model.ObjectSnapshot){events=this.objectSnapshots_;}else if(event instanceof tr.model.ObjectInstance){events=this.objectInstances_;}else{throw new Error('Unrecognized event');} 7895const index=events.indexOf(event);const newIndex=index+offset;if(newIndex>=0&&newIndex<events.length){selection.push(events[newIndex]);return true;} 7896return false;},addAllEventsMatchingFilterToSelection(filter,selection){},addClosestEventToSelection(worldX,worldMaxDist,loY,hiY,selection){const snapshot=tr.b.math.findClosestElementInSortedArray(this.objectSnapshots_,function(x){return x.ts;},worldX,worldMaxDist);if(!snapshot)return;selection.push(snapshot);}};const options=new tr.b.ExtensionRegistryOptions(tr.b.TYPE_BASED_REGISTRY_MODE);tr.b.decorateExtensionRegistry(ObjectInstanceTrack,options);return{ObjectInstanceTrack,};});'use strict';tr.exportTo('tr.ui.tracks',function(){const StackedBarsTrack=tr.ui.b.define('stacked-bars-track',tr.ui.tracks.Track);StackedBarsTrack.prototype={__proto__:tr.ui.tracks.Track.prototype,decorate(viewport){tr.ui.tracks.Track.prototype.decorate.call(this,viewport);Polymer.dom(this).classList.add('stacked-bars-track');this.objectInstance_=null;this.heading_=document.createElement('tr-ui-b-heading');Polymer.dom(this).appendChild(this.heading_);},set heading(heading){this.heading_.heading=heading;},get heading(){return this.heading_.heading;},set tooltip(tooltip){this.heading_.tooltip=tooltip;},addEventsToTrackMap(eventToTrackMap){const objectSnapshots=this.objectInstance_.snapshots;objectSnapshots.forEach(function(obj){eventToTrackMap.addEvent(obj,this);},this);},addIntersectingEventsInRangeToSelectionInWorldSpace(loWX,hiWX,viewPixWidthWorld,selection){function onSnapshot(snapshot){selection.push(snapshot);} 7897const snapshots=this.objectInstance_.snapshots;const maxBounds=this.objectInstance_.parent.model.bounds.max;tr.b.math.iterateOverIntersectingIntervals(snapshots,function(x){return x.ts;},function(x,i){if(i===snapshots.length-1){if(snapshots.length===1){return maxBounds;} 7898return snapshots[i].ts-snapshots[i-1].ts;} 7899return snapshots[i+1].ts-snapshots[i].ts;},loWX,hiWX,onSnapshot);},addEventNearToProvidedEventToSelection(event,offset,selection){if(!(event instanceof tr.model.ObjectSnapshot)){throw new Error('Unrecognized event');} 7900const objectSnapshots=this.objectInstance_.snapshots;const index=objectSnapshots.indexOf(event);const newIndex=index+offset;if(newIndex>=0&&newIndex<objectSnapshots.length){selection.push(objectSnapshots[newIndex]);return true;} 7901return false;},addAllEventsMatchingFilterToSelection(filter,selection){},addClosestEventToSelection(worldX,worldMaxDist,loY,hiY,selection){const snapshot=tr.b.math.findClosestElementInSortedArray(this.objectInstance_.snapshots,function(x){return x.ts;},worldX,worldMaxDist);if(!snapshot)return;selection.push(snapshot);}};return{StackedBarsTrack,};});'use strict';tr.exportTo('tr.ui.e.system_stats',function(){const EventPresenter=tr.ui.b.EventPresenter;let statCount;const excludedStats={'meminfo':{'pswpin':0,'pswpout':0,'pgmajfault':0},'diskinfo':{'io':0,'io_time':0,'read_time':0,'reads':0,'reads_merged':0,'sectors_read':0,'sectors_written':0,'weighted_io_time':0,'write_time':0,'writes':0,'writes_merged':0},'swapinfo':{}};const SystemStatsInstanceTrack=tr.ui.b.define('tr-ui-e-system-stats-instance-track',tr.ui.tracks.StackedBarsTrack);SystemStatsInstanceTrack.prototype={__proto__:tr.ui.tracks.StackedBarsTrack.prototype,decorate(viewport){tr.ui.tracks.StackedBarsTrack.prototype.decorate.call(this,viewport);Polymer.dom(this).classList.add('tr-ui-e-system-stats-instance-track');this.objectInstance_=null;},set objectInstances(objectInstances){if(!objectInstances){this.objectInstance_=[];return;} 7902if(objectInstances.length!==1){throw new Error('Bad object instance count.');} 7903this.objectInstance_=objectInstances[0];if(this.objectInstance_!==null){this.computeRates_(this.objectInstance_.snapshots);this.maxStats_=this.computeMaxStats_(this.objectInstance_.snapshots);}},computeRates_(snapshots){for(let i=0;i<snapshots.length;i++){const snapshot=snapshots[i];const stats=snapshot.getStats();let prevSnapshot;if(i===0){prevSnapshot=snapshots[0];}else{prevSnapshot=snapshots[i-1];} 7904const prevStats=prevSnapshot.getStats();let timeIntervalSeconds=(snapshot.ts-prevSnapshot.ts)/1000;if(timeIntervalSeconds===0){timeIntervalSeconds=1;} 7905this.computeRatesRecursive_(prevStats,stats,timeIntervalSeconds);}},computeRatesRecursive_(prevStats,stats,timeIntervalSeconds){for(const statName in stats){if(stats[statName]instanceof Object){this.computeRatesRecursive_(prevStats[statName],stats[statName],timeIntervalSeconds);}else{if(statName==='sectors_read'){stats.bytes_read_per_sec=(stats.sectors_read- 7906prevStats.sectors_read)*512/timeIntervalSeconds;} 7907if(statName==='sectors_written'){stats.bytes_written_per_sec=(stats.sectors_written- 7908prevStats.sectors_written)*512/timeIntervalSeconds;} 7909if(statName==='pgmajfault'){stats.pgmajfault_per_sec=(stats.pgmajfault- 7910prevStats.pgmajfault)/timeIntervalSeconds;} 7911if(statName==='pswpin'){stats.bytes_swpin_per_sec=(stats.pswpin- 7912prevStats.pswpin)*1000/timeIntervalSeconds;} 7913if(statName==='pswpout'){stats.bytes_swpout_per_sec=(stats.pswpout- 7914prevStats.pswpout)*1000/timeIntervalSeconds;}}}},computeMaxStats_(snapshots){const maxStats={};statCount=0;for(let i=0;i<snapshots.length;i++){const snapshot=snapshots[i];const stats=snapshot.getStats();this.computeMaxStatsRecursive_(stats,maxStats,excludedStats);} 7915return maxStats;},computeMaxStatsRecursive_(stats,maxStats,excludedStats){for(const statName in stats){if(stats[statName]instanceof Object){if(!(statName in maxStats)){maxStats[statName]={};} 7916let excludedNested;if(excludedStats&&statName in excludedStats){excludedNested=excludedStats[statName];}else{excludedNested=null;} 7917this.computeMaxStatsRecursive_(stats[statName],maxStats[statName],excludedNested);}else{if(excludedStats&&statName in excludedStats){continue;} 7918if(!(statName in maxStats)){maxStats[statName]=0;statCount++;} 7919if(stats[statName]>maxStats[statName]){maxStats[statName]=stats[statName];}}}},get height(){return window.getComputedStyle(this).height;},set height(height){this.style.height=height;},draw(type,viewLWorld,viewRWorld){switch(type){case tr.ui.tracks.DrawType.GENERAL_EVENT:this.drawStatBars_(viewLWorld,viewRWorld);break;}},drawStatBars_(viewLWorld,viewRWorld){const ctx=this.context();const pixelRatio=window.devicePixelRatio||1;const bounds=this.getBoundingClientRect();const width=bounds.width*pixelRatio;const height=(bounds.height*pixelRatio)/statCount;const vp=this.viewport.currentDisplayTransform;const maxStats=this.maxStats_;const objectSnapshots=this.objectInstance_.snapshots;let lowIndex=tr.b.math.findLowIndexInSortedArray(objectSnapshots,function(snapshot){return snapshot.ts;},viewLWorld);if(lowIndex>0)lowIndex-=1;for(let i=lowIndex;i<objectSnapshots.length;++i){const snapshot=objectSnapshots[i];const trace=snapshot.getStats();const currentY=height;const left=snapshot.ts;if(left>viewRWorld)break;let leftView=vp.xWorldToView(left);if(leftView<0)leftView=0;let right;if(i!==objectSnapshots.length-1){right=objectSnapshots[i+1].ts;}else{if(objectSnapshots.length>1){right=objectSnapshots[i].ts+(objectSnapshots[i].ts- 7920objectSnapshots[i-1].ts);}else{right=this.objectInstance_.parent.model.bounds.max;}} 7921let rightView=vp.xWorldToView(right);if(rightView>width){rightView=width;} 7922leftView=Math.floor(leftView);rightView=Math.floor(rightView);this.drawStatBarsRecursive_(snapshot,leftView,rightView,height,trace,maxStats,currentY);if(i===lowIndex){this.drawStatNames_(leftView,height,currentY,'',maxStats);}} 7923ctx.lineWidth=1;},drawStatBarsRecursive_(snapshot,leftView,rightView,height,stats,maxStats,currentY){const ctx=this.context();for(const statName in maxStats){if(stats[statName]instanceof Object){currentY=this.drawStatBarsRecursive_(snapshot,leftView,rightView,height,stats[statName],maxStats[statName],currentY);}else{const maxStat=maxStats[statName];ctx.fillStyle=EventPresenter.getBarSnapshotColor(snapshot,Math.round(currentY/height));let barHeight;if(maxStat>0){barHeight=height*Math.max(stats[statName],0)/maxStat;}else{barHeight=0;} 7924ctx.fillRect(leftView,currentY-barHeight,Math.max(rightView-leftView,1),barHeight);currentY+=height;}} 7925return currentY;},drawStatNames_(leftView,height,currentY,prefix,maxStats){const ctx=this.context();ctx.textAlign='end';ctx.font='12px Arial';ctx.fillStyle='#000000';for(const statName in maxStats){if(maxStats[statName]instanceof Object){currentY=this.drawStatNames_(leftView,height,currentY,statName,maxStats[statName]);}else{let fullname=statName;if(prefix!==''){fullname=prefix+' :: '+statName;} 7926ctx.fillText(fullname,leftView-10,currentY-height/4);currentY+=height;}} 7927return currentY;}};tr.ui.tracks.ObjectInstanceTrack.register(SystemStatsInstanceTrack,{typeName:'base::TraceEventSystemStatsMonitor::SystemStats'});return{SystemStatsInstanceTrack,};});'use strict';tr.exportTo('tr.ui.e.system_stats',function(){const SystemStatsSnapshotView=tr.ui.b.define('tr-ui-e-system-stats-snapshot-view',tr.ui.analysis.ObjectSnapshotView);SystemStatsSnapshotView.prototype={__proto__:tr.ui.analysis.ObjectSnapshotView.prototype,decorate(){Polymer.dom(this).classList.add('tr-ui-e-system-stats-snapshot-view');},updateContents(){const snapshot=this.objectSnapshot_;if(!snapshot||!snapshot.getStats()){Polymer.dom(this).textContent='No system stats snapshot found.';return;} 7928Polymer.dom(this).textContent='';const stats=snapshot.getStats();Polymer.dom(this).appendChild(this.buildList_(stats));},isFloat(n){return typeof n==='number'&&n%1!==0;},buildList_(stats){const statList=document.createElement('ul');for(const statName in stats){const statText=document.createElement('li');Polymer.dom(statText).textContent=''+statName+': ';Polymer.dom(statList).appendChild(statText);if(stats[statName]instanceof Object){Polymer.dom(statList).appendChild(this.buildList_(stats[statName]));}else{if(this.isFloat(stats[statName])){Polymer.dom(statText).textContent+=stats[statName].toFixed(2);}else{Polymer.dom(statText).textContent+=stats[statName];}}} 7929return statList;}};tr.ui.analysis.ObjectSnapshotView.register(SystemStatsSnapshotView,{typeName:'base::TraceEventSystemStatsMonitor::SystemStats'});return{SystemStatsSnapshotView,};});'use strict';tr.exportTo('tr.ui.e.v8',function(){const IGNORED_ENTRIES={match:full=>full.startsWith('*CODE_AGE_')};const INSTANCE_TYPE_GROUPS={FIXED_ARRAY_TYPE:{match:full=>full.startsWith('*FIXED_ARRAY_'),realEntry:'FIXED_ARRAY_TYPE',keyToName:key=>key.slice('*FIXED_ARRAY_'.length).slice(0,-('_SUB_TYPE'.length)),nameToKey:name=>'*FIXED_ARRAY_'+name+'_SUB_TYPE'},CODE_TYPE:{match:full=>full.startsWith('*CODE_'),realEntry:'CODE_TYPE',keyToName:key=>key.slice('*CODE_'.length),nameToKey:name=>'*CODE_'+name},JS_OBJECTS:{match:full=>full.startsWith('JS_'),keyToName:key=>key,nameToKey:name=>name},Strings:{match:full=>full.endsWith('STRING_TYPE'),keyToName:key=>key,nameToKey:name=>name}};const DIFF_COLOR={GREEN:'#64DD17',RED:'#D50000'};function computePercentage(valueA,valueB){if(valueA===0)return 0;return valueA/valueB*100;} 7930class DiffEntry{constructor(originalEntry,diffEntry){this.originalEntry_=originalEntry;this.diffEntry_=diffEntry;} 7931get title(){return this.diffEntry_.title;} 7932get overall(){return this.diffEntry_.overall;} 7933get overAllocated(){return this.diffEntry_.overAllocated;} 7934get count(){return this.diffEntry_.count;} 7935get overallPercent(){return this.diffEntry_.overallPercent;} 7936get overAllocatedPercent(){return this.diffEntry_.overAllocatedPercent;} 7937get origin(){return this.originalEntry_;} 7938get diff(){return this.diffEntry_;} 7939get subRows(){return this.diffEntry_.subRows;}} 7940class Entry{constructor(title,count,overall,overAllocated,histogram,overAllocatedHistogram){this.title_=title;this.overall_=overall;this.count_=count;this.overAllocated_=overAllocated;this.histogram_=histogram;this.overAllocatedHistogram_=overAllocatedHistogram;this.bucketSize_=this.histogram_.length;this.overallPercent_=100;this.overAllocatedPercent_=100;} 7941get title(){return this.title_;} 7942get overall(){return this.overall_;} 7943get count(){return this.count_;} 7944get overAllocated(){return this.overAllocated_;} 7945get histogram(){return this.histogram_;} 7946get overAllocatedHistogram(){return this.overAllocatedHistogram_;} 7947get bucketSize(){return this.bucketSize_;} 7948get overallPercent(){return this.overallPercent_;} 7949set overallPercent(value){this.overallPercent_=value;} 7950get overAllocatedPercent(){return this.overAllocatedPercent_;} 7951set overAllocatedPercent(value){this.overAllocatedPercent_=value;} 7952setFromObject(obj){this.count_=obj.count;this.overall_=obj.overall/1024;this.overAllocated_=obj.over_allocated/1024;this.histogram_=obj.histogram;this.overAllocatedHistogram_=obj.over_allocated_histogram;} 7953diff(other){const entry=new Entry(this.title_,other.count_-this.count,other.overall_-this.overall,other.overAllocated_-this.overAllocated,[],[]);entry.overallPercent=computePercentage(entry.overall,this.overall);entry.overAllocatedPercent=computePercentage(entry.overAllocated,this.overAllocated);return new DiffEntry(this,entry);}} 7954class GroupedEntry extends Entry{constructor(title,count,overall,overAllocated,histogram,overAllocatedHistogram){super(title,count,overall,overAllocated,histogram,overAllocatedHistogram);this.histogram_.fill(0);this.overAllocatedHistogram_.fill(0);this.entries_=new Map();} 7955get title(){return this.title_;} 7956set title(value){this.title_=value;} 7957get subRows(){return Array.from(this.entries_.values());} 7958getEntryFromTitle(title){return this.entries_.get(title);} 7959add(entry){this.count_+=entry.count;this.overall_+=entry.overall;this.overAllocated_+=entry.overAllocated;if(this.bucketSize_===entry.bucketSize){for(let i=0;i<this.bucketSize_;++i){this.histogram_[i]+=entry.histogram[i];this.overAllocatedHistogram_[i]+=entry.overAllocatedHistogram[i];}} 7960this.entries_.set(entry.title,entry);} 7961accumulateUnknown(title){let unknownCount=this.count_;let unknownOverall=this.overall_;let unknownOverAllocated=this.overAllocated_;const unknownHistogram=tr.b.deepCopy(this.histogram_);const unknownOverAllocatedHistogram=tr.b.deepCopy(this.overAllocatedHistogram_);for(const entry of this.entries_.values()){unknownCount-=entry.count;unknownOverall-=entry.overall;unknownOverAllocated-=entry.overAllocated;for(let i=0;i<this.bucketSize_;++i){unknownHistogram[i]-=entry.histogram[i];unknownOverAllocatedHistogram[i]-=entry.overAllocatedHistogram[i];}} 7962unknownOverAllocated=unknownOverAllocated<0?0:unknownOverAllocated;this.entries_.set(title,new Entry(title,unknownCount,unknownOverall,unknownOverAllocated,unknownHistogram,unknownOverAllocatedHistogram));} 7963calculatePercentage(){for(const entry of this.entries_.values()){entry.overallPercent=computePercentage(entry.overall,this.overall_);entry.overAllocatedPercent=computePercentage(entry.overAllocated,this.overAllocated_);if(entry instanceof GroupedEntry)entry.calculatePercentage();}} 7964diff(other){let newTitle='';if(this.title_.startsWith('Isolate')){newTitle='Total';}else{newTitle=this.title_;} 7965const result=new GroupedEntry(newTitle,0,0,0,[],[]);for(const entry of this.entries_){const otherEntry=other.getEntryFromTitle(entry[0]);if(otherEntry===undefined)continue;result.add(entry[1].diff(otherEntry));} 7966result.overallPercent=computePercentage(result.overall,this.overall);result.overAllocatedPercent=computePercentage(result.overAllocated,this.overAllocated);return new DiffEntry(this,result);}} 7967function createSelector(targetEl,defaultValue,items,callback){const selectorEl=document.createElement('select');selectorEl.addEventListener('change',callback.bind(targetEl));const defaultOptionEl=document.createElement('option');for(let i=0;i<items.length;i++){const item=items[i];const optionEl=document.createElement('option');Polymer.dom(optionEl).textContent=item.label;optionEl.targetPropertyValue=item.value;optionEl.item=item;Polymer.dom(selectorEl).appendChild(optionEl);} 7968selectorEl.__defineGetter__('selectedValue',function(v){if(selectorEl.children[selectorEl.selectedIndex]===undefined){return undefined;} 7969return selectorEl.children[selectorEl.selectedIndex].targetPropertyValue;});selectorEl.__defineGetter__('selectedItem',function(v){if(selectorEl.children[selectorEl.selectedIndex]===undefined){return undefined;} 7970return selectorEl.children[selectorEl.selectedIndex].item;});selectorEl.__defineSetter__('selectedValue',function(v){for(let i=0;i<selectorEl.children.length;i++){const value=selectorEl.children[i].targetPropertyValue;if(value===v){const changed=selectorEl.selectedIndex!==i;if(changed){selectorEl.selectedIndex=i;callback();} 7971return;}} 7972throw new Error('Not a valid value');});selectorEl.selectedIndex=-1;return selectorEl;} 7973function plusMinus(value,toFixed=3){return(value>0?'+':'')+value.toFixed(toFixed);} 7974function addArrow(value){if(value===0)return value;if(value===Number.NEGATIVE_INFINITY)return'\u2193\u221E';if(value===Number.POSITIVE_INFINITY)return'\u2191\u221E';return(value>0?'\u2191':'\u2193')+Math.abs(value.toFixed(3));} 7975Polymer({is:'tr-ui-e-v8-gc-objects-stats-table',ready(){this.$.diffOption.style.display='none';this.isolateEntries_=[];this.selector1_=undefined;this.selector2_=undefined;},constructDiffTable_(table){this.$.diffTable.selectionMode=tr.ui.b.TableFormat.SelectionMode.ROW;this.$.diffTable.tableColumns=[{title:'Component',value(row){const typeEl=document.createElement('span');typeEl.innerText=row.title;return typeEl;},showExpandButtons:true},{title:'Overall Memory(KB)',value(row){const spanEl=tr.ui.b.createSpan();spanEl.innerText=row.origin.overall.toFixed(3);return spanEl;},cmp(a,b){return a.origin.overall-b.origin.overall;}},{title:'diff(KB)',value(row){const spanEl=tr.ui.b.createSpan();spanEl.innerText=plusMinus(row.overall);if(row.overall>0){spanEl.style.color=DIFF_COLOR.RED;}else if(row.overall<0){spanEl.style.color=DIFF_COLOR.GREEN;} 7976return spanEl;},cmp(a,b){return a.overall-b.overall;}},{title:'diff(%)',value(row){const spanEl=tr.ui.b.createSpan();spanEl.innerText=addArrow(row.overallPercent);if(row.overall>0){spanEl.style.color=DIFF_COLOR.RED;}else if(row.overall<0){spanEl.style.color=DIFF_COLOR.GREEN;} 7977return spanEl;},cmp(a,b){return a.overall-b.overall;}},{title:'Over Allocated Memory(KB)',value(row){const spanEl=tr.ui.b.createSpan();spanEl.innerText=row.origin.overAllocated.toFixed(3);return spanEl;},cmp(a,b){return a.origin.overAllocated-b.origin.overAllocated;}},{title:'diff(KB)',value(row){const spanEl=tr.ui.b.createSpan();spanEl.innerText=plusMinus(row.overAllocated);if(row.overAllocated>0){spanEl.style.color=DIFF_COLOR.RED;}else if(row.overAllocated<0){spanEl.style.color=DIFF_COLOR.GREEN;} 7978return spanEl;},cmp(a,b){return a.overAllocated-b.overAllocated;}},{title:'diff(%)',value(row){const spanEl=tr.ui.b.createSpan();spanEl.innerText=addArrow(row.overAllocatedPercent);if(row.overAllocated>0){spanEl.style.color=DIFF_COLOR.RED;}else if(row.overAllocated<0){spanEl.style.color=DIFF_COLOR.GREEN;} 7979return spanEl;},cmp(a,b){return a.overAllocated-b.overAllocated;}},{title:'Count',value(row){const spanEl=tr.ui.b.createSpan();spanEl.innerText=row.origin.count;return spanEl;},cmp(a,b){return a.origin.count-b.origin.count;}},{title:'diff',value(row){const spanEl=tr.ui.b.createSpan();spanEl.innerText=plusMinus(row.count,0);if(row.count>0){spanEl.style.color=DIFF_COLOR.RED;}else if(row.count<0){spanEl.style.color=DIFF_COLOR.GREEN;} 7980return spanEl;},cmp(a,b){return a.count-b.count;}},];},buildOptions_(){const items=[];for(const isolateEntry of this.isolateEntries_){items.push({label:isolateEntry.title,value:isolateEntry});} 7981this.$.diffOption.style.display='inline-block';this.selector1_=createSelector(this,'',items,this.diffOptionChanged_);Polymer.dom(this.$.diffOption).appendChild(this.selector1_);const spanEl=tr.ui.b.createSpan();spanEl.innerText=' VS ';Polymer.dom(this.$.diffOption).appendChild(spanEl);this.selector2_=createSelector(this,'',items,this.diffOptionChanged_);Polymer.dom(this.$.diffOption).appendChild(this.selector2_);},diffOptionChanged_(){const isolateEntry1=this.selector1_.selectedValue;const isolateEntry2=this.selector2_.selectedValue;if(isolateEntry1===undefined||isolateEntry2===undefined){return;} 7982if(isolateEntry1===isolateEntry2){this.$.diffTable.tableRows=[];this.$.diffTable.rebuild();return;} 7983this.$.diffTable.tableRows=[isolateEntry1.diff(isolateEntry2)];this.$.diffTable.rebuild();},constructTable_(){this.$.table.selectionMode=tr.ui.b.TableFormat.SelectionMode.ROW;this.$.table.tableColumns=[{title:'Component',value(row){const typeEl=document.createElement('span');typeEl.innerText=row.title;return typeEl;},showExpandButtons:true},{title:'Overall Memory (KB)',value(row){const typeEl=document.createElement('span');typeEl.innerText=row.overall.toFixed(3);return typeEl;},cmp(a,b){return a.overall-b.overall;}},{title:'Over Allocated Memory (KB)',value(row){const typeEl=document.createElement('span');typeEl.innerText=row.overAllocated.toFixed(3);return typeEl;},cmp(a,b){return a.overAllocated-b.overAllocated;}},{title:'Overall Count',value(row){const typeEl=document.createElement('span');typeEl.innerText=row.count;return typeEl;},cmp(a,b){return a.count-b.count;}},{title:'Overall Memory Percent',value(row){const typeEl=document.createElement('span');typeEl.innerText=row.overallPercent.toFixed(3)+'%';return typeEl;},cmp(a,b){return a.overall-b.overall;}},{title:'Overall Allocated Memory Percent',value(row){const typeEl=document.createElement('span');typeEl.innerText=row.overAllocatedPercent.toFixed(3)+'%';return typeEl;},cmp(a,b){return a.overAllocated-b.overAllocated;}}];this.$.table.sortColumnIndex=1;this.$.table.sortDescending=true;},buildSubEntry_(objects,groupEntry,keyToName){const typeGroup=INSTANCE_TYPE_GROUPS[groupEntry.title];for(const instanceType of typeGroup){const e=objects[instanceType];if(e===undefined)continue;delete objects[instanceType];let title=instanceType;if(keyToName!==undefined)title=keyToName(title);groupEntry.add(new Entry(title,e.count,e.overall/1024,e.over_allocated/1024,e.histogram,e.over_allocated_histogram));}},buildUnGroupedEntries_(objects,objectEntry,bucketSize){for(const title of Object.getOwnPropertyNames(objects)){const obj=objects[title];const groupedEntry=new GroupedEntry(title,0,0,0,new Array(bucketSize),new Array(bucketSize));groupedEntry.setFromObject(obj);objectEntry.add(groupedEntry);}},createGroupEntries_(groupEntries,objects,bucketSize){for(const groupName of Object.getOwnPropertyNames(INSTANCE_TYPE_GROUPS)){const groupEntry=new GroupedEntry(groupName,0,0,0,new Array(bucketSize),new Array(bucketSize));if(INSTANCE_TYPE_GROUPS[groupName].realEntry!==undefined){groupEntry.savedRealEntry=objects[INSTANCE_TYPE_GROUPS[groupName].realEntry];delete objects[INSTANCE_TYPE_GROUPS[groupName].realEntry];} 7984groupEntries[groupName]=groupEntry;}},buildGroupEntries_(groupEntries,objectEntry){for(const groupName of Object.getOwnPropertyNames(groupEntries)){const groupEntry=groupEntries[groupName];if(groupEntry.savedRealEntry!==undefined){groupEntry.setFromObject(groupEntry.savedRealEntry);groupEntry.accumulateUnknown('UNKNOWN');delete groupEntry.savedRealEntry;} 7985objectEntry.add(groupEntry);}},buildSubEntriesForGroups_(groupEntries,objects){for(const instanceType of Object.getOwnPropertyNames(objects)){if(IGNORED_ENTRIES.match(instanceType)){delete objects[instanceType];continue;} 7986const e=objects[instanceType];for(const name of Object.getOwnPropertyNames(INSTANCE_TYPE_GROUPS)){const group=INSTANCE_TYPE_GROUPS[name];if(group.match(instanceType)){groupEntries[name].add(new Entry(group.keyToName(instanceType),e.count,e.overall/1024,e.over_allocated/1024,e.histogram,e.over_allocated_histogram));delete objects[instanceType];}}}},build_(objects,objectEntry,bucketSize){delete objects.END;const groupEntries={};this.createGroupEntries_(groupEntries,objects,bucketSize);this.buildSubEntriesForGroups_(groupEntries,objects);this.buildGroupEntries_(groupEntries,objectEntry);this.buildUnGroupedEntries_(objects,objectEntry,bucketSize);},set selection(slices){slices.sortEvents(function(a,b){return b.start-a.start;});const previous=undefined;for(const slice of slices){if(!slice instanceof tr.e.v8.V8GCStatsThreadSlice)continue;const liveObjects=slice.liveObjects;const deadObjects=slice.deadObjects;const isolate=liveObjects.isolate;const isolateEntry=new GroupedEntry('Isolate_'+isolate+' at '+slice.start.toFixed(3)+' ms',0,0,0,[],[]);const liveEntry=new GroupedEntry('live objects',0,0,0,[],[]);const deadEntry=new GroupedEntry('dead objects',0,0,0,[],[]);const liveBucketSize=liveObjects.bucket_sizes.length;const deadBucketSize=deadObjects.bucket_sizes.length;this.build_(tr.b.deepCopy(liveObjects.type_data),liveEntry,liveBucketSize);isolateEntry.add(liveEntry);this.build_(tr.b.deepCopy(deadObjects.type_data),deadEntry,deadBucketSize);isolateEntry.add(deadEntry);isolateEntry.calculatePercentage();this.isolateEntries_.push(isolateEntry);} 7987this.updateTable_();if(slices.length>1){this.buildOptions_();this.constructDiffTable_();}},updateTable_(){this.constructTable_();this.$.table.tableRows=this.isolateEntries_;this.$.table.rebuild();},});return{};});'use strict';Polymer({is:'tr-ui-e-multi-v8-gc-stats-thread-slice-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],get selection(){return this.$.content.selection;},set selection(selection){this.$.gcObjectsStats.selection=selection;}});tr.ui.analysis.AnalysisSubView.register('tr-ui-e-multi-v8-gc-stats-thread-slice-sub-view',tr.e.v8.V8GCStatsThreadSlice,{multi:true,title:'V8 GC Stats slices'});'use strict';tr.exportTo('tr.e.v8',function(){const IC_STATS_PROPERTIES=['type','category','scriptName','filePosition','state','isNative','map','propertiesMode','numberOfOwnProperties','instanceType'];class ICStatsEntry{constructor(obj){this.type_=obj.type;if(this.type_.includes('Store')){this.category_='Store';}else if(this.type_.includes('Load')){this.category_='Load';} 7988this.state_=obj.state;if(obj.functionName){this.functionName_=obj.optimized?'*':'~';this.functionName_+=obj.functionName.length===0?'(anonymous function)':obj.functionName;} 7989this.offset_=obj.offset;this.scriptName_=obj.scriptName?obj.scriptName:'unknown';this.isNative_=obj.scriptName&&obj.scriptName.includes('native');this.lineNum_=obj.lineNum?obj.lineNum:'unknown';this.filePosition_=this.scriptName_+':'+this.lineNum_;if(this.functionName_){this.filePosition_+=' '+this.functionName_+'+'+this.offset_;} 7990this.constructor_=obj.constructor?false:true;this.map_=obj.map;if(this.map_){this.propertiesMode_=obj.dict===0?'slow':'fast';}else{this.propertiesMode_='unknown';} 7991this.numberOfOwnProperties_=obj.own;this.instanceType_=obj.instanceType;this.key_=obj.key;} 7992get type(){return this.type_;} 7993get category(){return this.category_;} 7994get state(){return this.state_;} 7995get functionName(){return this.functionName_;} 7996get offset(){return this.offset_;} 7997get scriptName(){return this.scriptName_;} 7998get isNative(){return this.isNative_;} 7999get lineNumber(){return this.lineNum_;} 8000get isConstructor(){return this.constructor_;} 8001get map(){return this.map_;} 8002get propertiesMode(){return this.propertiesMode_;} 8003get numberOfOwnProperties(){return this.numberOfOwnProperties_;} 8004get instanceType(){return this.instanceType_;} 8005get filePosition(){return this.filePosition_;}} 8006class ICStatsEntryGroup{constructor(property,key){this.property_=property;this.key_=key;this.percentage_=0;this.entries_=[];this.subGroup_=undefined;} 8007static groupBy(groups,entries,property){for(const entry of entries){const key=entry[property];let group=groups.get(key);if(!group){group=new ICStatsEntryGroup(property,key);groups.set(key,group);} 8008group.add(entry);} 8009for(const group of groups.values()){group.percentage=group.length/entries.length;}} 8010add(entry){this.entries_.push(entry);} 8011createSubGroup(){if(this.subGroup_)return this.subGroup_;this.subGroup_=new Map();for(const property of IC_STATS_PROPERTIES){if(property===this.property_)continue;const groups=new Map();this.subGroup_.set(property,groups);ICStatsEntryGroup.groupBy(groups,this.entries_,property);} 8012return this.subGroup_;} 8013get entries(){return this.entries_;} 8014get key(){return this.key_;} 8015get length(){return this.entries_.length;} 8016get percentage(){return this.percentage_;} 8017set percentage(value){this.percentage_=value;}} 8018class ICStatsCollection{constructor(){this.entries_=[];this.groupedEntries_=new Map();} 8019add(entry){this.entries_.push(entry);} 8020groupBy(property){if(this.groupedEntries_.has(property)){return Array.from(this.groupedEntries_.get(property).values());} 8021const groups=new Map();this.groupedEntries_.set(property,groups);ICStatsEntryGroup.groupBy(groups,this.entries_,property);return Array.from(groups.values());} 8022get entries(){return this.entries_;} 8023get length(){return this.entries_.length;}} 8024return{IC_STATS_PROPERTIES,ICStatsEntry,ICStatsEntryGroup,ICStatsCollection,};});'use strict';tr.exportTo('tr.ui.e.v8',function(){const PROPERTIES=tr.e.v8.IC_STATS_PROPERTIES.map(x=>{return{label:x,value:x};});const ICStatsEntry=tr.e.v8.ICStatsEntry;const ICStatsEntryGroup=tr.e.v8.ICStatsEntryGroup;const ICStatsCollection=tr.e.v8.ICStatsCollection;Polymer({is:'tr-ui-e-v8-ic-stats-table',ready(){this.icStatsCollection_=new ICStatsCollection();this.groupKey_=PROPERTIES[0].value;this.selector_=tr.ui.b.createSelector(this,'groupKey','v8ICStatsGroupKey',this.groupKey_,PROPERTIES);Polymer.dom(this.$.groupOption).appendChild(this.selector_);},get groupKey(){return this.groupKey_;},set groupKey(key){this.groupKey_=key;if(this.icStatsCollection_.length===0)return;this.updateTable_(this.groupKey_);},constructTable_(table,groupKey){table.tableColumns=[{title:'',value:row=>{let expanded=false;const buttonEl=tr.ui.b.createButton('details',function(){const previousSibling=Polymer.dom(this).parentNode.parentNode;const parentNode=previousSibling.parentNode;if(expanded){const trEls=parentNode.getElementsByClassName('subTable');Array.from(trEls).map(x=>x.parentNode.removeChild(x));expanded=false;return;} 8025expanded=true;const subGroups=row.createSubGroup();const tr=document.createElement('tr');tr.classList.add('subTable');tr.appendChild(document.createElement('td'));const td=document.createElement('td');td.colSpan=3;for(const subGroup of subGroups){const property=subGroup[0];const all=Array.from(subGroup[1].values());const group=all.slice(0,20);const divEl=document.createElement('div');const spanEl=document.createElement('span');const subTableEl=document.createElement('tr-ui-b-table');spanEl.innerText=`Top 20 out of ${all.length}`;spanEl.style.fontWeight='bold';spanEl.style.fontSize='14px';divEl.appendChild(spanEl);this.constructTable_(subTableEl,property);subTableEl.tableRows=group;subTableEl.rebuild();divEl.appendChild(subTableEl);td.appendChild(divEl);} 8026tr.appendChild(td);parentNode.insertBefore(tr,previousSibling.nextSibling);});return buttonEl;}},{title:'Percentage',value(row){const spanEl=document.createElement('span');spanEl.innerText=(row.percentage*100).toFixed(3)+'%';return spanEl;},cmp:(a,b)=>a.percentage-b.percentage},{title:'Count',value(row){const spanEl=document.createElement('span');spanEl.innerText=row.length;return spanEl;},cmp:(a,b)=>a.length-b.length},{title:groupKey,value(row){const spanEl=document.createElement('span');spanEl.innerText=row.key?row.key:'';return spanEl;}}];table.sortColumnIndex=1;table.sortDescending=true;},updateTable_(groupKey){this.constructTable_(this.$.table,groupKey);this.$.table.tableRows=this.icStatsCollection_.groupBy(groupKey);this.$.table.rebuild();},set selection(slices){for(const slice of slices){for(const icStatsObj of slice.icStats){const entry=new ICStatsEntry(icStatsObj);this.icStatsCollection_.add(entry);}} 8027this.$.total.innerText='Total items: '+this.icStatsCollection_.length;this.updateTable_(this.selector_.selectedValue);}});return{};});'use strict';Polymer({is:'tr-ui-e-multi-v8-ic-stats-thread-slice-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],get selection(){return this.$.content.selection;},set selection(selection){this.$.table.selection=selection;}});tr.ui.analysis.AnalysisSubView.register('tr-ui-e-multi-v8-ic-stats-thread-slice-sub-view',tr.e.v8.V8ICStatsThreadSlice,{multi:true,title:'V8 IC stats slices'});'use strict';tr.exportTo('tr.e.v8',function(){class RuntimeStatsEntry{constructor(name,count,time){this.name_=name;this.count_=count;this.time_=time;} 8028get name(){return this.name_;} 8029get count(){return this.count_;} 8030get time(){return this.time_;} 8031addSample(count,time){this.count_+=count;this.time_+=time;}} 8032class RuntimeStatsGroup extends RuntimeStatsEntry{constructor(name,matchRegex){super(name,0,0);this.regex_=matchRegex;this.entries_=new Map();} 8033match(name){return this.regex_&&name.match(this.regex_);} 8034add(entry){const value=this.entries_.get(entry.name);if(value!==undefined){value.addSample(entry.count,entry.time);}else{this.entries_.set(entry.name,entry);} 8035this.count_+=entry.count;this.time_+=entry.time;} 8036get values(){return Array.from(this.entries_.values());}} 8037class RuntimeStatsGroupCollection{constructor(){this.groups_=[new RuntimeStatsGroup('Total'),new RuntimeStatsGroup('IC',/.*IC_.*/),new RuntimeStatsGroup('Optimize',/StackGuard|.*Optimize.*|.*Deoptimize.*|Recompile.*/),new RuntimeStatsGroup('Compile-Background',/(.*CompileBackground.*)/),new RuntimeStatsGroup('Compile',/(^Compile.*)|(.*_Compile.*)/),new RuntimeStatsGroup('Parse-Background',/.*ParseBackground.*/),new RuntimeStatsGroup('Parse',/.*Parse.*/),new RuntimeStatsGroup('Blink C++',/.*Callback.*/),new RuntimeStatsGroup('API',/.*API.*/),new RuntimeStatsGroup('GC',/GC|AllocateInTargetSpace/),new RuntimeStatsGroup('JavaScript',/JS_Execution/),new RuntimeStatsGroup('V8 C++',/.*/)];} 8038addSlices(slices){for(const slice of slices){if(!(slice instanceof tr.e.v8.V8ThreadSlice))return;let runtimeCallStats;try{runtimeCallStats=JSON.parse(slice.runtimeCallStats);}catch(e){runtimeCallStats=slice.runtimeCallStats;} 8039if(runtimeCallStats===undefined)continue;for(const[name,stat]of Object.entries(runtimeCallStats)){for(let i=1;i<this.groups_.length;++i){if(this.groups_[i].match(name)){if(stat.length!==2)break;const entry=new RuntimeStatsEntry(name,stat[0],stat[1]);this.groups_[0].addSample(stat[0],stat[1]);this.groups_[i].add(entry);break;}}}}} 8040get totalTime(){return this.groups_[0].time;} 8041get totalCount(){return this.groups_[0].count;} 8042get runtimeGroups(){return this.groups_;}} 8043return{RuntimeStatsEntry,RuntimeStatsGroup,RuntimeStatsGroupCollection,};});'use strict';tr.exportTo('tr.ui.e.v8',function(){function handleCodeSearch_(event){if(event.target.parentNode===undefined)return;let name=event.target.parentNode.entryName;let url='https://cs.chromium.org/search/?sq=package:chromium&type=cs&q=';if(name.startsWith('API_'))name=name.substring(4);url+=encodeURIComponent(name)+'+file:src/v8/src';window.open(url,'_blank');} 8044Polymer({is:'tr-ui-e-v8-runtime-call-stats-table',ready(){this.table_=this.$.table;this.totalTime_=0;},constructTable_(totalTime){this.table_.selectionMode=tr.ui.b.TableFormat.SelectionMode.ROW;this.table_.tableColumns=[{title:'Name',value(row){const typeEl=document.createElement('span');typeEl.innerText=row.name;if(!(row instanceof tr.e.v8.RuntimeStatsGroup)){typeEl.title='click ? for code search';typeEl.entryName=row.name;const codeSearchEl=document.createElement('span');codeSearchEl.innerText='?';codeSearchEl.style.float='right';codeSearchEl.style.borderRadius='5px';codeSearchEl.style.backgroundColor='#EEE';codeSearchEl.addEventListener('click',handleCodeSearch_.bind(this));typeEl.appendChild(codeSearchEl);} 8045return typeEl;},width:'200px',showExpandButtons:true},{title:'Time',value(row){const typeEl=document.createElement('span');typeEl.innerText=(row.time/1000.0).toFixed(3)+' ms';return typeEl;},width:'100px',cmp(a,b){return a.time-b.time;}},{title:'Count',value(row){const typeEl=document.createElement('span');typeEl.innerText=row.count;return typeEl;},width:'100px',cmp(a,b){return a.count-b.count;}},{title:'Percent',value(row){const typeEl=document.createElement('span');typeEl.innerText=(row.time/totalTime*100).toFixed(3)+'%';return typeEl;},width:'100px',cmp(a,b){return a.time-b.time;}}];this.table_.sortColumnIndex=1;this.table_.sortDescending=true;this.table_.subRowsPropertyName='values';},set slices(slices){const runtimeGroupCollection=new tr.e.v8.RuntimeStatsGroupCollection();runtimeGroupCollection.addSlices(slices);if(runtimeGroupCollection.totalTime>0){this.constructTable_(runtimeGroupCollection.totalTime);this.table_.tableRows=runtimeGroupCollection.runtimeGroups;this.table_.rebuild();}}});return{};});'use strict';Polymer({is:'tr-ui-e-multi-v8-thread-slice-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],get selection(){return this.$.content.selection;},set selection(selection){this.$.runtimeCallStats.slices=selection;this.$.content.selection=selection;}});tr.ui.analysis.AnalysisSubView.register('tr-ui-e-multi-v8-thread-slice-sub-view',tr.e.v8.V8ThreadSlice,{multi:true,title:'V8 slices'});'use strict';Polymer({is:'tr-ui-e-single-v8-gc-stats-thread-slice-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],get selection(){return this.$.content.selection;},set selection(selection){this.$.content.selection=selection;this.$.gcObjectsStats.selection=selection;}});tr.ui.analysis.AnalysisSubView.register('tr-ui-e-single-v8-gc-stats-thread-slice-sub-view',tr.e.v8.V8GCStatsThreadSlice,{multi:false,title:'V8 GC stats slice'});'use strict';Polymer({is:'tr-ui-e-single-v8-ic-stats-thread-slice-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],get selection(){return this.$.content.selection;},set selection(selection){this.$.table.selection=selection;}});tr.ui.analysis.AnalysisSubView.register('tr-ui-e-single-v8-ic-stats-thread-slice-sub-view',tr.e.v8.V8ICStatsThreadSlice,{multi:false,title:'V8 IC stats slice'});'use strict';Polymer({is:'tr-ui-e-single-v8-thread-slice-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],get selection(){return this.$.content.selection;},set selection(selection){this.$.runtimeCallStats.slices=selection;this.$.content.selection=selection;}});tr.ui.analysis.AnalysisSubView.register('tr-ui-e-single-v8-thread-slice-sub-view',tr.e.v8.V8ThreadSlice,{multi:false,title:'V8 slice'});'use strict';tr.exportTo('tr.c',function(){function ScriptingObject(){} 8046ScriptingObject.prototype={onModelChanged(model){}};return{ScriptingObject,};});'use strict';tr.exportTo('tr.c',function(){function ScriptingController(brushingStateController){this.brushingStateController_=brushingStateController;this.scriptObjectNames_=[];this.scriptObjectValues_=[];this.brushingStateController.addEventListener('model-changed',this.onModelChanged_.bind(this));const typeInfos=ScriptingObjectRegistry.getAllRegisteredTypeInfos();typeInfos.forEach(function(typeInfo){this.addScriptObject(typeInfo.metadata.name,typeInfo.constructor);global[typeInfo.metadata.name]=typeInfo.constructor;},this);} 8047function ScriptingObjectRegistry(){} 8048const options=new tr.b.ExtensionRegistryOptions(tr.b.BASIC_REGISTRY_MODE);tr.b.decorateExtensionRegistry(ScriptingObjectRegistry,options);ScriptingController.prototype={get brushingStateController(){return this.brushingStateController_;},onModelChanged_(){this.scriptObjectValues_.forEach(function(v){if(v.onModelChanged){v.onModelChanged(this.brushingStateController.model);}},this);},addScriptObject(name,value){this.scriptObjectNames_.push(name);this.scriptObjectValues_.push(value);},executeCommand(command){const f=new Function(this.scriptObjectNames_,'return eval('+command+')');return f.apply(null,this.scriptObjectValues_);}};return{ScriptingController,ScriptingObjectRegistry,};});'use strict';tr.exportTo('tr.metrics',function(){function MetricRegistry(){} 8049const options=new tr.b.ExtensionRegistryOptions(tr.b.BASIC_REGISTRY_MODE);options.defaultMetadata={};tr.b.decorateExtensionRegistry(MetricRegistry,options);function camelCaseToHackerString(camelCase){let hackerString='';for(const c of camelCase){const lowered=c.toLocaleLowerCase();if(lowered===c){hackerString+=c;}else{hackerString+='_'+lowered;}} 8050return hackerString;} 8051function getCallStack(){try{throw new Error();}catch(error){return error.stack;}} 8052function getPathsFromStack(stack){return stack.split('\n').map(line=>{line=line.replace(/^ */,'').split(':');if(line.length<4)return'';return line[line.length-3].split('/');}).filter(tr.b.identity);} 8053MetricRegistry.checkFilename=function(metricName,opt_metricPathForTest){if(metricName==='runtimeStatsTotalMetric'||metricName==='v8AndMemoryMetrics'){return;} 8054const expectedFilename=camelCaseToHackerString(metricName)+'.html';const stack=getCallStack();let metricPath=opt_metricPathForTest;if(metricPath===undefined){const paths=getPathsFromStack(stack);const METRIC_STACK_INDEX=5;if(paths.length<=METRIC_STACK_INDEX||paths[METRIC_STACK_INDEX].join('/')===paths[0].join('/')){return;} 8055metricPath=paths[METRIC_STACK_INDEX].slice(paths[METRIC_STACK_INDEX].length-2);} 8056if(!metricPath[1].endsWith('_test.html')&&metricPath[1]!==expectedFilename&&metricPath.join('_')!==expectedFilename){throw new Error('Expected '+metricName+' to be in a file named '+ 8057expectedFilename+'; actual: '+metricPath.join('/')+'; stack: '+stack.replace(/\n/g,'\n '));}};MetricRegistry.addEventListener('will-register',function(e){const metric=e.typeInfo.constructor;if(!(metric instanceof Function)){throw new Error('Metrics must be functions.');} 8058if(!metric.name.endsWith('Metric')&&!metric.name.endsWith('Metrics')){throw new Error('Metric names must end with "Metric" or "Metrics".');} 8059if(metric.length<2){throw new Error('Metrics take a HistogramSet and a Model and '+'optionally an options dictionary.');} 8060MetricRegistry.checkFilename(metric.name);});return{MetricRegistry,};});'use strict';tr.exportTo('tr.metrics.sh',function(){const MAX_INPUT_EVENT_TO_STARTUP_DELAY_IN_MS=2000;const MIN_DRAW_DELAY_IN_MS=80;const MAX_DRAW_DELAY_IN_MS=2000;function findProcess(processName,model){for(const pid in model.processes){const process=model.processes[pid];if(process.name===processName){return process;}} 8061return undefined;} 8062function findThreads(process,threadPrefix){if(process===undefined)return undefined;const threads=[];for(const tid in process.threads){const thread=process.threads[tid];if(thread.name.startsWith(threadPrefix)){threads.push(thread);}} 8063return threads;} 8064function findUIThread(process){if(process===undefined)return undefined;const threads=findThreads(process,'UI Thread');if(threads!==undefined&&threads.length===1){return threads[0];} 8065return process.threads[process.pid];} 8066function findLaunchSlices(model){const launches=[];const binders=findThreads(findProcess('system_server',model),'Binder');for(const binderId in binders){const binder=binders[binderId];for(const sliceId in binder.asyncSliceGroup.slices){const slice=binder.asyncSliceGroup.slices[sliceId];if(slice.title.startsWith('launching:')){launches.push(slice);}}} 8067return launches;} 8068function findDrawSlice(appName,startNotBefore,model){let drawSlice=undefined;const thread=findUIThread(findProcess(appName,model));if(thread===undefined)return undefined;for(const sliceId in thread.sliceGroup.slices){const slice=thread.sliceGroup.slices[sliceId];if(slice.start<startNotBefore+MIN_DRAW_DELAY_IN_MS||slice.start>startNotBefore+MAX_DRAW_DELAY_IN_MS)continue;if(slice.title!=='draw')continue;if(drawSlice===undefined||slice.start<drawSlice.start){drawSlice=slice;}} 8069return drawSlice;} 8070function findInputEventSlice(endNotAfter,model){const endNotBefore=endNotAfter-MAX_INPUT_EVENT_TO_STARTUP_DELAY_IN_MS;let inputSlice=undefined;const systemUi=findUIThread(findProcess('com.android.systemui',model));if(systemUi===undefined)return undefined;for(const sliceId in systemUi.asyncSliceGroup.slices){const slice=systemUi.asyncSliceGroup.slices[sliceId];if(slice.end>endNotAfter||slice.end<endNotBefore)continue;if(slice.title!=='deliverInputEvent')continue;if(inputSlice===undefined||slice.end>inputSlice.end){inputSlice=slice;}} 8071return inputSlice;} 8072function computeStartupTimeInMs(appName,launchSlice,model){let startupStart=launchSlice.start;let startupEnd=launchSlice.end;const drawSlice=findDrawSlice(appName,launchSlice.end,model);if(drawSlice!==undefined){startupEnd=drawSlice.end;} 8073const inputSlice=findInputEventSlice(launchSlice.start,model);if(inputSlice!==undefined){startupStart=inputSlice.start;} 8074return startupEnd-startupStart;} 8075function measureStartup(histograms,model){const launches=findLaunchSlices(model);for(const sliceId in launches){const launchSlice=launches[sliceId];const appName=launchSlice.title.split(': ')[1];const startupMs=computeStartupTimeInMs(appName,launchSlice,model);histograms.createHistogram(`android:systrace:startup:${appName}`,tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,startupMs);}} 8076function measureThreadStates(histograms,model,rangeOfInterest){for(const pid in model.processes){const process=model.processes[pid];if(process.name===undefined)continue;let hasSlices=false;let timeRunning=0;let timeRunnable=0;let timeSleeping=0;let timeUninterruptible=0;let timeBlockIO=0;let timeUnknown=0;for(const tid in process.threads){const thread=process.threads[tid];if(thread.timeSlices===undefined)continue;for(const sliceId in thread.timeSlices){const slice=thread.timeSlices[sliceId];const sliceRange=tr.b.math.Range.fromExplicitRange(slice.start,slice.end);const intersection=rangeOfInterest.findIntersection(sliceRange);const duration=intersection.duration;if(duration===0)continue;hasSlices=true;if(slice.title==='Running'){timeRunning+=duration;}else if(slice.title==='Runnable'){timeRunnable+=duration;}else if(slice.title==='Sleeping'){timeSleeping+=duration;}else if(slice.title.startsWith('Uninterruptible')){timeUninterruptible+=duration;if(slice.title.includes('Block I/O'))timeBlockIO+=duration;}else{timeUnknown+=duration;}}} 8077if(hasSlices){const wall=rangeOfInterest.max-rangeOfInterest.min;histograms.createHistogram(`android:systrace:threadtime:${process.name}:running`,tr.b.Unit.byName.normalizedPercentage,timeRunning/wall);histograms.createHistogram(`android:systrace:threadtime:${process.name}:runnable`,tr.b.Unit.byName.normalizedPercentage,timeRunnable/wall);histograms.createHistogram(`android:systrace:threadtime:${process.name}:sleeping`,tr.b.Unit.byName.normalizedPercentage,timeSleeping/wall);histograms.createHistogram(`android:systrace:threadtime:${process.name}:blockio`,tr.b.Unit.byName.normalizedPercentage,timeBlockIO/wall);histograms.createHistogram(`android:systrace:threadtime:${process.name}:uninterruptible`,tr.b.Unit.byName.normalizedPercentage,timeUninterruptible/wall);if(timeUnknown>0){histograms.createHistogram(`android:systrace:threadtime:${process.name}:unknown`,tr.b.Unit.byName.normalizedPercentage,timeUnknown/wall);}}}} 8078function androidSystraceMetric(histograms,model,options){let rangeOfInterest=model.bounds;if(options!==undefined&&options.rangeOfInterest!==undefined){rangeOfInterest=options.rangeOfInterest;} 8079measureStartup(histograms,model);measureThreadStates(histograms,model,rangeOfInterest);} 8080tr.metrics.MetricRegistry.register(androidSystraceMetric,{supportsRangeOfInterest:true});return{androidSystraceMetric,};});'use strict';tr.exportTo('tr.b.math',function(){const PERCENTILE_PRECISION=1e-7;function PiecewiseLinearFunction(){this.pieces=[];} 8081PiecewiseLinearFunction.prototype={push(x1,y1,x2,y2){if(x1>=x2){throw new Error('Invalid segment');} 8082if(this.pieces.length>0&&this.pieces[this.pieces.length-1].x2>x1){throw new Error('Potentially overlapping segments');} 8083if(x1<x2){this.pieces.push(new Piece(x1,y1,x2,y2));}},partBelow(y){return this.pieces.reduce((acc,p)=>(acc+p.partBelow(y)),0);},get min(){return this.pieces.reduce((acc,p)=>Math.min(acc,p.min),Infinity);},get max(){return this.pieces.reduce((acc,p)=>Math.max(acc,p.max),-Infinity);},get average(){let weightedSum=0;let totalWeight=0;this.pieces.forEach(function(piece){weightedSum+=piece.width*piece.average;totalWeight+=piece.width;});if(totalWeight===0)return 0;return weightedSum/totalWeight;},percentile(percent){if(!(percent>=0&&percent<=1)){throw new Error('percent must be [0,1]');} 8084let lower=this.min;let upper=this.max;const total=this.partBelow(upper);if(total===0)return 0;while(upper-lower>PERCENTILE_PRECISION){const middle=(lower+upper)/2;const below=this.partBelow(middle);if(below/total<percent){lower=middle;}else{upper=middle;}} 8085return(lower+upper)/2;}};function Piece(x1,y1,x2,y2){this.x1=x1;this.y1=y1;this.x2=x2;this.y2=y2;} 8086Piece.prototype={partBelow(y){const width=this.width;if(width===0)return 0;const minY=this.min;const maxY=this.max;if(y>=maxY)return width;if(y<minY)return 0;return(y-minY)/(maxY-minY)*width;},get min(){return Math.min(this.y1,this.y2);},get max(){return Math.max(this.y1,this.y2);},get average(){return(this.y1+this.y2)/2;},get width(){return this.x2-this.x1;}};return{PiecewiseLinearFunction,};});'use strict';tr.exportTo('tr.metrics.v8.utils',function(){const IDLE_TASK_EVENT='SingleThreadIdleTaskRunner::RunTask';const V8_EXECUTE='V8.Execute';const GC_EVENT_PREFIX='V8.GC';const FULL_GC_EVENT='V8.GCCompactor';const LOW_MEMORY_EVENT='V8.GCLowMemoryNotification';const MAJOR_GC_EVENT='MajorGC';const MINOR_GC_EVENT='MinorGC';const TOP_GC_EVENTS={'V8.GCCompactor':'v8-gc-full-mark-compactor','V8.GCFinalizeMC':'v8-gc-latency-mark-compactor','V8.GCFinalizeMCReduceMemory':'v8-gc-memory-mark-compactor','V8.GCIncrementalMarking':'v8-gc-incremental-step','V8.GCIncrementalMarkingFinalize':'v8-gc-incremental-finalize','V8.GCIncrementalMarkingStart':'v8-gc-incremental-start','V8.GCPhantomHandleProcessingCallback':'v8-gc-phantom-handle-callback','V8.GCScavenger':'v8-gc-scavenger'};const LOW_MEMORY_MARK_COMPACTOR='v8-gc-low-memory-mark-compactor';function findParent(event,predicate){let parent=event.parentSlice;while(parent){if(predicate(parent)){return parent;} 8087parent=parent.parentSlice;} 8088return null;} 8089function isIdleTask(event){return event.title===IDLE_TASK_EVENT;} 8090function isLowMemoryEvent(event){return event.title===LOW_MEMORY_EVENT;} 8091function isV8Event(event){return event.title.startsWith('V8.');} 8092function isV8ExecuteEvent(event){return event.title===V8_EXECUTE;} 8093function isTopV8ExecuteEvent(event){return isV8ExecuteEvent(event)&&findParent(isV8ExecuteEvent)===null;} 8094function isGarbageCollectionEvent(event){return event.title&&event.title.startsWith(GC_EVENT_PREFIX)&&event.title!==LOW_MEMORY_EVENT;} 8095function isTopGarbageCollectionEvent(event){return event.title in TOP_GC_EVENTS;} 8096function isForcedGarbageCollectionEvent(event){return findParent(event,isLowMemoryEvent)!==null;} 8097function isSubGarbageCollectionEvent(event){return isGarbageCollectionEvent(event)&&event.parentSlice&&(isTopGarbageCollectionEvent(event.parentSlice)||event.parentSlice.title===MAJOR_GC_EVENT||event.parentSlice.title===MINOR_GC_EVENT);} 8098function isCompileOptimizeEvent(event){return(event.title==='V8.OptimizeCode'||event.title==='V8.RecompileSynchronous'||event.title==='V8.RecompileConcurrent');} 8099function isCompileUnoptimizeEvent(event){return(event.title==='V8.CompileIgnition'||event.title==='V8.CompileUnoptimizedInnerFunctions'||event.title==='V8.Compile'||event.title==='V8.CompileEval'||event.title==='V8.CompileCode'||event.title==='V8.CompileScript');} 8100function isCompileParseEvent(event){return(event.title==='V8.PreParse'||event.title==='V8.ParseFunction'||event.title==='V8.ParseProgram');} 8101function isCompileEvent(event){return tr.b.getCategoryParts(event.category).includes('disabled-by-default-v8.compile');} 8102function isFullMarkCompactorEvent(event){return event.title==='V8.GCCompactor';} 8103function isIncrementalMarkingEvent(event){return event.title.startsWith('V8.GCIncrementalMarking');} 8104function isLatencyMarkCompactorEvent(event){return event.title==='V8.GCFinalizeMC';} 8105function isMemoryMarkCompactorEvent(event){return event.title==='V8.GCFinalizeMCReduceMemory';} 8106function isScavengerEvent(event){return event.title==='V8.GCScavenger';} 8107function topGarbageCollectionEventName(event){if(event.title===FULL_GC_EVENT){if(findParent(event,isLowMemoryEvent)){return LOW_MEMORY_MARK_COMPACTOR;}} 8108return TOP_GC_EVENTS[event.title];} 8109function subGarbageCollectionEventName(event){const topEvent=findParent(event,isTopGarbageCollectionEvent);const prefix=topEvent?topGarbageCollectionEventName(topEvent):'unknown';const name=event.title.replace('V8.GC_MC_','').replace('V8.GC_SCAVENGER_','').replace('V8.GC_','').replace(/_/g,'-').toLowerCase();return prefix+'-'+name;} 8110function groupAndProcessEvents(model,filterCallback,nameCallback,processCallback){const nameToEvents={};for(const event of model.getDescendantEvents()){if(!filterCallback(event))continue;const name=nameCallback(event);nameToEvents[name]=nameToEvents[name]||[];nameToEvents[name].push(event);} 8111for(const[name,events]of Object.entries(nameToEvents)){processCallback(name,events);}} 8112function unionOfIntervals(intervals){if(intervals.length===0)return[];return tr.b.math.mergeRanges(intervals.map(x=>{return{min:x.start,max:x.end};}),1e-6,function(ranges){return{start:ranges.reduce((acc,x)=>Math.min(acc,x.min),ranges[0].min),end:ranges.reduce((acc,x)=>Math.max(acc,x.max),ranges[0].max)};});} 8113function hasV8Stats(globalMemoryDump){let v8stats=undefined;globalMemoryDump.iterateContainerDumps(function(dump){v8stats=v8stats||dump.getMemoryAllocatorDumpByFullName('v8');});return!!v8stats;} 8114function rangeForMemoryDumps(model){const startOfFirstDumpWithV8=model.globalMemoryDumps.filter(hasV8Stats).reduce((start,dump)=>Math.min(start,dump.start),Infinity);if(startOfFirstDumpWithV8===Infinity)return new tr.b.math.Range();return tr.b.math.Range.fromExplicitRange(startOfFirstDumpWithV8,Infinity);} 8115return{findParent,groupAndProcessEvents,isCompileEvent,isCompileOptimizeEvent,isCompileUnoptimizeEvent,isCompileParseEvent,isForcedGarbageCollectionEvent,isFullMarkCompactorEvent,isGarbageCollectionEvent,isIdleTask,isIncrementalMarkingEvent,isLatencyMarkCompactorEvent,isLowMemoryEvent,isMemoryMarkCompactorEvent,isScavengerEvent,isSubGarbageCollectionEvent,isTopGarbageCollectionEvent,isTopV8ExecuteEvent,isV8Event,isV8ExecuteEvent,rangeForMemoryDumps,subGarbageCollectionEventName,topGarbageCollectionEventName,unionOfIntervals,};});'use strict';tr.exportTo('tr.metrics.blink',function(){const BLINK_GC_EVENTS={'BlinkGCMarking':'blink-gc-marking','ThreadState::completeSweep':'blink-gc-complete-sweep','ThreadState::performIdleLazySweep':'blink-gc-idle-lazy-sweep'};function isBlinkGarbageCollectionEvent(event){return event.title in BLINK_GC_EVENTS;} 8116function blinkGarbageCollectionEventName(event){return BLINK_GC_EVENTS[event.title];} 8117function blinkGcMetric(histograms,model){addDurationOfTopEvents(histograms,model);addTotalDurationOfTopEvents(histograms,model);addIdleTimesOfTopEvents(histograms,model);addTotalIdleTimesOfTopEvents(histograms,model);} 8118tr.metrics.MetricRegistry.register(blinkGcMetric);const timeDurationInMs_smallerIsBetter=tr.b.Unit.byName.timeDurationInMs_smallerIsBetter;const percentage_biggerIsBetter=tr.b.Unit.byName.normalizedPercentage_biggerIsBetter;const CUSTOM_BOUNDARIES=tr.v.HistogramBinBoundaries.createLinear(0,20,200).addExponentialBins(200,100);function createNumericForTopEventTime(name){const n=new tr.v.Histogram(name,timeDurationInMs_smallerIsBetter,CUSTOM_BOUNDARIES);n.customizeSummaryOptions({avg:true,count:true,max:true,min:false,std:true,sum:true,percentile:[0.90]});return n;} 8119function createNumericForIdleTime(name){const n=new tr.v.Histogram(name,timeDurationInMs_smallerIsBetter,CUSTOM_BOUNDARIES);n.customizeSummaryOptions({avg:true,count:false,max:true,min:false,std:false,sum:true,percentile:[]});return n;} 8120function createPercentage(name,numerator,denominator){const histogram=new tr.v.Histogram(name,percentage_biggerIsBetter);if(denominator===0){histogram.addSample(0);}else{histogram.addSample(numerator/denominator);} 8121return histogram;} 8122function addDurationOfTopEvents(histograms,model){tr.metrics.v8.utils.groupAndProcessEvents(model,isBlinkGarbageCollectionEvent,blinkGarbageCollectionEventName,function(name,events){const cpuDuration=createNumericForTopEventTime(name);events.forEach(function(event){cpuDuration.addSample(event.cpuDuration);});histograms.addHistogram(cpuDuration);});} 8123function addTotalDurationOfTopEvents(histograms,model){tr.metrics.v8.utils.groupAndProcessEvents(model,isBlinkGarbageCollectionEvent,event=>'blink-gc-total',function(name,events){const cpuDuration=createNumericForTopEventTime(name);events.forEach(function(event){cpuDuration.addSample(event.cpuDuration);});histograms.addHistogram(cpuDuration);});} 8124function addIdleTimesOfTopEvents(histograms,model){tr.metrics.v8.utils.groupAndProcessEvents(model,isBlinkGarbageCollectionEvent,blinkGarbageCollectionEventName,function(name,events){addIdleTimes(histograms,model,name,events);});} 8125function addTotalIdleTimesOfTopEvents(histograms,model){tr.metrics.v8.utils.groupAndProcessEvents(model,isBlinkGarbageCollectionEvent,event=>'blink-gc-total',function(name,events){addIdleTimes(histograms,model,name,events);});} 8126function addIdleTimes(histograms,model,name,events){const cpuDuration=createNumericForIdleTime(name+'_cpu');const insideIdle=createNumericForIdleTime(name+'_inside_idle');const outsideIdle=createNumericForIdleTime(name+'_outside_idle');const idleDeadlineOverrun=createNumericForIdleTime(name+'_idle_deadline_overrun');events.forEach(function(event){const idleTask=tr.metrics.v8.utils.findParent(event,tr.metrics.v8.utils.isIdleTask);let inside=0;let overrun=0;if(idleTask){const allottedTime=idleTask.args.allotted_time_ms;if(event.duration>allottedTime){overrun=event.duration-allottedTime;inside=event.cpuDuration*allottedTime/event.duration;}else{inside=event.cpuDuration;}} 8127cpuDuration.addSample(event.cpuDuration);insideIdle.addSample(inside);outsideIdle.addSample(event.cpuDuration-inside);idleDeadlineOverrun.addSample(overrun);});histograms.addHistogram(idleDeadlineOverrun);histograms.addHistogram(outsideIdle);const percentage=createPercentage(name+'_percentage_idle',insideIdle.sum,cpuDuration.sum);histograms.addHistogram(percentage);} 8128return{blinkGcMetric,};});'use strict';tr.exportTo('tr.metrics.sh',function(){function getCpuSnapshotsFromModel(model){const snapshots=[];for(const pid in model.processes){const snapshotInstances=model.processes[pid].objects.getAllInstancesNamed('CPUSnapshots');if(!snapshotInstances)continue;for(const object of snapshotInstances[0].snapshots){snapshots.push(object.args.processes);}} 8129return snapshots;} 8130function getProcessSumsFromSnapshot(snapshot){const processSums=new Map();for(const processData of snapshot){const processName=processData.name;if(!(processSums.has(processName))){processSums.set(processName,{sum:0.0,paths:new Set()});} 8131processSums.get(processName).sum+=parseFloat(processData.pCpu);if(processData.path){processSums.get(processName).paths.add(processData.path);}} 8132return processSums;} 8133function buildNumericsFromSnapshots(snapshots){const processNumerics=new Map();for(const snapshot of snapshots){const processSums=getProcessSumsFromSnapshot(snapshot);for(const[processName,processData]of processSums.entries()){if(!(processNumerics.has(processName))){processNumerics.set(processName,{numeric:new tr.v.Histogram('cpu:percent:'+processName,tr.b.Unit.byName.normalizedPercentage_smallerIsBetter),paths:new Set()});} 8134processNumerics.get(processName).numeric.addSample(processData.sum/100.0);for(const path of processData.paths){processNumerics.get(processName).paths.add(path);}}} 8135return processNumerics;} 8136function cpuProcessMetric(histograms,model){const snapshots=getCpuSnapshotsFromModel(model);const processNumerics=buildNumericsFromSnapshots(snapshots);for(const[processName,processData]of processNumerics){const numeric=processData.numeric;const missingSnapshotCount=snapshots.length-numeric.numValues;for(let i=0;i<missingSnapshotCount;i++){numeric.addSample(0);} 8137numeric.diagnostics.set('paths',new 8138tr.v.d.Generic([...processData.paths]));histograms.addHistogram(numeric);}} 8139tr.metrics.MetricRegistry.register(cpuProcessMetric);return{cpuProcessMetric,};});'use strict';tr.exportTo('tr.metrics',function(){function sampleMetric(histograms,model){const hist=new tr.v.Histogram('foo',tr.b.Unit.byName.sizeInBytes_smallerIsBetter);hist.addSample(9);hist.addSample(91,{bar:new tr.v.d.Generic({hello:42})});for(const expectation of model.userModel.expectations){if(expectation instanceof tr.model.um.ResponseExpectation){}else if(expectation instanceof tr.model.um.AnimationExpectation){}else if(expectation instanceof tr.model.um.IdleExpectation){}else if(expectation instanceof tr.model.um.LoadExpectation){}} 8140const chromeHelper=model.getOrCreateHelper(tr.model.helpers.ChromeModelHelper);for(const[pid,process]of Object.entries(model.processes)){} 8141histograms.addHistogram(hist);} 8142tr.metrics.MetricRegistry.register(sampleMetric);return{sampleMetric,};});'use strict';tr.exportTo('tr.metrics',function(){const HANDLE_INPUT_EVENT_TITLE='WebViewImpl::handleInputEvent';function findPrecedingEvents_(eventsA,eventsB){const events=new Map();let eventsBIndex=0;for(const eventA of eventsA){for(;eventsBIndex<eventsB.length;eventsBIndex++){if(eventsB[eventsBIndex].start>eventA.start)break;} 8143if(eventsBIndex>0){events.set(eventA,eventsB[eventsBIndex-1]);}} 8144return events;} 8145function findFollowingEvents_(eventsA,eventsB){const events=new Map();let eventsBIndex=0;for(const eventA of eventsA){for(;eventsBIndex<eventsB.length;eventsBIndex++){if(eventsB[eventsBIndex].start>=eventA.start)break;} 8146if(eventsBIndex>=0&&eventsBIndex<eventsB.length){events.set(eventA,eventsB[eventsBIndex]);}} 8147return events;} 8148function getSpaNavigationStartCandidates_(rendererHelper,browserHelper){const isNavStartEvent=e=>{if(e.title===HANDLE_INPUT_EVENT_TITLE&&e.args.type==='MouseUp'){return true;} 8149return e.title==='NavigationControllerImpl::GoToIndex';};return[...rendererHelper.mainThread.sliceGroup.getDescendantEvents(),...browserHelper.mainThread.sliceGroup.getDescendantEvents()].filter(isNavStartEvent);} 8150function getSpaNavigationEvents_(rendererHelper){const isNavEvent=e=>e.category==='blink'&&e.title==='FrameLoader::updateForSameDocumentNavigation';return[...rendererHelper.mainThread.sliceGroup.getDescendantEvents()].filter(isNavEvent);} 8151function getInputLatencyEvents_(browserHelper){const isInputLatencyEvent=e=>e.title==='InputLatency::MouseUp';return browserHelper.getAllAsyncSlicesMatching(isInputLatencyEvent);} 8152function getInputLatencyEventByBindIdMap_(browserHelper){const inputLatencyEventByBindIdMap=new Map();for(const event of getInputLatencyEvents_(browserHelper)){inputLatencyEventByBindIdMap.set(event.args.data.trace_id,event);} 8153return inputLatencyEventByBindIdMap;} 8154function getSpaNavigationEventToNavigationStartMap_(rendererHelper,browserHelper){const mainThread=rendererHelper.mainThread;const spaNavEvents=getSpaNavigationEvents_(rendererHelper);const navStartCandidates=getSpaNavigationStartCandidates_(rendererHelper,browserHelper).sort(tr.importer.compareEvents);const spaNavEventToNavStartCandidateMap=findPrecedingEvents_(spaNavEvents,navStartCandidates);const inputLatencyEventByBindIdMap=getInputLatencyEventByBindIdMap_(browserHelper);const spaNavEventToNavStartEventMap=new Map();for(const[spaNavEvent,navStartCandidate]of 8155spaNavEventToNavStartCandidateMap){if(navStartCandidate.title===HANDLE_INPUT_EVENT_TITLE){const inputLatencySlice=inputLatencyEventByBindIdMap.get(Number(navStartCandidate.parentSlice.bindId));if(inputLatencySlice){spaNavEventToNavStartEventMap.set(spaNavEvent,inputLatencySlice);}}else{spaNavEventToNavStartEventMap.set(spaNavEvent,navStartCandidate);}} 8156return spaNavEventToNavStartEventMap;} 8157function getFirstPaintEvents_(rendererHelper){const isFirstPaintEvent=e=>e.category==='blink'&&e.title==='PaintLayerCompositor::updateIfNeededRecursive';return[...rendererHelper.mainThread.sliceGroup.getDescendantEvents()].filter(isFirstPaintEvent);} 8158function getSpaNavigationEventToFirstPaintEventMap_(rendererHelper){const spaNavEvents=getSpaNavigationEvents_(rendererHelper).sort(tr.importer.compareEvents);const firstPaintEvents=getFirstPaintEvents_(rendererHelper).sort(tr.importer.compareEvents);return findFollowingEvents_(spaNavEvents,firstPaintEvents);} 8159function findSpaNavigationsOnRenderer(rendererHelper,browserHelper){const spaNavEventToNavStartMap=getSpaNavigationEventToNavigationStartMap_(rendererHelper,browserHelper);const spaNavEventToFirstPaintEventMap=getSpaNavigationEventToFirstPaintEventMap_(rendererHelper);const spaNavigations=[];for(const[spaNavEvent,navStartEvent]of 8160spaNavEventToNavStartMap){if(spaNavEventToFirstPaintEventMap.has(spaNavEvent)){const firstPaintEvent=spaNavEventToFirstPaintEventMap.get(spaNavEvent);const isNavStartAsyncSlice=navStartEvent instanceof tr.model.AsyncSlice;spaNavigations.push({navStartCandidates:{inputLatencyAsyncSlice:isNavStartAsyncSlice?navStartEvent:undefined,goToIndexSlice:isNavStartAsyncSlice?undefined:navStartEvent},firstPaintEvent,url:spaNavEvent.args.url});}} 8161return spaNavigations;} 8162return{findSpaNavigationsOnRenderer,};});'use strict';tr.exportTo('tr.metrics.sh',function(){function perceptualBlend(ir,index,score){return Math.exp(1-score);} 8163function filterExpectationsByRange(irs,opt_range){const filteredExpectations=[];irs.forEach(function(ir){if(!(ir instanceof tr.model.um.UserExpectation))return;if(!opt_range||opt_range.intersectsExplicitRangeInclusive(ir.start,ir.end)){filteredExpectations.push(ir);}});return filteredExpectations;} 8164return{perceptualBlend,filterExpectationsByRange,};});'use strict';tr.exportTo('tr.metrics.sh',function(){function generateTimeBreakdownTree(mainThread,rangeOfInterest,getEventStart,getEventDuration,getEventSelfTime){if(mainThread===null)return;const breakdownTree={};for(const title of 8165tr.e.chrome.ChromeUserFriendlyCategoryDriver.ALL_TITLES){breakdownTree[title]={total:0,events:{}};} 8166for(const event of mainThread.getDescendantEvents()){const eventStart=getEventStart(event);const eventDuration=getEventDuration(event);const eventSelfTime=getEventSelfTime(event);const eventEnd=eventStart+eventDuration;if(!rangeOfInterest.intersectsExplicitRangeExclusive(eventStart,eventEnd)){continue;} 8167if(eventSelfTime===undefined)continue;const title=tr.e.chrome.ChromeUserFriendlyCategoryDriver.fromEvent(event);let timeIntersectionRatio=0;if(eventDuration>0){timeIntersectionRatio=rangeOfInterest.findExplicitIntersectionDuration(eventStart,eventEnd)/eventDuration;} 8168const v8Runtime=event.args['runtime-call-stat'];if(v8Runtime!==undefined){const v8RuntimeObject=JSON.parse(v8Runtime);for(const runtimeCall in v8RuntimeObject){if(v8RuntimeObject[runtimeCall].length===2){if(breakdownTree.v8_runtime.events[runtimeCall]===undefined){breakdownTree.v8_runtime.events[runtimeCall]=0;} 8169const runtimeTime=tr.b.Unit.timestampFromUs(v8RuntimeObject[runtimeCall][1]*timeIntersectionRatio);breakdownTree.v8_runtime.total+=runtimeTime;breakdownTree.v8_runtime.events[runtimeCall]+=runtimeTime;}}} 8170const approximatedSelfTimeContribution=eventSelfTime*timeIntersectionRatio;breakdownTree[title].total+=approximatedSelfTimeContribution;if(breakdownTree[title].events[event.title]===undefined){breakdownTree[title].events[event.title]=0;} 8171breakdownTree[title].events[event.title]+=approximatedSelfTimeContribution;} 8172return breakdownTree;} 8173function addIdleAndBlockByNetworkBreakdown_(breakdownTree,mainThreadEvents,networkEvents,rangeOfInterest){let idleRanges=[rangeOfInterest];const mainThreadEventRanges=tr.b.math.convertEventsToRanges(mainThreadEvents);const networkEventRanges=tr.b.math.convertEventsToRanges(networkEvents);const eventRanges=mainThreadEventRanges.concat(networkEventRanges);eventRanges.sort((a,b)=>a.min-b.min);for(const eventRange of eventRanges){if(!eventRange||eventRange.isEmpty||eventRange.duration<0){throw new Error('Range is invalid');} 8174const newLastIdleRanges=tr.b.math.Range.findDifference(idleRanges[idleRanges.length-1],eventRange);idleRanges.pop();idleRanges=idleRanges.concat(newLastIdleRanges);if(idleRanges.length===0)break;} 8175const totalFreeDuration=tr.b.math.Statistics.sum(idleRanges,range=>range.duration);breakdownTree.idle={total:totalFreeDuration,events:{}};let totalBlockedDuration=rangeOfInterest.duration;for(const component of Object.values(breakdownTree)){totalBlockedDuration-=component.total;} 8176breakdownTree.blocked_on_network={total:totalBlockedDuration,events:{}};} 8177function generateWallClockTimeBreakdownTree(mainThread,networkEvents,rangeOfInterest){function getEventStart(e){return e.start;} 8178function getEventDuration(e){return e.duration;} 8179function getEventSelfTime(e){return e.selfTime;} 8180const breakdownTree=generateTimeBreakdownTree(mainThread,rangeOfInterest,getEventStart,getEventDuration,getEventSelfTime);const mainThreadEventsInRange=tr.model.helpers.getSlicesIntersectingRange(rangeOfInterest,mainThread.sliceGroup.topLevelSlices);addIdleAndBlockByNetworkBreakdown_(breakdownTree,mainThreadEventsInRange,networkEvents,rangeOfInterest);return breakdownTree;} 8181function generateCpuTimeBreakdownTree(mainThread,rangeOfInterestCpuTime){function getEventStart(e){return e.cpuStart;} 8182function getEventDuration(e){return e.cpuDuration;} 8183function getEventSelfTime(e){return e.cpuSelfTime;} 8184return generateTimeBreakdownTree(mainThread,rangeOfInterestCpuTime,getEventStart,getEventDuration,getEventSelfTime);} 8185return{generateTimeBreakdownTree,generateWallClockTimeBreakdownTree,generateCpuTimeBreakdownTree,};});'use strict';tr.exportTo('tr.metrics.sh',function(){const RESPONSIVENESS_THRESHOLD_MS=50;const INTERACTIVE_WINDOW_SIZE_MS=5*1000;const timeDurationInMs_smallerIsBetter=tr.b.Unit.byName.timeDurationInMs_smallerIsBetter;const RelatedEventSet=tr.v.d.RelatedEventSet;function getNetworkEventsInRange(process,range){const networkEvents=[];for(const thread of Object.values(process.threads)){const threadHelper=new tr.model.helpers.ChromeThreadHelper(thread);const events=threadHelper.getNetworkEvents();for(const event of events){if(range.intersectsExplicitRangeInclusive(event.start,event.end)){networkEvents.push(event);}}} 8186return networkEvents;} 8187function hasCategoryAndName(event,category,title){return event.title===title&&event.category&&tr.b.getCategoryParts(event.category).includes(category);} 8188function createBreakdownDiagnostic(breakdownTree){const breakdownDiagnostic=new tr.v.d.Breakdown();breakdownDiagnostic.colorScheme=tr.v.d.COLOR_SCHEME_CHROME_USER_FRIENDLY_CATEGORY_DRIVER;for(const label in breakdownTree){breakdownDiagnostic.set(label,breakdownTree[label].total);} 8189return breakdownDiagnostic;} 8190function NavigationStartFinder(rendererHelper){this.navigationStartsForFrameId_={};for(const ev of rendererHelper.mainThread.sliceGroup.childEvents()){if(!hasCategoryAndName(ev,'blink.user_timing','navigationStart')){continue;} 8191const frameIdRef=ev.args.frame;let list=this.navigationStartsForFrameId_[frameIdRef];if(list===undefined){this.navigationStartsForFrameId_[frameIdRef]=list=[];} 8192list.unshift(ev);}} 8193NavigationStartFinder.prototype={findNavigationStartEventForFrameBeforeTimestamp(frameIdRef,ts){const list=this.navigationStartsForFrameId_[frameIdRef];if(list===undefined)return undefined;let eventBeforeTimestamp;for(const ev of list){if(ev.start>ts)continue;if(eventBeforeTimestamp===undefined){eventBeforeTimestamp=ev;}} 8194if(eventBeforeTimestamp===undefined)return undefined;return eventBeforeTimestamp;}};const FIRST_PAINT_BOUNDARIES=tr.v.HistogramBinBoundaries.createLinear(0,1e3,20).addLinearBins(3e3,20).addExponentialBins(20e3,20);function createHistogram(name){const histogram=new tr.v.Histogram(name,timeDurationInMs_smallerIsBetter,FIRST_PAINT_BOUNDARIES);histogram.customizeSummaryOptions({avg:true,count:false,max:true,min:true,std:true,sum:false,});return histogram;} 8195function findFrameLoaderSnapshotAt(rendererHelper,frameIdRef,ts){const objects=rendererHelper.process.objects;const frameLoaderInstances=objects.instancesByTypeName_.FrameLoader;if(frameLoaderInstances===undefined)return undefined;let snapshot;for(const instance of frameLoaderInstances){if(!instance.isAliveAt(ts))continue;const maybeSnapshot=instance.getSnapshotAt(ts);if(frameIdRef!==maybeSnapshot.args.frame.id_ref)continue;snapshot=maybeSnapshot;} 8196return snapshot;} 8197function findAllEvents(rendererHelper,category,title){const targetEvents=[];for(const ev of rendererHelper.process.getDescendantEvents()){if(!hasCategoryAndName(ev,category,title))continue;targetEvents.push(ev);} 8198return targetEvents;} 8199function findFirstMeaningfulPaintCandidates(rendererHelper){const candidatesForFrameId={};for(const ev of rendererHelper.process.getDescendantEvents()){if(!hasCategoryAndName(ev,'loading','firstMeaningfulPaintCandidate')){continue;} 8200if(rendererHelper.isTelemetryInternalEvent(ev))continue;const frameIdRef=ev.args.frame;if(frameIdRef===undefined)continue;let list=candidatesForFrameId[frameIdRef];if(list===undefined){candidatesForFrameId[frameIdRef]=list=[];} 8201list.push(ev);} 8202return candidatesForFrameId;} 8203const URL_EXCLUSION=['about:blank','data:text/html,pluginplaceholderdata','data:text/html,chromewebdata'];function shouldIgnoreURL(url){return URL_EXCLUSION.includes(url);} 8204function collectTimeToEvent(category,eventName,rendererHelper,navigationStartFinder){const targetEvents=findAllEvents(rendererHelper,category,eventName);const samples=[];for(const ev of targetEvents){if(rendererHelper.isTelemetryInternalEvent(ev))continue;const frameIdRef=ev.args.frame;const snapshot=findFrameLoaderSnapshotAt(rendererHelper,frameIdRef,ev.start);if(snapshot===undefined||!snapshot.args.isLoadingMainFrame)continue;const url=snapshot.args.documentLoaderURL;if(shouldIgnoreURL(url))continue;const navigationStartEvent=navigationStartFinder.findNavigationStartEventForFrameBeforeTimestamp(frameIdRef,ev.start);if(navigationStartEvent===undefined)continue;const timeToEvent=ev.start-navigationStartEvent.start;samples.push({value:timeToEvent,diagnostics:{url:new tr.v.d.Generic(url)}});} 8205return samples;} 8206function addFirstMeaningfulPaintSample(samples,rendererHelper,frameIdRef,navigationStart,fmpMarkerEvent){const snapshot=findFrameLoaderSnapshotAt(rendererHelper,frameIdRef,fmpMarkerEvent.start);if(!snapshot||!snapshot.args.isLoadingMainFrame)return;const url=snapshot.args.documentLoaderURL;if(shouldIgnoreURL(url))return;const navStartToFMPRange=tr.b.math.Range.fromExplicitRange(navigationStart.start,fmpMarkerEvent.start);const networkEvents=getNetworkEventsInRange(rendererHelper.process,navStartToFMPRange);const timeToFirstMeaningfulPaint=navStartToFMPRange.duration;const breakdownTree=tr.metrics.sh.generateWallClockTimeBreakdownTree(rendererHelper.mainThread,networkEvents,navStartToFMPRange);const breakdownDiagnostic=createBreakdownDiagnostic(breakdownTree);samples.push({value:timeToFirstMeaningfulPaint,diagnostics:{'Breakdown of [navStart, FMP]':breakdownDiagnostic,'Start':new RelatedEventSet(navigationStart),'End':new RelatedEventSet(fmpMarkerEvent),'Navigation infos':new tr.v.d.Generic({url,pid:rendererHelper.pid,start:navigationStart.start,fmp:fmpMarkerEvent.start}),}});return{firstMeaningfulPaint:fmpMarkerEvent.start,url};} 8207function addFirstMeaningfulPaintCpuTimeSample(samples,rendererHelper,frameIdRef,navigationStart,fmpMarkerEvent){const navStartToFMPCpuRange=tr.b.math.Range.fromExplicitRange(navigationStart.cpuStart,fmpMarkerEvent.cpuStart);const snapshot=findFrameLoaderSnapshotAt(rendererHelper,frameIdRef,fmpMarkerEvent.start);if(!snapshot||!snapshot.args.isLoadingMainFrame)return;const url=snapshot.args.documentLoaderURL;if(shouldIgnoreURL(url))return;const mainThreadCpuTime=getMainThreadCpuTime(rendererHelper,navStartToFMPCpuRange);const breakdownTree=tr.metrics.sh.generateCpuTimeBreakdownTree(rendererHelper.mainThread,navStartToFMPCpuRange);const breakdownDiagnostic=createBreakdownDiagnostic(breakdownTree);samples.push({value:mainThreadCpuTime,diagnostics:{'Breakdown of [navStart, FMP]':breakdownDiagnostic,'Start':new RelatedEventSet(navigationStart),'End':new RelatedEventSet(fmpMarkerEvent),'Navigation infos':new tr.v.d.Generic({url,pid:rendererHelper.pid,start:navigationStart.start,fmp:fmpMarkerEvent.start}),}});} 8208function getMainThreadCpuTime(rendererHelper,rangeOfInterest){let mainThreadCpuTime=0;for(const slice of rendererHelper.mainThread.sliceGroup.topLevelSlices){if(!slice.cpuDuration)continue;const sliceRange=tr.b.math.Range.fromExplicitRange(slice.cpuStart,slice.cpuStart+slice.cpuDuration);const intersection=rangeOfInterest.findIntersection(sliceRange);mainThreadCpuTime+=intersection.duration;} 8209return mainThreadCpuTime;} 8210function addFirstInteractiveSample(samples,rendererHelper,navigationStart,firstMeaningfulPaint,url){if(shouldIgnoreURL(url))return;const navigationStartTime=navigationStart.start;let firstInteractive=Infinity;let firstInteractiveCandidate=firstMeaningfulPaint;let lastLongTaskEvent=undefined;for(const ev of[...rendererHelper.mainThread.sliceGroup.childEvents()]){if(ev.start<firstInteractiveCandidate)continue;const interactiveDurationSoFar=ev.start-firstInteractiveCandidate;if(interactiveDurationSoFar>=INTERACTIVE_WINDOW_SIZE_MS){firstInteractive=firstInteractiveCandidate;break;} 8211if(ev.title==='TaskQueueManager::ProcessTaskFromWorkQueue'&&ev.duration>RESPONSIVENESS_THRESHOLD_MS){firstInteractiveCandidate=ev.end-50;lastLongTaskEvent=ev;}} 8212const navStartToFirstInteractiveRange=tr.b.math.Range.fromExplicitRange(navigationStartTime,firstInteractive);const networkEvents=getNetworkEventsInRange(rendererHelper.process,navStartToFirstInteractiveRange);const breakdownTree=tr.metrics.sh.generateWallClockTimeBreakdownTree(rendererHelper.mainThread,networkEvents,navStartToFirstInteractiveRange);const breakdownDiagnostic=createBreakdownDiagnostic(breakdownTree);const timeToFirstInteractive=navStartToFirstInteractiveRange.duration;samples.push({value:timeToFirstInteractive,diagnostics:{'Start':new RelatedEventSet(navigationStart),'Last long task':new RelatedEventSet(lastLongTaskEvent),'Navigation infos':new tr.v.d.Generic({url,pid:rendererHelper.pid,start:navigationStartTime,interactive:firstInteractive}),'Breakdown of [navStart, Interactive]':breakdownDiagnostic,}});} 8213function collectFirstMeaningfulPaintAndTimeToInteractiveForRenderer(rendererHelper,navigationStartFinder){const firstMeaningfulPaintSamples=[];const firstMeaningfulPaintCpuTimeSamples=[];const firstInteractiveSamples=[];function addSamples(frameIdRef,navigationStart,fmpMarkerEvent){const data=addFirstMeaningfulPaintSample(firstMeaningfulPaintSamples,rendererHelper,frameIdRef,navigationStart,fmpMarkerEvent);addFirstMeaningfulPaintCpuTimeSample(firstMeaningfulPaintCpuTimeSamples,rendererHelper,frameIdRef,navigationStart,fmpMarkerEvent);if(data!==undefined){addFirstInteractiveSample(firstInteractiveSamples,rendererHelper,navigationStart,data.firstMeaningfulPaint,data.url);}} 8214const candidatesForFrameId=findFirstMeaningfulPaintCandidates(rendererHelper);for(const frameIdRef in candidatesForFrameId){let navigationStart=undefined;let lastCandidate=undefined;for(const ev of candidatesForFrameId[frameIdRef]){const navigationStartForThisCandidate=navigationStartFinder.findNavigationStartEventForFrameBeforeTimestamp(frameIdRef,ev.start);if(navigationStartForThisCandidate===undefined)continue;if(navigationStart!==navigationStartForThisCandidate){if(navigationStart!==undefined&&lastCandidate!==undefined){addSamples(frameIdRef,navigationStart,lastCandidate);} 8215navigationStart=navigationStartForThisCandidate;} 8216lastCandidate=ev;} 8217if(lastCandidate!==undefined){addSamples(frameIdRef,navigationStart,lastCandidate);}} 8218return{firstMeaningfulPaintSamples,firstMeaningfulPaintCpuTimeSamples,firstInteractiveSamples};} 8219function collectLoadingMetricsForRenderer(rendererHelper){const navigationStartFinder=new NavigationStartFinder(rendererHelper);const firstContentfulPaintSamples=collectTimeToEvent('loading','firstContentfulPaint',rendererHelper,navigationStartFinder);const onLoadSamples=collectTimeToEvent('blink.user_timing','loadEventStart',rendererHelper,navigationStartFinder);const{firstMeaningfulPaintSamples,firstMeaningfulPaintCpuTimeSamples,firstInteractiveSamples}=collectFirstMeaningfulPaintAndTimeToInteractiveForRenderer(rendererHelper,navigationStartFinder);return{firstContentfulPaintSamples,onLoadSamples,firstMeaningfulPaintSamples,firstMeaningfulPaintCpuTimeSamples,firstInteractiveSamples};} 8220function addSamplesToHistogram(samples,histogram){for(const sample of samples){histogram.addSample(sample.value,sample.diagnostics);}} 8221function loadingMetric(histograms,model){const firstContentfulPaintHistogram=createHistogram('timeToFirstContentfulPaint');firstContentfulPaintHistogram.description='time to first contentful paint';const onLoadHistogram=createHistogram('timeToOnload');onLoadHistogram.description='time to onload. '+'This is temporary metric used for PCv1/v2 correctness checking';const firstMeaningfulPaintHistogram=createHistogram('timeToFirstMeaningfulPaint');firstMeaningfulPaintHistogram.description='time to first meaningful paint';const firstMeaningfulPaintCpuTimeHistogram=createHistogram('cpuTimeToFirstMeaningfulPaint');firstMeaningfulPaintCpuTimeHistogram.description='CPU time to first meaningful paint';const firstInteractiveHistogram=createHistogram('timeToFirstInteractive');firstInteractiveHistogram.description='time to first interactive';const chromeHelper=model.getOrCreateHelper(tr.model.helpers.ChromeModelHelper);for(const pid in chromeHelper.rendererHelpers){const rendererHelper=chromeHelper.rendererHelpers[pid];if(rendererHelper.isChromeTracingUI)continue;const{firstContentfulPaintSamples,onLoadSamples,firstMeaningfulPaintSamples,firstMeaningfulPaintCpuTimeSamples,firstInteractiveSamples}=collectLoadingMetricsForRenderer(rendererHelper);addSamplesToHistogram(firstContentfulPaintSamples,firstContentfulPaintHistogram);addSamplesToHistogram(onLoadSamples,onLoadHistogram);addSamplesToHistogram(firstMeaningfulPaintSamples,firstMeaningfulPaintHistogram);addSamplesToHistogram(firstMeaningfulPaintCpuTimeSamples,firstMeaningfulPaintCpuTimeHistogram);addSamplesToHistogram(firstInteractiveSamples,firstInteractiveHistogram);} 8222histograms.addHistogram(firstContentfulPaintHistogram);histograms.addHistogram(onLoadHistogram);histograms.addHistogram(firstMeaningfulPaintHistogram);histograms.addHistogram(firstMeaningfulPaintCpuTimeHistogram);histograms.addHistogram(firstInteractiveHistogram);} 8223tr.metrics.MetricRegistry.register(loadingMetric);return{loadingMetric,getNetworkEventsInRange,collectLoadingMetricsForRenderer,RESPONSIVENESS_THRESHOLD_MS,INTERACTIVE_WINDOW_SIZE_MS,};});'use strict';tr.exportTo('tr.metrics',function(){const SPA_NAVIGATION_START_TO_FIRST_PAINT_DURATION_BIN_BOUNDARY=tr.v.HistogramBinBoundaries.createExponential(1,1000,50);function spaNavigationMetric(histograms,model){const histogram=new tr.v.Histogram('spaNavigationStartToFpDuration',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,SPA_NAVIGATION_START_TO_FIRST_PAINT_DURATION_BIN_BOUNDARY);histogram.description='Latency between the input event causing'+' a SPA navigation and the first paint event after it';histogram.customizeSummaryOptions({count:false,sum:false,});const modelHelper=model.getOrCreateHelper(tr.model.helpers.ChromeModelHelper);if(!modelHelper){return;} 8224const rendererHelpers=modelHelper.rendererHelpers;if(!rendererHelpers){return;} 8225const browserHelper=modelHelper.browserHelper;for(const rendererHelper of Object.values(rendererHelpers)){const spaNavigations=tr.metrics.findSpaNavigationsOnRenderer(rendererHelper,browserHelper);for(const spaNav of spaNavigations){let beginTs=0;if(spaNav.navStartCandidates.inputLatencyAsyncSlice){const beginData=spaNav.navStartCandidates.inputLatencyAsyncSlice.args.data;beginTs=model.convertTimestampToModelTime('traceEventClock',beginData.INPUT_EVENT_LATENCY_BEGIN_RWH_COMPONENT.time);}else{beginTs=spaNav.navStartCandidates.goToIndexSlice.start;} 8226const rangeOfInterest=tr.b.math.Range.fromExplicitRange(beginTs,spaNav.firstPaintEvent.start);const networkEvents=tr.metrics.sh.getNetworkEventsInRange(rendererHelper.process,rangeOfInterest);const breakdownDict=tr.metrics.sh.generateWallClockTimeBreakdownTree(rendererHelper.mainThread,networkEvents,rangeOfInterest);const breakdownDiagnostic=new tr.v.d.Breakdown();breakdownDiagnostic.colorScheme=tr.v.d.COLOR_SCHEME_CHROME_USER_FRIENDLY_CATEGORY_DRIVER;for(const label in breakdownDict){breakdownDiagnostic.set(label,parseInt(breakdownDict[label].total*1e3)/1e3);} 8227histogram.addSample(rangeOfInterest.duration,{'Breakdown of [navStart, firstPaint]':breakdownDiagnostic,'Start':new tr.v.d.RelatedEventSet(spaNav.navigationStart),'End':new tr.v.d.RelatedEventSet(spaNav.firstPaintEvent),'Navigation infos':new tr.v.d.Generic({url:spaNav.url,pid:rendererHelper.pid,navStart:beginTs,firstPaint:spaNav.firstPaintEvent.start})});}} 8228histograms.addHistogram(histogram);} 8229tr.metrics.MetricRegistry.register(spaNavigationMetric);return{spaNavigationMetric,};});'use strict';tr.exportTo('tr.metrics.sh',function(){const LATENCY_BOUNDS=tr.v.HistogramBinBoundaries.createLinear(0,20,100);function clockSyncLatencyMetric(values,model){const domains=Array.from(model.clockSyncManager.domainsSeen).sort();for(let i=0;i<domains.length;i++){for(let j=i+1;j<domains.length;j++){const latency=model.clockSyncManager.getTimeTransformerError(domains[i],domains[j]);const hist=new tr.v.Histogram('clock_sync_latency_'+ 8230domains[i].toLowerCase()+'_to_'+domains[j].toLowerCase(),tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,LATENCY_BOUNDS);hist.customizeSummaryOptions({avg:true,count:false,max:false,min:false,std:false,sum:false,});hist.description='Clock sync latency for domain '+domains[i]+' to domain '+domains[j];hist.addSample(latency);values.addHistogram(hist);}}} 8231tr.metrics.MetricRegistry.register(clockSyncLatencyMetric);return{clockSyncLatencyMetric,};});'use strict';tr.exportTo('tr.metrics.sh',function(){const CPU_TIME_PERCENTAGE_BOUNDARIES=tr.v.HistogramBinBoundaries.createExponential(0.01,50,200);function cpuTimeMetric(histograms,model,opt_options){let rangeOfInterest=model.bounds;if(opt_options&&opt_options.rangeOfInterest){rangeOfInterest=opt_options.rangeOfInterest;}else{const chromeHelper=model.getOrCreateHelper(tr.model.helpers.ChromeModelHelper);if(chromeHelper){const chromeBounds=chromeHelper.chromeBounds;if(chromeBounds){rangeOfInterest=chromeBounds;}}} 8232let allProcessCpuTime=0;for(const pid in model.processes){const process=model.processes[pid];if(tr.model.helpers.ChromeRendererHelper.isTracingProcess(process)){continue;} 8233let processCpuTime=0;for(const tid in process.threads){const thread=process.threads[tid];let threadCpuTime=0;thread.sliceGroup.topLevelSlices.forEach(function(slice){if(slice.duration===0)return;if(!slice.cpuDuration)return;const sliceRange=tr.b.math.Range.fromExplicitRange(slice.start,slice.end);const intersection=rangeOfInterest.findIntersection(sliceRange);const fractionOfSliceInsideRangeOfInterest=intersection.duration/slice.duration;threadCpuTime+=slice.cpuDuration*fractionOfSliceInsideRangeOfInterest;});processCpuTime+=threadCpuTime;} 8234allProcessCpuTime+=processCpuTime;} 8235let normalizedAllProcessCpuTime=0;if(rangeOfInterest.duration>0){normalizedAllProcessCpuTime=allProcessCpuTime/rangeOfInterest.duration;} 8236const unit=tr.b.Unit.byName.normalizedPercentage_smallerIsBetter;const cpuTimeHist=new tr.v.Histogram('cpu_time_percentage',unit,CPU_TIME_PERCENTAGE_BOUNDARIES);cpuTimeHist.description='Percent CPU utilization, normalized against a single core. Can be '+'greater than 100% if machine has multiple cores.';cpuTimeHist.customizeSummaryOptions({avg:true,count:false,max:false,min:false,std:false,sum:false});cpuTimeHist.addSample(normalizedAllProcessCpuTime);histograms.addHistogram(cpuTimeHist);} 8237tr.metrics.MetricRegistry.register(cpuTimeMetric,{supportsRangeOfInterest:true});return{cpuTimeMetric,};});'use strict';tr.exportTo('tr.v',function(){class HistogramGrouping{constructor(key,callback,opt_label){this.key=key;this.callback=callback;this.label=opt_label||key;HistogramGrouping.KEYS_TO_GROUPINGS.set(key,this);}} 8238HistogramGrouping.KEYS_TO_GROUPINGS=new Map();class HistogramSet{constructor(opt_histograms){this.histogramsByGuid_=new Map();this.sharedDiagnosticsByGuid_=new Map();if(opt_histograms!==undefined){for(const hist of opt_histograms){this.addHistogram(hist);}}} 8239createHistogram(name,unit,samples,opt_options){const hist=tr.v.Histogram.create(name,unit,samples,opt_options);this.addHistogram(hist);return hist;} 8240addHistogram(hist,opt_diagnostics){if(this.histogramsByGuid_.has(hist.guid)){throw new Error('Cannot add same Histogram twice');} 8241if(opt_diagnostics!==undefined){if(!(opt_diagnostics instanceof Map)){opt_diagnostics=Object.entries(opt_diagnostics);} 8242for(const[name,diagnostic]of opt_diagnostics){hist.diagnostics.set(name,diagnostic);}} 8243this.histogramsByGuid_.set(hist.guid,hist);} 8244addSharedDiagnostic(name,diagnostic){this.sharedDiagnosticsByGuid_.set(diagnostic.guid,diagnostic);for(const hist of this){hist.diagnostics.set(name,diagnostic);}} 8245get length(){return this.histogramsByGuid_.size;}*[Symbol.iterator](){for(const hist of this.histogramsByGuid_.values()){yield hist;}} 8246getHistogramsNamed(name){return[...this].filter(h=>h.name===name);} 8247getHistogramNamed(name){const histograms=this.getHistogramsNamed(name);if(histograms.length===0)return undefined;if(histograms.length>1){throw new Error(`Unexpectedly found multiple histograms named "${name}"`);} 8248return histograms[0];} 8249lookupHistogram(guid){return this.histogramsByGuid_.get(guid);} 8250lookupDiagnostic(guid){return this.sharedDiagnosticsByGuid_.get(guid);} 8251resolveRelatedHistograms(){const handleDiagnosticMap=dm=>{for(const[name,diagnostic]of dm){if((diagnostic instanceof tr.v.d.RelatedHistogramSet)||(diagnostic instanceof tr.v.d.RelatedHistogramMap)){diagnostic.resolve(this);}}};for(const hist of this){hist.diagnostics.resolveSharedDiagnostics(this);handleDiagnosticMap(hist.diagnostics);for(const dm of hist.nanDiagnosticMaps){handleDiagnosticMap(dm);} 8252for(const bin of hist.allBins){for(const dm of bin.diagnosticMaps){handleDiagnosticMap(dm);}}}} 8253importDicts(dicts){for(const dict of dicts){if(dict.type&&tr.v.d.Diagnostic.findTypeInfoWithName(dict.type)){this.sharedDiagnosticsByGuid_.set(dict.guid,tr.v.d.Diagnostic.fromDict(dict));}else{this.addHistogram(tr.v.Histogram.fromDict(dict));}}} 8254asDicts(){const dicts=[];for(const diagnostic of this.sharedDiagnosticsByGuid_.values()){dicts.push(diagnostic.asDict());} 8255for(const hist of this){dicts.push(hist.asDict());} 8256return dicts;} 8257get sourceHistograms(){const sourceHistograms=new Map(this.histogramsByGuid_);function deleteSourceHistograms(diagnosticMap){for(const[name,diagnostic]of diagnosticMap){if(diagnostic instanceof tr.v.d.RelatedHistogramSet){for(const relatedHist of diagnostic){sourceHistograms.delete(relatedHist.guid);}}else if(diagnostic instanceof tr.v.d.RelatedHistogramMap){for(const[name,relatedHist]of diagnostic){sourceHistograms.delete(relatedHist.guid);}}}} 8258for(const hist of this){deleteSourceHistograms(hist.diagnostics);for(const dm of hist.nanDiagnosticMaps){deleteSourceHistograms(dm);} 8259for(const b of hist.allBins){for(const dm of b.diagnosticMaps){deleteSourceHistograms(dm);}}} 8260return new HistogramSet([...sourceHistograms.values()]);} 8261groupHistogramsRecursively(groupings,opt_skipGroupingCallback){function recurse(histograms,level){if(level===groupings.length){return histograms;} 8262const grouping=groupings[level];const groupedHistograms=tr.b.groupIntoMap(histograms,grouping.callback);if(opt_skipGroupingCallback&&opt_skipGroupingCallback(grouping,groupedHistograms)){return recurse(histograms,level+1);} 8263for(const[key,group]of groupedHistograms){groupedHistograms.set(key,recurse(group,level+1));} 8264return groupedHistograms;} 8265return recurse([...this],0);} 8266deduplicateDiagnostics(){const diagnosticsToCounts=new Map();for(const hist of this){const candidates=[];const telemetryInfo=tr.v.d.TelemetryInfo.getFromHistogram(hist);if(telemetryInfo instanceof tr.v.d.MergedTelemetryInfo){candidates.push(telemetryInfo);} 8267const buildbotInfo=tr.v.d.BuildbotInfo.getFromHistogram(hist);if(buildbotInfo instanceof tr.v.d.MergedBuildbotInfo){candidates.push(buildbotInfo);} 8268const deviceInfo=tr.v.d.DeviceInfo.getFromHistogram(hist);if(deviceInfo instanceof tr.v.d.MergedDeviceInfo){candidates.push(deviceInfo);} 8269for(const diagnostic of candidates){if(diagnostic===undefined)continue;let found=false;for(const[testDiagnostic,count]of diagnosticsToCounts){if(diagnostic.equals(testDiagnostic)){testDiagnostic.addToHistogram(hist);diagnosticsToCounts.set(testDiagnostic,count+1);found=true;break;}} 8270if(!found){diagnosticsToCounts.set(diagnostic,1);}}} 8271for(const[diagnostic,count]of diagnosticsToCounts){if(count>1){this.sharedDiagnosticsByGuid_.set(diagnostic.guid,diagnostic);}}} 8272mergeRelationships(){for(const hist of this){hist.diagnostics.mergeRelationships(hist);}}} 8273HistogramSet.GROUPINGS={HISTOGRAM_NAME:new HistogramGrouping('name',h=>h.name),BENCHMARK_NAME:new HistogramGrouping('benchmark',h=>tr.v.d.TelemetryInfo.getField(h,'benchmarkName','')),BENCHMARK_START:new HistogramGrouping('time',h=>tr.v.d.TelemetryInfo.getField(h,'benchmarkStartString','')),STORYSET_REPEAT:new HistogramGrouping('storyset_repeat',h=>tr.v.d.TelemetryInfo.getField(h,'storysetRepeatCounterLabel',0),'storyset repeat'),STORY_NAME:new HistogramGrouping('story',h=>tr.v.d.TelemetryInfo.getField(h,'storyDisplayName','')),LEGACY_TIR_LABEL:new HistogramGrouping('tir',h=>tr.v.d.TelemetryInfo.getField(h,'legacyTIRLabel','')),PRIMARY_NAME:new HistogramGrouping('primary',h=>tr.v.d.BuildbotInfo.getField(h,'buildbotMasterName','')),PARTNER_NAME:new HistogramGrouping('bot',h=>tr.v.d.BuildbotInfo.getField(h,'buildbotName','')),BUILD_NUMBER:new HistogramGrouping('build',h=>tr.v.d.BuildbotInfo.getField(h,'buildNumber','')),DISPLAY_LABEL:new HistogramGrouping('label',h=>tr.v.d.TelemetryInfo.getField(h,'displayLabel','Value'))};return{HistogramGrouping,HistogramSet,};});'use strict';tr.exportTo('tr.e.chrome',function(){function hasTitleAndCategory(event,title,category){return event.title===title&&event.category&&tr.b.getCategoryParts(event.category).includes(category);} 8274function getNavStartTimestamps(rendererHelper){const navStartTimestamps=[];for(const e of rendererHelper.mainThread.sliceGroup.childEvents()){if(hasTitleAndCategory(e,'navigationStart','blink.user_timing')){navStartTimestamps.push(e.start);}} 8275return navStartTimestamps;} 8276function getInteractiveTimestamps(model){const interactiveTimestampsMap=new Map();const chromeHelper=model.getOrCreateHelper(tr.model.helpers.ChromeModelHelper);for(const rendererHelper of Object.values(chromeHelper.rendererHelpers)){const timestamps=[];interactiveTimestampsMap.set(rendererHelper.pid,timestamps);const samples=tr.metrics.sh.collectLoadingMetricsForRenderer(rendererHelper).firstInteractiveSamples;for(const sample of samples){timestamps.push(sample.diagnostics['Navigation infos'].value.interactive);}} 8277return interactiveTimestampsMap;} 8278function getPostInteractiveTaskWindows(interactiveTimestamps,navStartTimestamps,traceEndTimestamp){let navStartTsIndex=0;let lastTaskWindowEndTs=undefined;const taskWindows=[];for(const currTTI of interactiveTimestamps){while(navStartTsIndex<navStartTimestamps.length&&navStartTimestamps[navStartTsIndex]<currTTI){navStartTsIndex++;} 8279const taskWindowEndTs=navStartTsIndex<navStartTimestamps.length?navStartTimestamps[navStartTsIndex]:traceEndTimestamp;if(taskWindowEndTs===lastTaskWindowEndTs){throw Error('Encountered two consecutive interactive timestamps '+'with no navigationStart between them. '+'PostInteractiveTaskWindow is not well defined in this case.');} 8280taskWindows.push(tr.b.math.Range.fromExplicitRange(currTTI,taskWindowEndTs));lastTaskWindowEndTs=taskWindowEndTs;} 8281return taskWindows;} 8282function contributionToEQT(window,task){const startInWindow=Math.max(window.min,task.start);const endInWindow=Math.min(window.max,task.end);const durationInWindow=endInWindow-startInWindow;if(durationInWindow<=0)return 0;const probabilityOfTask=durationInWindow/(window.max-window.min);const minQueueingTime=task.end-endInWindow;const maxQueueingTime=task.end-startInWindow;const expectedQueueingTimeDueToTask=(maxQueueingTime+minQueueingTime)/2;return probabilityOfTask*expectedQueueingTimeDueToTask;} 8283function weightedExpectedQueueingTime(window,weightedTasks){let result=0;for(const task of weightedTasks){result+=contributionToEQT(window,task)*task.weight;} 8284return result;} 8285function expectedQueueingTime(window,tasks){return weightedExpectedQueueingTime(window,tasks.map(function(task){return{start:task.start,end:task.end,weight:1};}));} 8286class SlidingWindow{constructor(startTime,windowSize,sortedTasks){this.windowSize_=windowSize;this.sortedTasks_=sortedTasks;this.range_=tr.b.math.Range.fromExplicitRange(startTime,startTime+windowSize);this.firstTaskIndex_=sortedTasks.findIndex(task=>startTime<task.end);if(this.firstTaskIndex_===-1){this.firstTaskIndex_=sortedTasks.length;} 8287this.lastTaskIndex_=-1;while(this.lastTaskIndex_+1<sortedTasks.length&&sortedTasks[this.lastTaskIndex_+1].start<startTime+windowSize){this.lastTaskIndex_++;} 8288this.innerEQT_=0;for(let i=this.firstTaskIndex_+1;i<this.lastTaskIndex_;i++){this.innerEQT_+=contributionToEQT(this.range_,sortedTasks[i]);}} 8289get getEQT(){let firstTaskEQT=0;if(this.firstTaskIndex_<this.sortedTasks_.length){firstTaskEQT=contributionToEQT(this.range_,this.sortedTasks_[this.firstTaskIndex_]);} 8290let lastTaskEQT=0;if(this.firstTaskIndex_<this.lastTaskIndex_){lastTaskEQT=contributionToEQT(this.range_,this.sortedTasks_[this.lastTaskIndex_]);} 8291return firstTaskEQT+this.innerEQT_+lastTaskEQT;} 8292slide(t){this.range_=tr.b.math.Range.fromExplicitRange(t,t+this.windowSize_);if(this.firstTaskIndex_<this.sortedTasks_.length&&this.sortedTasks_[this.firstTaskIndex_].end<=t){this.firstTaskIndex_++;if(this.firstTaskIndex_<this.lastTaskIndex_){this.innerEQT_-=contributionToEQT(this.range_,this.sortedTasks_[this.firstTaskIndex_]);}} 8293if(this.lastTaskIndex_+1<this.sortedTasks_.length&&this.sortedTasks_[this.lastTaskIndex_+1].start<t+this.windowSize_){if(this.firstTaskIndex_<this.lastTaskIndex_){this.innerEQT_+=contributionToEQT(this.range_,this.sortedTasks_[this.lastTaskIndex_]);} 8294this.lastTaskIndex_++;}}} 8295function maxExpectedQueueingTimeInSlidingWindow(startTime,endTime,windowSize,tasks){if(windowSize<=0){throw Error('The window size must be positive number');} 8296if(startTime+windowSize>endTime){throw Error('The sliding window must fit in the specified time range');} 8297const sortedTasks=tasks.slice().sort((a,b)=>a.start-b.start);for(let i=1;i<sortedTasks.length;i++){const PRECISION_MS=0.1;if(sortedTasks[i-1].end>sortedTasks[i].start+PRECISION_MS){throw Error('Tasks must not overlap');} 8298if(sortedTasks[i-1].end>sortedTasks[i].start){const midpoint=(sortedTasks[i-1].end+sortedTasks[i].start)/2;sortedTasks[i-1].end=midpoint;sortedTasks[i].start=midpoint;}} 8299let endpoints=[];endpoints.push(startTime);endpoints.push(endTime-windowSize);for(const task of tasks){endpoints.push(task.start-windowSize);endpoints.push(task.start);endpoints.push(task.end-windowSize);endpoints.push(task.end);} 8300endpoints=endpoints.filter(x=>(startTime<=x&&x+windowSize<=endTime));endpoints.sort((a,b)=>a-b);const slidingWindow=new SlidingWindow(endpoints[0],windowSize,sortedTasks);let maxEQT=0;for(const t of endpoints){slidingWindow.slide(t);maxEQT=Math.max(maxEQT,slidingWindow.getEQT);} 8301return maxEQT;} 8302return{getPostInteractiveTaskWindows,getNavStartTimestamps,getInteractiveTimestamps,expectedQueueingTime,maxExpectedQueueingTimeInSlidingWindow,weightedExpectedQueueingTime};});'use strict';tr.exportTo('tr.metrics.sh',function(){const WINDOW_SIZE_MS=500;const EQT_BOUNDARIES=tr.v.HistogramBinBoundaries.createExponential(0.01,WINDOW_SIZE_MS,50);const V8_EVENT_NAMES_TO_FILTERS=new Map([['v8',fromPredicate_(tr.metrics.v8.utils.isV8Event)],['v8:compile',fromPredicate_(tr.metrics.v8.utils.isCompileEvent)],['v8:compile:optimize',fromPredicate_(tr.metrics.v8.utils.isCompileOptimizeEvent)],['v8:compile:parse',fromPredicate_(tr.metrics.v8.utils.isCompileParseEvent)],['v8:compile:compile-unoptimize',filterCompileUnoptimizeAndSubtractParseEvents_],['v8:execute',fromPredicate_(tr.metrics.v8.utils.isV8ExecuteEvent)],['v8:gc',fromPredicate_(tr.metrics.v8.utils.isGarbageCollectionEvent)],['v8:gc:full-mark-compactor',fromPredicate_(tr.metrics.v8.utils.isFullMarkCompactorEvent)],['v8:gc:incremental-marking',fromPredicate_(tr.metrics.v8.utils.isIncrementalMarkingEvent)],['v8:gc:latency-mark-compactor',fromPredicate_(tr.metrics.v8.utils.isLatencyMarkCompactorEvent)],['v8:gc:memory-mark-compactor',fromPredicate_(tr.metrics.v8.utils.isMemoryMarkCompactorEvent)],['v8:gc:scavenger',fromPredicate_(tr.metrics.v8.utils.isScavengerEvent)]]);function fromPredicate_(eventPredicate){return function(slice){const duration=durationOfTopmostSubSlices(slice,eventPredicate);return{start:slice.start,end:slice.start+duration};};} 8303function filterCompileUnoptimizeAndSubtractParseEvents_(slice){const duration=durationOfTopmostSubSlices(slice,tr.metrics.v8.utils.isCompileUnoptimizeEvent,tr.metrics.v8.utils.isCompileParseEvent);return{start:slice.start,end:slice.start+duration};} 8304function containsForcedGC_(slice){return slice.findTopmostSlicesRelativeToThisSlice(tr.metrics.v8.utils.isForcedGarbageCollectionEvent).length>0;} 8305function createHistogramForEQT_(name,description){const histogram=new tr.v.Histogram(name,tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,EQT_BOUNDARIES);histogram.customizeSummaryOptions({avg:false,count:false,max:true,min:false,std:false,sum:false,});histogram.description=description;return histogram;} 8306function expectedQueueingTimeMetric(histograms,model){const chromeHelper=model.getOrCreateHelper(tr.model.helpers.ChromeModelHelper);const totalHistogram=createHistogramForEQT_(`total:${WINDOW_SIZE_MS}ms_window:renderer_eqt`,`The maximum EQT in a ${WINDOW_SIZE_MS}ms sliding window`+' for a given renderer');const interactiveHistogram=createHistogramForEQT_(`interactive:${WINDOW_SIZE_MS}ms_window:renderer_eqt`,`The maximum EQT in a ${WINDOW_SIZE_MS}ms sliding window`+' for a given renderer while the page is interactive');const rendererHelpers=Object.values(chromeHelper.rendererHelpers);const rendererToInteractiveTimestamps=tr.e.chrome.getInteractiveTimestamps(model);for(const rendererHelper of rendererHelpers){if(rendererHelper.isChromeTracingUI)continue;const tasks=rendererHelper.mainThread.sliceGroup.topLevelSlices.filter(slice=>slice.duration>0&&!containsForcedGC_(slice)).map(slice=>{return{start:slice.start,end:slice.end};});totalHistogram.addSample(tr.e.chrome.maxExpectedQueueingTimeInSlidingWindow(rendererHelper.mainThread.bounds.min,rendererHelper.mainThread.bounds.max,WINDOW_SIZE_MS,tasks));const interactiveTimestamps=rendererToInteractiveTimestamps.get(rendererHelper.pid);if(interactiveTimestamps.length===0)continue;if(interactiveTimestamps.length>1){continue;} 8307const interactiveWindow=tr.b.math.Range.fromExplicitRange(interactiveTimestamps[0],Infinity).findIntersection(rendererHelper.mainThread.bounds);interactiveHistogram.addSample(tr.e.chrome.maxExpectedQueueingTimeInSlidingWindow(interactiveWindow.min,interactiveWindow.max,WINDOW_SIZE_MS,tasks));} 8308addV8ContributionToExpectedQueueingTime(totalHistogram,interactiveHistogram,rendererToInteractiveTimestamps,histograms,model);histograms.addHistogram(totalHistogram);histograms.addHistogram(interactiveHistogram);} 8309function addV8ContributionToExpectedQueueingTime(totalEqtHistogram,interactiveEqtHistogram,rendererToInteractiveTimestamps,histograms,model){if(!model.categories.includes('v8'))return;const breakdownForTotal=new tr.v.d.RelatedHistogramMap();const breakdownForInteractive=new tr.v.d.RelatedHistogramMap();for(const[eventName,filterFunction]of V8_EVENT_NAMES_TO_FILTERS){const contribution=contributionToExpectedQueueingTime(filterFunction,eventName,rendererToInteractiveTimestamps,histograms,model);breakdownForTotal.set(eventName,contribution.total);breakdownForInteractive.set(eventName,contribution.interactive);} 8310totalEqtHistogram.diagnostics.set('v8',breakdownForTotal);interactiveEqtHistogram.diagnostics.set('v8',breakdownForInteractive);} 8311function durationOfTopmostSubSlices(slice,predicate,subEventPredicate){let duration=0;for(const sub of slice.findTopmostSlicesRelativeToThisSlice(predicate)){duration+=sub.duration;if(subEventPredicate!==null&&subEventPredicate!==undefined){duration-=durationOfTopmostSubSlices(sub,subEventPredicate);}} 8312return duration;} 8313function contributionToExpectedQueueingTime(filterFunction,eventName,rendererToInteractiveTimestamps,histograms,model){const chromeHelper=model.getOrCreateHelper(tr.model.helpers.ChromeModelHelper);const totalHistogram=createHistogramForEQT_(`total:${WINDOW_SIZE_MS}ms_window:renderer_eqt:${eventName}`,`Contribution to the expected queueing time by ${eventName}`+' for a given renderer. It is computed as the maximum EQT in'+` a ${WINDOW_SIZE_MS}ms sliding window after shrinking top-level`+` tasks to contain only ${eventName} subevents`);const interactiveHistogram=createHistogramForEQT_(`interactive:${WINDOW_SIZE_MS}ms_window:renderer_eqt:${eventName}`,`Contribution to the expected queueing time by ${eventName}`+' for a given renderer while the page is interactive. It is computed'+` as the maximum EQT in a ${WINDOW_SIZE_MS}ms sliding window after`+` shrinking top-level tasks to contain only ${eventName} subevents`);const rendererHelpers=Object.values(chromeHelper.rendererHelpers);for(const rendererHelper of rendererHelpers){if(rendererHelper.isChromeTracingUI)continue;const tasks=rendererHelper.mainThread.sliceGroup.topLevelSlices.filter(slice=>slice.duration>0&&!containsForcedGC_(slice)).map(filterFunction);totalHistogram.addSample(tr.e.chrome.maxExpectedQueueingTimeInSlidingWindow(rendererHelper.mainThread.bounds.min,rendererHelper.mainThread.bounds.max,WINDOW_SIZE_MS,tasks));const interactiveTimestamps=rendererToInteractiveTimestamps.get(rendererHelper.pid);if(interactiveTimestamps.length===0)continue;if(interactiveTimestamps.length>1){continue;} 8314const interactiveWindow=tr.b.math.Range.fromExplicitRange(interactiveTimestamps[0],Infinity).findIntersection(rendererHelper.mainThread.bounds);interactiveHistogram.addSample(tr.e.chrome.maxExpectedQueueingTimeInSlidingWindow(interactiveWindow.min,interactiveWindow.max,WINDOW_SIZE_MS,tasks));} 8315histograms.addHistogram(totalHistogram);histograms.addHistogram(interactiveHistogram);return{total:totalHistogram,interactive:interactiveHistogram};} 8316tr.metrics.MetricRegistry.register(expectedQueueingTimeMetric);return{expectedQueueingTimeMetric,contributionToExpectedQueueingTime,};});'use strict';tr.exportTo('tr.metrics.sh',function(){const LONG_TASK_MS=50;const LONGEST_TASK_MS=1000;function iterateLongTopLevelTasksOnThreadInRange(thread,opt_range,cb,opt_this){thread.sliceGroup.topLevelSlices.forEach(function(slice){if(opt_range&&!opt_range.intersectsExplicitRangeInclusive(slice.start,slice.end)){return;} 8317if(slice.duration<LONG_TASK_MS)return;cb.call(opt_this,slice);});} 8318function iterateRendererMainThreads(model,cb,opt_this){const modelHelper=model.getOrCreateHelper(tr.model.helpers.ChromeModelHelper);if(modelHelper!==undefined){Object.values(modelHelper.rendererHelpers).forEach(function(rendererHelper){if(!rendererHelper.mainThread)return;cb.call(opt_this,rendererHelper.mainThread);});}} 8319function longTasksMetric(histograms,model,opt_options){const rangeOfInterest=opt_options?opt_options.rangeOfInterest:undefined;const longTaskHist=new tr.v.Histogram('long tasks',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,tr.v.HistogramBinBoundaries.createLinear(LONG_TASK_MS,LONGEST_TASK_MS,40));longTaskHist.description='durations of long tasks';const slices=new tr.model.EventSet();iterateRendererMainThreads(model,function(thread){iterateLongTopLevelTasksOnThreadInRange(thread,rangeOfInterest,function(task){longTaskHist.addSample(task.duration,{relatedEvents:new tr.v.d.RelatedEventSet([task])});slices.push(task);slices.addEventSet(task.descendentSlices);});});histograms.addHistogram(longTaskHist);const sampleForEvent=undefined;const breakdown=tr.v.d.RelatedHistogramBreakdown.buildFromEvents(histograms,'long tasks ',slices,e=>(model.getUserFriendlyCategoryFromEvent(e)||'unknown'),tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,sampleForEvent,tr.v.HistogramBinBoundaries.createExponential(1,LONGEST_TASK_MS,40));breakdown.colorScheme=tr.v.d.COLOR_SCHEME_CHROME_USER_FRIENDLY_CATEGORY_DRIVER;longTaskHist.diagnostics.set('category',breakdown);} 8320tr.metrics.MetricRegistry.register(longTasksMetric,{supportsRangeOfInterest:true});return{longTasksMetric,iterateLongTopLevelTasksOnThreadInRange,iterateRendererMainThreads,LONG_TASK_MS,LONGEST_TASK_MS,};});'use strict';tr.exportTo('tr.b',function(){function MultiDimensionalViewNode(title,valueCount){this.title=title;const dimensions=title.length;this.children=new Array(dimensions);for(let i=0;i<dimensions;i++){this.children[i]=new Map();} 8321this.values=new Array(valueCount);for(let v=0;v<valueCount;v++){this.values[v]={self:0,total:0,totalState:NOT_PROVIDED};}} 8322MultiDimensionalViewNode.TotalState={NOT_PROVIDED:0,LOWER_BOUND:1,EXACT:2};const NOT_PROVIDED=MultiDimensionalViewNode.TotalState.NOT_PROVIDED;const LOWER_BOUND=MultiDimensionalViewNode.TotalState.LOWER_BOUND;const EXACT=MultiDimensionalViewNode.TotalState.EXACT;MultiDimensionalViewNode.prototype={get subRows(){return tr.b.mapValues(this.children[0]);}};function MultiDimensionalViewBuilder(dimensions,valueCount){if(typeof(dimensions)!=='number'||dimensions<0){throw new Error('Dimensions must be a non-negative number');} 8323this.dimensions_=dimensions;if(typeof(valueCount)!=='number'||valueCount<0){throw new Error('Number of values must be a non-negative number');} 8324this.valueCount_=valueCount;this.buildRoot_=this.createRootNode_();this.topDownTreeViewRoot_=undefined;this.topDownHeavyViewRoot_=undefined;this.bottomUpHeavyViewNode_=undefined;this.complete_=false;this.maxDimensionDepths_=new Array(dimensions);for(let d=0;d<dimensions;d++){this.maxDimensionDepths_[d]=0;}} 8325MultiDimensionalViewBuilder.ValueKind={SELF:0,TOTAL:1};MultiDimensionalViewBuilder.ViewType={TOP_DOWN_TREE_VIEW:0,TOP_DOWN_HEAVY_VIEW:1,BOTTOM_UP_HEAVY_VIEW:2};MultiDimensionalViewBuilder.prototype={addPath(path,values,valueKind){if(this.buildRoot_===undefined){throw new Error('Paths cannot be added after either view has been built');} 8326if(path.length!==this.dimensions_){throw new Error('Path must be '+this.dimensions_+'-dimensional');} 8327if(values.length!==this.valueCount_){throw new Error('Must provide '+this.valueCount_+' values');} 8328let isTotal;switch(valueKind){case MultiDimensionalViewBuilder.ValueKind.SELF:isTotal=false;break;case MultiDimensionalViewBuilder.ValueKind.TOTAL:isTotal=true;break;default:throw new Error('Invalid value kind: '+valueKind);} 8329let node=this.buildRoot_;for(let d=0;d<path.length;d++){const singleDimensionPath=path[d];const singleDimensionPathLength=singleDimensionPath.length;this.maxDimensionDepths_[d]=Math.max(this.maxDimensionDepths_[d],singleDimensionPathLength);for(let i=0;i<singleDimensionPathLength;i++){node=this.getOrCreateChildNode_(node,d,singleDimensionPath[i]);}} 8330for(let v=0;v<this.valueCount_;v++){const addedValue=values[v];if(addedValue===undefined)continue;const nodeValue=node.values[v];if(isTotal){nodeValue.total+=addedValue;nodeValue.totalState=EXACT;}else{nodeValue.self+=addedValue;nodeValue.totalState=Math.max(nodeValue.totalState,LOWER_BOUND);}}},get complete(){return this.complete_;},set complete(isComplete){if(this.buildRoot_===undefined){throw new Error('Can\'t set complete after any view has been built.');} 8331this.complete_=isComplete;},buildView(viewType){switch(viewType){case MultiDimensionalViewBuilder.ViewType.TOP_DOWN_TREE_VIEW:return this.buildTopDownTreeView();case MultiDimensionalViewBuilder.ViewType.TOP_DOWN_HEAVY_VIEW:return this.buildTopDownHeavyView();case MultiDimensionalViewBuilder.ViewType.BOTTOM_UP_HEAVY_VIEW:return this.buildBottomUpHeavyView();default:throw new Error('Unknown multi-dimensional view type: '+viewType);}},buildTopDownTreeView(){if(this.topDownTreeViewRoot_===undefined){const treeViewRoot=this.buildRoot_;this.buildRoot_=undefined;this.setUpMissingChildRelationships_(treeViewRoot,0);this.finalizeTotalValues_(treeViewRoot,0,new WeakMap());this.topDownTreeViewRoot_=treeViewRoot;} 8332return this.topDownTreeViewRoot_;},buildTopDownHeavyView(){if(this.topDownHeavyViewRoot_===undefined){this.topDownHeavyViewRoot_=this.buildGenericHeavyView_(this.addDimensionToTopDownHeavyViewNode_.bind(this));} 8333return this.topDownHeavyViewRoot_;},buildBottomUpHeavyView(){if(this.bottomUpHeavyViewNode_===undefined){this.bottomUpHeavyViewNode_=this.buildGenericHeavyView_(this.addDimensionToBottomUpHeavyViewNode_.bind(this));} 8334return this.bottomUpHeavyViewNode_;},createRootNode_(){return new MultiDimensionalViewNode(new Array(this.dimensions_),this.valueCount_);},getOrCreateChildNode_(parentNode,dimension,childDimensionTitle){if(dimension<0||dimension>=this.dimensions_){throw new Error('Invalid dimension');} 8335const dimensionChildren=parentNode.children[dimension];let childNode=dimensionChildren.get(childDimensionTitle);if(childNode!==undefined){return childNode;} 8336const childTitle=parentNode.title.slice();childTitle[dimension]=childDimensionTitle;childNode=new MultiDimensionalViewNode(childTitle,this.valueCount_);dimensionChildren.set(childDimensionTitle,childNode);return childNode;},setUpMissingChildRelationships_(node,firstDimensionToSetUp){for(let d=firstDimensionToSetUp;d<this.dimensions_;d++){const currentDimensionChildTitles=new Set(node.children[d].keys());for(let i=0;i<d;i++){for(const previousDimensionChildNode of node.children[i].values()){for(const previousDimensionGrandChildTitle of 8337previousDimensionChildNode.children[d].keys()){currentDimensionChildTitles.add(previousDimensionGrandChildTitle);}}} 8338for(const currentDimensionChildTitle of currentDimensionChildTitles){const currentDimensionChildNode=this.getOrCreateChildNode_(node,d,currentDimensionChildTitle);for(let i=0;i<d;i++){for(const previousDimensionChildNode of 8339node.children[i].values()){const previousDimensionGrandChildNode=previousDimensionChildNode.children[d].get(currentDimensionChildTitle);if(previousDimensionGrandChildNode!==undefined){currentDimensionChildNode.children[i].set(previousDimensionChildNode.title[i],previousDimensionGrandChildNode);}}} 8340this.setUpMissingChildRelationships_(currentDimensionChildNode,d);}}},finalizeTotalValues_(node,firstDimensionToFinalize,dimensionalSelfSumsMap){const dimensionalSelfSums=new Array(this.dimensions_);const minResidual=new Array(this.valueCount_);for(let v=0;v<this.valueCount_;v++)minResidual[v]=0;const nodeValues=node.values;const nodeSelfSums=new Array(this.valueCount_);for(let v=0;v<this.valueCount_;v++){nodeSelfSums[v]=nodeValues[v].self;} 8341for(let d=0;d<this.dimensions_;d++){const childResidualSums=new Array(this.valueCount_);for(let v=0;v<this.valueCount_;v++){childResidualSums[v]=0;} 8342for(const childNode of node.children[d].values()){if(d>=firstDimensionToFinalize){this.finalizeTotalValues_(childNode,d,dimensionalSelfSumsMap);} 8343const childNodeSelfSums=dimensionalSelfSumsMap.get(childNode);const childNodeValues=childNode.values;for(let v=0;v<this.valueCount_;v++){nodeSelfSums[v]+=childNodeSelfSums[d][v];const residual=childNodeValues[v].total- 8344childNodeSelfSums[this.dimensions_-1][v];childResidualSums[v]+=residual;if(this.complete){nodeValues[v].totalState=EXACT;}else if(childNodeValues[v].totalState>NOT_PROVIDED){nodeValues[v].totalState=Math.max(nodeValues[v].totalState,LOWER_BOUND);}}} 8345dimensionalSelfSums[d]=nodeSelfSums.slice();for(let v=0;v<this.valueCount_;v++){minResidual[v]=Math.max(minResidual[v],childResidualSums[v]);}} 8346for(let v=0;v<this.valueCount_;v++){nodeValues[v].total=Math.max(nodeValues[v].total,nodeSelfSums[v]+minResidual[v]);} 8347if(dimensionalSelfSumsMap.has(node)){throw new Error('Internal error: Node finalized more than once');} 8348dimensionalSelfSumsMap.set(node,dimensionalSelfSums);},buildGenericHeavyView_(treeViewNodeHandler){const treeViewRoot=this.buildTopDownTreeView();const heavyViewRoot=this.createRootNode_();heavyViewRoot.values=treeViewRoot.values;const recursionDepthTrackers=new Array(this.dimensions_);for(let d=0;d<this.dimensions_;d++){recursionDepthTrackers[d]=new RecursionDepthTracker(this.maxDimensionDepths_[d],d);} 8349this.addDimensionsToGenericHeavyViewNode_(treeViewRoot,heavyViewRoot,0,recursionDepthTrackers,false,treeViewNodeHandler);this.setUpMissingChildRelationships_(heavyViewRoot,0);return heavyViewRoot;},addDimensionsToGenericHeavyViewNode_(treeViewParentNode,heavyViewParentNode,startDimension,recursionDepthTrackers,previousDimensionsRecursive,treeViewNodeHandler){for(let d=startDimension;d<this.dimensions_;d++){this.addDimensionDescendantsToGenericHeavyViewNode_(treeViewParentNode,heavyViewParentNode,d,recursionDepthTrackers,previousDimensionsRecursive,treeViewNodeHandler);}},addDimensionDescendantsToGenericHeavyViewNode_(treeViewParentNode,heavyViewParentNode,currentDimension,recursionDepthTrackers,previousDimensionsRecursive,treeViewNodeHandler){const treeViewChildren=treeViewParentNode.children[currentDimension];const recursionDepthTracker=recursionDepthTrackers[currentDimension];for(const treeViewChildNode of treeViewChildren.values()){recursionDepthTracker.push(treeViewChildNode);treeViewNodeHandler(treeViewChildNode,heavyViewParentNode,currentDimension,recursionDepthTrackers,previousDimensionsRecursive);this.addDimensionDescendantsToGenericHeavyViewNode_(treeViewChildNode,heavyViewParentNode,currentDimension,recursionDepthTrackers,previousDimensionsRecursive,treeViewNodeHandler);recursionDepthTracker.pop();}},addDimensionToTopDownHeavyViewNode_(treeViewChildNode,heavyViewParentNode,currentDimension,recursionDepthTrackers,previousDimensionsRecursive){this.addDimensionToTopDownHeavyViewNodeRecursively_(treeViewChildNode,heavyViewParentNode,currentDimension,recursionDepthTrackers,previousDimensionsRecursive,1);},addDimensionToTopDownHeavyViewNodeRecursively_(treeViewChildNode,heavyViewParentNode,currentDimension,recursionDepthTrackers,previousDimensionsRecursive,subTreeDepth){const recursionDepthTracker=recursionDepthTrackers[currentDimension];const currentDimensionRecursive=subTreeDepth<=recursionDepthTracker.recursionDepth;const currentOrPreviousDimensionsRecursive=currentDimensionRecursive||previousDimensionsRecursive;const dimensionTitle=treeViewChildNode.title[currentDimension];const heavyViewChildNode=this.getOrCreateChildNode_(heavyViewParentNode,currentDimension,dimensionTitle);this.addNodeValues_(treeViewChildNode,heavyViewChildNode,!currentOrPreviousDimensionsRecursive);this.addDimensionsToGenericHeavyViewNode_(treeViewChildNode,heavyViewChildNode,currentDimension+1,recursionDepthTrackers,currentOrPreviousDimensionsRecursive,this.addDimensionToTopDownHeavyViewNode_.bind(this));for(const treeViewGrandChildNode of 8350treeViewChildNode.children[currentDimension].values()){recursionDepthTracker.push(treeViewGrandChildNode);this.addDimensionToTopDownHeavyViewNodeRecursively_(treeViewGrandChildNode,heavyViewChildNode,currentDimension,recursionDepthTrackers,previousDimensionsRecursive,subTreeDepth+1);recursionDepthTracker.pop();}},addDimensionToBottomUpHeavyViewNode_(treeViewChildNode,heavyViewParentNode,currentDimension,recursionDepthTrackers,previousDimensionsRecursive){const recursionDepthTracker=recursionDepthTrackers[currentDimension];const bottomIndex=recursionDepthTracker.bottomIndex;const topIndex=recursionDepthTracker.topIndex;const firstNonRecursiveIndex=bottomIndex+recursionDepthTracker.recursionDepth;const viewNodePath=recursionDepthTracker.viewNodePath;const trackerAncestorNode=recursionDepthTracker.trackerAncestorNode;let heavyViewDescendantNode=heavyViewParentNode;for(let i=bottomIndex;i<topIndex;i++){const treeViewAncestorNode=viewNodePath[i];const dimensionTitle=treeViewAncestorNode.title[currentDimension];heavyViewDescendantNode=this.getOrCreateChildNode_(heavyViewDescendantNode,currentDimension,dimensionTitle);const currentDimensionRecursive=i<firstNonRecursiveIndex;const currentOrPreviousDimensionsRecursive=currentDimensionRecursive||previousDimensionsRecursive;this.addNodeValues_(treeViewChildNode,heavyViewDescendantNode,!currentOrPreviousDimensionsRecursive);this.addDimensionsToGenericHeavyViewNode_(treeViewChildNode,heavyViewDescendantNode,currentDimension+1,recursionDepthTrackers,currentOrPreviousDimensionsRecursive,this.addDimensionToBottomUpHeavyViewNode_.bind(this));}},addNodeValues_(sourceNode,targetNode,addTotal){const targetNodeValues=targetNode.values;const sourceNodeValues=sourceNode.values;for(let v=0;v<this.valueCount_;v++){const targetNodeValue=targetNodeValues[v];const sourceNodeValue=sourceNodeValues[v];targetNodeValue.self+=sourceNodeValue.self;if(addTotal){targetNodeValue.total+=sourceNodeValue.total;if(this.complete){targetNodeValue.totalState=EXACT;}else if(sourceNodeValue.totalState>NOT_PROVIDED){targetNodeValue.totalState=Math.max(targetNodeValue.totalState,LOWER_BOUND);}}}}};function RecursionDepthTracker(maxDepth,dimension){this.titlePath=new Array(maxDepth);this.viewNodePath=new Array(maxDepth);this.bottomIndex=this.topIndex=maxDepth;this.dimension_=dimension;this.currentTrackerNode_=this.createNode_(0,undefined);} 8351RecursionDepthTracker.prototype={push(viewNode){if(this.bottomIndex===0){throw new Error('Cannot push to a full tracker');} 8352const title=viewNode.title[this.dimension_];this.bottomIndex--;this.titlePath[this.bottomIndex]=title;this.viewNodePath[this.bottomIndex]=viewNode;let childTrackerNode=this.currentTrackerNode_.children.get(title);if(childTrackerNode!==undefined){this.currentTrackerNode_=childTrackerNode;return;} 8353const maxLengths=zFunction(this.titlePath,this.bottomIndex);let recursionDepth=0;for(let i=0;i<maxLengths.length;i++){recursionDepth=Math.max(recursionDepth,maxLengths[i]);} 8354childTrackerNode=this.createNode_(recursionDepth,this.currentTrackerNode_);this.currentTrackerNode_.children.set(title,childTrackerNode);this.currentTrackerNode_=childTrackerNode;},pop(){if(this.bottomIndex===this.topIndex){throw new Error('Cannot pop from an empty tracker');} 8355this.titlePath[this.bottomIndex]=undefined;this.viewNodePath[this.bottomIndex]=undefined;this.bottomIndex++;this.currentTrackerNode_=this.currentTrackerNode_.parent;},get recursionDepth(){return this.currentTrackerNode_.recursionDepth;},createNode_(recursionDepth,parent){return{recursionDepth,parent,children:new Map()};}};function zFunction(list,startIndex){const n=list.length-startIndex;if(n===0)return[];const z=new Array(n);z[0]=0;for(let i=1,left=0,right=0;i<n;++i){let maxLength;if(i<=right){maxLength=Math.min(right-i+1,z[i-left]);}else{maxLength=0;} 8356while(i+maxLength<n&&list[startIndex+maxLength]===list[startIndex+i+maxLength]){++maxLength;} 8357if(i+maxLength-1>right){left=i;right=i+maxLength-1;} 8358z[i]=maxLength;} 8359return z;} 8360return{MultiDimensionalViewBuilder,MultiDimensionalViewNode,RecursionDepthTracker,zFunction,};});'use strict';tr.exportTo('tr.b',function(){class FixedColorScheme{constructor(namesToColors){this.namesToColors_=namesToColors;} 8361static fromNames(names){const namesToColors=new Map();const generator=new tr.b.SinebowColorGenerator();for(const name of names){namesToColors.set(name,generator.colorForKey(name));} 8362return new FixedColorScheme(namesToColors);} 8363getColor(name){const color=this.namesToColors_.get(name);if(color===undefined)throw new Error('Unknown color: '+name);return color;}} 8364const MemoryColumnColorScheme=new FixedColorScheme(new Map([['used_memory_column',new tr.b.Color(0,0,255)],['older_used_memory_column',new tr.b.Color(153,204,255)],['tracing_memory_column',new tr.b.Color(153,153,153)]]));function FixedColorSchemeRegistry(){} 8365FixedColorSchemeRegistry.lookUp=function(name){const info=this.findTypeInfoMatching(info=>info.metadata.name===name);if(!info)return undefined;return info.constructor();};const options=new tr.b.ExtensionRegistryOptions(tr.b.BASIC_REGISTRY_MODE);tr.b.decorateExtensionRegistry(FixedColorSchemeRegistry,options);return{MemoryColumnColorScheme,FixedColorScheme,FixedColorSchemeRegistry,};});'use strict';tr.exportTo('tr.e.chrome.chrome_processes',function(){const CHROME_PROCESS_NAMES={BROWSER:'browser_process',RENDERER:'renderer_processes',ALL:'all_processes',GPU:'gpu_process',PPAPI:'ppapi_process',UNKNOWN:'unknown_processes',};const PROCESS_COLOR_SCHEME_NAME='ChromeProcessNames';const PROCESS_COLOR_SCHEME=tr.b.FixedColorScheme.fromNames(Object.values(CHROME_PROCESS_NAMES));tr.b.FixedColorSchemeRegistry.register(()=>PROCESS_COLOR_SCHEME,{name:PROCESS_COLOR_SCHEME_NAME,});function canonicalizeName(name){return name.toLowerCase().replace(' ','_');} 8366function canonicalizeProcessName(rawProcessName){if(!rawProcessName)return CHROME_PROCESS_NAMES.UNKNOWN;const baseCanonicalName=canonicalizeName(rawProcessName);switch(baseCanonicalName){case'renderer':return CHROME_PROCESS_NAMES.RENDERER;case'browser':return CHROME_PROCESS_NAMES.BROWSER;} 8367if(Object.values(CHROME_PROCESS_NAMES).includes(baseCanonicalName)){return baseCanonicalName;} 8368throw new Error(`Unknown process name "${baseCanonicalName}".`+' Please add it to |CHROME_PROCESS_NAMES|.');} 8369return{CHROME_PROCESS_NAMES,PROCESS_COLOR_SCHEME,PROCESS_COLOR_SCHEME_NAME,canonicalizeName,canonicalizeProcessName,};});'use strict';tr.exportTo('tr.metrics.sh',function(){const BACKGROUND=tr.model.ContainerMemoryDump.LevelOfDetail.BACKGROUND;const LIGHT=tr.model.ContainerMemoryDump.LevelOfDetail.LIGHT;const DETAILED=tr.model.ContainerMemoryDump.LevelOfDetail.DETAILED;const sizeInBytes_smallerIsBetter=tr.b.Unit.byName.sizeInBytes_smallerIsBetter;const count_smallerIsBetter=tr.b.Unit.byName.count_smallerIsBetter;const DISPLAYED_SIZE_NUMERIC_NAME=tr.model.MemoryAllocatorDump.DISPLAYED_SIZE_NUMERIC_NAME;const LEVEL_OF_DETAIL_NAMES=new Map();LEVEL_OF_DETAIL_NAMES.set(BACKGROUND,'background');LEVEL_OF_DETAIL_NAMES.set(LIGHT,'light');LEVEL_OF_DETAIL_NAMES.set(DETAILED,'detailed');const HEAP_PROFILER_DETAIL_NAME='heap_profiler';const BOUNDARIES_FOR_UNIT_MAP=new WeakMap();BOUNDARIES_FOR_UNIT_MAP.set(count_smallerIsBetter,tr.v.HistogramBinBoundaries.createLinear(0,20,20));BOUNDARIES_FOR_UNIT_MAP.set(sizeInBytes_smallerIsBetter,new tr.v.HistogramBinBoundaries(0).addBinBoundary(1024).addExponentialBins(16*1024*1024*1024,4*24));const CHROME_PROCESS_NAMES=tr.e.chrome.chrome_processes.CHROME_PROCESS_NAMES;function memoryMetric(values,model,opt_options){const rangeOfInterest=opt_options?opt_options.rangeOfInterest:undefined;const browserNameToGlobalDumps=splitGlobalDumpsByBrowserName(model,rangeOfInterest);addGeneralMemoryDumpValues(browserNameToGlobalDumps,values);addDetailedMemoryDumpValues(browserNameToGlobalDumps,values);addMemoryDumpCountValues(browserNameToGlobalDumps,values);} 8370function splitGlobalDumpsByBrowserName(model,opt_rangeOfInterest){const chromeModelHelper=model.getOrCreateHelper(tr.model.helpers.ChromeModelHelper);const browserNameToGlobalDumps=new Map();const globalDumpToBrowserHelper=new WeakMap();if(chromeModelHelper){chromeModelHelper.browserHelpers.forEach(function(helper){const globalDumps=skipDumpsThatDoNotIntersectRange(helper.process.memoryDumps.map(d=>d.globalMemoryDump),opt_rangeOfInterest);globalDumps.forEach(function(globalDump){const existingHelper=globalDumpToBrowserHelper.get(globalDump);if(existingHelper!==undefined){throw new Error('Memory dump ID clash across multiple browsers '+'with PIDs: '+existingHelper.pid+' and '+helper.pid);} 8371globalDumpToBrowserHelper.set(globalDump,helper);});makeKeyUniqueAndSet(browserNameToGlobalDumps,tr.e.chrome.chrome_processes.canonicalizeName(helper.browserName),globalDumps);});} 8372const unclassifiedGlobalDumps=skipDumpsThatDoNotIntersectRange(model.globalMemoryDumps.filter(g=>!globalDumpToBrowserHelper.has(g)),opt_rangeOfInterest);if(unclassifiedGlobalDumps.length>0){makeKeyUniqueAndSet(browserNameToGlobalDumps,'unknown_browser',unclassifiedGlobalDumps);} 8373return browserNameToGlobalDumps;} 8374function skipDumpsThatDoNotIntersectRange(dumps,opt_range){if(!opt_range)return dumps;return dumps.filter(d=>opt_range.intersectsExplicitRangeInclusive(d.start,d.end));} 8375const USER_FRIENDLY_BROWSER_NAMES={'chrome':'Chrome','webview':'WebView','unknown_browser':'an unknown browser'};function convertBrowserNameToUserFriendlyName(browserName){for(const baseName in USER_FRIENDLY_BROWSER_NAMES){if(!browserName.startsWith(baseName))continue;const userFriendlyBaseName=USER_FRIENDLY_BROWSER_NAMES[baseName];const suffix=browserName.substring(baseName.length);if(suffix.length===0){return userFriendlyBaseName;}else if(/^\d+$/.test(suffix)){return userFriendlyBaseName+'('+suffix+')';}} 8376return'\''+browserName+'\' browser';} 8377function convertProcessNameToUserFriendlyName(processName,opt_requirePlural){switch(processName){case CHROME_PROCESS_NAMES.BROWSER:return opt_requirePlural?'browser processes':'the browser process';case CHROME_PROCESS_NAMES.RENDERER:return'renderer processes';case CHROME_PROCESS_NAMES.GPU:return opt_requirePlural?'GPU processes':'the GPU process';case CHROME_PROCESS_NAMES.PPAPI:return opt_requirePlural?'PPAPI processes':'the PPAPI process';case CHROME_PROCESS_NAMES.ALL:return'all processes';case CHROME_PROCESS_NAMES.UNKNOWN:return'unknown processes';default:return'\''+processName+'\' processes';}} 8378function makeKeyUniqueAndSet(map,key,value){let uniqueKey=key;let nextIndex=2;while(map.has(uniqueKey)){uniqueKey=key+nextIndex;nextIndex++;} 8379map.set(uniqueKey,value);} 8380function addGeneralMemoryDumpValues(browserNameToGlobalDumps,values){addMemoryDumpValues(browserNameToGlobalDumps,gmd=>true,function(processDump,addProcessScalar){addProcessScalar({source:'process_count',property:PROCESS_COUNT,value:1});if(processDump.totals!==undefined){addProcessScalar({source:'reported_by_os',property:RESIDENT_SIZE,component:['system_memory'],value:processDump.totals.residentBytes});addProcessScalar({source:'reported_by_os',property:PEAK_RESIDENT_SIZE,component:['system_memory'],value:processDump.totals.peakResidentBytes});} 8381if(processDump.memoryAllocatorDumps===undefined)return;processDump.memoryAllocatorDumps.forEach(function(rootAllocatorDump){CHROME_VALUE_PROPERTIES.forEach(function(property){addProcessScalar({source:'reported_by_chrome',component:[rootAllocatorDump.name],property,value:rootAllocatorDump.numerics[property.name]});});if(rootAllocatorDump.numerics.allocated_objects_size===undefined){const allocatedObjectsDump=rootAllocatorDump.getDescendantDumpByFullName('allocated_objects');if(allocatedObjectsDump!==undefined){addProcessScalar({source:'reported_by_chrome',component:[rootAllocatorDump.name],property:ALLOCATED_OBJECTS_SIZE,value:allocatedObjectsDump.numerics.size});}}});addV8MemoryDumpValues(processDump,addProcessScalar);},function(componentTree){const tracingNode=componentTree.children[1].get('tracing');if(tracingNode===undefined)return;for(let i=0;i<componentTree.values.length;i++){componentTree.values[i].total-=tracingNode.values[i].total;}},values);} 8382function addV8MemoryDumpValues(processDump,addProcessScalar){const v8Dump=processDump.getMemoryAllocatorDumpByFullName('v8');if(v8Dump===undefined)return;v8Dump.children.forEach(function(isolateDump){const mallocDump=isolateDump.getDescendantDumpByFullName('malloc');if(mallocDump!==undefined){addV8ComponentValues(mallocDump,['v8','allocated_by_malloc'],addProcessScalar);} 8383const heapDump=isolateDump.getDescendantDumpByFullName('heap_spaces');if(heapDump!==undefined){addV8ComponentValues(heapDump,['v8','heap'],addProcessScalar);heapDump.children.forEach(function(spaceDump){if(spaceDump.name==='other_spaces')return;addV8ComponentValues(spaceDump,['v8','heap',spaceDump.name],addProcessScalar);});}});addProcessScalar({source:'reported_by_chrome',component:['v8'],property:CODE_AND_METADATA_SIZE,value:v8Dump.numerics.code_and_metadata_size});addProcessScalar({source:'reported_by_chrome',component:['v8'],property:CODE_AND_METADATA_SIZE,value:v8Dump.numerics.bytecode_and_metadata_size});} 8384function addV8ComponentValues(componentDump,componentPath,addProcessScalar){CHROME_VALUE_PROPERTIES.forEach(function(property){addProcessScalar({source:'reported_by_chrome',component:componentPath,property,value:componentDump.numerics[property.name]});});} 8385const PROCESS_COUNT={unit:count_smallerIsBetter,buildDescriptionPrefix(componentPath,processName){if(componentPath.length>0){throw new Error('Unexpected process count non-empty component path: '+ 8386componentPath.join(':'));} 8387return'total number of '+convertProcessNameToUserFriendlyName(processName,true);}};const EFFECTIVE_SIZE={name:'effective_size',unit:sizeInBytes_smallerIsBetter,buildDescriptionPrefix(componentPath,processName){return buildChromeValueDescriptionPrefix(componentPath,processName,{userFriendlyPropertyName:'effective size',componentPreposition:'of'});}};const ALLOCATED_OBJECTS_SIZE={name:'allocated_objects_size',unit:sizeInBytes_smallerIsBetter,buildDescriptionPrefix(componentPath,processName){return buildChromeValueDescriptionPrefix(componentPath,processName,{userFriendlyPropertyName:'size of all objects allocated',totalUserFriendlyPropertyName:'size of all allocated objects',componentPreposition:'by'});}};const SHIM_ALLOCATED_OBJECTS_SIZE={name:'shim_allocated_objects_size',unit:sizeInBytes_smallerIsBetter,buildDescriptionPrefix(componentPath,processName){return buildChromeValueDescriptionPrefix(componentPath,processName,{userFriendlyPropertyName:'size of all objects allocated through shim',totalUserFriendlyPropertyName:'size of all allocated objects through shim',componentPreposition:'by'});}};const LOCKED_SIZE={name:'locked_size',unit:sizeInBytes_smallerIsBetter,buildDescriptionPrefix(componentPath,processName){return buildChromeValueDescriptionPrefix(componentPath,processName,{userFriendlyPropertyName:'locked (pinned) size',componentPreposition:'of'});}};const PEAK_SIZE={name:'peak_size',unit:sizeInBytes_smallerIsBetter,buildDescriptionPrefix(componentPath,processName){return buildChromeValueDescriptionPrefix(componentPath,processName,{userFriendlyPropertyName:'peak size',componentPreposition:'of'});}};const CODE_AND_METADATA_SIZE={name:'code_and_metadata_size',unit:sizeInBytes_smallerIsBetter,buildDescriptionPrefix(componentPath,processName){return buildChromeValueDescriptionPrefix(componentPath,processName,{userFriendlyPropertyNamePrefix:'size of',userFriendlyPropertyName:'code and metadata'});}};const CHROME_VALUE_PROPERTIES=[EFFECTIVE_SIZE,ALLOCATED_OBJECTS_SIZE,SHIM_ALLOCATED_OBJECTS_SIZE,LOCKED_SIZE,PEAK_SIZE];function buildChromeValueDescriptionPrefix(componentPath,processName,formatSpec){const nameParts=[];if(componentPath.length===0){nameParts.push('total');if(formatSpec.totalUserFriendlyPropertyName){nameParts.push(formatSpec.totalUserFriendlyPropertyName);}else{if(formatSpec.userFriendlyPropertyNamePrefix){nameParts.push(formatSpec.userFriendlyPropertyNamePrefix);} 8388nameParts.push(formatSpec.userFriendlyPropertyName);} 8389nameParts.push('reported by Chrome for');}else{if(formatSpec.componentPreposition===undefined){if(formatSpec.userFriendlyPropertyNamePrefix){nameParts.push(formatSpec.userFriendlyPropertyNamePrefix);} 8390nameParts.push(componentPath.join(':'));nameParts.push(formatSpec.userFriendlyPropertyName);}else{if(formatSpec.userFriendlyPropertyNamePrefix){nameParts.push(formatSpec.userFriendlyPropertyNamePrefix);} 8391nameParts.push(formatSpec.userFriendlyPropertyName);nameParts.push(formatSpec.componentPreposition);if(componentPath[componentPath.length-1]==='allocated_by_malloc'){nameParts.push('objects allocated by malloc for');nameParts.push(componentPath.slice(0,componentPath.length-1).join(':'));}else{nameParts.push(componentPath.join(':'));}} 8392nameParts.push('in');} 8393nameParts.push(convertProcessNameToUserFriendlyName(processName));return nameParts.join(' ');} 8394const RESIDENT_SIZE={name:'resident_size',unit:sizeInBytes_smallerIsBetter,buildDescriptionPrefix(componentPath,processName){return buildOsValueDescriptionPrefix(componentPath,processName,'resident set size (RSS)');}};const PEAK_RESIDENT_SIZE={name:'peak_resident_size',unit:sizeInBytes_smallerIsBetter,buildDescriptionPrefix(componentPath,processName){return buildOsValueDescriptionPrefix(componentPath,processName,'peak resident set size');}};const PROPORTIONAL_RESIDENT_SIZE={name:'proportional_resident_size',unit:sizeInBytes_smallerIsBetter,buildDescriptionPrefix(componentPath,processName){return buildOsValueDescriptionPrefix(componentPath,processName,'proportional resident size (PSS)');}};const PRIVATE_DIRTY_SIZE={name:'private_dirty_size',unit:sizeInBytes_smallerIsBetter,buildDescriptionPrefix(componentPath,processName){return buildOsValueDescriptionPrefix(componentPath,processName,'private dirty size');}};function buildOsValueDescriptionPrefix(componentPath,processName,userFriendlyPropertyName){if(componentPath.length>2){throw new Error('OS value component path for \''+ 8395userFriendlyPropertyName+'\' too long: '+componentPath.join(':'));} 8396const nameParts=[];if(componentPath.length<2){nameParts.push('total');} 8397nameParts.push(userFriendlyPropertyName);if(componentPath.length>0){switch(componentPath[0]){case'system_memory':if(componentPath.length>1){const userFriendlyComponentName=SYSTEM_VALUE_COMPONENTS[componentPath[1]].userFriendlyName;if(userFriendlyComponentName===undefined){throw new Error('System value sub-component for \''+ 8398userFriendlyPropertyName+'\' unknown: '+ 8399componentPath.join(':'));} 8400nameParts.push('of',userFriendlyComponentName,'in');}else{nameParts.push('of system memory (RAM) used by');} 8401break;case'gpu_memory':if(componentPath.length>1){nameParts.push('of the',componentPath[1]);nameParts.push('Android memtrack component in');}else{nameParts.push('of GPU memory (Android memtrack) used by');} 8402break;default:throw new Error('OS value component for \''+ 8403userFriendlyPropertyName+'\' unknown: '+ 8404componentPath.join(':'));}}else{nameParts.push('reported by the OS for');} 8405nameParts.push(convertProcessNameToUserFriendlyName(processName));return nameParts.join(' ');} 8406function addDetailedMemoryDumpValues(browserNameToGlobalDumps,values){addMemoryDumpValues(browserNameToGlobalDumps,g=>g.levelOfDetail===DETAILED,function(processDump,addProcessScalar){for(const[componentName,componentSpec]of 8407Object.entries(SYSTEM_VALUE_COMPONENTS)){const node=getDescendantVmRegionClassificationNode(processDump.vmRegions,componentSpec.classificationPath);const componentPath=['system_memory'];if(componentName)componentPath.push(componentName);addProcessScalar({source:'reported_by_os',component:componentPath,property:PROPORTIONAL_RESIDENT_SIZE,value:node===undefined?0:(node.byteStats.proportionalResident||0)});addProcessScalar({source:'reported_by_os',component:componentPath,property:PRIVATE_DIRTY_SIZE,value:node===undefined?0:(node.byteStats.privateDirtyResident||0)});} 8408const memtrackDump=processDump.getMemoryAllocatorDumpByFullName('gpu/android_memtrack');if(memtrackDump!==undefined){memtrackDump.children.forEach(function(memtrackChildDump){addProcessScalar({source:'reported_by_os',component:['gpu_memory',memtrackChildDump.name],property:PROPORTIONAL_RESIDENT_SIZE,value:memtrackChildDump.numerics.memtrack_pss});});}},function(componentTree){},values);} 8409const SYSTEM_VALUE_COMPONENTS={'':{classificationPath:[],},'java_heap':{classificationPath:['Android','Java runtime','Spaces'],userFriendlyName:'the Java heap'},'ashmem':{classificationPath:['Android','Ashmem'],userFriendlyName:'ashmem'},'native_heap':{classificationPath:['Native heap'],userFriendlyName:'the native heap'},'stack':{classificationPath:['Stack'],userFriendlyName:'the thread stacks'}};function getDescendantVmRegionClassificationNode(node,path){for(let i=0;i<path.length;i++){if(node===undefined)break;node=tr.b.findFirstInArray(node.children,c=>c.title===path[i]);} 8410return node;} 8411function addMemoryDumpCountValues(browserNameToGlobalDumps,values){browserNameToGlobalDumps.forEach(function(globalDumps,browserName){let totalDumpCount=0;const levelOfDetailNameToDumpCount={};LEVEL_OF_DETAIL_NAMES.forEach(function(levelOfDetailName){levelOfDetailNameToDumpCount[levelOfDetailName]=0;});levelOfDetailNameToDumpCount[HEAP_PROFILER_DETAIL_NAME]=0;globalDumps.forEach(function(globalDump){totalDumpCount++;const levelOfDetailName=LEVEL_OF_DETAIL_NAMES.get(globalDump.levelOfDetail);if(levelOfDetailName===undefined){return;} 8412levelOfDetailNameToDumpCount[levelOfDetailName]++;if(globalDump.levelOfDetail===DETAILED){if(detectHeapProfilerInMemoryDump(globalDump)){levelOfDetailNameToDumpCount[HEAP_PROFILER_DETAIL_NAME]++;}}});reportMemoryDumpCountAsValue(browserName,undefined,totalDumpCount,values);for(const[levelOfDetailName,levelOfDetailDumpCount]of 8413Object.entries(levelOfDetailNameToDumpCount)){reportMemoryDumpCountAsValue(browserName,levelOfDetailName,levelOfDetailDumpCount,values);}});} 8414function detectHeapProfilerInMemoryDump(globalDump){for(const processDump of Object.values(globalDump.processMemoryDumps)){if(processDump.heapDumps&&processDump.heapDumps.malloc){const mallocDump=processDump.heapDumps.malloc;if(mallocDump.entries&&mallocDump.entries.length>0){return true;}}} 8415return false;} 8416function reportMemoryDumpCountAsValue(browserName,levelOfDetailName,levelOfDetailDumpCount,values){const nameParts=['memory',browserName,'all_processes','dump_count'];if(levelOfDetailName!==undefined){nameParts.push(levelOfDetailName);} 8417const name=nameParts.join(':');const histogram=new tr.v.Histogram(name,count_smallerIsBetter,BOUNDARIES_FOR_UNIT_MAP.get(count_smallerIsBetter));histogram.addSample(levelOfDetailDumpCount);const userFriendlyLevelOfDetail=(levelOfDetailName||'all').replace('_',' ');histogram.description=['total number of',userFriendlyLevelOfDetail,'memory dumps added by',convertBrowserNameToUserFriendlyName(browserName),'to the trace'].join(' ');values.addHistogram(histogram);} 8418function addMemoryDumpValues(browserNameToGlobalDumps,customGlobalDumpFilter,customProcessDumpValueExtractor,customComponentTreeModifier,values){browserNameToGlobalDumps.forEach(function(globalDumps,browserName){const filteredGlobalDumps=globalDumps.filter(customGlobalDumpFilter);const sourceToPropertyToBuilder=extractDataFromGlobalDumps(filteredGlobalDumps,customProcessDumpValueExtractor);reportDataAsValues(sourceToPropertyToBuilder,browserName,customComponentTreeModifier,values);});} 8419function extractDataFromGlobalDumps(globalDumps,customProcessDumpValueExtractor){const sourceToPropertyToBuilder=new Map();const dumpCount=globalDumps.length;globalDumps.forEach(function(globalDump,dumpIndex){for(const processDump of Object.values(globalDump.processMemoryDumps)){extractDataFromProcessDump(processDump,sourceToPropertyToBuilder,dumpIndex,dumpCount,customProcessDumpValueExtractor);}});return sourceToPropertyToBuilder;} 8420function extractDataFromProcessDump(processDump,sourceToPropertyToBuilder,dumpIndex,dumpCount,customProcessDumpValueExtractor){const rawProcessName=processDump.process.name;const processNamePath=[tr.e.chrome.chrome_processes.canonicalizeProcessName(rawProcessName)];customProcessDumpValueExtractor(processDump,function addProcessScalar(spec){if(spec.value===undefined)return;const component=spec.component||[];function createDetailsForErrorMessage(){return['source=',spec.source,', property=',spec.property.name||'(undefined)',', component=',component.length===0?'(empty)':component.join(':'),' in ',processDump.process.userFriendlyName].join('');} 8421let value;if(spec.value instanceof tr.b.Scalar){value=spec.value.value;if(spec.value.unit!==spec.property.unit){throw new Error('Scalar unit for '+ 8422createDetailsForErrorMessage()+' ('+ 8423spec.value.unit.unitName+') doesn\'t match the unit of the property ('+ 8424spec.property.unit.unitName+')');}}else{value=spec.value;} 8425let propertyToBuilder=sourceToPropertyToBuilder.get(spec.source);if(propertyToBuilder===undefined){propertyToBuilder=new Map();sourceToPropertyToBuilder.set(spec.source,propertyToBuilder);} 8426let builder=propertyToBuilder.get(spec.property);if(builder===undefined){builder=new tr.b.MultiDimensionalViewBuilder(2,dumpCount),propertyToBuilder.set(spec.property,builder);} 8427const values=new Array(dumpCount);values[dumpIndex]=value;builder.addPath([processNamePath,component],values,tr.b.MultiDimensionalViewBuilder.ValueKind.TOTAL);});} 8428function reportDataAsValues(sourceToPropertyToBuilder,browserName,customComponentTreeModifier,values){sourceToPropertyToBuilder.forEach(function(propertyToBuilder,sourceName){propertyToBuilder.forEach(function(builders,property){const tree=builders.buildTopDownTreeView();reportComponentDataAsValues(browserName,sourceName,property,[],[],tree,values,customComponentTreeModifier);});});} 8429function reportComponentDataAsValues(browserName,sourceName,property,processPath,componentPath,tree,values,customComponentTreeModifier,opt_cachedHistograms){const cachedHistograms=opt_cachedHistograms||new Map();function recurse(processPath,componentPath,node){return reportComponentDataAsValues(browserName,sourceName,property,processPath,componentPath,node,values,customComponentTreeModifier,cachedHistograms);} 8430function buildHistogram(processPath,componentPath,node){return buildNamedMemoryNumericFromNode(browserName,sourceName,property,processPath.length===0?'all_processes':processPath[0],componentPath,node);} 8431customComponentTreeModifier(tree);const histogram=buildHistogram(processPath,componentPath,tree);if(cachedHistograms.has(histogram.name)){return cachedHistograms.get(histogram.name);} 8432cachedHistograms.set(histogram.name,histogram);const processBreakdown=new tr.v.d.RelatedHistogramBreakdown();processBreakdown.colorScheme=tr.e.chrome.chrome_processes.PROCESS_COLOR_SCHEME_NAME;for(const[childProcessName,childProcessNode]of tree.children[0]){processPath.push(childProcessName);const childProcessHistogram=recurse(processPath,componentPath,childProcessNode);processBreakdown.set(childProcessName,childProcessHistogram);processPath.pop();} 8433const componentBreakdown=new tr.v.d.RelatedHistogramBreakdown();for(const[childComponentName,childComponentNode]of tree.children[1]){componentPath.push(childComponentName);const childComponentHistogram=recurse(processPath,componentPath,childComponentNode);componentBreakdown.set(childComponentName,childComponentHistogram);componentPath.pop();} 8434values.addHistogram(histogram);if(tree.children[0].size>0){histogram.diagnostics.set('processes',processBreakdown);} 8435if(tree.children[1].size>0){histogram.diagnostics.set('components',componentBreakdown);} 8436return histogram;} 8437function getNumericName(browserName,sourceName,propertyName,processName,componentPath){const nameParts=['memory',browserName,processName,sourceName].concat(componentPath);if(propertyName!==undefined)nameParts.push(propertyName);return nameParts.join(':');} 8438function getNumericDescription(property,browserName,processName,componentPath){return[property.buildDescriptionPrefix(componentPath,processName),'in',convertBrowserNameToUserFriendlyName(browserName)].join(' ');} 8439function buildNamedMemoryNumericFromNode(browserName,sourceName,property,processName,componentPath,node){const name=getNumericName(browserName,sourceName,property.name,processName,componentPath);const description=getNumericDescription(property,browserName,processName,componentPath);const numeric=buildMemoryNumericFromNode(name,node,property.unit);numeric.description=description;return numeric;} 8440function buildMemoryNumericFromNode(name,node,unit){const histogram=new tr.v.Histogram(name,unit,BOUNDARIES_FOR_UNIT_MAP.get(unit));node.values.forEach(v=>histogram.addSample(v.total));return histogram;} 8441tr.metrics.MetricRegistry.register(memoryMetric,{supportsRangeOfInterest:true});return{memoryMetric,};});'use strict';tr.exportTo('tr.metrics.sh',function(){const CHROME_POWER_GRACE_PERIOD_MS=1;function createEmptyHistogram_(interval,histograms){if(interval.perSecond){return{perSecond:true,energy:histograms.createHistogram(`${interval.name}:power`,tr.b.Unit.byName.powerInWatts_smallerIsBetter,[],{description:`Energy consumption rate for ${interval.description}`,summaryOptions:{avg:true,count:false,max:true,min:true,std:false,sum:false,},}),};} 8442return{perSecond:false,energy:histograms.createHistogram(`${interval.name}:energy`,tr.b.Unit.byName.energyInJoules_smallerIsBetter,[],{description:`Energy consumed in ${interval.description}`,summaryOptions:{avg:false,count:false,max:true,min:true,std:false,sum:true,},}),};} 8443function createHistograms_(data,interval,histograms){if(data.histograms[interval.name]===undefined){data.histograms[interval.name]=createEmptyHistogram_(interval,histograms);} 8444if(data.histograms[interval.name].perSecond){for(const sample of data.model.device.powerSeries.getSamplesWithinRange(interval.bounds.min,interval.bounds.max)){data.histograms[interval.name].energy.addSample(sample.powerInW);}}else{const energyInJ=data.model.device.powerSeries.getEnergyConsumedInJ(interval.bounds.min,interval.bounds.max);data.histograms[interval.name].energy.addSample(energyInJ);}} 8445function getNavigationTTIIntervals_(model){const chromeHelper=model.getOrCreateHelper(tr.model.helpers.ChromeModelHelper);const intervals=[];for(const rendererHelper of Object.values(chromeHelper.rendererHelpers)){const samples=tr.metrics.sh.collectLoadingMetricsForRenderer(rendererHelper).firstInteractiveSamples;for(const sample of samples){const info=sample.diagnostics['Navigation infos'].value;intervals.push(tr.b.math.Range.fromExplicitRange(info.start,info.interactive));}} 8446return intervals.sort((x,y)=>x.min-y.min);} 8447function*computeTimeIntervals_(model){const chromeHelper=model.getOrCreateHelper(tr.model.helpers.ChromeModelHelper);const powerSeries=model.device.powerSeries;if(powerSeries===undefined||powerSeries.samples.length===0){return;} 8448yield{bounds:model.bounds,name:'story',description:'user story',perSecond:true};const chromeBounds=computeChromeBounds_(model);if(chromeBounds.isEmpty)return;const powerSeriesBoundsWithGracePeriod=tr.b.math.Range.fromExplicitRange(powerSeries.bounds.min-CHROME_POWER_GRACE_PERIOD_MS,powerSeries.bounds.max+CHROME_POWER_GRACE_PERIOD_MS);if(!powerSeriesBoundsWithGracePeriod.containsRangeExclusive(chromeBounds)){return;} 8449for(const interval of getRailStageIntervals_(model)){yield{bounds:interval.bounds.findIntersection(chromeBounds),name:interval.name,description:interval.description,perSecond:interval.perSecond};} 8450for(const interval of getLoadingIntervals_(model,chromeBounds)){yield{bounds:interval.bounds.findIntersection(chromeBounds),name:interval.name,description:interval.description,perSecond:interval.perSecond};}} 8451function*getRailStageIntervals_(model){for(const exp of model.userModel.expectations){const histogramName=exp.title.toLowerCase().replace(' ','_');const energyHist=undefined;if(histogramName.includes('response')){yield{bounds:tr.b.math.Range.fromExplicitRange(exp.start,exp.end),name:histogramName,description:'RAIL stage '+histogramName,perSecond:false};}else if(histogramName.includes('animation')||histogramName.includes('idle')){yield{bounds:tr.b.math.Range.fromExplicitRange(exp.start,exp.end),name:histogramName,description:'RAIL stage '+histogramName,perSecond:true};}}} 8452function*getLoadingIntervals_(model,chromeBounds){const ttiIntervals=getNavigationTTIIntervals_(model);let lastLoadTime=undefined;for(const ttiInterval of ttiIntervals){yield{bounds:ttiInterval,name:'load',description:'page loads',perSecond:false};lastLoadTime=lastLoadTime===undefined?ttiInterval.max:Math.max(lastLoadTime,ttiInterval.max);} 8453if(lastLoadTime!==undefined){yield{bounds:tr.b.math.Range.fromExplicitRange(lastLoadTime,chromeBounds.max),name:'after_load',description:'period after load',perSecond:true};}} 8454function computeChromeBounds_(model){const chromeBounds=new tr.b.math.Range();const chromeHelper=model.getOrCreateHelper(tr.model.helpers.ChromeModelHelper);if(chromeHelper===undefined)return chromeBounds;for(const helper of chromeHelper.browserHelpers){if(helper.mainThread){chromeBounds.addRange(helper.mainThread.bounds);}} 8455for(const pid in chromeHelper.rendererHelpers){if(chromeHelper.rendererHelpers[pid].mainThread){chromeBounds.addRange(chromeHelper.rendererHelpers[pid].mainThread.bounds);}} 8456return chromeBounds;} 8457function powerMetric(histograms,model){const data={model,histograms:{}};for(const interval of computeTimeIntervals_(model)){createHistograms_(data,interval,histograms);}} 8458tr.metrics.MetricRegistry.register(powerMetric);return{powerMetric};});'use strict';tr.exportTo('tr.metrics.sh',function(){function computeAnimationThroughput(animationExpectation){if(animationExpectation.frameEvents===undefined||animationExpectation.frameEvents.length===0){throw new Error('Animation missing frameEvents '+ 8459animationExpectation.stableId);} 8460const durationInS=tr.b.convertUnit(animationExpectation.duration,tr.b.UnitPrefixScale.METRIC.MILLI,tr.b.UnitPrefixScale.METRIC.NONE);return animationExpectation.frameEvents.length/durationInS;} 8461function computeAnimationframeTimeDiscrepancy(animationExpectation){if(animationExpectation.frameEvents===undefined||animationExpectation.frameEvents.length===0){throw new Error('Animation missing frameEvents '+ 8462animationExpectation.stableId);} 8463let frameTimestamps=animationExpectation.frameEvents;frameTimestamps=frameTimestamps.toArray().map(function(event){return event.start;});const absolute=true;return tr.b.math.Statistics.timestampsDiscrepancy(frameTimestamps,absolute);} 8464function responsivenessMetric(histograms,model,opt_options){const responseNumeric=new tr.v.Histogram('response latency',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,tr.v.HistogramBinBoundaries.createLinear(100,1e3,50));const throughputNumeric=new tr.v.Histogram('animation throughput',tr.b.Unit.byName.unitlessNumber_biggerIsBetter,tr.v.HistogramBinBoundaries.createLinear(10,60,10));const frameTimeDiscrepancyNumeric=new tr.v.Histogram('animation frameTimeDiscrepancy',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,tr.v.HistogramBinBoundaries.createLinear(0,1e3,50).addExponentialBins(1e4,10));const latencyNumeric=new tr.v.Histogram('animation latency',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,tr.v.HistogramBinBoundaries.createLinear(0,300,60));model.userModel.expectations.forEach(function(ue){if(opt_options&&opt_options.rangeOfInterest&&!opt_options.rangeOfInterest.intersectsExplicitRangeInclusive(ue.start,ue.end)){return;} 8465const sampleDiagnosticMap=tr.v.d.DiagnosticMap.fromObject({relatedEvents:new tr.v.d.RelatedEventSet([ue])});if(ue instanceof tr.model.um.IdleExpectation){return;}else if(ue instanceof tr.model.um.StartupExpectation){return;}else if(ue instanceof tr.model.um.LoadExpectation){}else if(ue instanceof tr.model.um.ResponseExpectation){responseNumeric.addSample(ue.duration,sampleDiagnosticMap);}else if(ue instanceof tr.model.um.AnimationExpectation){if(ue.frameEvents===undefined||ue.frameEvents.length===0){return;} 8466const throughput=computeAnimationThroughput(ue);if(throughput===undefined){throw new Error('Missing throughput for '+ 8467ue.stableId);} 8468throughputNumeric.addSample(throughput,sampleDiagnosticMap);const frameTimeDiscrepancy=computeAnimationframeTimeDiscrepancy(ue);if(frameTimeDiscrepancy===undefined){throw new Error('Missing frameTimeDiscrepancy for '+ 8469ue.stableId);} 8470frameTimeDiscrepancyNumeric.addSample(frameTimeDiscrepancy,sampleDiagnosticMap);ue.associatedEvents.forEach(function(event){if(!(event instanceof tr.e.cc.InputLatencyAsyncSlice)){return;} 8471latencyNumeric.addSample(event.duration,sampleDiagnosticMap);});}else{throw new Error('Unrecognized stage for '+ue.stableId);}});[responseNumeric,throughputNumeric,frameTimeDiscrepancyNumeric,latencyNumeric].forEach(function(numeric){numeric.customizeSummaryOptions({avg:true,max:true,min:true,std:true});});histograms.addHistogram(responseNumeric);histograms.addHistogram(throughputNumeric);histograms.addHistogram(frameTimeDiscrepancyNumeric);histograms.addHistogram(latencyNumeric);} 8472tr.metrics.MetricRegistry.register(responsivenessMetric,{supportsRangeOfInterest:true});return{responsivenessMetric,};});'use strict';tr.exportTo('tr.metrics.sh',function(){function webviewStartupMetric(histograms,model){const startupWallHist=new tr.v.Histogram('webview_startup_wall_time',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter);startupWallHist.description='WebView startup wall time';const startupCPUHist=new tr.v.Histogram('webview_startup_cpu_time',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter);startupCPUHist.description='WebView startup CPU time';const loadWallHist=new tr.v.Histogram('webview_url_load_wall_time',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter);loadWallHist.description='WebView blank URL load wall time';const loadCPUHist=new tr.v.Histogram('webview_url_load_cpu_time',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter);loadCPUHist.description='WebView blank URL load CPU time';for(const slice of model.getDescendantEvents()){if(!(slice instanceof tr.model.ThreadSlice))continue;if(slice.title==='WebViewStartupInterval'){startupWallHist.addSample(slice.duration);startupCPUHist.addSample(slice.cpuDuration);} 8473if(slice.title==='WebViewBlankUrlLoadInterval'){loadWallHist.addSample(slice.duration);loadCPUHist.addSample(slice.cpuDuration);}} 8474histograms.addHistogram(startupWallHist);histograms.addHistogram(startupCPUHist);histograms.addHistogram(loadWallHist);histograms.addHistogram(loadCPUHist);} 8475tr.metrics.MetricRegistry.register(webviewStartupMetric);return{webviewStartupMetric,};});'use strict';tr.exportTo('tr.metrics',function(){const MEMORY_INFRA_TRACING_CATEGORY='disabled-by-default-memory-infra';const TIME_BOUNDARIES=tr.v.HistogramBinBoundaries.createExponential(1e-3,1e5,30);const BYTE_BOUNDARIES=tr.v.HistogramBinBoundaries.createExponential(1,1e9,30);const COUNT_BOUNDARIES=tr.v.HistogramBinBoundaries.createExponential(1,1e5,30);const SUMMARY_OPTIONS=tr.v.Histogram.AVERAGE_ONLY_SUMMARY_OPTIONS;function addMemoryInfraHistograms(histograms,model,categoryNamesToTotalEventSizes){const memoryDumpCount=model.globalMemoryDumps.length;if(memoryDumpCount===0)return;let totalOverhead=0;let nonMemoryInfraThreadOverhead=0;const overheadByProvider={};for(const process of Object.values(model.processes)){for(const thread of Object.values(process.threads)){for(const slice of Object.values(thread.sliceGroup.slices)){if(slice.category!==MEMORY_INFRA_TRACING_CATEGORY)continue;totalOverhead+=slice.duration;if(thread.name!=='MemoryInfra'){nonMemoryInfraThreadOverhead+=slice.duration;} 8476if(slice.args&&slice.args['dump_provider.name']){const providerName=slice.args['dump_provider.name'];let durationAndCount=overheadByProvider[providerName];if(durationAndCount===undefined){overheadByProvider[providerName]=durationAndCount={duration:0,count:0};} 8477durationAndCount.duration+=slice.duration;durationAndCount.count++;}}}} 8478histograms.createHistogram('memory_dump_cpu_overhead',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,totalOverhead/memoryDumpCount,{binBoundaries:TIME_BOUNDARIES,description:'Average CPU overhead on all threads per memory-infra dump',summaryOptions:SUMMARY_OPTIONS,});histograms.createHistogram('nonmemory_thread_memory_dump_cpu_overhead',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,nonMemoryInfraThreadOverhead/memoryDumpCount,{binBoundaries:TIME_BOUNDARIES,description:'Average CPU overhead on non-memory-infra threads '+'per memory-infra dump',summaryOptions:SUMMARY_OPTIONS,});for(const[providerName,overhead]of Object.entries(overheadByProvider)){histograms.createHistogram(`${providerName}_memory_dump_cpu_overhead`,tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,overhead.duration/overhead.count,{binBoundaries:TIME_BOUNDARIES,description:`Average CPU overhead of ${providerName} per OnMemoryDump call`,summaryOptions:SUMMARY_OPTIONS,});} 8479const memoryInfraEventsSize=categoryNamesToTotalEventSizes.get(MEMORY_INFRA_TRACING_CATEGORY);const memoryInfraTraceBytesValue=new tr.v.Histogram('total_memory_dump_size',tr.b.Unit.byName.sizeInBytes_smallerIsBetter,BYTE_BOUNDARIES);memoryInfraTraceBytesValue.description='Total trace size of memory-infra dumps in bytes';memoryInfraTraceBytesValue.customizeSummaryOptions(SUMMARY_OPTIONS);memoryInfraTraceBytesValue.addSample(memoryInfraEventsSize);histograms.addHistogram(memoryInfraTraceBytesValue);const traceBytesPerDumpValue=new tr.v.Histogram('memory_dump_size',tr.b.Unit.byName.sizeInBytes_smallerIsBetter,BYTE_BOUNDARIES);traceBytesPerDumpValue.description='Average trace size of memory-infra dumps in bytes';traceBytesPerDumpValue.customizeSummaryOptions(SUMMARY_OPTIONS);traceBytesPerDumpValue.addSample(memoryInfraEventsSize/memoryDumpCount);histograms.addHistogram(traceBytesPerDumpValue);} 8480function tracingMetric(histograms,model){histograms.createHistogram('trace_import_duration',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,model.stats.traceImportDurationMs,{binBoundaries:TIME_BOUNDARIES,description:'Duration that trace viewer required to import the trace',summaryOptions:SUMMARY_OPTIONS,});if(!model.stats.hasEventSizesinBytes)return;const eventStats=model.stats.allTraceEventStatsInTimeIntervals;eventStats.sort((a,b)=>a.timeInterval-b.timeInterval);const totalTraceBytes=eventStats.reduce((a,b)=>a+b.totalEventSizeinBytes,0);let maxEventCountPerSec=0;let maxEventBytesPerSec=0;const INTERVALS_PER_SEC=Math.floor(1000/model.stats.TIME_INTERVAL_SIZE_IN_MS);let runningEventNumPerSec=0;let runningEventBytesPerSec=0;let start=0;let end=0;while(end<eventStats.length){runningEventNumPerSec+=eventStats[end].numEvents;runningEventBytesPerSec+=eventStats[end].totalEventSizeinBytes;end++;while((eventStats[end-1].timeInterval- 8481eventStats[start].timeInterval)>=INTERVALS_PER_SEC){runningEventNumPerSec-=eventStats[start].numEvents;runningEventBytesPerSec-=eventStats[start].totalEventSizeinBytes;start++;} 8482maxEventCountPerSec=Math.max(maxEventCountPerSec,runningEventNumPerSec);maxEventBytesPerSec=Math.max(maxEventBytesPerSec,runningEventBytesPerSec);} 8483const stats=model.stats.allTraceEventStats;const categoryNamesToTotalEventSizes=(stats.reduce((map,stat)=>(map.set(stat.category,((map.get(stat.category)||0)+ 8484stat.totalEventSizeinBytes))),new Map()));const maxCatNameAndBytes=Array.from(categoryNamesToTotalEventSizes.entries()).reduce((a,b)=>((b[1]>=a[1])?b:a));const maxEventBytesPerCategory=maxCatNameAndBytes[1];const categoryWithMaxEventBytes=maxCatNameAndBytes[0];const maxEventCountPerSecValue=new tr.v.Histogram('peak_event_rate',tr.b.Unit.byName.count_smallerIsBetter,COUNT_BOUNDARIES);maxEventCountPerSecValue.description='Max number of events per second';maxEventCountPerSecValue.customizeSummaryOptions(SUMMARY_OPTIONS);maxEventCountPerSecValue.addSample(maxEventCountPerSec);const maxEventBytesPerSecValue=new tr.v.Histogram('peak_event_size_rate',tr.b.Unit.byName.sizeInBytes_smallerIsBetter,BYTE_BOUNDARIES);maxEventBytesPerSecValue.description='Max event size in bytes per second';maxEventBytesPerSecValue.customizeSummaryOptions(SUMMARY_OPTIONS);maxEventBytesPerSecValue.addSample(maxEventBytesPerSec);const totalTraceBytesValue=new tr.v.Histogram('trace_size',tr.b.Unit.byName.sizeInBytes_smallerIsBetter,BYTE_BOUNDARIES);totalTraceBytesValue.customizeSummaryOptions(SUMMARY_OPTIONS);totalTraceBytesValue.addSample(totalTraceBytes);const biggestCategory={name:categoryWithMaxEventBytes,size_in_bytes:maxEventBytesPerCategory};totalTraceBytesValue.diagnostics.set('category_with_max_event_size',new tr.v.d.Generic(biggestCategory));histograms.addHistogram(totalTraceBytesValue);maxEventCountPerSecValue.diagnostics.set('category_with_max_event_size',new tr.v.d.Generic(biggestCategory));histograms.addHistogram(maxEventCountPerSecValue);maxEventBytesPerSecValue.diagnostics.set('category_with_max_event_size',new tr.v.d.Generic(biggestCategory));histograms.addHistogram(maxEventBytesPerSecValue);addMemoryInfraHistograms(histograms,model,categoryNamesToTotalEventSizes);} 8485tr.metrics.MetricRegistry.register(tracingMetric);return{tracingMetric,MEMORY_INFRA_TRACING_CATEGORY,};});'use strict';tr.exportTo('tr.metrics.v8',function(){const CUSTOM_BOUNDARIES=tr.v.HistogramBinBoundaries.createLinear(4,200,100);function computeExecuteMetrics(histograms,model){const cpuTotalExecution=new tr.v.Histogram('v8_execution_cpu_total',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,CUSTOM_BOUNDARIES);cpuTotalExecution.description='cpu total time spent in script execution';const wallTotalExecution=new tr.v.Histogram('v8_execution_wall_total',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,CUSTOM_BOUNDARIES);wallTotalExecution.description='wall total time spent in script execution';const cpuSelfExecution=new tr.v.Histogram('v8_execution_cpu_self',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,CUSTOM_BOUNDARIES);cpuSelfExecution.description='cpu self time spent in script execution';const wallSelfExecution=new tr.v.Histogram('v8_execution_wall_self',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,CUSTOM_BOUNDARIES);wallSelfExecution.description='wall self time spent in script execution';for(const e of model.findTopmostSlicesNamed('V8.Execute')){cpuTotalExecution.addSample(e.cpuDuration);wallTotalExecution.addSample(e.duration);cpuSelfExecution.addSample(e.cpuSelfTime);wallSelfExecution.addSample(e.selfTime);} 8486histograms.addHistogram(cpuTotalExecution);histograms.addHistogram(wallTotalExecution);histograms.addHistogram(cpuSelfExecution);histograms.addHistogram(wallSelfExecution);} 8487function computeParseLazyMetrics(histograms,model){const cpuSelfParseLazy=new tr.v.Histogram('v8_parse_lazy_cpu_self',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,CUSTOM_BOUNDARIES);cpuSelfParseLazy.description='cpu self time spent performing lazy parsing';const wallSelfParseLazy=new tr.v.Histogram('v8_parse_lazy_wall_self',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,CUSTOM_BOUNDARIES);wallSelfParseLazy.description='wall self time spent performing lazy parsing';for(const e of model.findTopmostSlicesNamed('V8.ParseLazyMicroSeconds')){cpuSelfParseLazy.addSample(e.cpuSelfTime);wallSelfParseLazy.addSample(e.selfTime);} 8488for(const e of model.findTopmostSlicesNamed('V8.ParseLazy')){cpuSelfParseLazy.addSample(e.cpuSelfTime);wallSelfParseLazy.addSample(e.selfTime);} 8489histograms.addHistogram(cpuSelfParseLazy);histograms.addHistogram(wallSelfParseLazy);} 8490function computeCompileFullCodeMetrics(histograms,model){const cpuSelfCompileFullCode=new tr.v.Histogram('v8_compile_full_code_cpu_self',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,CUSTOM_BOUNDARIES);cpuSelfCompileFullCode.description='cpu self time spent performing compiling full code';const wallSelfCompileFullCode=new tr.v.Histogram('v8_compile_full_code_wall_self',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,CUSTOM_BOUNDARIES);wallSelfCompileFullCode.description='wall self time spent performing compiling full code';for(const e of model.findTopmostSlicesNamed('V8.CompileFullCode')){cpuSelfCompileFullCode.addSample(e.cpuSelfTime);wallSelfCompileFullCode.addSample(e.selfTime);} 8491histograms.addHistogram(cpuSelfCompileFullCode);histograms.addHistogram(wallSelfCompileFullCode);} 8492function computeCompileIgnitionMetrics(histograms,model){const cpuSelfCompileIgnition=new tr.v.Histogram('v8_compile_ignition_cpu_self',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,CUSTOM_BOUNDARIES);cpuSelfCompileIgnition.description='cpu self time spent in compile ignition';const wallSelfCompileIgnition=new tr.v.Histogram('v8_compile_ignition_wall_self',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,CUSTOM_BOUNDARIES);wallSelfCompileIgnition.description='wall self time spent in compile ignition';for(const e of model.findTopmostSlicesNamed('V8.CompileIgnition')){cpuSelfCompileIgnition.addSample(e.cpuSelfTime);wallSelfCompileIgnition.addSample(e.selfTime);} 8493histograms.addHistogram(cpuSelfCompileIgnition);histograms.addHistogram(wallSelfCompileIgnition);} 8494function computeRecompileMetrics(histograms,model){const cpuTotalRecompileSynchronous=new tr.v.Histogram('v8_recompile_synchronous_cpu_total',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,CUSTOM_BOUNDARIES);cpuTotalRecompileSynchronous.description='cpu total time spent in synchronous recompilation';const wallTotalRecompileSynchronous=new tr.v.Histogram('v8_recompile_synchronous_wall_total',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,CUSTOM_BOUNDARIES);wallTotalRecompileSynchronous.description='wall total time spent in synchronous recompilation';const cpuTotalRecompileConcurrent=new tr.v.Histogram('v8_recompile_concurrent_cpu_total',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,CUSTOM_BOUNDARIES);cpuTotalRecompileConcurrent.description='cpu total time spent in concurrent recompilation';const wallTotalRecompileConcurrent=new tr.v.Histogram('v8_recompile_concurrent_wall_total',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,CUSTOM_BOUNDARIES);wallTotalRecompileConcurrent.description='wall total time spent in concurrent recompilation';const cpuTotalRecompileOverall=new tr.v.Histogram('v8_recompile_overall_cpu_total',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,CUSTOM_BOUNDARIES);cpuTotalRecompileOverall.description='cpu total time spent in synchronous or concurrent recompilation';const wallTotalRecompileOverall=new tr.v.Histogram('v8_recompile_overall_wall_total',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,CUSTOM_BOUNDARIES);wallTotalRecompileOverall.description='wall total time spent in synchronous or concurrent recompilation';for(const e of model.findTopmostSlicesNamed('V8.RecompileSynchronous')){cpuTotalRecompileSynchronous.addSample(e.cpuDuration);wallTotalRecompileSynchronous.addSample(e.duration);cpuTotalRecompileOverall.addSample(e.cpuDuration);wallTotalRecompileOverall.addSample(e.duration);} 8495histograms.addHistogram(cpuTotalRecompileSynchronous);histograms.addHistogram(wallTotalRecompileSynchronous);for(const e of model.findTopmostSlicesNamed('V8.RecompileConcurrent')){cpuTotalRecompileConcurrent.addSample(e.cpuDuration);wallTotalRecompileConcurrent.addSample(e.duration);cpuTotalRecompileOverall.addSample(e.cpuDuration);wallTotalRecompileOverall.addSample(e.duration);} 8496histograms.addHistogram(cpuTotalRecompileConcurrent);histograms.addHistogram(wallTotalRecompileConcurrent);histograms.addHistogram(cpuTotalRecompileOverall);histograms.addHistogram(wallTotalRecompileOverall);} 8497function computeOptimizeCodeMetrics(histograms,model){const cpuTotalOptimizeCode=new tr.v.Histogram('v8_optimize_code_cpu_total',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,CUSTOM_BOUNDARIES);cpuTotalOptimizeCode.description='cpu total time spent in code optimization';const wallTotalOptimizeCode=new tr.v.Histogram('v8_optimize_code_wall_total',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,CUSTOM_BOUNDARIES);wallTotalOptimizeCode.description='wall total time spent in code optimization';for(const e of model.findTopmostSlicesNamed('V8.OptimizeCode')){cpuTotalOptimizeCode.addSample(e.cpuDuration);wallTotalOptimizeCode.addSample(e.duration);} 8498histograms.addHistogram(cpuTotalOptimizeCode);histograms.addHistogram(wallTotalOptimizeCode);} 8499function computeDeoptimizeCodeMetrics(histograms,model){const cpuTotalDeoptimizeCode=new tr.v.Histogram('v8_deoptimize_code_cpu_total',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,CUSTOM_BOUNDARIES);cpuTotalDeoptimizeCode.description='cpu total time spent in code deoptimization';const wallTotalDeoptimizeCode=new tr.v.Histogram('v8_deoptimize_code_wall_total',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,CUSTOM_BOUNDARIES);wallTotalDeoptimizeCode.description='wall total time spent in code deoptimization';for(const e of model.findTopmostSlicesNamed('V8.DeoptimizeCode')){cpuTotalDeoptimizeCode.addSample(e.cpuDuration);wallTotalDeoptimizeCode.addSample(e.duration);} 8500histograms.addHistogram(cpuTotalDeoptimizeCode);histograms.addHistogram(wallTotalDeoptimizeCode);} 8501function executionMetric(histograms,model){computeExecuteMetrics(histograms,model);computeParseLazyMetrics(histograms,model);computeCompileIgnitionMetrics(histograms,model);computeCompileFullCodeMetrics(histograms,model);computeRecompileMetrics(histograms,model);computeOptimizeCodeMetrics(histograms,model);computeDeoptimizeCodeMetrics(histograms,model);} 8502tr.metrics.MetricRegistry.register(executionMetric);return{executionMetric,};});'use strict';tr.exportTo('tr.metrics.v8',function(){const TARGET_FPS=60;const MS_PER_SECOND=1000;const WINDOW_SIZE_MS=MS_PER_SECOND/TARGET_FPS;function gcMetric(histograms,model){addDurationOfTopEvents(histograms,model);addTotalDurationOfTopEvents(histograms,model);addDurationOfSubEvents(histograms,model);addPercentageInV8ExecuteOfTopEvents(histograms,model);addTotalPercentageInV8Execute(histograms,model);} 8503tr.metrics.MetricRegistry.register(gcMetric);const timeDurationInMs_smallerIsBetter=tr.b.Unit.byName.timeDurationInMs_smallerIsBetter;const percentage_biggerIsBetter=tr.b.Unit.byName.normalizedPercentage_biggerIsBetter;const percentage_smallerIsBetter=tr.b.Unit.byName.normalizedPercentage_smallerIsBetter;const CUSTOM_BOUNDARIES=tr.v.HistogramBinBoundaries.createLinear(0,20,200).addExponentialBins(200,100);function createNumericForTopEventTime(name){const n=new tr.v.Histogram(name,timeDurationInMs_smallerIsBetter,CUSTOM_BOUNDARIES);n.customizeSummaryOptions({avg:true,count:true,max:true,min:false,std:true,sum:true,percentile:[0.90]});return n;} 8504function createNumericForSubEventTime(name){const n=new tr.v.Histogram(name,timeDurationInMs_smallerIsBetter,CUSTOM_BOUNDARIES);n.customizeSummaryOptions({avg:true,count:false,max:true,min:false,std:false,sum:false,percentile:[0.90]});return n;} 8505function createNumericForIdleTime(name){const n=new tr.v.Histogram(name,timeDurationInMs_smallerIsBetter,CUSTOM_BOUNDARIES);n.customizeSummaryOptions({avg:true,count:false,max:true,min:false,std:false,sum:true,percentile:[]});return n;} 8506function createPercentage(name,numerator,denominator,unit){const hist=new tr.v.Histogram(name,unit);if(denominator===0){hist.addSample(0);}else{hist.addSample(numerator/denominator);} 8507hist.customizeSummaryOptions({avg:true,count:false,max:false,min:false,std:false,sum:false,percentile:[]});return hist;} 8508function isNotForcedTopGarbageCollectionEvent(event){return tr.metrics.v8.utils.isTopGarbageCollectionEvent(event)&&!tr.metrics.v8.utils.isForcedGarbageCollectionEvent(event);} 8509function isNotForcedSubGarbageCollectionEvent(event){return tr.metrics.v8.utils.isSubGarbageCollectionEvent(event)&&!tr.metrics.v8.utils.isForcedGarbageCollectionEvent(event);} 8510function addDurationOfTopEvents(histograms,model){tr.metrics.v8.utils.groupAndProcessEvents(model,isNotForcedTopGarbageCollectionEvent,tr.metrics.v8.utils.topGarbageCollectionEventName,function(name,events){const cpuDuration=createNumericForTopEventTime(name);events.forEach(function(event){cpuDuration.addSample(event.cpuDuration);});histograms.addHistogram(cpuDuration);});} 8511function addTotalDurationOfTopEvents(histograms,model){tr.metrics.v8.utils.groupAndProcessEvents(model,isNotForcedTopGarbageCollectionEvent,event=>'v8-gc-total',function(name,events){const cpuDuration=createNumericForTopEventTime(name);events.forEach(function(event){cpuDuration.addSample(event.cpuDuration);});histograms.addHistogram(cpuDuration);});} 8512function addDurationOfSubEvents(histograms,model){tr.metrics.v8.utils.groupAndProcessEvents(model,isNotForcedSubGarbageCollectionEvent,tr.metrics.v8.utils.subGarbageCollectionEventName,function(name,events){const cpuDuration=createNumericForSubEventTime(name);events.forEach(function(event){cpuDuration.addSample(event.cpuDuration);});histograms.addHistogram(cpuDuration);});} 8513function addPercentageInV8ExecuteOfTopEvents(histograms,model){tr.metrics.v8.utils.groupAndProcessEvents(model,isNotForcedTopGarbageCollectionEvent,tr.metrics.v8.utils.topGarbageCollectionEventName,function(name,events){addPercentageInV8Execute(histograms,model,name,events);});} 8514function addTotalPercentageInV8Execute(histograms,model){tr.metrics.v8.utils.groupAndProcessEvents(model,isNotForcedTopGarbageCollectionEvent,event=>'v8-gc-total',function(name,events){addPercentageInV8Execute(histograms,model,name,events);});} 8515function addPercentageInV8Execute(histograms,model,name,events){let cpuDurationInV8Execute=0;let cpuDurationTotal=0;events.forEach(function(event){const v8Execute=tr.metrics.v8.utils.findParent(event,tr.metrics.v8.utils.isV8ExecuteEvent);if(v8Execute){cpuDurationInV8Execute+=event.cpuDuration;} 8516cpuDurationTotal+=event.cpuDuration;});const percentage=createPercentage(name+'_percentage_in_v8_execute',cpuDurationInV8Execute,cpuDurationTotal,percentage_smallerIsBetter);histograms.addHistogram(percentage);} 8517return{gcMetric,WINDOW_SIZE_MS,};});'use strict';tr.exportTo('tr.metrics.v8',function(){const COUNT_CUSTOM_BOUNDARIES=tr.v.HistogramBinBoundaries.createExponential(1,1000000,50);const DURATION_CUSTOM_BOUNDARIES=tr.v.HistogramBinBoundaries.createExponential(0.1,10000,50);const SUMMARY_OPTIONS={std:false,count:false,sum:false,min:false,max:false,};function computeDomContentLoadedTime_(model){const chromeHelper=model.getOrCreateHelper(tr.model.helpers.ChromeModelHelper);let domContentLoadedTime=0;for(const rendererHelper of Object.values(chromeHelper.rendererHelpers)){for(const ev of rendererHelper.mainThread.sliceGroup.childEvents()){if(ev.title==='domContentLoadedEventEnd'&&ev.start>domContentLoadedTime){domContentLoadedTime=ev.start;}}} 8518return domContentLoadedTime;} 8519function computeInteractiveTime_(model){const chromeHelper=model.getOrCreateHelper(tr.model.helpers.ChromeModelHelper);let interactiveTime=0;for(const rendererHelper of Object.values(chromeHelper.rendererHelpers)){const samples=tr.metrics.sh.collectLoadingMetricsForRenderer(rendererHelper).firstInteractiveSamples;if(samples.length===0)continue;if(interactiveTime!==0)throw new Error('Too many navigations');interactiveTime=tr.b.getOnlyElement(samples).diagnostics['Navigation infos'].value.interactive;} 8520return interactiveTime;} 8521function convertMicroToMilli_(time){return tr.b.convertUnit(time,tr.b.UnitPrefixScale.METRIC.MICRO,tr.b.UnitPrefixScale.METRIC.MILLI);} 8522function computeRuntimeStats(histograms,slices){const runtimeGroupCollection=new tr.e.v8.RuntimeStatsGroupCollection();runtimeGroupCollection.addSlices(slices);for(const runtimeGroup of runtimeGroupCollection.runtimeGroups){const durationSamples=new tr.v.d.RelatedHistogramBreakdown();const countSamples=new tr.v.d.RelatedHistogramBreakdown();for(const entry of runtimeGroup.values){const durationSampleHistogram=histograms.createHistogram(`${entry.name}:duration`,tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,convertMicroToMilli_(entry.time),{binBoundaries:DURATION_CUSTOM_BOUNDARIES,summaryOptions:SUMMARY_OPTIONS,});durationSamples.set(durationSampleHistogram.name,durationSampleHistogram);const countSampleHistogram=histograms.createHistogram(`${entry.name}:count`,tr.b.Unit.byName.count_smallerIsBetter,entry.count,{binBoundaries:COUNT_CUSTOM_BOUNDARIES,summaryOptions:SUMMARY_OPTIONS,});countSamples.set(countSampleHistogram.name,countSampleHistogram);} 8523histograms.createHistogram(`${runtimeGroup.name}:duration`,tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,{value:convertMicroToMilli_(runtimeGroup.time),diagnostics:{samples:durationSamples},},{binBoundaries:DURATION_CUSTOM_BOUNDARIES,summaryOptions:SUMMARY_OPTIONS,});histograms.createHistogram(`${runtimeGroup.name}:count`,tr.b.Unit.byName.count_smallerIsBetter,{value:runtimeGroup.count,diagnostics:{samples:countSamples},},{binBoundaries:COUNT_CUSTOM_BOUNDARIES,summaryOptions:SUMMARY_OPTIONS,});}} 8524function runtimeStatsMetric(histograms,model){const interactiveTime=computeInteractiveTime_(model);const domContentLoadedTime=computeDomContentLoadedTime_(model);const endTime=Math.max(interactiveTime,domContentLoadedTime);const slices=[...model.getDescendantEvents()].filter(event=>event instanceof tr.e.v8.V8ThreadSlice&&event.start<=endTime);computeRuntimeStats(histograms,slices);} 8525function addDurationHistogram(railStageName,runtimeGroupName,sampleValue,histograms,durationRelatedHistsByGroupName){const durationHistogram=histograms.createHistogram(`${railStageName}_${runtimeGroupName}:duration`,tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,convertMicroToMilli_(sampleValue),{binBoundaries:DURATION_CUSTOM_BOUNDARIES,summaryOptions:SUMMARY_OPTIONS,});if(durationRelatedHistsByGroupName.get(runtimeGroupName)===undefined){const durationHistogramMap=new tr.v.d.RelatedHistogramMap();durationHistogramMap.set(railStageName,durationHistogram);durationRelatedHistsByGroupName.set(runtimeGroupName,durationHistogramMap);}else{durationRelatedHistsByGroupName.get(runtimeGroupName).set(railStageName,durationHistogram);}} 8526function addCountHistogram(railStageName,runtimeGroupName,sampleValue,histograms,countRelatedHistsByGroupName){const countHistogram=histograms.createHistogram(`${railStageName}_${runtimeGroupName}:count`,tr.b.Unit.byName.count_smallerIsBetter,sampleValue,{binBoundaries:COUNT_CUSTOM_BOUNDARIES,summaryOptions:SUMMARY_OPTIONS,});if(countRelatedHistsByGroupName.get(runtimeGroupName)===undefined){const countHistogramMap=new tr.v.d.RelatedHistogramMap();countHistogramMap.set(railStageName,countHistogram);countRelatedHistsByGroupName.set(runtimeGroupName,countHistogramMap);}else{countRelatedHistsByGroupName.get(runtimeGroupName).set(railStageName,countHistogram);}} 8527function addTotalDurationHistogram(histogramName,time,histograms,durationRelatedHistsByGroupName){const durationHistogram=histograms.createHistogram(`${histogramName}:duration`,tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,convertMicroToMilli_(time),{binBoundaries:DURATION_CUSTOM_BOUNDARIES,summaryOptions:SUMMARY_OPTIONS,});const durationRelatedHistogram=durationRelatedHistsByGroupName.get(histogramName);if(durationRelatedHistogram!==undefined){durationHistogram.diagnostics.set('RAIL stages',durationRelatedHistogram);}} 8528function addTotalCountHistogram(histogramName,count,histograms,countRelatedHistsByGroupName){const countHistogram=histograms.createHistogram(`${histogramName}:count`,tr.b.Unit.byName.count_smallerIsBetter,count,{binBoundaries:COUNT_CUSTOM_BOUNDARIES,summaryOptions:SUMMARY_OPTIONS,});const countRelatedHistogram=countRelatedHistsByGroupName.get(histogramName);if(countRelatedHistogram!==undefined){countHistogram.diagnostics.set('RAIL stages',countRelatedHistogram);}} 8529function computeRuntimeStatsBucketOnUE(histograms,slices,v8SlicesBucketOnUEMap){const durationRelatedHistsByGroupName=new Map();const countRelatedHistsByGroupName=new Map();for(const[name,slicesUE]of v8SlicesBucketOnUEMap){const runtimeGroupCollection=new tr.e.v8.RuntimeStatsGroupCollection();runtimeGroupCollection.addSlices(slicesUE);let overallV8Time=runtimeGroupCollection.totalTime;let overallV8Count=runtimeGroupCollection.totalCount;for(const runtimeGroup of runtimeGroupCollection.runtimeGroups){addDurationHistogram(name,runtimeGroup.name,runtimeGroup.time,histograms,durationRelatedHistsByGroupName);if(runtimeGroup.name==='Blink C++'){overallV8Time-=runtimeGroup.time;} 8530addCountHistogram(name,runtimeGroup.name,runtimeGroup.count,histograms,countRelatedHistsByGroupName);if(runtimeGroup.name==='Blink C++'){overallV8Count-=runtimeGroup.count;}} 8531addDurationHistogram(name,'V8-Only',overallV8Time,histograms,durationRelatedHistsByGroupName);addCountHistogram(name,'V8-Only',overallV8Count,histograms,countRelatedHistsByGroupName);} 8532const runtimeGroupCollection=new tr.e.v8.RuntimeStatsGroupCollection();runtimeGroupCollection.addSlices(slices);let overallV8Time=runtimeGroupCollection.totalTime;let overallV8Count=runtimeGroupCollection.totalCount;for(const runtimeGroup of runtimeGroupCollection.runtimeGroups){addTotalDurationHistogram(runtimeGroup.name,runtimeGroup.time,histograms,durationRelatedHistsByGroupName);if(runtimeGroup.name==='Blink C++'){overallV8Time-=runtimeGroup.time;} 8533addTotalCountHistogram(runtimeGroup.name,runtimeGroup.count,histograms,countRelatedHistsByGroupName);if(runtimeGroup.name==='Blink C++'){overallV8Count-=runtimeGroup.count;}} 8534addTotalDurationHistogram('V8-Only',overallV8Time,histograms,durationRelatedHistsByGroupName);addTotalCountHistogram('V8-Only',overallV8Count,histograms,countRelatedHistsByGroupName);} 8535function runtimeStatsTotalMetric(histograms,model){const v8ThreadSlices=[...model.getDescendantEvents()].filter(event=>event instanceof tr.e.v8.V8ThreadSlice).sort((e1,e2)=>e1.start-e2.start);const v8SlicesBucketOnUEMap=new Map();for(const expectation of model.userModel.expectations){const slices=expectation.range.filterArray(v8ThreadSlices,event=>event.start);if(slices.length===0)continue;const lastSlice=slices[slices.length-1];if(!expectation.range.intersectsRangeExclusive(lastSlice.range)){slices.pop();} 8536if(v8SlicesBucketOnUEMap.get(expectation.stageTitle)===undefined){v8SlicesBucketOnUEMap.set(expectation.stageTitle,slices);}else{const totalSlices=v8SlicesBucketOnUEMap.get(expectation.stageTitle).concat(slices);v8SlicesBucketOnUEMap.set(expectation.stageTitle,totalSlices);}} 8537computeRuntimeStatsBucketOnUE(histograms,v8ThreadSlices,v8SlicesBucketOnUEMap);} 8538tr.metrics.MetricRegistry.register(runtimeStatsTotalMetric);tr.metrics.MetricRegistry.register(runtimeStatsMetric);return{runtimeStatsMetric,runtimeStatsTotalMetric,};});'use strict';tr.exportTo('tr.metrics.v8',function(){function v8AndMemoryMetrics(histograms,model){tr.metrics.v8.executionMetric(histograms,model);tr.metrics.v8.gcMetric(histograms,model);tr.metrics.sh.memoryMetric(histograms,model,{rangeOfInterest:tr.metrics.v8.utils.rangeForMemoryDumps(model)});} 8539tr.metrics.MetricRegistry.register(v8AndMemoryMetrics);return{v8AndMemoryMetrics,};});'use strict';tr.exportTo('tr.metrics.webrtc',function(){const DISPLAY_HERTZ=60.0;const VSYNC_DURATION_US=1e6/DISPLAY_HERTZ;const SEVERITY=3;const FROZEN_FRAME_VSYNC_COUNT_THRESHOLD=6;const WEB_MEDIA_PLAYER_UPDATE_TITLE='WebMediaPlayerMS::UpdateCurrentFrame';const IDEAL_RENDER_INSTANT_NAME='Ideal Render Instant';const ACTUAL_RENDER_BEGIN_NAME='Actual Render Begin';const ACTUAL_RENDER_END_NAME='Actual Render End';const STREAM_ID_NAME='Serial';const REQUIRED_EVENT_ARGS_NAMES=[IDEAL_RENDER_INSTANT_NAME,ACTUAL_RENDER_BEGIN_NAME,ACTUAL_RENDER_END_NAME,STREAM_ID_NAME];const SUMMARY_OPTIONS=tr.v.Histogram.AVERAGE_ONLY_SUMMARY_OPTIONS;const count_smallerIsBetter=tr.b.Unit.byName.count_smallerIsBetter;const percentage_biggerIsBetter=tr.b.Unit.byName.normalizedPercentage_biggerIsBetter;const percentage_smallerIsBetter=tr.b.Unit.byName.normalizedPercentage_smallerIsBetter;const timeDurationInMs_smallerIsBetter=tr.b.Unit.byName.timeDurationInMs_smallerIsBetter;const unitlessNumber_biggerIsBetter=tr.b.Unit.byName.unitlessNumber_biggerIsBetter;function isValidEvent(event){if(event.title!==WEB_MEDIA_PLAYER_UPDATE_TITLE||!event.args){return false;} 8540for(const parameter of REQUIRED_EVENT_ARGS_NAMES){if(!(parameter in event.args)){return false;}} 8541return true;} 8542function webrtcRenderingMetric(histograms,model){tr.metrics.v8.utils.groupAndProcessEvents(model,isValidEvent,event=>event.args[STREAM_ID_NAME],(streamName,events)=>getTimeStats(histograms,streamName,events));} 8543tr.metrics.MetricRegistry.register(webrtcRenderingMetric);function getTimeStats(histograms,streamName,events){const frameHist=getFrameDistribution(histograms,events);addFpsFromFrameDistribution(histograms,frameHist);addFreezingScore(histograms,frameHist);const driftTimeStats=getDriftStats(events);histograms.createHistogram('WebRTCRendering_drift_time',timeDurationInMs_smallerIsBetter,driftTimeStats.driftTime,{summaryOptions:{count:false,min:false,percentile:[0.75,0.9],},});histograms.createHistogram('WebRTCRendering_rendering_length_error',percentage_smallerIsBetter,driftTimeStats.renderingLengthError,{summaryOptions:SUMMARY_OPTIONS,});const smoothnessStats=getSmoothnessStats(driftTimeStats.driftTime);histograms.createHistogram('WebRTCRendering_percent_badly_out_of_sync',percentage_smallerIsBetter,smoothnessStats.percentBadlyOutOfSync,{summaryOptions:SUMMARY_OPTIONS,});histograms.createHistogram('WebRTCRendering_percent_out_of_sync',percentage_smallerIsBetter,smoothnessStats.percentOutOfSync,{summaryOptions:SUMMARY_OPTIONS,});histograms.createHistogram('WebRTCRendering_smoothness_score',percentage_biggerIsBetter,smoothnessStats.smoothnessScore,{summaryOptions:SUMMARY_OPTIONS,});histograms.createHistogram('WebRTCRendering_frames_out_of_sync',count_smallerIsBetter,smoothnessStats.framesOutOfSync,{summaryOptions:SUMMARY_OPTIONS,});histograms.createHistogram('WebRTCRendering_frames_badly_out_of_sync',count_smallerIsBetter,smoothnessStats.framesSeverelyOutOfSync,{summaryOptions:SUMMARY_OPTIONS,});} 8544const FRAME_DISTRIBUTION_BIN_BOUNDARIES=tr.v.HistogramBinBoundaries.createLinear(1,50,49);function getFrameDistribution(histograms,events){const cadence=tr.b.runLengthEncoding(events.map(e=>e.args[IDEAL_RENDER_INSTANT_NAME]));return histograms.createHistogram('WebRTCRendering_frame_distribution',count_smallerIsBetter,cadence.map(ticks=>ticks.count),{binBoundaries:FRAME_DISTRIBUTION_BIN_BOUNDARIES,summaryOptions:{percentile:[0.75,0.9],},});} 8545function addFpsFromFrameDistribution(histograms,frameHist){let numberFrames=0;let numberVsyncs=0;for(let ticks=1;ticks<frameHist.allBins.length;++ticks){const count=frameHist.allBins[ticks].count;numberFrames+=count;numberVsyncs+=ticks*count;} 8546const meanRatio=numberVsyncs/numberFrames;histograms.createHistogram('WebRTCRendering_fps',unitlessNumber_biggerIsBetter,DISPLAY_HERTZ/meanRatio,{summaryOptions:SUMMARY_OPTIONS,});} 8547function frozenPenaltyWeight(numberFrozenFrames){const penalty={5:1,6:5,7:15,8:25};return penalty[numberFrozenFrames]||(8*(numberFrozenFrames-4));} 8548function addFreezingScore(histograms,frameHist){let numberVsyncs=0;let freezingScore=0;let frozenFramesCount=0;for(let ticks=1;ticks<frameHist.allBins.length;++ticks){const count=frameHist.allBins[ticks].count;numberVsyncs+=ticks*count;if(ticks>=FROZEN_FRAME_VSYNC_COUNT_THRESHOLD){frozenFramesCount+=count*(ticks-1);freezingScore+=count*frozenPenaltyWeight(ticks-1);}} 8549freezingScore=1-freezingScore/numberVsyncs;if(freezingScore<0){freezingScore=0;} 8550histograms.createHistogram('WebRTCRendering_frozen_frames_count',count_smallerIsBetter,frozenFramesCount,{summaryOptions:SUMMARY_OPTIONS,});histograms.createHistogram('WebRTCRendering_freezing_score',percentage_biggerIsBetter,freezingScore,{summaryOptions:SUMMARY_OPTIONS,});} 8551function getDriftStats(events){const driftTime=[];const discrepancy=[];let oldIdealRender=0;let expectedIdealRender=0;for(const event of events){const currentIdealRender=event.args[IDEAL_RENDER_INSTANT_NAME];expectedIdealRender+=VSYNC_DURATION_US;if(currentIdealRender===oldIdealRender){continue;} 8552const actualRenderBegin=event.args[ACTUAL_RENDER_BEGIN_NAME];driftTime.push(actualRenderBegin-currentIdealRender);discrepancy.push(Math.abs(currentIdealRender-expectedIdealRender));expectedIdealRender=currentIdealRender;oldIdealRender=currentIdealRender;} 8553const discrepancySum=tr.b.math.Statistics.sum(discrepancy)- 8554discrepancy[0];const lastIdealRender=events[events.length-1].args[IDEAL_RENDER_INSTANT_NAME];const firstIdealRender=events[0].args[IDEAL_RENDER_INSTANT_NAME];const idealRenderSpan=lastIdealRender-firstIdealRender;const renderingLengthError=discrepancySum/idealRenderSpan;return{driftTime,renderingLengthError};} 8555function getSmoothnessStats(driftTimes){const meanDriftTime=tr.b.math.Statistics.mean(driftTimes);const normDriftTimes=driftTimes.map(driftTime=>Math.abs(driftTime-meanDriftTime));const framesSeverelyOutOfSync=normDriftTimes.filter(driftTime=>driftTime>2*VSYNC_DURATION_US).length;const framesOutOfSync=normDriftTimes.filter(driftTime=>driftTime>VSYNC_DURATION_US).length;const percentBadlyOutOfSync=framesSeverelyOutOfSync/driftTimes.length;const percentOutOfSync=framesOutOfSync/driftTimes.length;const framesOutOfSyncOnlyOnce=framesOutOfSync-framesSeverelyOutOfSync;let smoothnessScore=1-(framesOutOfSyncOnlyOnce+ 8556SEVERITY*framesSeverelyOutOfSync)/driftTimes.length;if(smoothnessScore<0){smoothnessScore=0;} 8557return{framesOutOfSync,framesSeverelyOutOfSync,percentBadlyOutOfSync,percentOutOfSync,smoothnessScore};} 8558return{webrtcRenderingMetric,};});'use strict';Polymer({is:'tr-ui-a-alert-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],ready(){this.currentSelection_=undefined;this.$.table.tableColumns=[{title:'Label',value(row){return row.name;},width:'150px'},{title:'Value',width:'100%',value(row){return row.value;}}];this.$.table.showHeader=false;},get selection(){return this.currentSelection_;},set selection(selection){this.currentSelection_=selection;this.updateContents_();},getRowsForSingleAlert_(alert){const rows=[];for(const argName in alert.args){const argView=document.createElement('tr-ui-a-generic-object-view');argView.object=alert.args[argName];rows.push({name:argName,value:argView});} 8559if(alert.associatedEvents.length){alert.associatedEvents.forEach(function(event,i){const linkEl=document.createElement('tr-ui-a-analysis-link');linkEl.setSelectionAndContent(new tr.model.EventSet(event),event.title);let valueString='';if(event instanceof tr.model.TimedEvent){valueString='took '+event.duration.toFixed(2)+'ms';} 8560rows.push({name:linkEl,value:valueString});});} 8561const descriptionEl=tr.ui.b.createDiv({textContent:alert.info.description,maxWidth:'300px'});rows.push({name:'Description',value:descriptionEl});if(alert.info.docLinks){alert.info.docLinks.forEach(function(linkObject){const linkEl=document.createElement('a');linkEl.target='_blank';linkEl.href=linkObject.href;Polymer.dom(linkEl).textContent=Polymer.dom(linkObject).textContent;rows.push({name:linkObject.label,value:linkEl});});} 8562return rows;},getRowsForAlerts_(alerts){if(alerts.length===1){const rows=[{name:'Alert',value:tr.b.getOnlyElement(alerts).title}];const detailRows=this.getRowsForSingleAlert_(tr.b.getOnlyElement(alerts));rows.push.apply(rows,detailRows);return rows;} 8563return alerts.map(function(alert){return{name:'Alert',value:alert.title,isExpanded:alerts.size<10,subRows:this.getRowsForSingleAlert_(alert)};},this);},updateContents_(){if(this.currentSelection_===undefined){this.$.table.rows=[];this.$.table.rebuild();return;} 8564const alerts=this.currentSelection_;this.$.table.tableRows=this.getRowsForAlerts_(alerts);this.$.table.rebuild();},get relatedEventsToHighlight(){if(!this.currentSelection_)return undefined;const result=new tr.model.EventSet();for(const event of this.currentSelection_){result.addEventSet(event.associatedEvents);} 8565return result;}});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-alert-sub-view',tr.model.Alert,{multi:false,title:'Alert',});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-alert-sub-view',tr.model.Alert,{multi:true,title:'Alerts',});'use strict';tr.exportTo('tr.ui.analysis',function(){const NO_BREAK_SPACE=String.fromCharCode(160);const RIGHTWARDS_ARROW=String.fromCharCode(8594);const COLLATOR=new Intl.Collator(undefined,{numeric:true});function TitleColumn(title){this.title=title;} 8566TitleColumn.prototype={supportsCellSelection:false,value(row){const formattedTitle=this.formatTitle(row);const contexts=row.contexts;if(contexts===undefined||contexts.length===0){return formattedTitle;} 8567const firstContext=contexts[0];const lastContext=contexts[contexts.length-1];let changeDefinedContextCount=0;for(let i=1;i<contexts.length;i++){if((contexts[i]===undefined)!==(contexts[i-1]===undefined)){changeDefinedContextCount++;}} 8568let color=undefined;let prefix=undefined;if(!firstContext&&lastContext){color='red';prefix='+++';}else if(firstContext&&!lastContext){color='green';prefix='---';} 8569if(changeDefinedContextCount>1){color='purple';} 8570if(color===undefined&&prefix===undefined){return formattedTitle;} 8571const titleEl=document.createElement('span');if(prefix!==undefined){const prefixEl=tr.ui.b.createSpan({textContent:prefix});prefixEl.style.fontFamily='monospace';Polymer.dom(titleEl).appendChild(prefixEl);Polymer.dom(titleEl).appendChild(tr.ui.b.asHTMLOrTextNode(NO_BREAK_SPACE));} 8572if(color!==undefined){titleEl.style.color=color;} 8573Polymer.dom(titleEl).appendChild(tr.ui.b.asHTMLOrTextNode(formattedTitle));return titleEl;},formatTitle(row){return row.title;},cmp(rowA,rowB){return COLLATOR.compare(rowA.title,rowB.title);}};function MemoryColumn(name,cellPath,aggregationMode){this.name=name;this.cellPath=cellPath;this.shouldSetContextGroup=false;this.aggregationMode=aggregationMode;} 8574MemoryColumn.fromRows=function(rows,config){const cellNames=new Set();function gatherCellNames(rows){rows.forEach(function(row){if(row===undefined)return;const fieldCells=row[config.cellKey];if(fieldCells!==undefined){for(const[fieldName,fieldCell]of Object.entries(fieldCells)){if(fieldCell===undefined||fieldCell.fields===undefined){continue;} 8575cellNames.add(fieldName);}} 8576const subRows=row.subRows;if(subRows!==undefined){gatherCellNames(subRows);}});} 8577gatherCellNames(rows);const positions=[];cellNames.forEach(function(cellName){const cellPath=[config.cellKey,cellName];const matchingRule=MemoryColumn.findMatchingRule(cellName,config.rules);const constructor=matchingRule.columnConstructor;const column=new constructor(cellName,cellPath,config.aggregationMode);column.shouldSetContextGroup=!!config.shouldSetContextGroup;positions.push({importance:matchingRule.importance,column});});positions.sort(function(a,b){if(a.importance===b.importance){return COLLATOR.compare(a.column.name,b.column.name);} 8578return b.importance-a.importance;});return positions.map(function(position){return position.column;});};MemoryColumn.spaceEqually=function(columns){const columnWidth=(100/columns.length).toFixed(3)+'%';columns.forEach(function(column){column.width=columnWidth;});};MemoryColumn.findMatchingRule=function(name,rules){for(let i=0;i<rules.length;i++){const rule=rules[i];if(MemoryColumn.nameMatchesCondition(name,rule.condition)){return rule;}} 8579return undefined;};MemoryColumn.nameMatchesCondition=function(name,condition){if(condition===undefined)return true;if(typeof(condition)==='string')return name===condition;return condition.test(name);};MemoryColumn.AggregationMode={DIFF:0,MAX:1};MemoryColumn.SOME_TIMESTAMPS_INFO_QUANTIFIER='at some selected timestamps';MemoryColumn.prototype={get title(){return this.name;},cell(row){let cell=row;const cellPath=this.cellPath;for(let i=0;i<cellPath.length;i++){if(cell===undefined)return undefined;cell=cell[cellPath[i]];} 8580return cell;},aggregateCells(row,subRows){},fields(row){const cell=this.cell(row);if(cell===undefined)return undefined;return cell.fields;},value(row){const fields=this.fields(row);if(this.hasAllRelevantFieldsUndefined(fields))return'';const contexts=row.contexts;const color=this.color(fields,contexts);const infos=[];this.addInfos(fields,contexts,infos);const formattedFields=this.formatFields(fields);if((color===undefined||formattedFields==='')&&infos.length===0){return formattedFields;} 8581const fieldEl=document.createElement('span');fieldEl.style.display='flex';fieldEl.style.alignItems='center';fieldEl.style.justifyContent='flex-end';Polymer.dom(fieldEl).appendChild(tr.ui.b.asHTMLOrTextNode(formattedFields));infos.forEach(function(info){const infoEl=document.createElement('span');infoEl.style.paddingLeft='4px';infoEl.style.cursor='help';infoEl.style.fontWeight='bold';Polymer.dom(infoEl).textContent=info.icon;if(info.color!==undefined){infoEl.style.color=info.color;} 8582infoEl.title=info.message;Polymer.dom(fieldEl).appendChild(infoEl);},this);if(color!==undefined){fieldEl.style.color=color;} 8583return fieldEl;},hasAllRelevantFieldsUndefined(fields){if(fields===undefined)return true;switch(this.aggregationMode){case MemoryColumn.AggregationMode.DIFF:return fields[0]===undefined&&fields[fields.length-1]===undefined;case MemoryColumn.AggregationMode.MAX:default:return fields.every(function(field){return field===undefined;});}},color(fields,contexts){return undefined;},formatFields(fields){if(fields.length===1){return this.formatSingleField(fields[0]);} 8584return this.formatMultipleFields(fields);},formatSingleField(field){throw new Error('Not implemented');},formatMultipleFields(fields){switch(this.aggregationMode){case MemoryColumn.AggregationMode.DIFF:return this.formatMultipleFieldsDiff(fields[0],fields[fields.length-1]);case MemoryColumn.AggregationMode.MAX:return this.formatMultipleFieldsMax(fields);default:return tr.ui.b.createSpan({textContent:'(unsupported aggregation mode)',italic:true});}},formatMultipleFieldsDiff(firstField,lastField){throw new Error('Not implemented');},formatMultipleFieldsMax(fields){return this.formatSingleField(this.getMaxField(fields));},cmp(rowA,rowB){const fieldsA=this.fields(rowA);const fieldsB=this.fields(rowB);if(fieldsA!==undefined&&fieldsB!==undefined&&fieldsA.length!==fieldsB.length){throw new Error('Different number of fields');} 8585const undefinedA=this.hasAllRelevantFieldsUndefined(fieldsA);const undefinedB=this.hasAllRelevantFieldsUndefined(fieldsB);if(undefinedA&&undefinedB)return 0;if(undefinedA)return-1;if(undefinedB)return 1;return this.compareFields(fieldsA,fieldsB);},compareFields(fieldsA,fieldsB){if(fieldsA.length===1){return this.compareSingleFields(fieldsA[0],fieldsB[0]);} 8586return this.compareMultipleFields(fieldsA,fieldsB);},compareSingleFields(fieldA,fieldB){throw new Error('Not implemented');},compareMultipleFields(fieldsA,fieldsB){switch(this.aggregationMode){case MemoryColumn.AggregationMode.DIFF:return this.compareMultipleFieldsDiff(fieldsA[0],fieldsA[fieldsA.length-1],fieldsB[0],fieldsB[fieldsB.length-1]);case MemoryColumn.AggregationMode.MAX:return this.compareMultipleFieldsMax(fieldsA,fieldsB);default:return 0;}},compareMultipleFieldsDiff(firstFieldA,lastFieldA,firstFieldB,lastFieldB){throw new Error('Not implemented');},compareMultipleFieldsMax(fieldsA,fieldsB){return this.compareSingleFields(this.getMaxField(fieldsA),this.getMaxField(fieldsB));},getMaxField(fields){return fields.reduce(function(accumulator,field){if(field===undefined){return accumulator;} 8587if(accumulator===undefined||this.compareSingleFields(field,accumulator)>0){return field;} 8588return accumulator;}.bind(this),undefined);},addInfos(fields,contexts,infos){},getImportance(importanceRules){if(importanceRules.length===0)return 0;const matchingRule=MemoryColumn.findMatchingRule(this.name,importanceRules);if(matchingRule!==undefined){return matchingRule.importance;} 8589let minImportance=importanceRules[0].importance;for(let i=1;i<importanceRules.length;i++){minImportance=Math.min(minImportance,importanceRules[i].importance);} 8590return minImportance-1;}};function StringMemoryColumn(name,cellPath,aggregationMode){MemoryColumn.call(this,name,cellPath,aggregationMode);} 8591StringMemoryColumn.prototype={__proto__:MemoryColumn.prototype,formatSingleField(string){return string;},formatMultipleFieldsDiff(firstString,lastString){if(firstString===undefined){const spanEl=tr.ui.b.createSpan({color:'red'});Polymer.dom(spanEl).appendChild(tr.ui.b.asHTMLOrTextNode('+'));Polymer.dom(spanEl).appendChild(tr.ui.b.asHTMLOrTextNode(this.formatSingleField(lastString)));return spanEl;}else if(lastString===undefined){const spanEl=tr.ui.b.createSpan({color:'green'});Polymer.dom(spanEl).appendChild(tr.ui.b.asHTMLOrTextNode('-'));Polymer.dom(spanEl).appendChild(tr.ui.b.asHTMLOrTextNode(this.formatSingleField(firstString)));return spanEl;}else if(firstString===lastString){return this.formatSingleField(firstString);} 8592const spanEl=tr.ui.b.createSpan({color:'DarkOrange'});Polymer.dom(spanEl).appendChild(tr.ui.b.asHTMLOrTextNode(this.formatSingleField(firstString)));Polymer.dom(spanEl).appendChild(tr.ui.b.asHTMLOrTextNode(' '+RIGHTWARDS_ARROW+' '));Polymer.dom(spanEl).appendChild(tr.ui.b.asHTMLOrTextNode(this.formatSingleField(lastString)));return spanEl;},compareSingleFields(stringA,stringB){return COLLATOR.compare(stringA,stringB);},compareMultipleFieldsDiff(firstStringA,lastStringA,firstStringB,lastStringB){if(firstStringA===undefined&&firstStringB!==undefined){return 1;} 8593if(firstStringA!==undefined&&firstStringB===undefined){return-1;} 8594if(firstStringA===undefined&&firstStringB===undefined){return this.compareSingleFields(lastStringA,lastStringB);} 8595if(lastStringA===undefined&&lastStringB!==undefined){return-1;} 8596if(lastStringA!==undefined&&lastStringB===undefined){return 1;} 8597if(lastStringA===undefined&&lastStringB===undefined){return this.compareSingleFields(firstStringB,firstStringA);} 8598const areStringsAEqual=firstStringA===lastStringA;const areStringsBEqual=firstStringB===lastStringB;if(areStringsAEqual&&areStringsBEqual)return 0;if(areStringsAEqual)return-1;if(areStringsBEqual)return 1;return 0;}};function NumericMemoryColumn(name,cellPath,aggregationMode){MemoryColumn.call(this,name,cellPath,aggregationMode);} 8599NumericMemoryColumn.DIFF_EPSILON=0.0001;NumericMemoryColumn.prototype={__proto__:MemoryColumn.prototype,align:tr.ui.b.TableFormat.ColumnAlignment.RIGHT,aggregateCells(row,subRows){const subRowCells=subRows.map(this.cell,this);let hasDefinedSubRowNumeric=false;let timestampCount=undefined;subRowCells.forEach(function(subRowCell){if(subRowCell===undefined)return;const subRowNumerics=subRowCell.fields;if(subRowNumerics===undefined)return;if(timestampCount===undefined){timestampCount=subRowNumerics.length;}else if(timestampCount!==subRowNumerics.length){throw new Error('Sub-rows have different numbers of timestamps');} 8600if(hasDefinedSubRowNumeric){return;} 8601hasDefinedSubRowNumeric=subRowNumerics.some(function(numeric){return numeric!==undefined;});});if(!hasDefinedSubRowNumeric){return;} 8602const cellPath=this.cellPath;let rowCell=row;for(let i=0;i<cellPath.length;i++){const nextStepName=cellPath[i];let nextStep=rowCell[nextStepName];if(nextStep===undefined){if(i<cellPath.length-1){nextStep={};}else{nextStep=new MemoryCell(undefined);} 8603rowCell[nextStepName]=nextStep;} 8604rowCell=nextStep;} 8605if(rowCell.fields===undefined){rowCell.fields=new Array(timestampCount);}else if(rowCell.fields.length!==timestampCount){throw new Error('Row has a different number of timestamps than sub-rows');} 8606for(let i=0;i<timestampCount;i++){if(rowCell.fields[i]!==undefined)continue;rowCell.fields[i]=tr.model.MemoryAllocatorDump.aggregateNumerics(subRowCells.map(function(subRowCell){if(subRowCell===undefined||subRowCell.fields===undefined){return undefined;} 8607return subRowCell.fields[i];}));}},formatSingleField(numeric){return tr.v.ui.createScalarSpan(numeric,{context:this.getFormattingContext(numeric.unit),contextGroup:this.shouldSetContextGroup?this.name:undefined,inline:true,});},getFormattingContext(unit){return undefined;},formatMultipleFieldsDiff(firstNumeric,lastNumeric){return this.formatSingleField(this.getDiffField_(firstNumeric,lastNumeric));},compareSingleFields(numericA,numericB){return numericA.value-numericB.value;},compareMultipleFieldsDiff(firstNumericA,lastNumericA,firstNumericB,lastNumericB){return this.getDiffFieldValue_(firstNumericA,lastNumericA)- 8608this.getDiffFieldValue_(firstNumericB,lastNumericB);},getDiffField_(firstNumeric,lastNumeric){const definedNumeric=firstNumeric||lastNumeric;return new tr.b.Scalar(definedNumeric.unit.correspondingDeltaUnit,this.getDiffFieldValue_(firstNumeric,lastNumeric));},getDiffFieldValue_(firstNumeric,lastNumeric){const firstValue=firstNumeric===undefined?0:firstNumeric.value;const lastValue=lastNumeric===undefined?0:lastNumeric.value;const diff=lastValue-firstValue;return Math.abs(diff)<NumericMemoryColumn.DIFF_EPSILON?0:diff;}};function MemoryCell(fields){this.fields=fields;} 8609MemoryCell.extractFields=function(cell){if(cell===undefined)return undefined;return cell.fields;};const RECURSIVE_EXPANSION_MAX_VISIBLE_ROW_COUNT=10;function expandTableRowsRecursively(table){let currentLevelRows=table.tableRows;let totalVisibleRowCount=currentLevelRows.length;while(currentLevelRows.length>0){let nextLevelRowCount=0;currentLevelRows.forEach(function(currentLevelRow){const subRows=currentLevelRow.subRows;if(subRows===undefined||subRows.length===0)return;nextLevelRowCount+=subRows.length;});if(totalVisibleRowCount+nextLevelRowCount>RECURSIVE_EXPANSION_MAX_VISIBLE_ROW_COUNT){break;} 8610const nextLevelRows=new Array(nextLevelRowCount);let nextLevelRowIndex=0;currentLevelRows.forEach(function(currentLevelRow){const subRows=currentLevelRow.subRows;if(subRows===undefined||subRows.length===0)return;table.setExpandedForTableRow(currentLevelRow,true);subRows.forEach(function(subRow){nextLevelRows[nextLevelRowIndex++]=subRow;});});totalVisibleRowCount+=nextLevelRowCount;currentLevelRows=nextLevelRows;}} 8611function aggregateTableRowCellsRecursively(row,columns,opt_predicate){const subRows=row.subRows;if(subRows===undefined||subRows.length===0)return;subRows.forEach(function(subRow){aggregateTableRowCellsRecursively(subRow,columns,opt_predicate);});if(opt_predicate===undefined||opt_predicate(row.contexts)){aggregateTableRowCells(row,subRows,columns);}} 8612function aggregateTableRowCells(row,subRows,columns){columns.forEach(function(column){if(!(column instanceof MemoryColumn))return;column.aggregateCells(row,subRows);});} 8613function createCells(timeToValues,valueFieldsGetter,opt_this){opt_this=opt_this||this;const fieldNameToFields=tr.b.invertArrayOfDicts(timeToValues,valueFieldsGetter,opt_this);return tr.b.mapItems(fieldNameToFields,function(fieldName,fields){return new tr.ui.analysis.MemoryCell(fields);});} 8614function createWarningInfo(message){return{message,icon:String.fromCharCode(9888),color:'red'};} 8615function DetailsNumericMemoryColumn(name,cellPath,aggregationMode){NumericMemoryColumn.call(this,name,cellPath,aggregationMode);} 8616DetailsNumericMemoryColumn.prototype={__proto__:NumericMemoryColumn.prototype,getFormattingContext(unit){if(unit.baseUnit===tr.b.Unit.byName.sizeInBytes){return{unitPrefix:tr.b.UnitPrefixScale.BINARY.KIBI};} 8617return undefined;}};return{TitleColumn,MemoryColumn,StringMemoryColumn,NumericMemoryColumn,MemoryCell,expandTableRowsRecursively,aggregateTableRowCellsRecursively,aggregateTableRowCells,createCells,createWarningInfo,DetailsNumericMemoryColumn,};});'use strict';tr.exportTo('tr.ui.analysis',function(){const LATIN_SMALL_LETTER_F_WITH_HOOK=String.fromCharCode(0x0192);const CIRCLED_LATIN_CAPITAL_LETTER_T=String.fromCharCode(0x24C9);const HeapDetailsRowDimension={ROOT:{},STACK_FRAME:{label:'Stack frame',symbol:LATIN_SMALL_LETTER_F_WITH_HOOK,color:'heap_dump_stack_frame'},OBJECT_TYPE:{label:'Object type',symbol:CIRCLED_LATIN_CAPITAL_LETTER_T,color:'heap_dump_object_type'}};function HeapDetailsTitleColumn(title){tr.ui.analysis.TitleColumn.call(this,title);} 8618HeapDetailsTitleColumn.prototype={__proto__:tr.ui.analysis.TitleColumn.prototype,formatTitle(row){if(row.dimension===HeapDetailsRowDimension.ROOT){return row.title;} 8619const symbolEl=document.createElement('span');Polymer.dom(symbolEl).textContent=row.dimension.symbol;symbolEl.title=row.dimension.label;symbolEl.style.color=tr.b.ColorScheme.getColorForReservedNameAsString(row.dimension.color);symbolEl.style.paddingRight='4px';symbolEl.style.cursor='help';symbolEl.style.fontWeight='bold';const titleEl=document.createElement('span');Polymer.dom(titleEl).appendChild(symbolEl);Polymer.dom(titleEl).appendChild(document.createTextNode(row.title));return titleEl;}};function AllocationCountColumn(name,cellPath,aggregationMode){tr.ui.analysis.DetailsNumericMemoryColumn.call(this,name,cellPath,aggregationMode);} 8620AllocationCountColumn.prototype={__proto__:tr.ui.analysis.DetailsNumericMemoryColumn.prototype,getFormattingContext(unit){return{minimumFractionDigits:0};}};const HEAP_DETAILS_COLUMN_RULES=[{condition:'Size',importance:2,columnConstructor:tr.ui.analysis.DetailsNumericMemoryColumn},{condition:'Count',importance:1,columnConstructor:AllocationCountColumn},{importance:0,columnConstructor:tr.ui.analysis.DetailsNumericMemoryColumn}];return{HeapDetailsRowDimension,HeapDetailsTitleColumn,AllocationCountColumn,HEAP_DETAILS_COLUMN_RULES,};});'use strict';tr.exportTo('tr.ui.analysis',function(){const RebuildableBehavior={rebuild(){if(!this.paneDirty_){return;} 8621this.paneDirty_=false;this.onRebuild_();},scheduleRebuild_(){if(this.paneDirty_)return;this.paneDirty_=true;tr.b.requestAnimationFrame(this.rebuild.bind(this));},onRebuild_(){}};return{RebuildableBehavior,};});'use strict';Polymer({is:'tr-ui-b-tab-view',properties:{label_:{type:String,value:()=>''},selectedSubView_:Object,subViews_:{type:Array,value:()=>[]},tabsHidden:{type:Boolean,value:false,observer:'tabsHiddenChanged_'}},ready(){this.$.tabs.addEventListener('keydown',this.onKeyDown_.bind(this),true);this.updateFocusability_();},set label(newLabel){this.set('label_',newLabel);},get tabs(){return this.get('subViews_');},get selectedSubView(){return this.selectedSubView_;},set selectedSubView(subView){if(subView===this.selectedSubView_)return;if(this.selectedSubView_){Polymer.dom(this.$.subView).removeChild(this.selectedSubView_);const oldInput=this.root.getElementById(this.computeRadioId_(this.selectedSubView_));if(oldInput){oldInput.checked=false;}} 8622this.set('selectedSubView_',subView);if(subView){Polymer.dom(this.$.subView).appendChild(subView);const newInput=this.root.getElementById(this.computeRadioId_(subView));if(newInput){newInput.checked=true;}} 8623this.fire('selected-tab-change');},clearSubViews(){this.splice('subViews_',0,this.subViews_.length);this.selectedSubView=undefined;this.updateFocusability_();},addSubView(subView){this.push('subViews_',subView);if(!this.selectedSubView_)this.selectedSubView=subView;this.updateFocusability_();},resetSubViews(subViews){this.splice('subViews_',0,this.subViews_.length);if(subViews.length){for(const subView of subViews){this.push('subViews_',subView);} 8624this.selectedSubView=subViews[0];}else{this.selectedSubView=undefined;} 8625this.updateFocusability_();},onTabChanged_(event){this.selectedSubView=event.model.item;},isChecked_(subView){return this.selectedSubView_===subView;},tabsHiddenChanged_(){this.updateFocusability_();},onKeyDown_(e){if(this.tabsHidden)return;let keyHandled=false;switch(e.keyCode){case 37:keyHandled=this.selectPreviousTabIfPossible();break;case 39:keyHandled=this.selectNextTabIfPossible();break;} 8626if(!keyHandled)return;e.stopPropagation();e.preventDefault();},selectNextTabIfPossible(){return this.selectTabByOffsetIfPossible_(1);},selectPreviousTabIfPossible(){return this.selectTabByOffsetIfPossible_(-1);},selectTabByOffsetIfPossible_(offset){if(!this.selectedSubView_)return false;const currentIndex=this.subViews_.indexOf(this.selectedSubView_);const newSubView=this.tabs[currentIndex+offset];if(!newSubView)return false;this.selectedSubView=newSubView;return true;},shouldBeFocusable_(){return!this.tabsHidden&&this.subViews_.length>0;},updateFocusability_(){if(this.shouldBeFocusable_()){Polymer.dom(this.$.tabs).setAttribute('tabindex',0);}else{Polymer.dom(this.$.tabs).removeAttribute('tabindex');}},computeRadioId_(subView){return subView.tagName+'-'+subView.tabLabel.replace(/ /g,'-');}});'use strict';tr.exportTo('tr.ui.analysis',function(){const RESONABLE_NUMBER_OF_ROWS=200;const TabUiState={NO_LONG_TAIL:0,HIDING_LONG_TAIL:1,SHOWING_LONG_TAIL:2,};function EmptyFillerColumn(){} 8627EmptyFillerColumn.prototype={title:'',value(){return'';},};Polymer({is:'tr-ui-a-memory-dump-heap-details-breakdown-view',behaviors:[tr.ui.analysis.RebuildableBehavior],created(){this.displayedNode_=undefined;this.dimensionToTab_=new Map();},ready(){this.scheduleRebuild_();this.root.addEventListener('keydown',this.onKeyDown_.bind(this),true);},get displayedNode(){return this.displayedNode_;},set displayedNode(node){this.displayedNode_=node;this.scheduleRebuild_();},get aggregationMode(){return this.aggregationMode_;},set aggregationMode(aggregationMode){this.aggregationMode_=aggregationMode;for(const tab of this.$.tabs.tabs){tab.aggregationMode=aggregationMode;}},onRebuild_(){const previouslySelectedTab=this.$.tabs.selectedSubView;let previouslySelectedTabFocused=false;let previouslySelectedDimension=undefined;if(previouslySelectedTab){previouslySelectedTabFocused=previouslySelectedTab.isFocused;previouslySelectedDimension=previouslySelectedTab.dimension;} 8628for(const tab of this.$.tabs.tabs){tab.nodes=undefined;} 8629this.$.tabs.clearSubViews();if(this.displayedNode_===undefined){this.$.tabs.label='No heap node provided.';return;} 8630for(const[dimension,children]of this.displayedNode_.childNodes){if(!this.dimensionToTab_.has(dimension)){this.dimensionToTab_.set(dimension,document.createElement('tr-ui-a-memory-dump-heap-details-breakdown-view-tab'));} 8631const tab=this.dimensionToTab_.get(dimension);tab.aggregationMode=this.aggregationMode_;tab.dimension=dimension;tab.nodes=children;this.$.tabs.addSubView(tab);tab.rebuild();if(dimension===previouslySelectedDimension){this.$.tabs.selectedSubView=tab;if(previouslySelectedTabFocused){tab.focus();}}} 8632if(this.$.tabs.tabs.length>0){this.$.tabs.label='Break selected node further by:';}else{this.$.tabs.label='Selected node cannot be broken down any further.';}},onKeyDown_(keyEvent){if(!this.displayedNode_)return;let keyHandled=false;switch(keyEvent.keyCode){case 8:{if(!this.displayedNode_.parentNode)break;const viewEvent=new tr.b.Event('enter-node');viewEvent.node=this.displayedNode_.parentNode;this.dispatchEvent(viewEvent);keyHandled=true;break;} 8633case 37:case 39:{const wasFocused=this.$.tabs.selectedSubView.isFocused;keyHandled=keyEvent.keyCode===37?this.$.tabs.selectPreviousTabIfPossible():this.$.tabs.selectNextTabIfPossible();if(wasFocused&&keyHandled){this.$.tabs.selectedSubView.focus();}}} 8634if(!keyHandled)return;keyEvent.stopPropagation();keyEvent.preventDefault();}});Polymer({is:'tr-ui-a-memory-dump-heap-details-breakdown-view-tab',behaviors:[tr.ui.analysis.RebuildableBehavior],created(){this.dimension_=undefined;this.nodes_=undefined;this.aggregationMode_=undefined;this.displayLongTail_=false;},ready(){this.$.table.addEventListener('step-into',function(tableEvent){const viewEvent=new tr.b.Event('enter-node');viewEvent.node=tableEvent.tableRow;this.dispatchEvent(viewEvent);}.bind(this));},get displayLongTail(){return this.displayLongTail_;},set displayLongTail(newValue){if(this.displayLongTail===newValue)return;this.displayLongTail_=newValue;this.scheduleRebuild_();},get dimension(){return this.dimension_;},set dimension(dimension){this.dimension_=dimension;this.scheduleRebuild_();},get nodes(){return this.nodes_;},set nodes(nodes){this.nodes_=nodes;this.scheduleRebuild_();},get nodes(){return this.nodes_||[];},get dimensionLabel_(){if(this.dimension_===undefined)return'(undefined)';return this.dimension_.label;},get tabLabel(){let nodeCount=0;if(this.nodes_){nodeCount=this.nodes_.length;} 8635return this.dimensionLabel_+' ('+nodeCount+')';},get tabIcon(){if(this.dimension_===undefined||this.dimension_===tr.ui.analysis.HeapDetailsRowDimension.ROOT){return undefined;} 8636return{text:this.dimension_.symbol,style:'color: '+tr.b.ColorScheme.getColorForReservedNameAsString(this.dimension_.color)+';'};},get aggregationMode(){return this.aggregationMode_;},set aggregationMode(aggregationMode){this.aggregationMode_=aggregationMode;this.scheduleRebuild_();},focus(){this.$.table.focus();},blur(){this.$.table.blur();},get isFocused(){return this.$.table.isFocused;},onRebuild_(){this.$.table.selectionMode=tr.ui.b.TableFormat.SelectionMode.ROW;this.$.table.emptyValue='Cannot break down by '+ 8637this.dimensionLabel_.toLowerCase()+' any further.';const[state,rows]=this.getRows_();const total=this.nodes.length;const displayed=rows.length;const hidden=total-displayed;this.updateInfoBar_(state,[total,displayed,hidden]);this.$.table.tableRows=rows;this.$.table.tableColumns=this.createColumns_(rows);if(this.$.table.sortColumnIndex===undefined){this.$.table.sortColumnIndex=0;this.$.table.sortDescending=false;} 8638this.$.table.rebuild();},createColumns_(rows){const titleColumn=new tr.ui.analysis.HeapDetailsTitleColumn(this.dimensionLabel_);titleColumn.width='400px';const numericColumns=tr.ui.analysis.MemoryColumn.fromRows(rows,{cellKey:'cells',aggregationMode:this.aggregationMode_,rules:tr.ui.analysis.HEAP_DETAILS_COLUMN_RULES,shouldSetContextGroup:true});if(numericColumns.length===0){numericColumns.push(new EmptyFillerColumn());} 8639tr.ui.analysis.MemoryColumn.spaceEqually(numericColumns);const columns=[titleColumn].concat(numericColumns);return columns;},getRows_(){let rows=this.nodes;if(rows.length<=RESONABLE_NUMBER_OF_ROWS){return[TabUiState.NO_LONG_TAIL,rows];}else if(this.displayLongTail){return[TabUiState.SHOWING_LONG_TAIL,rows];} 8640const absSize=row=>Math.max(row.cells.Size.fields[0].value);rows.sort((a,b)=>absSize(b)-absSize(a));rows=rows.slice(0,RESONABLE_NUMBER_OF_ROWS);return[TabUiState.HIDING_LONG_TAIL,rows];},updateInfoBar_(state,rowStats){if(state===TabUiState.SHOWING_LONG_TAIL){this.longTailVisibleInfoBar_(rowStats);}else if(state===TabUiState.HIDING_LONG_TAIL){this.longTailHiddenInfoBar_(rowStats);}else{this.hideInfoBar_();}},longTailVisibleInfoBar_(rowStats){const[total,visible,hidden]=rowStats;const couldHide=total-RESONABLE_NUMBER_OF_ROWS;this.$.info.message='Showing '+total+' rows. This may be slow.';this.$.info.removeAllButtons();const buttonText='Hide '+couldHide+' rows.';this.$.info.addButton(buttonText,()=>this.displayLongTail=false);this.$.info.visible=true;},longTailHiddenInfoBar_(rowStats){const[total,visible,hidden]=rowStats;this.$.info.message='Hiding the smallest '+hidden+' rows.';this.$.info.removeAllButtons();this.$.info.addButton('Show all.',()=>this.displayLongTail=true);this.$.info.visible=true;},hideInfoBar_(){this.$.info.visible=false;},});return{};});'use strict';tr.exportTo('tr.ui.analysis',function(){const DOWNWARDS_ARROW_WITH_TIP_RIGHTWARDS=String.fromCharCode(0x21B3);function HeapDetailsPathColumn(title){tr.ui.analysis.HeapDetailsTitleColumn.call(this,title);} 8641HeapDetailsPathColumn.prototype={__proto__:tr.ui.analysis.HeapDetailsTitleColumn.prototype,formatTitle(row){const title=tr.ui.analysis.HeapDetailsTitleColumn.prototype.formatTitle.call(this,row);if(row.dimension===tr.ui.analysis.HeapDetailsRowDimension.ROOT){return title;} 8642const arrowEl=document.createElement('span');Polymer.dom(arrowEl).textContent=DOWNWARDS_ARROW_WITH_TIP_RIGHTWARDS;arrowEl.style.paddingRight='2px';arrowEl.style.fontWeight='bold';arrowEl.style.color=tr.b.ColorScheme.getColorForReservedNameAsString('heap_dump_child_node_arrow');const rowEl=document.createElement('span');Polymer.dom(rowEl).appendChild(arrowEl);Polymer.dom(rowEl).appendChild(tr.ui.b.asHTMLOrTextNode(title));return rowEl;}};Polymer({is:'tr-ui-a-memory-dump-heap-details-path-view',behaviors:[tr.ui.analysis.RebuildableBehavior],created(){this.selectedNode_=undefined;this.aggregationMode_=undefined;},ready(){this.$.table.addEventListener('selection-changed',function(event){this.selectedNode_=this.$.table.selectedTableRow;this.didSelectedNodeChange_();}.bind(this));},didSelectedNodeChange_(){this.dispatchEvent(new tr.b.Event('selected-node-changed'));},get selectedNode(){return this.selectedNode_;},set selectedNode(node){this.selectedNode_=node;this.didSelectedNodeChange_();this.scheduleRebuild_();},get aggregationMode(){return this.aggregationMode_;},set aggregationMode(aggregationMode){this.aggregationMode_=aggregationMode;this.scheduleRebuild_();},onRebuild_(){if(this.selectedNode_===undefined){this.$.table.clear();return;} 8643if(this.$.table.tableRows.includes(this.selectedNode_)){this.$.table.selectedTableRow=this.selectedNode_;return;} 8644this.$.table.selectionMode=tr.ui.b.TableFormat.SelectionMode.ROW;this.$.table.userCanModifySortOrder=false;const rows=this.createRows_(this.selectedNode_);this.$.table.tableRows=rows;this.$.table.tableColumns=this.createColumns_(rows);this.$.table.selectedTableRow=rows[rows.length-1];},createRows_(node){const rows=[];while(node){rows.push(node);node=node.parentNode;} 8645rows.reverse();return rows;},createColumns_(rows){const titleColumn=new HeapDetailsPathColumn('Current path');titleColumn.width='200px';const numericColumns=tr.ui.analysis.MemoryColumn.fromRows(rows,{cellKey:'cells',aggregationMode:this.aggregationMode_,rules:tr.ui.analysis.HEAP_DETAILS_COLUMN_RULES,shouldSetContextGroup:true});tr.ui.analysis.MemoryColumn.spaceEqually(numericColumns);return[titleColumn].concat(numericColumns);}});return{};});'use strict';tr.exportTo('tr.ui.analysis',function(){const StackedPaneImpl={set childPaneBuilder(childPaneBuilder){this.childPaneBuilder_=childPaneBuilder;this.dispatchEvent(new tr.b.Event('request-child-pane-change'));},get childPaneBuilder(){return this.childPaneBuilder_;},appended(){this.rebuild();}};const StackedPane=[tr.ui.analysis.RebuildableBehavior,StackedPaneImpl];return{StackedPane,};});Polymer({is:'tr-ui-a-stacked-pane',behaviors:[tr.ui.analysis.StackedPane]});'use strict';tr.exportTo('tr.ui.analysis',function(){const Scalar=tr.b.Scalar;const sizeInBytes_smallerIsBetter=tr.b.Unit.byName.sizeInBytes_smallerIsBetter;const count_smallerIsBetter=tr.b.Unit.byName.count_smallerIsBetter;const MultiDimensionalViewBuilder=tr.b.MultiDimensionalViewBuilder;const TotalState=tr.b.MultiDimensionalViewNode.TotalState;function HeapDumpTreeNode(stackFrameNodes,dimension,title,heavyView,parentNode){this.dimension=dimension;this.title=title;this.parentNode=parentNode;this.heavyView_=heavyView;this.stackFrameNodes_=stackFrameNodes;this.lazyCells_=undefined;this.lazyChildNodes_=undefined;} 8646HeapDumpTreeNode.prototype={get minDisplayedTotalState_(){if(this.heavyView_){return TotalState.LOWER_BOUND;} 8647return TotalState.EXACT;},get childNodes(){if(!this.lazyChildNodes_){this.lazyChildNodes_=new Map();this.addDimensionChildNodes_(tr.ui.analysis.HeapDetailsRowDimension.STACK_FRAME,0);this.addDimensionChildNodes_(tr.ui.analysis.HeapDetailsRowDimension.OBJECT_TYPE,1);this.releaseStackFrameNodesIfPossible_();} 8648return this.lazyChildNodes_;},get cells(){if(!this.lazyCells_){this.addCells_();this.releaseStackFrameNodesIfPossible_();} 8649return this.lazyCells_;},releaseStackFrameNodesIfPossible_(){if(this.lazyCells_&&this.lazyChildNodes_){this.stackFrameNodes_=undefined;}},addDimensionChildNodes_(dimension,dimensionIndex){const dimensionChildTitleToStackFrameNodes=tr.b.invertArrayOfDicts(this.stackFrameNodes_,node=>this.convertStackFrameNodeDimensionToChildDict_(node,dimensionIndex));const dimensionChildNodes=[];for(const[childTitle,childStackFrameNodes]of 8650Object.entries(dimensionChildTitleToStackFrameNodes)){dimensionChildNodes.push(new HeapDumpTreeNode(childStackFrameNodes,dimension,childTitle,this.heavyView_,this));} 8651this.lazyChildNodes_.set(dimension,dimensionChildNodes);},convertStackFrameNodeDimensionToChildDict_(stackFrameNode,dimensionIndex){const childDict={};let displayedChildrenTotalSize=0;let displayedChildrenTotalCount=0;let hasDisplayedChildren=false;let allDisplayedChildrenHaveDisplayedCounts=true;for(const child of stackFrameNode.children[dimensionIndex].values()){if(child.values[0].totalState<this.minDisplayedTotalState_){continue;} 8652if(child.values[1].totalState<this.minDisplayedTotalState_){allDisplayedChildrenHaveDisplayedCounts=false;} 8653childDict[child.title[dimensionIndex]]=child;displayedChildrenTotalSize+=child.values[0].total;displayedChildrenTotalCount+=child.values[1].total;hasDisplayedChildren=true;} 8654const nodeTotalSize=stackFrameNode.values[0].total;const nodeTotalCount=stackFrameNode.values[1].total;const hasUnclassifiedSizeOrCount=displayedChildrenTotalSize<nodeTotalSize||displayedChildrenTotalCount<nodeTotalCount;if(!this.heavyView_&&hasUnclassifiedSizeOrCount&&hasDisplayedChildren){const otherTitle=stackFrameNode.title.slice();otherTitle[dimensionIndex]='<other>';const otherNode=new tr.b.MultiDimensionalViewNode(otherTitle,2);childDict[otherTitle[dimensionIndex]]=otherNode;otherNode.values[0].total=nodeTotalSize-displayedChildrenTotalSize;otherNode.values[0].totalState=this.minDisplayedTotalState_;otherNode.values[1].total=nodeTotalCount-displayedChildrenTotalCount;otherNode.values[1].totalState=allDisplayedChildrenHaveDisplayedCounts?this.minDisplayedTotalState_:TotalState.NOT_PROVIDED;} 8655return childDict;},addCells_(){this.lazyCells_=tr.ui.analysis.createCells(this.stackFrameNodes_,function(stackFrameNode){const size=stackFrameNode.values[0].total;const numerics={'Size':new Scalar(sizeInBytes_smallerIsBetter,size)};const countValue=stackFrameNode.values[1];if(countValue.totalState>=this.minDisplayedTotalState_){const count=countValue.total;numerics.Count=new Scalar(count_smallerIsBetter,count);} 8656return numerics;},this);}};Polymer({is:'tr-ui-a-memory-dump-heap-details-pane',behaviors:[tr.ui.analysis.StackedPane],created(){this.heapDumps_=undefined;this.viewMode_=undefined;this.aggregationMode_=undefined;this.cachedBuilders_=new Map();},ready(){this.$.info_bar.message='Note: Values displayed in the heavy view '+'are lower bounds (except for the root).';Polymer.dom(this.$.view_mode_container).appendChild(tr.ui.b.createSelector(this,'viewMode','memoryDumpHeapDetailsPane.viewMode',MultiDimensionalViewBuilder.ViewType.TOP_DOWN_TREE_VIEW,[{label:'Top-down (Tree)',value:MultiDimensionalViewBuilder.ViewType.TOP_DOWN_TREE_VIEW},{label:'Top-down (Heavy)',value:MultiDimensionalViewBuilder.ViewType.TOP_DOWN_HEAVY_VIEW},{label:'Bottom-up (Heavy)',value:MultiDimensionalViewBuilder.ViewType.BOTTOM_UP_HEAVY_VIEW}]));this.$.drag_handle.target=this.$.path_view;this.$.drag_handle.horizontal=false;this.$.path_view.addEventListener('selected-node-changed',(function(e){this.$.breakdown_view.displayedNode=this.$.path_view.selectedNode;}).bind(this));this.$.breakdown_view.addEventListener('enter-node',(function(e){this.$.path_view.selectedNode=e.node;}).bind(this));},set heapDumps(heapDumps){this.heapDumps_=heapDumps;this.scheduleRebuild_();},get heapDumps(){return this.heapDumps_;},set aggregationMode(aggregationMode){this.aggregationMode_=aggregationMode;this.$.path_view.aggregationMode=aggregationMode;this.$.breakdown_view.aggregationMode=aggregationMode;},get aggregationMode(){return this.aggregationMode_;},set viewMode(viewMode){this.viewMode_=viewMode;this.scheduleRebuild_();},get viewMode(){return this.viewMode_;},get heavyView(){switch(this.viewMode){case MultiDimensionalViewBuilder.ViewType.TOP_DOWN_HEAVY_VIEW:case MultiDimensionalViewBuilder.ViewType.BOTTOM_UP_HEAVY_VIEW:return true;default:return false;}},onRebuild_(){if(this.heapDumps_===undefined||this.heapDumps_.length===0){this.$.info_text.style.display='block';this.$.split_view.style.display='none';this.$.view_mode_container.style.display='none';this.$.info_bar.hidden=true;this.$.path_view.selectedNode=undefined;return;} 8657this.$.info_text.style.display='none';this.$.split_view.style.display='flex';this.$.view_mode_container.style.display='block';this.$.info_bar.hidden=!this.heavyView;this.$.path_view.selectedNode=this.createHeapTree_();this.$.path_view.rebuild();this.$.breakdown_view.rebuild();},createHeapTree_(){const definedHeapDump=tr.b.findFirstInArray(this.heapDumps_);if(definedHeapDump===undefined)return undefined;const rootRowTitle=definedHeapDump.allocatorName;const stackFrameTrees=this.createStackFrameTrees_(this.heapDumps_);return new HeapDumpTreeNode(stackFrameTrees,tr.ui.analysis.HeapDetailsRowDimension.ROOT,rootRowTitle,this.heavyView);},createStackFrameTrees_(heapDumps){const builders=heapDumps.map(heapDump=>this.createBuilder_(heapDump));const views=builders.map(builder=>{if(builder===undefined)return undefined;return builder.buildView(this.viewMode);});return views;},createBuilder_(heapDump){if(heapDump===undefined)return undefined;if(this.cachedBuilders_.has(heapDump)){return this.cachedBuilders_.get(heapDump);} 8658const dimensions=2;const valueCount=2;const builder=new MultiDimensionalViewBuilder(dimensions,valueCount);for(const entry of heapDump.entries){const leafStackFrame=entry.leafStackFrame;const stackTracePath=leafStackFrame===undefined?[]:leafStackFrame.getUserFriendlyStackTrace().reverse();const objectTypeName=entry.objectTypeName;const objectTypeNamePath=objectTypeName===undefined?[]:[objectTypeName];const valueKind=entry.valuesAreTotals?MultiDimensionalViewBuilder.ValueKind.TOTAL:MultiDimensionalViewBuilder.ValueKind.SELF;builder.addPath([stackTracePath,objectTypeNamePath],[entry.size,entry.count],valueKind);} 8659builder.complete=heapDump.isComplete;this.cachedBuilders_.set(heapDump,builder);return builder;},});return{};});'use strict';tr.exportTo('tr.ui.analysis',function(){const URL_TO_SIZE_VS_EFFECTIVE_SIZE='https://chromium.googlesource.com/chromium/src/+/master/docs/memory-infra/README.md#effective_size-vs_size';const SUBALLOCATION_CONTEXT=true;const MemoryAllocatorDumpInfoType=tr.model.MemoryAllocatorDumpInfoType;const PROVIDED_SIZE_LESS_THAN_AGGREGATED_CHILDREN=MemoryAllocatorDumpInfoType.PROVIDED_SIZE_LESS_THAN_AGGREGATED_CHILDREN;const PROVIDED_SIZE_LESS_THAN_LARGEST_OWNER=MemoryAllocatorDumpInfoType.PROVIDED_SIZE_LESS_THAN_LARGEST_OWNER;const LEFTWARDS_OPEN_HEADED_ARROW=String.fromCharCode(0x21FD);const RIGHTWARDS_OPEN_HEADED_ARROW=String.fromCharCode(0x21FE);const EN_DASH=String.fromCharCode(0x2013);const CIRCLED_LATIN_SMALL_LETTER_I=String.fromCharCode(0x24D8);function AllocatorDumpNameColumn(){tr.ui.analysis.TitleColumn.call(this,'Component');} 8660AllocatorDumpNameColumn.prototype={__proto__:tr.ui.analysis.TitleColumn.prototype,formatTitle(row){if(!row.suballocation){return row.title;} 8661return tr.ui.b.createSpan({textContent:row.title,italic:true,tooltip:row.fullNames===undefined?undefined:row.fullNames.join(', ')});}};function getAndUpdateEntry(map,name,createdCallback){let entry=map.get(name);if(entry===undefined){entry={count:0};createdCallback(entry);map.set(name,entry);} 8662entry.count++;return entry;} 8663function SizeInfoMessageBuilder(){this.parts_=[];this.indent_=0;} 8664SizeInfoMessageBuilder.prototype={append(){this.parts_.push.apply(this.parts_,Array.prototype.slice.apply(arguments));},appendMap(map,hasPluralSuffix,emptyText,itemCallback,opt_this){opt_this=opt_this||this;if(map.size===0){if(emptyText){this.append(emptyText);}}else if(map.size===1){this.parts_.push(' ');const key=map.keys().next().value;itemCallback.call(opt_this,key,map.get(key));}else{if(hasPluralSuffix){this.parts_.push('s');} 8665this.parts_.push(':');this.indent_++;for(const key of map.keys()){this.parts_.push('\n',' '.repeat(3*(this.indent_-1)),' - ');itemCallback.call(opt_this,key,map.get(key));} 8666this.indent_--;}},appendImportanceRange(range){this.append(' (importance: ');if(range.min===range.max){this.append(range.min);}else{this.append(range.min,EN_DASH,range.max);} 8667this.append(')');},appendSizeIfDefined(size){if(size!==undefined){this.append(' (',tr.b.Unit.byName.sizeInBytes.format(size),')');}},appendSomeTimestampsQuantifier(){this.append(' ',tr.ui.analysis.MemoryColumn.SOME_TIMESTAMPS_INFO_QUANTIFIER);},build(){return this.parts_.join('');}};function EffectiveSizeColumn(name,cellPath,aggregationMode){tr.ui.analysis.DetailsNumericMemoryColumn.call(this,name,cellPath,aggregationMode);} 8668EffectiveSizeColumn.prototype={__proto__:tr.ui.analysis.DetailsNumericMemoryColumn.prototype,get title(){return tr.ui.b.createLink({textContent:this.name,tooltip:'Memory used by this component',href:URL_TO_SIZE_VS_EFFECTIVE_SIZE});},addInfos(numerics,memoryAllocatorDumps,infos){if(memoryAllocatorDumps===undefined)return;const ownerNameToEntry=new Map();const ownedNameToEntry=new Map();for(let i=0;i<numerics.length;i++){if(numerics[i]===undefined)continue;const dump=memoryAllocatorDumps[i];if(dump===SUBALLOCATION_CONTEXT){return;} 8669dump.ownedBy.forEach(function(ownerLink){const ownerDump=ownerLink.source;this.getAndUpdateOwnershipEntry_(ownerNameToEntry,ownerDump,ownerLink);},this);const ownedLink=dump.owns;if(ownedLink!==undefined){const ownedDump=ownedLink.target;const ownedEntry=this.getAndUpdateOwnershipEntry_(ownedNameToEntry,ownedDump,ownedLink,true);const sharerNameToEntry=ownedEntry.sharerNameToEntry;ownedDump.ownedBy.forEach(function(sharerLink){const sharerDump=sharerLink.source;if(sharerDump===dump)return;this.getAndUpdateOwnershipEntry_(sharerNameToEntry,sharerDump,sharerLink);},this);}} 8670if(ownerNameToEntry.size>0){const messageBuilder=new SizeInfoMessageBuilder();messageBuilder.append('shared by');messageBuilder.appendMap(ownerNameToEntry,false,undefined,function(ownerName,ownerEntry){messageBuilder.append(ownerName);if(ownerEntry.count<numerics.length){messageBuilder.appendSomeTimestampsQuantifier();} 8671messageBuilder.appendImportanceRange(ownerEntry.importanceRange);},this);infos.push({message:messageBuilder.build(),icon:LEFTWARDS_OPEN_HEADED_ARROW,color:'green'});} 8672if(ownedNameToEntry.size>0){const messageBuilder=new SizeInfoMessageBuilder();messageBuilder.append('shares');messageBuilder.appendMap(ownedNameToEntry,false,undefined,function(ownedName,ownedEntry){messageBuilder.append(ownedName);const ownedCount=ownedEntry.count;if(ownedCount<numerics.length){messageBuilder.appendSomeTimestampsQuantifier();} 8673messageBuilder.appendImportanceRange(ownedEntry.importanceRange);messageBuilder.append(' with');messageBuilder.appendMap(ownedEntry.sharerNameToEntry,false,' no other dumps',function(sharerName,sharerEntry){messageBuilder.append(sharerName);if(sharerEntry.count<ownedCount){messageBuilder.appendSomeTimestampsQuantifier();} 8674messageBuilder.appendImportanceRange(sharerEntry.importanceRange);},this);},this);infos.push({message:messageBuilder.build(),icon:RIGHTWARDS_OPEN_HEADED_ARROW,color:'green'});}},getAndUpdateOwnershipEntry_(map,dump,link,opt_withSharerNameToEntry){const entry=getAndUpdateEntry(map,dump.quantifiedName,function(newEntry){newEntry.importanceRange=new tr.b.math.Range();if(opt_withSharerNameToEntry){newEntry.sharerNameToEntry=new Map();}});entry.importanceRange.addValue(link.importance||0);return entry;}};function SizeColumn(name,cellPath,aggregationMode){tr.ui.analysis.DetailsNumericMemoryColumn.call(this,name,cellPath,aggregationMode);} 8675SizeColumn.prototype={__proto__:tr.ui.analysis.DetailsNumericMemoryColumn.prototype,get title(){return tr.ui.b.createLink({textContent:this.name,tooltip:'Memory requested by this component',href:URL_TO_SIZE_VS_EFFECTIVE_SIZE});},addInfos(numerics,memoryAllocatorDumps,infos){if(memoryAllocatorDumps===undefined)return;this.addOverlapInfo_(numerics,memoryAllocatorDumps,infos);this.addProvidedSizeWarningInfos_(numerics,memoryAllocatorDumps,infos);},addOverlapInfo_(numerics,memoryAllocatorDumps,infos){const siblingNameToEntry=new Map();for(let i=0;i<numerics.length;i++){if(numerics[i]===undefined)continue;const dump=memoryAllocatorDumps[i];if(dump===SUBALLOCATION_CONTEXT){return;} 8676const ownedBySiblingSizes=dump.ownedBySiblingSizes;for(const siblingDump of ownedBySiblingSizes.keys()){const siblingName=siblingDump.name;getAndUpdateEntry(siblingNameToEntry,siblingName,function(newEntry){if(numerics.length===1){newEntry.size=ownedBySiblingSizes.get(siblingDump);}});}} 8677if(siblingNameToEntry.size>0){const messageBuilder=new SizeInfoMessageBuilder();messageBuilder.append('overlaps with its sibling');messageBuilder.appendMap(siblingNameToEntry,true,undefined,function(siblingName,siblingEntry){messageBuilder.append('\'',siblingName,'\'');messageBuilder.appendSizeIfDefined(siblingEntry.size);if(siblingEntry.count<numerics.length){messageBuilder.appendSomeTimestampsQuantifier();}},this);infos.push({message:messageBuilder.build(),icon:CIRCLED_LATIN_SMALL_LETTER_I,color:'blue'});}},addProvidedSizeWarningInfos_(numerics,memoryAllocatorDumps,infos){const infoTypeToEntry=new Map();for(let i=0;i<numerics.length;i++){if(numerics[i]===undefined)continue;const dump=memoryAllocatorDumps[i];if(dump===SUBALLOCATION_CONTEXT){return;} 8678dump.infos.forEach(function(dumpInfo){getAndUpdateEntry(infoTypeToEntry,dumpInfo.type,function(newEntry){if(numerics.length===1){newEntry.providedSize=dumpInfo.providedSize;newEntry.dependencySize=dumpInfo.dependencySize;}});});} 8679for(const infoType of infoTypeToEntry.keys()){const entry=infoTypeToEntry.get(infoType);const messageBuilder=new SizeInfoMessageBuilder();messageBuilder.append('provided size');messageBuilder.appendSizeIfDefined(entry.providedSize);let dependencyName;switch(infoType){case PROVIDED_SIZE_LESS_THAN_AGGREGATED_CHILDREN:dependencyName='the aggregated size of the children';break;case PROVIDED_SIZE_LESS_THAN_LARGEST_OWNER:dependencyName='the size of the largest owner';break;default:dependencyName='an unknown dependency';break;} 8680messageBuilder.append(' was less than ',dependencyName);messageBuilder.appendSizeIfDefined(entry.dependencySize);if(entry.count<numerics.length){messageBuilder.appendSomeTimestampsQuantifier();} 8681infos.push(tr.ui.analysis.createWarningInfo(messageBuilder.build()));}}};const NUMERIC_COLUMN_RULES=[{condition:tr.model.MemoryAllocatorDump.EFFECTIVE_SIZE_NUMERIC_NAME,importance:10,columnConstructor:EffectiveSizeColumn},{condition:tr.model.MemoryAllocatorDump.SIZE_NUMERIC_NAME,importance:9,columnConstructor:SizeColumn},{condition:'page_size',importance:0,columnConstructor:tr.ui.analysis.DetailsNumericMemoryColumn},{condition:/size/,importance:5,columnConstructor:tr.ui.analysis.DetailsNumericMemoryColumn},{importance:0,columnConstructor:tr.ui.analysis.DetailsNumericMemoryColumn}];const DIAGNOSTIC_COLUMN_RULES=[{importance:0,columnConstructor:tr.ui.analysis.StringMemoryColumn}];Polymer({is:'tr-ui-a-memory-dump-allocator-details-pane',behaviors:[tr.ui.analysis.StackedPane],created(){this.memoryAllocatorDumps_=undefined;this.heapDumps_=undefined;this.aggregationMode_=undefined;},ready(){this.$.table.selectionMode=tr.ui.b.TableFormat.SelectionMode.ROW;},set memoryAllocatorDumps(memoryAllocatorDumps){this.memoryAllocatorDumps_=memoryAllocatorDumps;this.scheduleRebuild_();},get memoryAllocatorDumps(){return this.memoryAllocatorDumps_;},set heapDumps(heapDumps){this.heapDumps_=heapDumps;this.scheduleRebuild_();},set aggregationMode(aggregationMode){this.aggregationMode_=aggregationMode;this.scheduleRebuild_();},get aggregationMode(){return this.aggregationMode_;},onRebuild_(){if(this.memoryAllocatorDumps_===undefined||this.memoryAllocatorDumps_.length===0){this.$.info_text.style.display='block';this.$.table.style.display='none';this.$.table.clear();this.$.table.rebuild();this.childPaneBuilder=undefined;return;} 8682this.$.info_text.style.display='none';this.$.table.style.display='block';const rows=this.createRows_();const columns=this.createColumns_(rows);rows.forEach(function(rootRow){tr.ui.analysis.aggregateTableRowCellsRecursively(rootRow,columns,function(contexts){return contexts!==undefined&&contexts.some(function(context){return context===SUBALLOCATION_CONTEXT;});});});this.$.table.tableRows=rows;this.$.table.tableColumns=columns;this.$.table.rebuild();tr.ui.analysis.expandTableRowsRecursively(this.$.table);if(this.heapDumps_===undefined){this.childPaneBuilder=undefined;}else{this.childPaneBuilder=function(){const pane=document.createElement('tr-ui-a-memory-dump-heap-details-pane');pane.heapDumps=this.heapDumps_;pane.aggregationMode=this.aggregationMode_;return pane;}.bind(this);}},createRows_(){return[this.createAllocatorRowRecursively_(this.memoryAllocatorDumps_)];},createAllocatorRowRecursively_(dumps){const definedDump=tr.b.findFirstInArray(dumps);const title=definedDump.name;const fullName=definedDump.fullName;const numericCells=tr.ui.analysis.createCells(dumps,function(dump){return dump.numerics;});const diagnosticCells=tr.ui.analysis.createCells(dumps,function(dump){return dump.diagnostics;});let suballocatedBy=undefined;if(title.startsWith('__')){for(let i=0;i<dumps.length;i++){const dump=dumps[i];if(dump===undefined||dump.ownedBy.length===0){continue;} 8683const ownerDump=dump.ownedBy[0].source;if(dump.ownedBy.length>1||dump.children.length>0||ownerDump.containerMemoryDump!==dump.containerMemoryDump){suballocatedBy=undefined;break;} 8684if(suballocatedBy===undefined){suballocatedBy=ownerDump.fullName;}else if(suballocatedBy!==ownerDump.fullName){suballocatedBy=undefined;break;}}} 8685const row={title,fullNames:[fullName],contexts:dumps,numericCells,diagnosticCells,suballocatedBy};const childDumpNameToDumps=tr.b.invertArrayOfDicts(dumps,function(dump){return tr.b.arrayToDict(dump.children,function(child){return child.name;});});const subRows=[];let suballocationClassificationRootNode=undefined;for(const childDumps of Object.values(childDumpNameToDumps)){const childRow=this.createAllocatorRowRecursively_(childDumps);if(childRow.suballocatedBy===undefined){subRows.push(childRow);}else{suballocationClassificationRootNode=this.classifySuballocationRow_(childRow,suballocationClassificationRootNode);}} 8686if(suballocationClassificationRootNode!==undefined){const suballocationRow=this.createSuballocationRowRecursively_('suballocations',suballocationClassificationRootNode);subRows.push(suballocationRow);} 8687if(subRows.length>0){row.subRows=subRows;} 8688return row;},classifySuballocationRow_(suballocationRow,rootNode){if(rootNode===undefined){rootNode={children:{},row:undefined};} 8689const suballocationLevels=suballocationRow.suballocatedBy.split('/');let currentNode=rootNode;for(let i=0;i<suballocationLevels.length;i++){const suballocationLevel=suballocationLevels[i];let nextNode=currentNode.children[suballocationLevel];if(nextNode===undefined){currentNode.children[suballocationLevel]=nextNode={children:{},row:undefined};} 8690currentNode=nextNode;} 8691const existingRow=currentNode.row;if(existingRow!==undefined){for(let i=0;i<suballocationRow.contexts.length;i++){const newContext=suballocationRow.contexts[i];if(newContext===undefined)continue;if(existingRow.contexts[i]!==undefined){throw new Error('Multiple suballocations with the same owner name');} 8692existingRow.contexts[i]=newContext;['numericCells','diagnosticCells'].forEach(function(cellKey){const suballocationCells=suballocationRow[cellKey];if(suballocationCells===undefined)return;for(const[cellName,cell]of Object.entries(suballocationCells)){if(cell===undefined)continue;const fields=cell.fields;if(fields===undefined)continue;const field=fields[i];if(field===undefined)continue;let existingCells=existingRow[cellKey];if(existingCells===undefined){existingCells={};existingRow[cellKey]=existingCells;} 8693let existingCell=existingCells[cellName];if(existingCell===undefined){existingCell=new tr.ui.analysis.MemoryCell(new Array(fields.length));existingCells[cellName]=existingCell;} 8694existingCell.fields[i]=field;}});} 8695existingRow.fullNames.push.apply(existingRow.fullNames,suballocationRow.fullNames);}else{currentNode.row=suballocationRow;} 8696return rootNode;},createSuballocationRowRecursively_(name,node){const childCount=Object.keys(node.children).length;if(childCount===0){if(node.row===undefined){throw new Error('Suballocation node must have a row or children');} 8697const row=node.row;row.title=name;row.suballocation=true;return row;} 8698const subRows=Object.values(tr.b.mapItems(node.children,this.createSuballocationRowRecursively_,this));if(node.row!==undefined){const row=node.row;row.title='<unspecified>';row.suballocation=true;subRows.unshift(row);} 8699const contexts=new Array(subRows[0].contexts.length);for(let i=0;i<subRows.length;i++){subRows[i].contexts.forEach(function(subContext,index){if(subContext!==undefined){contexts[index]=SUBALLOCATION_CONTEXT;}});} 8700return{title:name,suballocation:true,contexts,subRows};},createColumns_(rows){const titleColumn=new AllocatorDumpNameColumn();titleColumn.width='200px';const numericColumns=tr.ui.analysis.MemoryColumn.fromRows(rows,{cellKey:'numericCells',aggregationMode:this.aggregationMode_,rules:NUMERIC_COLUMN_RULES});const diagnosticColumns=tr.ui.analysis.MemoryColumn.fromRows(rows,{cellKey:'diagnosticCells',aggregationMode:this.aggregationMode_,rules:DIAGNOSTIC_COLUMN_RULES});const fieldColumns=numericColumns.concat(diagnosticColumns);tr.ui.analysis.MemoryColumn.spaceEqually(fieldColumns);const columns=[titleColumn].concat(fieldColumns);return columns;}});return{SUBALLOCATION_CONTEXT,AllocatorDumpNameColumn,EffectiveSizeColumn,SizeColumn,};});'use strict';tr.exportTo('tr.ui.analysis',function(){const Scalar=tr.b.Scalar;const sizeInBytes_smallerIsBetter=tr.b.Unit.byName.sizeInBytes_smallerIsBetter;const CONSTANT_COLUMN_RULES=[{condition:'Start address',importance:0,columnConstructor:tr.ui.analysis.StringMemoryColumn}];const VARIABLE_COLUMN_RULES=[{condition:'Virtual size',importance:7,columnConstructor:tr.ui.analysis.DetailsNumericMemoryColumn},{condition:'Protection flags',importance:6,columnConstructor:tr.ui.analysis.StringMemoryColumn},{condition:'PSS',importance:5,columnConstructor:tr.ui.analysis.DetailsNumericMemoryColumn},{condition:'Private dirty',importance:4,columnConstructor:tr.ui.analysis.DetailsNumericMemoryColumn},{condition:'Private clean',importance:3,columnConstructor:tr.ui.analysis.DetailsNumericMemoryColumn},{condition:'Shared dirty',importance:2,columnConstructor:tr.ui.analysis.DetailsNumericMemoryColumn},{condition:'Shared clean',importance:1,columnConstructor:tr.ui.analysis.DetailsNumericMemoryColumn},{condition:'Swapped',importance:0,columnConstructor:tr.ui.analysis.DetailsNumericMemoryColumn}];const BYTE_STAT_COLUMN_MAP={'proportionalResident':'PSS','privateDirtyResident':'Private dirty','privateCleanResident':'Private clean','sharedDirtyResident':'Shared dirty','sharedCleanResident':'Shared clean','swapped':'Swapped'};function hexString(address,is64BitAddress){if(address===undefined)return undefined;const hexPadding=is64BitAddress?'0000000000000000':'00000000';return(hexPadding+address.toString(16)).substr(-hexPadding.length);} 8701function pruneEmptyRuleRows(row){if(row.subRows===undefined||row.subRows.length===0)return;if(row.subRows[0].rule===undefined){return;} 8702row.subRows.forEach(pruneEmptyRuleRows);row.subRows=row.subRows.filter(function(subRow){return subRow.subRows.length>0;});} 8703Polymer({is:'tr-ui-a-memory-dump-vm-regions-details-pane',behaviors:[tr.ui.analysis.StackedPane],created(){this.vmRegions_=undefined;this.aggregationMode_=undefined;},ready(){this.$.table.selectionMode=tr.ui.b.TableFormat.SelectionMode.ROW;},set vmRegions(vmRegions){this.vmRegions_=vmRegions;this.scheduleRebuild_();},get vmRegions(){return this.vmRegions_;},set aggregationMode(aggregationMode){this.aggregationMode_=aggregationMode;this.scheduleRebuild_();},get aggregationMode(){return this.aggregationMode_;},onRebuild_(){if(this.vmRegions_===undefined||this.vmRegions_.length===0){this.$.info_text.style.display='block';this.$.table.style.display='none';this.$.table.clear();this.$.table.rebuild();return;} 8704this.$.info_text.style.display='none';this.$.table.style.display='block';const rows=this.createRows_(this.vmRegions_);const columns=this.createColumns_(rows);this.$.table.tableRows=rows;this.$.table.tableColumns=columns;this.$.table.rebuild();tr.ui.analysis.expandTableRowsRecursively(this.$.table);},createRows_(timeToVmRegionTree){const is64BitAddress=timeToVmRegionTree.some(function(vmRegionTree){if(vmRegionTree===undefined)return false;return vmRegionTree.someRegion(function(region){if(region.startAddress===undefined)return false;return region.startAddress>=4294967296;});});return[this.createClassificationNodeRow(timeToVmRegionTree,is64BitAddress)];},createClassificationNodeRow(timeToNode,is64BitAddress){const definedNode=tr.b.findFirstInArray(timeToNode);const childNodeIdToTimeToNode=Object.values(tr.b.invertArrayOfDicts(timeToNode,function(node){const children=node.children;if(children===undefined)return undefined;const childMap={};children.forEach(function(childNode){if(!childNode.hasRegions)return;childMap[childNode.title]=childNode;});return childMap;}));const childNodeSubRows=childNodeIdToTimeToNode.map(function(timeToChildNode){return this.createClassificationNodeRow(timeToChildNode,is64BitAddress);},this);const regionIdToTimeToRegion=Object.values(tr.b.invertArrayOfDicts(timeToNode,function(node){const regions=node.regions;if(regions===undefined)return undefined;return tr.b.arrayToDict(regions,function(region){return region.uniqueIdWithinProcess;});}));const regionSubRows=regionIdToTimeToRegion.map(function(timeToRegion){return this.createRegionRow_(timeToRegion,is64BitAddress);},this);const subRows=childNodeSubRows.concat(regionSubRows);return{title:definedNode.title,contexts:timeToNode,variableCells:this.createVariableCells_(timeToNode),subRows};},createRegionRow_(timeToRegion,is64BitAddress){const definedRegion=tr.b.findFirstInArray(timeToRegion);return{title:definedRegion.mappedFile,contexts:timeToRegion,constantCells:this.createConstantCells_(definedRegion,is64BitAddress),variableCells:this.createVariableCells_(timeToRegion)};},createConstantCells_(definedRegion,is64BitAddress){return tr.ui.analysis.createCells([definedRegion],function(region){const startAddress=region.startAddress;if(startAddress===undefined)return undefined;return{'Start address':hexString(startAddress,is64BitAddress)};});},createVariableCells_(timeToRegion){return tr.ui.analysis.createCells(timeToRegion,function(region){const fields={};const sizeInBytes=region.sizeInBytes;if(sizeInBytes!==undefined){fields['Virtual size']=new Scalar(sizeInBytes_smallerIsBetter,sizeInBytes);} 8705const protectionFlags=region.protectionFlagsToString;if(protectionFlags!==undefined){fields['Protection flags']=protectionFlags;} 8706for(const[byteStatName,columnName]of 8707Object.entries(BYTE_STAT_COLUMN_MAP)){const byteStat=region.byteStats[byteStatName];if(byteStat===undefined)continue;fields[columnName]=new Scalar(sizeInBytes_smallerIsBetter,byteStat);} 8708return fields;});},createColumns_(rows){const titleColumn=new tr.ui.analysis.TitleColumn('Mapped file');titleColumn.width='200px';const constantColumns=tr.ui.analysis.MemoryColumn.fromRows(rows,{cellKey:'constantCells',aggregationMode:undefined,rules:CONSTANT_COLUMN_RULES});const variableColumns=tr.ui.analysis.MemoryColumn.fromRows(rows,{cellKey:'variableCells',aggregationMode:this.aggregationMode_,rules:VARIABLE_COLUMN_RULES});const fieldColumns=constantColumns.concat(variableColumns);tr.ui.analysis.MemoryColumn.spaceEqually(fieldColumns);const columns=[titleColumn].concat(fieldColumns);return columns;}});return{};});'use strict';Polymer({is:'tr-ui-b-color-legend',ready(){const blackSquareCharCode=9632;this.$.square.innerText=String.fromCharCode(blackSquareCharCode);this.label_=undefined;this.compoundEventSelectionState_=tr.model.CompoundEventSelectionState.NOT_SELECTED;},set compoundEventSelectionState(compoundEventSelectionState){this.compoundEventSelectionState_=compoundEventSelectionState;},get label(){return this.label_;},set label(label){if(label===undefined){this.setLabelAndColorId(undefined,undefined);return;} 8709const colorId=tr.b.ColorScheme.getColorIdForGeneralPurposeString(label);this.setLabelAndColorId(label,colorId);},setLabelAndColorId(label,colorId){this.label_=label;Polymer.dom(this.$.label).textContent='';Polymer.dom(this.$.label).appendChild(tr.ui.b.asHTMLOrTextNode(label));if(colorId===undefined){this.$.square.style.color='initial';}else{this.$.square.style.color=tr.b.ColorScheme.colorsAsStrings[colorId];}}});'use strict';Polymer({is:'tr-ui-b-view-specific-brushing-state',get viewId(){return this.getAttribute('view-id');},set viewId(viewId){Polymer.dom(this).setAttribute('view-id',viewId);},get(){const viewId=this.viewId;if(!viewId){throw new Error('Element must have a view-id attribute!');} 8710const brushingStateController=tr.c.BrushingStateController.getControllerForElement(this);if(!brushingStateController)return undefined;return brushingStateController.getViewSpecificBrushingState(viewId);},set(state){const viewId=this.viewId;if(!viewId){throw new Error('Element must have a view-id attribute!');} 8711const brushingStateController=tr.c.BrushingStateController.getControllerForElement(this);if(!brushingStateController)return;brushingStateController.changeViewSpecificBrushingState(viewId,state);}});'use strict';tr.exportTo('tr.ui.analysis',function(){const MemoryColumnColorScheme=tr.b.MemoryColumnColorScheme;const Scalar=tr.b.Scalar;const sizeInBytes_smallerIsBetter=tr.b.Unit.byName.sizeInBytes_smallerIsBetter;const PLATFORM_SPECIFIC_TOTAL_NAME_SUFFIX='_bytes';const DISPLAYED_SIZE_NUMERIC_NAME=tr.model.MemoryAllocatorDump.DISPLAYED_SIZE_NUMERIC_NAME;const SOME_TIMESTAMPS_INFO_QUANTIFIER=tr.ui.analysis.MemoryColumn.SOME_TIMESTAMPS_INFO_QUANTIFIER;const RIGHTWARDS_ARROW_WITH_HOOK=String.fromCharCode(0x21AA);const RIGHTWARDS_ARROW_FROM_BAR=String.fromCharCode(0x21A6);const GREATER_THAN_OR_EQUAL_TO=String.fromCharCode(0x2265);const UNMARRIED_PARTNERSHIP_SYMBOL=String.fromCharCode(0x26AF);const TRIGRAM_FOR_HEAVEN=String.fromCharCode(0x2630);function lazyMap(list,fn,opt_this){opt_this=opt_this||this;let result=undefined;list.forEach(function(item,index){const value=fn.call(opt_this,item,index);if(value===undefined)return;if(result===undefined){result=new Array(list.length);} 8712result[index]=value;});return result;} 8713function ProcessNameColumn(){tr.ui.analysis.TitleColumn.call(this,'Process');} 8714ProcessNameColumn.prototype={__proto__:tr.ui.analysis.TitleColumn.prototype,formatTitle(row){if(row.contexts===undefined){return row.title;} 8715const titleEl=document.createElement('tr-ui-b-color-legend');titleEl.label=row.title;return titleEl;}};function UsedMemoryColumn(name,cellPath,aggregationMode){tr.ui.analysis.NumericMemoryColumn.call(this,name,cellPath,aggregationMode);} 8716UsedMemoryColumn.COLOR=MemoryColumnColorScheme.getColor('used_memory_column').toString();UsedMemoryColumn.OLDER_COLOR=MemoryColumnColorScheme.getColor('older_used_memory_column').toString();UsedMemoryColumn.prototype={__proto__:tr.ui.analysis.NumericMemoryColumn.prototype,get title(){return tr.ui.b.createSpan({textContent:this.name,color:UsedMemoryColumn.COLOR});},getFormattingContext(unit){return{unitPrefix:tr.b.UnitPrefixScale.BINARY.MEBI};},color(numerics,processMemoryDumps){return UsedMemoryColumn.COLOR;},getChildPaneBuilder(processMemoryDumps){if(processMemoryDumps===undefined)return undefined;const vmRegions=lazyMap(processMemoryDumps,function(pmd){if(pmd===undefined)return undefined;return pmd.mostRecentVmRegions;});if(vmRegions===undefined)return undefined;return function(){const pane=document.createElement('tr-ui-a-memory-dump-vm-regions-details-pane');pane.vmRegions=vmRegions;pane.aggregationMode=this.aggregationMode;return pane;}.bind(this);}};function PeakMemoryColumn(name,cellPath,aggregationMode){UsedMemoryColumn.call(this,name,cellPath,aggregationMode);} 8717PeakMemoryColumn.prototype={__proto__:UsedMemoryColumn.prototype,addInfos(numerics,processMemoryDumps,infos){if(processMemoryDumps===undefined)return;let resettableValueCount=0;let nonResettableValueCount=0;for(let i=0;i<numerics.length;i++){if(numerics[i]===undefined)continue;if(processMemoryDumps[i].arePeakResidentBytesResettable){resettableValueCount++;}else{nonResettableValueCount++;}} 8718if(resettableValueCount>0&&nonResettableValueCount>0){infos.push(tr.ui.analysis.createWarningInfo('Both resettable and '+'non-resettable peak RSS values were provided by the process'));}else if(resettableValueCount>0){infos.push({icon:RIGHTWARDS_ARROW_WITH_HOOK,message:'Peak RSS since previous memory dump.'});}else{infos.push({icon:RIGHTWARDS_ARROW_FROM_BAR,message:'Peak RSS since process startup. Finer grained '+'peaks require a Linux kernel version '+ 8719GREATER_THAN_OR_EQUAL_TO+' 4.0.'});}}};function ByteStatColumn(name,cellPath,aggregationMode){UsedMemoryColumn.call(this,name,cellPath,aggregationMode);} 8720ByteStatColumn.prototype={__proto__:UsedMemoryColumn.prototype,color(numerics,processMemoryDumps){if(processMemoryDumps===undefined){return UsedMemoryColumn.COLOR;} 8721const allOlderValues=processMemoryDumps.every(function(processMemoryDump){if(processMemoryDump===undefined)return true;return!processMemoryDump.hasOwnVmRegions;});if(allOlderValues){return UsedMemoryColumn.OLDER_COLOR;} 8722return UsedMemoryColumn.COLOR;},addInfos(numerics,processMemoryDumps,infos){if(processMemoryDumps===undefined)return;let olderValueCount=0;for(let i=0;i<numerics.length;i++){const processMemoryDump=processMemoryDumps[i];if(processMemoryDump!==undefined&&!processMemoryDump.hasOwnVmRegions){olderValueCount++;}} 8723if(olderValueCount===0){return;} 8724const infoQuantifier=olderValueCount<numerics.length?' '+SOME_TIMESTAMPS_INFO_QUANTIFIER:'';infos.push({message:'Older value'+infoQuantifier+' (only heavy (purple) memory dumps contain memory maps).',icon:UNMARRIED_PARTNERSHIP_SYMBOL});}};UsedMemoryColumn.RULES=[{condition:'Total resident',importance:10,columnConstructor:UsedMemoryColumn},{condition:'Peak total resident',importance:9,columnConstructor:PeakMemoryColumn},{condition:'PSS',importance:8,columnConstructor:ByteStatColumn},{condition:'Private dirty',importance:7,columnConstructor:ByteStatColumn},{condition:'Swapped',importance:6,columnConstructor:ByteStatColumn},{importance:0,columnConstructor:UsedMemoryColumn}];UsedMemoryColumn.TOTALS_MAP={'residentBytes':'Total resident','peakResidentBytes':'Peak total resident'};UsedMemoryColumn.BYTE_STAT_MAP={'proportionalResident':'PSS','privateDirtyResident':'Private dirty','swapped':'Swapped'};function AllocatorColumn(name,cellPath,aggregationMode){tr.ui.analysis.NumericMemoryColumn.call(this,name,cellPath,aggregationMode);} 8725AllocatorColumn.prototype={__proto__:tr.ui.analysis.NumericMemoryColumn.prototype,get title(){const titleEl=document.createElement('tr-ui-b-color-legend');titleEl.label=this.name;return titleEl;},getFormattingContext(unit){return{unitPrefix:tr.b.UnitPrefixScale.BINARY.MEBI};},addInfos(numerics,processMemoryDumps,infos){if(processMemoryDumps===undefined)return;let heapDumpCount=0;let missingSizeCount=0;for(let i=0;i<processMemoryDumps.length;i++){const processMemoryDump=processMemoryDumps[i];if(processMemoryDump===undefined)continue;const heapDumps=processMemoryDump.heapDumps;if(heapDumps!==undefined&&heapDumps[this.name]!==undefined){heapDumpCount++;} 8726const allocatorDump=processMemoryDump.getMemoryAllocatorDumpByFullName(this.name);if(allocatorDump!==undefined&&allocatorDump.numerics[DISPLAYED_SIZE_NUMERIC_NAME]===undefined){missingSizeCount++;}} 8727if(heapDumpCount>0){const infoQuantifier=heapDumpCount<numerics.length?' '+SOME_TIMESTAMPS_INFO_QUANTIFIER:'';infos.push({message:'Heap dump provided'+infoQuantifier+'.',icon:TRIGRAM_FOR_HEAVEN});} 8728if(missingSizeCount>0){const infoQuantifier=missingSizeCount<numerics.length?' '+SOME_TIMESTAMPS_INFO_QUANTIFIER:'';infos.push(tr.ui.analysis.createWarningInfo('Size was not provided'+infoQuantifier+'.'));}},getChildPaneBuilder(processMemoryDumps){if(processMemoryDumps===undefined)return undefined;const memoryAllocatorDumps=lazyMap(processMemoryDumps,function(pmd){if(pmd===undefined)return undefined;return pmd.getMemoryAllocatorDumpByFullName(this.name);},this);if(memoryAllocatorDumps===undefined)return undefined;const heapDumps=lazyMap(processMemoryDumps,function(pmd){if(pmd===undefined||pmd.heapDumps===undefined)return undefined;return pmd.heapDumps[this.name];},this);return function(){const pane=document.createElement('tr-ui-a-memory-dump-allocator-details-pane');pane.memoryAllocatorDumps=memoryAllocatorDumps;pane.heapDumps=heapDumps;pane.aggregationMode=this.aggregationMode;return pane;}.bind(this);}};function TracingColumn(name,cellPath,aggregationMode){AllocatorColumn.call(this,name,cellPath,aggregationMode);} 8729TracingColumn.COLOR=MemoryColumnColorScheme.getColor('tracing_memory_column').toString();TracingColumn.prototype={__proto__:AllocatorColumn.prototype,get title(){return tr.ui.b.createSpan({textContent:this.name,color:TracingColumn.COLOR});},color(numerics,processMemoryDumps){return TracingColumn.COLOR;}};AllocatorColumn.RULES=[{condition:'tracing',importance:0,columnConstructor:TracingColumn},{importance:1,columnConstructor:AllocatorColumn}];Polymer({is:'tr-ui-a-memory-dump-overview-pane',behaviors:[tr.ui.analysis.StackedPane],created(){this.processMemoryDumps_=undefined;this.aggregationMode_=undefined;},ready(){this.$.table.selectionMode=tr.ui.b.TableFormat.SelectionMode.CELL;this.$.table.addEventListener('selection-changed',function(tableEvent){tableEvent.stopPropagation();this.changeChildPane_();}.bind(this));},set processMemoryDumps(processMemoryDumps){this.processMemoryDumps_=processMemoryDumps;this.scheduleRebuild_();},get processMemoryDumps(){return this.processMemoryDumps_;},set aggregationMode(aggregationMode){this.aggregationMode_=aggregationMode;this.scheduleRebuild_();},get aggregationMode(){return this.aggregationMode_;},get selectedMemoryCell(){if(this.processMemoryDumps_===undefined||this.processMemoryDumps_.length===0){return undefined;} 8730const selectedTableRow=this.$.table.selectedTableRow;if(!selectedTableRow)return undefined;const selectedColumnIndex=this.$.table.selectedColumnIndex;if(selectedColumnIndex===undefined)return undefined;const selectedColumn=this.$.table.tableColumns[selectedColumnIndex];const selectedMemoryCell=selectedColumn.cell(selectedTableRow);return selectedMemoryCell;},changeChildPane_(){this.storeSelection_();this.childPaneBuilder=this.determineChildPaneBuilderFromSelection_();},determineChildPaneBuilderFromSelection_(){if(this.processMemoryDumps_===undefined||this.processMemoryDumps_.length===0){return undefined;} 8731const selectedTableRow=this.$.table.selectedTableRow;if(!selectedTableRow)return undefined;const selectedColumnIndex=this.$.table.selectedColumnIndex;if(selectedColumnIndex===undefined)return undefined;const selectedColumn=this.$.table.tableColumns[selectedColumnIndex];return selectedColumn.getChildPaneBuilder(selectedTableRow.contexts);},onRebuild_(){if(this.processMemoryDumps_===undefined||this.processMemoryDumps_.length===0){this.$.info_text.style.display='block';this.$.table.style.display='none';this.$.table.clear();this.$.table.rebuild();return;} 8732this.$.info_text.style.display='none';this.$.table.style.display='block';const rows=this.createRows_();const columns=this.createColumns_(rows);const footerRows=this.createFooterRows_(rows,columns);this.$.table.tableRows=rows;this.$.table.footerRows=footerRows;this.$.table.tableColumns=columns;this.$.table.rebuild();this.restoreSelection_();},createRows_(){const timeToPidToProcessMemoryDump=this.processMemoryDumps_;const pidToTimeToProcessMemoryDump=tr.b.invertArrayOfDicts(timeToPidToProcessMemoryDump);return Object.values(tr.b.mapItems(pidToTimeToProcessMemoryDump,function(pid,timeToDump){const process=tr.b.findFirstInArray(timeToDump).process;const usedMemoryCells=tr.ui.analysis.createCells(timeToDump,function(dump){const sizes={};const totals=dump.totals;if(totals!==undefined){for(const[totalName,cellName]of 8733Object.entries(UsedMemoryColumn.TOTALS_MAP)){const total=totals[totalName];if(total===undefined)continue;sizes[cellName]=new Scalar(sizeInBytes_smallerIsBetter,total);} 8734const platformSpecific=totals.platformSpecific;if(platformSpecific!==undefined){for(const[name,size]of 8735Object.entries(platformSpecific)){let newName=name;if(name.endsWith(PLATFORM_SPECIFIC_TOTAL_NAME_SUFFIX)){newName=name.substring(0,name.length- 8736PLATFORM_SPECIFIC_TOTAL_NAME_SUFFIX.length);} 8737newName=newName.replace('_',' ').trim();newName=newName.charAt(0).toUpperCase()+ 8738newName.slice(1);sizes[newName]=new Scalar(sizeInBytes_smallerIsBetter,size);}}} 8739const vmRegions=dump.mostRecentVmRegions;if(vmRegions!==undefined){for(const[byteStatName,cellName]of 8740Object.entries(UsedMemoryColumn.BYTE_STAT_MAP)){const byteStat=vmRegions.byteStats[byteStatName];if(byteStat===undefined)continue;sizes[cellName]=new Scalar(sizeInBytes_smallerIsBetter,byteStat);}} 8741return sizes;});const allocatorCells=tr.ui.analysis.createCells(timeToDump,function(dump){const memoryAllocatorDumps=dump.memoryAllocatorDumps;if(memoryAllocatorDumps===undefined)return undefined;const sizes={};memoryAllocatorDumps.forEach(function(allocatorDump){let rootDisplayedSizeNumeric=allocatorDump.numerics[DISPLAYED_SIZE_NUMERIC_NAME];if(rootDisplayedSizeNumeric===undefined){rootDisplayedSizeNumeric=new Scalar(sizeInBytes_smallerIsBetter,0);} 8742sizes[allocatorDump.fullName]=rootDisplayedSizeNumeric;});return sizes;});return{title:process.userFriendlyName,contexts:timeToDump,usedMemoryCells,allocatorCells};}));},createFooterRows_(rows,columns){if(rows.length<=1)return[];const totalRow={title:'Total'};tr.ui.analysis.aggregateTableRowCells(totalRow,rows,columns);return[totalRow];},createColumns_(rows){const titleColumn=new ProcessNameColumn();titleColumn.width='200px';const usedMemorySizeColumns=tr.ui.analysis.MemoryColumn.fromRows(rows,{cellKey:'usedMemoryCells',aggregationMode:this.aggregationMode_,rules:UsedMemoryColumn.RULES});const allocatorSizeColumns=tr.ui.analysis.MemoryColumn.fromRows(rows,{cellKey:'allocatorCells',aggregationMode:this.aggregationMode_,rules:AllocatorColumn.RULES});const sizeColumns=usedMemorySizeColumns.concat(allocatorSizeColumns);tr.ui.analysis.MemoryColumn.spaceEqually(sizeColumns);const columns=[titleColumn].concat(sizeColumns);return columns;},storeSelection_(){let selectedRowTitle;const selectedRow=this.$.table.selectedTableRow;if(selectedRow!==undefined){selectedRowTitle=selectedRow.title;} 8743let selectedColumnName;const selectedColumnIndex=this.$.table.selectedColumnIndex;if(selectedColumnIndex!==undefined){const selectedColumn=this.$.table.tableColumns[selectedColumnIndex];selectedColumnName=selectedColumn.name;} 8744this.$.state.set({rowTitle:selectedRowTitle,columnName:selectedColumnName});},restoreSelection_(){const settings=this.$.state.get();if(settings===undefined||settings.rowTitle===undefined||settings.columnName===undefined){return;} 8745const selectedColumnName=settings.columnName;const selectedColumnIndex=tr.b.findFirstIndexInArray(this.$.table.tableColumns,function(column){return column.name===selectedColumnName;});if(selectedColumnIndex<0)return;const selectedRowTitle=settings.rowTitle;const selectedRow=tr.b.findFirstInArray(this.$.table.tableRows,function(row){return row.title===selectedRowTitle;});if(selectedRow===undefined)return;this.$.table.selectedTableRow=selectedRow;this.$.table.selectedColumnIndex=selectedColumnIndex;}});return{ProcessNameColumn,UsedMemoryColumn,PeakMemoryColumn,ByteStatColumn,AllocatorColumn,TracingColumn,};});'use strict';tr.exportTo('tr.ui.analysis',function(){Polymer({is:'tr-ui-a-memory-dump-header-pane',behaviors:[tr.ui.analysis.StackedPane],created(){this.containerMemoryDumps_=undefined;},ready(){Polymer.dom(this.$.aggregation_mode_container).appendChild(tr.ui.b.createSelector(this,'aggregationMode','memoryDumpHeaderPane.aggregationMode',tr.ui.analysis.MemoryColumn.AggregationMode.DIFF,[{label:'Diff',value:tr.ui.analysis.MemoryColumn.AggregationMode.DIFF},{label:'Max',value:tr.ui.analysis.MemoryColumn.AggregationMode.MAX}]));},set containerMemoryDumps(containerMemoryDumps){this.containerMemoryDumps_=containerMemoryDumps;this.scheduleRebuild_();},get containerMemoryDumps(){return this.containerMemoryDumps_;},set aggregationMode(aggregationMode){this.aggregationMode_=aggregationMode;this.scheduleRebuild_();},get aggregationMode(){return this.aggregationMode_;},onRebuild_(){this.updateLabel_();this.updateAggregationModeSelector_();this.changeChildPane_();},updateLabel_(){Polymer.dom(this.$.label).textContent='';if(this.containerMemoryDumps_===undefined||this.containerMemoryDumps_.length<=0){Polymer.dom(this.$.label).textContent='No memory dumps selected';return;} 8746const containerDumpCount=this.containerMemoryDumps_.length;const isMultiSelection=containerDumpCount>1;Polymer.dom(this.$.label).appendChild(document.createTextNode('Selected '+containerDumpCount+' memory dump'+ 8747(isMultiSelection?'s':'')+' in '+this.containerMemoryDumps_[0].containerName+' at '));Polymer.dom(this.$.label).appendChild(document.createTextNode(tr.b.Unit.byName.timeStampInMs.format(this.containerMemoryDumps_[0].start)));if(isMultiSelection){const ELLIPSIS=String.fromCharCode(8230);Polymer.dom(this.$.label).appendChild(document.createTextNode(ELLIPSIS));Polymer.dom(this.$.label).appendChild(document.createTextNode(tr.b.Unit.byName.timeStampInMs.format(this.containerMemoryDumps_[containerDumpCount-1].start)));}},updateAggregationModeSelector_(){let displayStyle;if(this.containerMemoryDumps_===undefined||this.containerMemoryDumps_.length<=1){displayStyle='none';}else{displayStyle='initial';} 8748this.$.aggregation_mode_container.style.display=displayStyle;},changeChildPane_(){this.childPaneBuilder=function(){if(this.containerMemoryDumps_===undefined||this.containerMemoryDumps_.length<=0){return undefined;} 8749const overviewPane=document.createElement('tr-ui-a-memory-dump-overview-pane');overviewPane.processMemoryDumps=this.containerMemoryDumps_.map(function(containerDump){return containerDump.processMemoryDumps;});overviewPane.aggregationMode=this.aggregationMode;return overviewPane;}.bind(this);}});return{};});'use strict';Polymer({is:'tr-ui-a-stacked-pane-view',setPaneBuilder(paneBuilder,opt_parentPane){const paneContainer=this.$.pane_container;if(opt_parentPane){if(!(opt_parentPane instanceof HTMLElement)){throw new Error('Parent pane must be an HTML element');} 8750if(opt_parentPane.parentElement!==paneContainer){throw new Error('Parent pane must be a child of the pane container');}} 8751while(Polymer.dom(paneContainer).lastElementChild!==null&&Polymer.dom(paneContainer).lastElementChild!==opt_parentPane){const removedPane=Polymer.dom(this.$.pane_container).lastElementChild;const listener=this.listeners_.get(removedPane);if(listener===undefined){throw new Error('No listener associated with pane');} 8752this.listeners_.delete(removedPane);removedPane.removeEventListener('request-child-pane-change',listener);Polymer.dom(paneContainer).removeChild(removedPane);} 8753if(opt_parentPane&&opt_parentPane.parentElement!==paneContainer){throw new Error('Parent pane was removed from the pane container');} 8754if(!paneBuilder)return;const pane=paneBuilder();if(!pane)return;if(!(pane instanceof HTMLElement)){throw new Error('Pane must be an HTML element');} 8755const listener=function(event){this.setPaneBuilder(pane.childPaneBuilder,pane);}.bind(this);if(!this.listeners_){this.listeners_=new WeakMap();} 8756this.listeners_.set(pane,listener);pane.addEventListener('request-child-pane-change',listener);Polymer.dom(paneContainer).appendChild(pane);pane.appended();},rebuild(){let currentPane=Polymer.dom(this.$.pane_container).firstElementChild;while(currentPane){currentPane.rebuild();currentPane=currentPane.nextElementSibling;}},get panesForTesting(){const panes=[];let currentChild=Polymer.dom(this.$.pane_container).firstElementChild;while(currentChild){panes.push(currentChild);currentChild=currentChild.nextElementSibling;} 8757return panes;}});'use strict';tr.exportTo('tr.ui.analysis',function(){Polymer({is:'tr-ui-a-container-memory-dump-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],set selection(selection){if(selection===undefined){this.currentSelection_=undefined;this.dumpsByContainerName_=undefined;this.updateContents_();return;} 8758selection.forEach(function(event){if(!(event instanceof tr.model.ContainerMemoryDump)){throw new Error('Memory dump sub-view only supports container memory dumps');}});this.currentSelection_=selection;this.dumpsByContainerName_=tr.b.groupIntoMap(this.currentSelection_.toArray(),dump=>dump.containerName);for(const dumps of this.dumpsByContainerName_.values()){dumps.sort((a,b)=>a.start-b.start);} 8759this.updateContents_();},get selection(){return this.currentSelection_;},get requiresTallView(){return true;},updateContents_(){Polymer.dom(this.$.content).textContent='';if(this.dumpsByContainerName_===undefined)return;const containerNames=Array.from(this.dumpsByContainerName_.keys());if(containerNames.length===0)return;if(containerNames.length>1){this.buildViewForMultipleContainerNames_();}else{this.buildViewForSingleContainerName_();}},buildViewForSingleContainerName_(){const containerMemoryDumps=tr.b.getFirstElement(this.dumpsByContainerName_.values());const dumpView=this.ownerDocument.createElement('tr-ui-a-stacked-pane-view');Polymer.dom(this.$.content).appendChild(dumpView);dumpView.setPaneBuilder(function(){const headerPane=document.createElement('tr-ui-a-memory-dump-header-pane');headerPane.containerMemoryDumps=containerMemoryDumps;return headerPane;});},buildViewForMultipleContainerNames_(){const ownerDocument=this.ownerDocument;const rows=[];for(const[containerName,dumps]of this.dumpsByContainerName_){rows.push({containerName,subRows:dumps,isExpanded:true,});} 8760rows.sort(function(a,b){return a.containerName.localeCompare(b.containerName);});const columns=[{title:'Dump',value(row){if(row.subRows===undefined){return this.singleDumpValue_(row);} 8761return this.groupedDumpValue_(row);},singleDumpValue_(row){const linkEl=ownerDocument.createElement('tr-ui-a-analysis-link');linkEl.setSelectionAndContent(new tr.model.EventSet([row]));Polymer.dom(linkEl).appendChild(tr.v.ui.createScalarSpan(row.start,{unit:tr.b.Unit.byName.timeStampInMs,ownerDocument}));return linkEl;},groupedDumpValue_(row){const linkEl=ownerDocument.createElement('tr-ui-a-analysis-link');linkEl.setSelectionAndContent(new tr.model.EventSet(row.subRows));Polymer.dom(linkEl).appendChild(tr.ui.b.createSpan({ownerDocument,textContent:row.subRows.length+' memory dump'+ 8762(row.subRows.length===1?'':'s')+' in '}));Polymer.dom(linkEl).appendChild(tr.ui.b.createSpan({ownerDocument,textContent:row.containerName,bold:true}));return linkEl;}}];const table=this.ownerDocument.createElement('tr-ui-b-table');table.tableColumns=columns;table.tableRows=rows;table.showHeader=false;table.rebuild();Polymer.dom(this.$.content).appendChild(table);}});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-container-memory-dump-sub-view',tr.model.GlobalMemoryDump,{multi:false,title:'Global Memory Dump',});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-container-memory-dump-sub-view',tr.model.GlobalMemoryDump,{multi:true,title:'Global Memory Dumps',});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-container-memory-dump-sub-view',tr.model.ProcessMemoryDump,{multi:false,title:'Process Memory Dump',});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-container-memory-dump-sub-view',tr.model.ProcessMemoryDump,{multi:true,title:'Process Memory Dumps',});return{};});'use strict';(function(){const COUNTER_SAMPLE_TABLE_COLUMNS=[{title:'Counter',width:'150px',value(row){return row.counter;}},{title:'Series',width:'150px',value(row){return row.series;}},{title:'Time',width:'150px',value(row){return row.start;}},{title:'Value',width:'100%',value(row){return row.value;}}];Polymer({is:'tr-ui-a-counter-sample-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],ready(){this.currentSelection_=undefined;this.$.table.tableColumns=COUNTER_SAMPLE_TABLE_COLUMNS;},get selection(){return this.currentSelection_;},set selection(selection){this.currentSelection_=selection;this.updateContents_();},updateContents_(){this.$.table.tableRows=this.selection?this.getRows_(this.selection.toArray()):[];this.$.table.rebuild();},getRows_(samples){const samplesByCounter=tr.b.groupIntoMap(samples,sample=>sample.series.counter.guid);const rows=[];for(const counterSamples of samplesByCounter.values()){const samplesBySeries=tr.b.groupIntoMap(counterSamples,sample=>sample.series.guid);for(const seriesSamples of samplesBySeries.values()){const seriesRows=this.getRowsForSamples_(seriesSamples);seriesRows[0].counter=seriesSamples[0].series.counter.name;seriesRows[0].series=seriesSamples[0].series.name;if(seriesRows.length>1){seriesRows[0].subRows=seriesRows.slice(1);seriesRows[0].isExpanded=true;} 8763rows.push(seriesRows[0]);}} 8764return rows;},getRowsForSamples_(samples){return samples.map(function(sample){return{start:sample.timestamp,value:sample.value};});}});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-counter-sample-sub-view',tr.model.CounterSample,{multi:false,title:'Counter Sample',});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-counter-sample-sub-view',tr.model.CounterSample,{multi:true,title:'Counter Samples',});})();'use strict';tr.exportTo('tr.ui.analysis',function(){function MultiEventSummary(title,events){this.title=title;this.duration_=undefined;this.selfTime_=undefined;this.events_=events;this.cpuTimesComputed_=false;this.cpuSelfTime_=undefined;this.cpuDuration_=undefined;this.maxDuration_=undefined;this.maxCpuDuration_=undefined;this.maxSelfTime_=undefined;this.maxCpuSelfTime_=undefined;this.untotallableArgs_=[];this.totalledArgs_=undefined;} 8765MultiEventSummary.prototype={set title(title){if(title==='Totals'){this.totalsRow=true;} 8766this.title_=title;},get title(){return this.title_;},get duration(){if(this.duration_===undefined){this.duration_=tr.b.math.Statistics.sum(this.events_,function(event){return event.duration;});} 8767return this.duration_;},get cpuSelfTime(){this.computeCpuTimesIfNeeded_();return this.cpuSelfTime_;},get cpuDuration(){this.computeCpuTimesIfNeeded_();return this.cpuDuration_;},computeCpuTimesIfNeeded_(){if(this.cpuTimesComputed_)return;this.cpuTimesComputed_=true;let cpuSelfTime=0;let cpuDuration=0;let hasCpuData=false;for(const event of this.events_){if(event.cpuDuration!==undefined){cpuDuration+=event.cpuDuration;hasCpuData=true;} 8768if(event.cpuSelfTime!==undefined){cpuSelfTime+=event.cpuSelfTime;hasCpuData=true;}} 8769if(hasCpuData){this.cpuDuration_=cpuDuration;this.cpuSelfTime_=cpuSelfTime;}},get selfTime(){if(this.selfTime_===undefined){this.selfTime_=0;for(const event of this.events_){if(event.selfTime!==undefined){this.selfTime_+=event.selfTime;}}} 8770return this.selfTime_;},get events(){return this.events_;},get numEvents(){return this.events_.length;},get numAlerts(){if(this.numAlerts_===undefined){this.numAlerts_=tr.b.math.Statistics.sum(this.events_,event=>event.associatedAlerts.length);} 8771return this.numAlerts_;},get untotallableArgs(){this.updateArgsIfNeeded_();return this.untotallableArgs_;},get totalledArgs(){this.updateArgsIfNeeded_();return this.totalledArgs_;},get maxDuration(){if(this.maxDuration_===undefined){this.maxDuration_=tr.b.math.Statistics.max(this.events_,function(event){return event.duration;});} 8772return this.maxDuration_;},get maxCpuDuration(){if(this.maxCpuDuration_===undefined){this.maxCpuDuration_=tr.b.math.Statistics.max(this.events_,function(event){return event.cpuDuration;});} 8773return this.maxCpuDuration_;},get maxSelfTime(){if(this.maxSelfTime_===undefined){this.maxSelfTime_=tr.b.math.Statistics.max(this.events_,function(event){return event.selfTime;});} 8774return this.maxSelfTime_;},get maxCpuSelfTime(){if(this.maxCpuSelfTime_===undefined){this.maxCpuSelfTime_=tr.b.math.Statistics.max(this.events_,function(event){return event.cpuSelfTime;});} 8775return this.maxCpuSelfTime_;},updateArgsIfNeeded_(){if(this.totalledArgs_!==undefined)return;const untotallableArgs={};const totalledArgs={};for(const event of this.events_){for(const argName in event.args){const argVal=event.args[argName];const type=typeof argVal;if(type!=='number'){untotallableArgs[argName]=true;delete totalledArgs[argName];continue;} 8776if(untotallableArgs[argName]){continue;} 8777if(totalledArgs[argName]===undefined){totalledArgs[argName]=0;} 8778totalledArgs[argName]+=argVal;}} 8779this.untotallableArgs_=Object.keys(untotallableArgs);this.totalledArgs_=totalledArgs;}};return{MultiEventSummary,};});'use strict';Polymer({is:'tr-ui-a-multi-event-summary-table',ready(){this.showTotals_=false;this.eventsHaveDuration_=true;this.eventsHaveSubRows_=true;this.eventsByTitle_=undefined;},updateTableColumns_(rows,maxValues){let hasCpuData=false;let hasAlerts=false;rows.forEach(function(row){if(row.cpuDuration!==undefined){hasCpuData=true;} 8780if(row.cpuSelfTime!==undefined){hasCpuData=true;} 8781if(row.numAlerts){hasAlerts=true;}});const ownerDocument=this.ownerDocument;const columns=[];columns.push({title:'Name',value(row){if(row.title==='Totals')return'Totals';const linkEl=document.createElement('tr-ui-a-analysis-link');linkEl.setSelectionAndContent(function(){return new tr.model.EventSet(row.events);},row.title);return linkEl;},width:'350px',cmp(rowA,rowB){return rowA.title.localeCompare(rowB.title);}});if(this.eventsHaveDuration_){columns.push({title:'Wall Duration',value(row){return tr.v.ui.createScalarSpan(row.duration,{unit:tr.b.Unit.byName.timeDurationInMs,customContextRange:row.totalsRow?undefined:tr.b.math.Range.fromExplicitRange(0,maxValues.duration),ownerDocument,});},width:'<upated further down>',cmp(rowA,rowB){return rowA.duration-rowB.duration;}});} 8782if(this.eventsHaveDuration_&&hasCpuData){columns.push({title:'CPU Duration',value(row){return tr.v.ui.createScalarSpan(row.cpuDuration,{unit:tr.b.Unit.byName.timeDurationInMs,customContextRange:row.totalsRow?undefined:tr.b.math.Range.fromExplicitRange(0,maxValues.cpuDuration),ownerDocument,});},width:'<upated further down>',cmp(rowA,rowB){return rowA.cpuDuration-rowB.cpuDuration;}});} 8783if(this.eventsHaveSubRows_&&this.eventsHaveDuration_){columns.push({title:'Self time',value(row){return tr.v.ui.createScalarSpan(row.selfTime,{unit:tr.b.Unit.byName.timeDurationInMs,customContextRange:row.totalsRow?undefined:tr.b.math.Range.fromExplicitRange(0,maxValues.selfTime),ownerDocument,});},width:'<upated further down>',cmp(rowA,rowB){return rowA.selfTime-rowB.selfTime;}});} 8784if(this.eventsHaveSubRows_&&this.eventsHaveDuration_&&hasCpuData){columns.push({title:'CPU Self Time',value(row){return tr.v.ui.createScalarSpan(row.cpuSelfTime,{unit:tr.b.Unit.byName.timeDurationInMs,customContextRange:row.totalsRow?undefined:tr.b.math.Range.fromExplicitRange(0,maxValues.cpuSelfTime),ownerDocument,});},width:'<upated further down>',cmp(rowA,rowB){return rowA.cpuSelfTime-rowB.cpuSelfTime;}});} 8785if(this.eventsHaveDuration_){columns.push({title:'Average '+(hasCpuData?'CPU':'Wall')+' Duration',value(row){const totalDuration=hasCpuData?row.cpuDuration:row.duration;return tr.v.ui.createScalarSpan(totalDuration/row.numEvents,{unit:tr.b.Unit.byName.timeDurationInMs,customContextRange:row.totalsRow?undefined:tr.b.math.Range.fromExplicitRange(0,maxValues.duration),ownerDocument,});},width:'<upated further down>',cmp(rowA,rowB){if(hasCpuData){return rowA.cpuDuration/rowA.numEvents- 8786rowB.cpuDuration/rowB.numEvents;} 8787return rowA.duration/rowA.numEvents- 8788rowB.duration/rowB.numEvents;}});} 8789columns.push({title:'Occurrences',value(row){return row.numEvents;},width:'<upated further down>',cmp(rowA,rowB){return rowA.numEvents-rowB.numEvents;}});let alertsColumnIndex;if(hasAlerts){columns.push({title:'Num Alerts',value(row){return row.numAlerts;},width:'<upated further down>',cmp(rowA,rowB){return rowA.numAlerts-rowB.numAlerts;}});alertsColumnIndex=columns.length-1;} 8790let colWidthPercentage;if(columns.length===1){colWidthPercentage='100%';}else{colWidthPercentage=(100/(columns.length-1)).toFixed(3)+'%';} 8791for(let i=1;i<columns.length;i++){columns[i].width=colWidthPercentage;} 8792this.$.table.tableColumns=columns;if(hasAlerts){this.$.table.sortColumnIndex=alertsColumnIndex;this.$.table.sortDescending=true;}},configure(config){if(config.eventsByTitle===undefined){throw new Error('Required: eventsByTitle');} 8793if(config.showTotals!==undefined){this.showTotals_=config.showTotals;}else{this.showTotals_=true;} 8794if(config.eventsHaveDuration!==undefined){this.eventsHaveDuration_=config.eventsHaveDuration;}else{this.eventsHaveDuration_=true;} 8795if(config.eventsHaveSubRows!==undefined){this.eventsHaveSubRows_=config.eventsHaveSubRows;}else{this.eventsHaveSubRows_=true;} 8796this.eventsByTitle_=config.eventsByTitle;this.updateContents_();},get showTotals(){return this.showTotals_;},set showTotals(showTotals){this.showTotals_=showTotals;this.updateContents_();},get eventsHaveDuration(){return this.eventsHaveDuration_;},set eventsHaveDuration(eventsHaveDuration){this.eventsHaveDuration_=eventsHaveDuration;this.updateContents_();},get eventsHaveSubRows(){return this.eventsHaveSubRows_;},set eventsHaveSubRows(eventsHaveSubRows){this.eventsHaveSubRows_=eventsHaveSubRows;this.updateContents_();},get eventsByTitle(){return this.eventsByTitle_;},set eventsByTitle(eventsByTitle){this.eventsByTitle_=eventsByTitle;this.updateContents_();},get selectionBounds(){return this.selectionBounds_;},set selectionBounds(selectionBounds){this.selectionBounds_=selectionBounds;this.updateContents_();},updateContents_(){let eventsByTitle;if(this.eventsByTitle_!==undefined){eventsByTitle=this.eventsByTitle_;}else{eventsByTitle=[];} 8797const allEvents=new tr.model.EventSet();const rows=[];for(const[title,eventsOfSingleTitle]of Object.entries(eventsByTitle)){for(const event of eventsOfSingleTitle)allEvents.push(event);const row=new tr.ui.analysis.MultiEventSummary(title,eventsOfSingleTitle);rows.push(row);} 8798this.updateTableColumns_(rows);this.$.table.tableRows=rows;const maxValues={duration:undefined,selfTime:undefined,cpuSelfTime:undefined,cpuDuration:undefined};if(this.eventsHaveDuration){for(const column in maxValues){maxValues[column]=tr.b.math.Statistics.max(rows,function(event){return event[column];});}} 8799const footerRows=[];if(this.showTotals_){const multiEventSummary=new tr.ui.analysis.MultiEventSummary('Totals',allEvents);footerRows.push(multiEventSummary);} 8800this.updateTableColumns_(rows,maxValues);this.$.table.tableRows=rows;this.$.table.footerRows=footerRows;this.$.table.rebuild();}});'use strict';Polymer({is:'tr-ui-a-selection-summary-table',created(){this.selection_=new tr.b.math.Range();},ready(){this.$.table.showHeader=false;this.$.table.tableColumns=[{title:'Name',value(row){return row.title;},width:'350px'},{title:'Value',width:'100%',value(row){return row.value;}}];},get selection(){return this.selection_;},set selection(selection){this.selection_=selection;this.updateContents_();},updateContents_(){const selection=this.selection_;const rows=[];let hasRange;if(this.selection_&&(!selection.bounds.isEmpty)){hasRange=true;}else{hasRange=false;} 8801rows.push({title:'Selection start',value:hasRange?tr.v.ui.createScalarSpan(selection.bounds.min,{unit:tr.b.Unit.byName.timeStampInMs,ownerDocument:this.ownerDocument}):'<empty>'});rows.push({title:'Selection extent',value:hasRange?tr.v.ui.createScalarSpan(selection.bounds.range,{unit:tr.b.Unit.byName.timeDurationInMs,ownerDocument:this.ownerDocument}):'<empty>'});this.$.table.tableRows=rows;this.$.table.rebuild();}});'use strict';Polymer({is:'tr-ui-b-radio-picker',created(){this.needsInit_=true;this.settingsKey_=undefined;this.isReady_=false;this.radioButtons_=undefined;this.selectedKey_=undefined;},ready(){this.isReady_=true;this.maybeInit_();this.maybeRenderRadioButtons_();},get vertical(){return this.getAttribute('vertical');},set vertical(vertical){if(vertical){this.setAttribute('vertical',true);}else{this.removeAttribute('vertical');}},get settingsKey(){return this.settingsKey_;},set settingsKey(settingsKey){if(!this.needsInit_){throw new Error('Already initialized.');} 8802this.settingsKey_=settingsKey;this.maybeInit_();},maybeInit_(){if(!this.needsInit_)return;if(this.settingsKey_===undefined)return;this.needsInit_=false;this.select(tr.b.Settings.get(this.settingsKey_));},set items(items){this.radioButtons_={};items.forEach(function(e){if(e.key in this.radioButtons_){throw new Error(e.key+' already exists');} 8803const radioButton=document.createElement('div');const input=document.createElement('input');const label=document.createElement('label');input.type='radio';input.id=e.label;input.addEventListener('click',function(){this.select(e.key);}.bind(this));Polymer.dom(label).innerHTML=e.label;label.htmlFor=e.label;label.style.display='inline';Polymer.dom(radioButton).appendChild(input);Polymer.dom(radioButton).appendChild(label);this.radioButtons_[e.key]=input;}.bind(this));this.maybeInit_();this.maybeRenderRadioButtons_();},maybeRenderRadioButtons_(){if(!this.isReady_)return;if(this.radioButtons_===undefined)return;for(const key in this.radioButtons_){Polymer.dom(this.$.container).appendChild(this.radioButtons_[key].parentElement);} 8804if(this.selectedKey_!==undefined){this.select(this.selectedKey_);}},select(key){if(key===undefined||key===this.selectedKey_){return;} 8805if(this.radioButtons_===undefined){this.selectedKey_=key;return;} 8806if(!(key in this.radioButtons_)){throw new Error(key+' does not exists');} 8807if(this.selectedKey_!==undefined){this.radioButtons_[this.selectedKey_].checked=false;} 8808this.selectedKey_=key;tr.b.Settings.set(this.settingsKey_,this.selectedKey_);if(this.selectedKey_!==undefined){this.radioButtons_[this.selectedKey_].checked=true;} 8809this.dispatchEvent(new tr.b.Event('change',false));},get selectedKey(){return this.selectedKey_;},});'use strict';tr.exportTo('tr.ui.b',function(){const ColumnChart=tr.ui.b.define('column-chart',tr.ui.b.ChartBase2DBrushX);ColumnChart.prototype={__proto__:tr.ui.b.ChartBase2DBrushX.prototype,decorate(){super.decorate();this.xCushion_=1;this.isStacked_=false;this.enableHoverBox=true;},set isStacked(stacked){this.isStacked_=true;this.updateContents_();},get isStacked(){return this.isStacked_;},get defaultGraphHeight(){return 100;},get defaultGraphWidth(){return 10*this.data_.length;},updateScales_(){if(this.data_.length===0)return;let xDifferences=0;let currentX=undefined;let previousX=undefined;this.data_.forEach(function(datum,index){previousX=currentX;currentX=this.getXForDatum_(datum,index);if(previousX!==undefined){xDifferences+=currentX-previousX;}},this);this.xScale_.range([0,this.graphWidth]);const domain=d3.extent(this.data_,this.getXForDatum_.bind(this));if(this.data_.length>1){this.xCushion_=xDifferences/(this.data_.length-1);} 8810this.xScale_.domain([domain[0],domain[1]+this.xCushion_]);this.yScale_.range([this.graphHeight,0]);this.yScale_.domain(this.getYScaleDomain_(this.dataRange.min,this.dataRange.max));},updateDataRange_(){if(!this.isStacked){super.updateDataRange_();return;} 8811this.autoDataRange_.reset();this.autoDataRange_.addValue(0);for(const datum of this.data_){let sum=0;for(const[key,series]of this.seriesByKey_){if(datum[key]===undefined){continue;} 8812sum+=datum[key];} 8813this.autoDataRange_.addValue(sum);}},getStackedRectsForDatum_(datum,index){const stacks=[];let bottom=this.yScale_.range()[0];let sum=0;for(const[key,series]of this.seriesByKey_){if(datum[key]===undefined||!this.isSeriesEnabled(key)){continue;} 8814sum+=this.dataRange.clamp(datum[key]);const heightPx=bottom-this.yScale_(sum);bottom-=heightPx;stacks.push({key,value:datum[key],color:this.getDataSeries(key).color,heightPx,topPx:bottom,underflow:sum<this.dataRange.min,overflow:sum>this.dataRange.max,});} 8815return stacks;},getRectsForDatum_(datum,index){if(this.isStacked){return this.getStackedRectsForDatum_(datum,index);} 8816const stacks=[];for(const[key,series]of this.seriesByKey_){if(datum[key]===undefined||!this.isSeriesEnabled(key)){continue;} 8817const clampedValue=this.dataRange.clamp(datum[key]);const topPx=this.yScale_(Math.max(clampedValue,this.getYScaleMin_()));stacks.push({key,value:datum[key],topPx,heightPx:this.yScale_.range()[0]-topPx,color:this.getDataSeries(key).color,underflow:datum[key]<this.dataRange.min,overflow:datum[key]>this.dataRange.max,});} 8818stacks.sort(function(a,b){return b.topPx-a.topPx;});return stacks;},drawHoverValueBox_(rect){const rectHoverEvent=new tr.b.Event('rect-mouseenter');rectHoverEvent.rect=rect;this.dispatchEvent(rectHoverEvent);if(!this.enableHoverBox)return;const seriesKeys=[...this.seriesByKey_.keys()];const chartAreaSel=d3.select(this.chartAreaElement);chartAreaSel.selectAll('.hover').remove();let keyWidthPx=0;let keyHeightPx=0;if(seriesKeys.length>1){keyWidthPx=tr.ui.b.getSVGTextSize(this.chartAreaElement,rect.key).width+5;keyHeightPx=16;} 8819const valueWidthPx=tr.ui.b.getSVGTextSize(this.chartAreaElement,rect.value).width+5;const valueHeightPx=16;const hoverLeftPx=rect.leftPx+(rect.widthPx/2);chartAreaSel.append('rect').attr('class','hover').attr('fill','white').attr('x',hoverLeftPx).attr('y',rect.topPx).attr('width',Math.max(keyWidthPx,valueWidthPx)).attr('height',keyHeightPx+valueHeightPx);if(seriesKeys.length>1){chartAreaSel.append('text').attr('class','hover').attr('fill',rect.color).attr('x',hoverLeftPx+2).attr('y',rect.topPx+keyHeightPx-3).text(rect.key);} 8820chartAreaSel.append('text').attr('class','hover').attr('fill',rect.color).attr('x',hoverLeftPx+2).attr('y',rect.topPx+keyHeightPx+valueHeightPx-3).text(rect.value);},clearHoverValueBox_(rect){const rectHoverEvent=new tr.b.Event('rect-mouseleave');rectHoverEvent.rect=rect;this.dispatchEvent(rectHoverEvent);d3.select(this.chartAreaElement).selectAll('.hover').remove();},drawRect_(rect,sel){sel=sel.data([rect]);sel.enter().append('rect').attr('fill',rect.color).attr('x',rect.leftPx).attr('y',rect.topPx).attr('width',rect.widthPx).attr('height',rect.heightPx).on('mouseenter',this.drawHoverValueBox_.bind(this,rect)).on('mouseleave',this.clearHoverValueBox_.bind(this,rect));sel.exit().remove();},drawUnderflow_(rect,sel){sel=sel.data([rect]);sel.enter().append('text').text('*').attr('fill',rect.color).attr('x',rect.leftPx+(rect.widthPx/2)).attr('y',this.graphHeight).on('mouseenter',this.drawHoverValueBox_.bind(this,rect)).on('mouseleave',this.clearHoverValueBox_.bind(this,rect));sel.exit().remove();},drawOverflow_(rect,sel){sel=sel.data([rect]);sel.enter().append('text').text('*').attr('fill',rect.color).attr('x',rect.leftPx+(rect.widthPx/2)).attr('y',0);sel.exit().remove();},updateDataContents_(dataSel){dataSel.selectAll('*').remove();const chartAreaSel=d3.select(this.chartAreaElement);const seriesKeys=[...this.seriesByKey_.keys()];const rectsSel=dataSel.selectAll('path');this.data_.forEach(function(datum,index){const currentX=this.getXForDatum_(datum,index);let width=undefined;if(index<(this.data_.length-1)){const nextX=this.getXForDatum_(this.data_[index+1],index+1);width=nextX-currentX;}else{width=this.xCushion_;} 8821for(const rect of this.getRectsForDatum_(datum,index)){rect.datum=datum;rect.index=index;rect.leftPx=this.xScale_(currentX);rect.rightPx=this.xScale_(currentX+width);rect.widthPx=rect.rightPx-rect.leftPx;this.drawRect_(rect,rectsSel);if(rect.underflow){this.drawUnderflow_(rect,rectsSel);} 8822if(rect.overflow){this.drawOverflow_(rect,rectsSel);}}},this);}};return{ColumnChart,};});'use strict';tr.exportTo('tr.ui.b',function(){const MIN_GUIDELINE_HEIGHT_PX=3;const CHECKBOX_WIDTH_PX=18;const NameColumnChart=tr.ui.b.define('name-column-chart',tr.ui.b.ColumnChart);NameColumnChart.prototype={__proto__:tr.ui.b.ColumnChart.prototype,get xAxisHeight(){return 5+(this.textHeightPx_*this.data_.length);},updateMargins_(){super.updateMargins_();let xAxisTickOverhangPx=0;for(let i=0;i<this.data_.length;++i){const datum=this.data_[i];xAxisTickOverhangPx=Math.max(xAxisTickOverhangPx,this.xScale_(i)+tr.ui.b.getSVGTextSize(this,datum.x).width- 8823this.graphWidth);} 8824this.margin.right=Math.max(this.margin.right,xAxisTickOverhangPx);},getXForDatum_(datum,index){return index;},get xAxisTickOffset(){return 0.5;},updateXAxis_(xAxis){xAxis.selectAll('*').remove();if(this.hideXAxis)return;const nameTexts=xAxis.selectAll('text').data(this.data_);nameTexts.enter().append('text').attr('transform',(d,index)=>'translate(0, '+ 8825this.textHeightPx_*(this.data_.length-index)+')').attr('x',(d,index)=>this.xScale_(index)).attr('y',d=>this.graphHeight).text(d=>d.x);nameTexts.exit().remove();const guideLines=xAxis.selectAll('line.guide').data(this.data_);guideLines.enter().append('line').attr('x1',(d,index)=>this.xScale_(index+this.xAxisTickOffset)).attr('x2',(d,index)=>this.xScale_(index+this.xAxisTickOffset)).attr('y1',()=>this.graphHeight).attr('y2',(d,index)=>this.graphHeight+Math.max(MIN_GUIDELINE_HEIGHT_PX,(this.textHeightPx_*(this.data_.length-index-1))));}};return{NameColumnChart,};});'use strict';tr.exportTo('tr.ui.b',function(){const LineChart=tr.ui.b.LineChart;const NameLineChart=tr.ui.b.define('name-line-chart',LineChart);NameLineChart.prototype={__proto__:LineChart.prototype,getXForDatum_(datum,index){return index;},get xAxisHeight(){return 5+(this.textHeightPx_*this.data_.length);},get xAxisTickOffset(){return 0;},updateMargins_(){tr.ui.b.NameColumnChart.prototype.updateMargins_.call(this);},updateXAxis_(xAxis){xAxis.selectAll('*').remove();if(this.hideXAxis)return;tr.ui.b.NameColumnChart.prototype.updateXAxis_.call(this,xAxis);const baseline=xAxis.selectAll('path').data([this]);baseline.enter().append('line').attr('stroke','black').attr('x1',this.xScale_(0)).attr('x2',this.xScale_(this.data_.length-1)).attr('y1',this.graphHeight).attr('y2',this.graphHeight);baseline.exit().remove();}};return{NameLineChart,};});'use strict';tr.exportTo('tr.ui.b',function(){const BoxChart=tr.ui.b.define('box-chart',tr.ui.b.NameLineChart);BoxChart.prototype={__proto__:tr.ui.b.NameLineChart.prototype,get hideLegend(){return true;},updateDataRange_(){if(this.overrideDataRange_!==undefined){return;} 8826this.autoDataRange_.reset();for(const datum of this.data_){this.autoDataRange_.addValue(datum.percentile_0);this.autoDataRange_.addValue(datum.percentile_100);}},updateScales_(){super.updateScales_();this.xScale_.domain([0,this.data_.length]);},get xAxisTickOffset(){return 0.5;},updateDataRange_(){if(this.overrideDataRange_!==undefined)return;this.autoDataRange_.reset();for(const datum of this.data_){this.autoDataRange_.addValue(datum.percentile_0);this.autoDataRange_.addValue(datum.percentile_100);}},updateXAxis_(xAxis){xAxis.selectAll('*').remove();if(this.hideXAxis)return;tr.ui.b.NameColumnChart.prototype.updateXAxis_.call(this,xAxis);const baseline=xAxis.selectAll('path').data([this]);baseline.enter().append('line').attr('stroke','black').attr('x1',this.xScale_(0)).attr('x2',this.xScale_(this.data_.length)).attr('y1',this.graphHeight).attr('y2',this.graphHeight);baseline.exit().remove();},updateDataContents_(dataSel){dataSel.selectAll('*').remove();const boxesSel=dataSel.selectAll('path');for(let index=0;index<this.data_.length;++index){const datum=this.data_[index];const color=datum.color||'black';let sel=boxesSel.data([datum]);sel.enter().append('rect').attr('fill',color).attr('x',this.xScale_(index+0.2)).attr('width',this.xScale_(index+0.8)-this.xScale_(index+0.2)).attr('y',this.yScale_(datum.percentile_75)).attr('height',this.yScale_(datum.percentile_25)- 8827this.yScale_(datum.percentile_75));sel.exit().remove();sel=boxesSel.data([datum]);sel.enter().append('line').attr('stroke',color).attr('x1',this.xScale_(index)).attr('x2',this.xScale_(index+1)).attr('y1',this.yScale_(datum.percentile_50)).attr('y2',this.yScale_(datum.percentile_50));sel.exit().remove();sel=boxesSel.data([datum]);sel.enter().append('line').attr('stroke',color).attr('x1',this.xScale_(index+0.4)).attr('x2',this.xScale_(index+0.6)).attr('y1',this.yScale_(datum.percentile_0)).attr('y2',this.yScale_(datum.percentile_0));sel.exit().remove();sel=boxesSel.data([datum]);sel.enter().append('line').attr('stroke',color).attr('x1',this.xScale_(index+0.4)).attr('x2',this.xScale_(index+0.6)).attr('y1',this.yScale_(datum.percentile_100)).attr('y2',this.yScale_(datum.percentile_100));sel.exit().remove();sel=boxesSel.data([datum]);sel.enter().append('line').attr('stroke',color).attr('x1',this.xScale_(index+0.5)).attr('x2',this.xScale_(index+0.5)).attr('y1',this.yScale_(datum.percentile_100)).attr('y2',this.yScale_(datum.percentile_0));sel.exit().remove();}}};return{BoxChart,};});'use strict';tr.exportTo('tr.ui.b',function(){const BarChart=tr.ui.b.define('bar-chart',tr.ui.b.ColumnChart);BarChart.prototype={__proto__:tr.ui.b.ColumnChart.prototype,decorate(){super.decorate();this.verticalScale_=undefined;this.horizontalScale_=undefined;},updateScales_(){super.updateScales_();this.yScale_.range([this.graphWidth,0]);this.xScale_.range([0,this.graphHeight]);this.verticalScale_=this.isYLogScale_?d3.scale.log(10):d3.scale.linear();this.verticalScale_.domain(this.xScale_.domain());this.verticalScale_.range([this.graphHeight,0]);this.horizontalScale_=d3.scale.linear();this.horizontalScale_.domain(this.yScale_.domain());this.horizontalScale_.range([0,this.graphWidth]);},get defaultGraphHeight(){return Math.max(20,10*this.data_.length);},get defaultGraphWidth(){return 100;},get barHeight(){return this.graphHeight/this.data.length;},drawBrush_(brushRectsSel){brushRectsSel.attr('x',0).attr('width',this.graphWidth).attr('y',d=>this.verticalScale_(d.max)).attr('height',d=>this.verticalScale_(d.min)-this.verticalScale_(d.max));},getDataPointAtChartPoint_(chartPoint){const flippedPoint={x:this.graphHeight-chartPoint.y,y:this.graphWidth-chartPoint.x};return super.getDataPointAtChartPoint_(flippedPoint);},drawXAxis_(xAxis){xAxis.attr('transform','translate(0,'+this.graphHeight+')').call(d3.svg.axis().scale(this.horizontalScale_).orient('bottom'));},get yAxisWidth(){return this.computeScaleTickWidth_(this.verticalScale_);},drawYAxis_(yAxis){const axisModifier=d3.svg.axis().scale(this.verticalScale_).orient('left');yAxis.call(axisModifier);},drawHoverValueBox_(rect){const rectHoverEvent=new tr.b.Event('rect-mouseenter');rectHoverEvent.rect=rect;this.dispatchEvent(rectHoverEvent);if(!this.enableHoverBox)return;const seriesKeys=[...this.seriesByKey_.keys()];const chartAreaSel=d3.select(this.chartAreaElement);chartAreaSel.selectAll('.hover').remove();let keyWidthPx=0;let keyHeightPx=0;let xWidthPx=0;let xHeightPx=0;if(seriesKeys.length>1){keyWidthPx=tr.ui.b.getSVGTextSize(this.chartAreaElement,rect.key).width;keyHeightPx=this.textHeightPx_;} 8828if(this.data.length>1){xWidthPx=tr.ui.b.getSVGTextSize(this.chartAreaElement,''+rect.datum.x).width;xHeightPx=this.textHeightPx_;} 8829const valueWidthPx=tr.ui.b.getSVGTextSize(this.chartAreaElement,rect.value).width;const valueHeightPx=this.textHeightPx_;const hoverWidthPx=Math.min(Math.max(keyWidthPx,xWidthPx,valueWidthPx)+5,Math.max(50,rect.widthPx));const hoverTopPx=rect.topPx+(rect.heightPx/2);const hoverLeftPx=rect.leftPx+rect.widthPx-hoverWidthPx;chartAreaSel.append('rect').attr('class','hover').attr('fill','white').attr('x',hoverLeftPx).attr('y',hoverTopPx).attr('width',hoverWidthPx).attr('height',keyHeightPx+xHeightPx+valueHeightPx);if(seriesKeys.length>1){chartAreaSel.append('text').attr('class','hover').attr('fill',rect.color).attr('x',hoverLeftPx+2).attr('y',hoverTopPx+keyHeightPx-3).text(rect.key);} 8830if(this.data.length>1){chartAreaSel.append('text').attr('class','hover').attr('fill',rect.color).attr('x',hoverLeftPx+2).attr('y',hoverTopPx+keyHeightPx+valueHeightPx-3).text(''+rect.datum.x);} 8831chartAreaSel.append('text').attr('class','hover').attr('fill',rect.color).attr('x',hoverLeftPx+2).attr('y',hoverTopPx+xHeightPx+keyHeightPx+valueHeightPx-3).text(rect.value);},flipRect_(rect){return{datum:rect.datum,index:rect.index,key:rect.key,value:rect.value,color:rect.color,topPx:this.graphHeight-rect.leftPx-rect.widthPx,leftPx:this.graphWidth-rect.topPx-rect.heightPx,widthPx:rect.heightPx,heightPx:rect.widthPx,underflow:rect.underflow,overflow:rect.overflow,};},drawRect_(rect,sel){super.drawRect_(this.flipRect_(rect),sel);},drawUnderflow_(rect,rectsSel){let sel=rectsSel.data([rect]);sel.enter().append('text').text('*').attr('fill',rect.color).attr('x',0).attr('y',this.graphHeight-rect.leftPx+ 88323+(rect.widthPx/2));sel.exit().remove();sel=rectsSel.data([rect]);sel.enter().append('rect').attr('fill','rgba(0, 0, 0, 0)').attr('x',0).attr('y',this.graphHeight-rect.leftPx-rect.widthPx).attr('width',10).attr('height',rect.widthPx).on('mouseenter',()=>this.drawHoverValueBox_(this.flipRect_(rect))).on('mouseleave',()=>this.clearHoverValueBox_(rect));sel.exit().remove();},drawOverflow_(rect,sel){sel=sel.data([rect]);sel.enter().append('text').text('*').attr('fill',rect.color).attr('x',this.graphWidth).attr('y',this.graphHeight-rect.leftPx+ 88333+(rect.widthPx/2));sel.exit().remove();}};return{BarChart,};});'use strict';tr.exportTo('tr.ui.b',function(){const NameBarChart=tr.ui.b.define('name-bar-chart',tr.ui.b.BarChart);const Y_AXIS_PADDING=2;NameBarChart.prototype={__proto__:tr.ui.b.BarChart.prototype,getDataPointAtChartPoint_(chartPoint){return{x:tr.ui.b.BarChart.prototype.getDataPointAtChartPoint_.call(this,chartPoint).x,y:parseInt(Math.floor((this.graphHeight-chartPoint.y)/this.barHeight))};},getXForDatum_(datum,index){return index;},get yAxisWidth(){if(this.data.length===0)return 0;return Y_AXIS_PADDING+tr.b.math.Statistics.max(this.data_,d=>tr.ui.b.getSVGTextSize(this,d.x).width);},get defaultGraphHeight(){return(3+this.textHeightPx_)*this.data.length;},updateYAxis_(yAxis){if(tr.ui.b.getSVGTextSize(this,'test').width===0){tr.b.requestAnimationFrame(()=>this.updateYAxis_(yAxis));return;} 8834yAxis.selectAll('*').remove();const nameTexts=yAxis.selectAll('text').data(this.data_);nameTexts.enter().append('text').attr('x',d=>-(tr.ui.b.getSVGTextSize(this,d.x).width+Y_AXIS_PADDING)).attr('y',(d,index)=>this.verticalScale_(index)).text(d=>d.x);nameTexts.exit().remove();let previousTop=undefined;for(const text of nameTexts[0]){const bbox=text.getBBox();if((previousTop===undefined)||(previousTop>(bbox.y+bbox.height))){previousTop=bbox.y;}else{text.style.opacity=0;}}}};return{NameBarChart,};});'use strict';const DEFAULT_COLOR_SCHEME=new tr.b.SinebowColorGenerator();class BreakdownTableSummaryRow{constructor(displayElement,histogramNames){this.displayElement_=displayElement;this.histogramNames_=histogramNames;this.keySpan_=undefined;} 8835get numberValue(){return undefined;} 8836get keySpan(){if(this.keySpan_===undefined){if(this.histogramNames_.length){this.keySpan_=document.createElement('tr-ui-a-analysis-link');this.keySpan_.setSelectionAndContent(this.histogramNames_,'Select All');}else{this.keySpan_='Sum';}} 8837return this.keySpan_;} 8838get displayElement(){return this.displayElement_;} 8839get stringPercent(){return'100%';}} 8840class BreakdownTableRow{constructor(name,value,color){this.name_=name;this.value=value;if(!this.isHistogram&&typeof value!=='number'){throw new Error('unsupported value '+value);} 8841this.tableSum_=undefined;this.keySpan_=undefined;this.color_=color;const hsl=this.color.toHSL();hsl.l*=0.85;this.highlightedColor_=tr.b.Color.fromHSL(hsl);} 8842get isHistogram(){return this.value instanceof tr.v.Histogram;} 8843get name(){return this.name_;} 8844get color(){return this.color_;} 8845get highlightedColor(){return this.highlightedColor_;} 8846get keySpan(){if(this.keySpan_===undefined){if(this.isHistogram){this.keySpan_=document.createElement('tr-ui-a-analysis-link');this.keySpan_.setSelectionAndContent([this.value.name],this.name);this.keySpan_.color=this.color;this.keySpan_.title=this.value.name;}else{this.keySpan_=document.createElement('span');this.keySpan_.innerText=this.name;this.keySpan_.style.color=this.color;}} 8847return this.keySpan_;} 8848get numberValue(){if(this.isHistogram)return this.value.sum;if(!isNaN(this.value)&&(this.value!==Infinity)&&(this.value!==-Infinity)&&(this.value>0))return this.value;return undefined;} 8849get stringValue(){if(this.numberValue===undefined)return this.value.toString();return this.numberValue.toString();} 8850set tableSum(s){this.tableSum_=s;} 8851get stringPercent(){if(this.tableSum_===undefined)return'';const num=this.numberValue;if(num===undefined)return'';return Math.floor(num*100.0/this.tableSum_)+'%';} 8852get displayElement(){if(this.numberValue===undefined)return this.value.toString();if(this.isHistogram){return tr.v.ui.createScalarSpan(this.numberValue,{unit:this.value.unit,});} 8853return this.numberValue;} 8854compare(other){if(this.numberValue===undefined){if(other.numberValue===undefined){return this.name.localeCompare(other.name);} 8855return 1;} 8856if(other.numberValue===undefined){return-1;} 8857if(this.numberValue===other.numberValue){return this.name.localeCompare(other.name);} 8858return other.numberValue-this.numberValue;}} 8859Polymer({is:'tr-v-ui-breakdown-span',created(){this.diagnostic_=undefined;this.chart_=new tr.ui.b.ColumnChart();this.chart_.graphHeight=130;this.chart_.isStacked=true;this.chart_.hideXAxis=true;this.chart_.hideLegend=true;this.chart_.enableHoverBox=false;this.chart_.addEventListener('rect-mouseenter',event=>this.onRectMouseEnter_(event));this.chart_.addEventListener('rect-mouseleave',event=>this.onRectMouseLeave_(event));},onRectMouseEnter_(event){for(const row of this.$.table.tableRows){if(row.name===event.rect.key){row.keySpan.parentNode.nextSibling.style.background=event.rect.color;row.keySpan.scrollIntoViewIfNeeded();}else{row.keySpan.parentNode.nextSibling.style.background='';}}},onRectMouseLeave_(event){for(const row of this.$.table.tableRows){row.keySpan.parentNode.nextSibling.style.background='';}},ready(){Polymer.dom(this.$.container).appendChild(this.chart_);this.$.table.zebra=true;this.$.table.showHeader=false;this.$.table.tableColumns=[{value:row=>row.keySpan,},{value:row=>row.displayElement,align:tr.ui.b.TableFormat.ColumnAlignment.RIGHT,},{value:row=>row.stringPercent,align:tr.ui.b.TableFormat.ColumnAlignment.RIGHT,},];},attached(){if(this.diagnostic_)this.updateContents_();},get diagnostic(){return this.diagnostic_;},set diagnostic(d){this.diagnostic_=d;if(this.isAttached)this.updateContents_();},updateContents_(){this.$.container.style.display='none';this.$.table.style.display='none';this.$.empty.style.display='block';if(!this.diagnostic_){this.chart_.data=[];return;} 8860let colorScheme=undefined;if(this.diagnostic.colorScheme===tr.v.d.COLOR_SCHEME_CHROME_USER_FRIENDLY_CATEGORY_DRIVER){colorScheme=(name)=>{let cat=name.split(' ');cat=cat[cat.length-1];return tr.e.chrome.ChromeUserFriendlyCategoryDriver.getColor(cat);};}else if(this.diagnostic.colorScheme!==undefined){colorScheme=(name)=>tr.b.FixedColorSchemeRegistry.lookUp(this.diagnostic.colorScheme).getColor(name);}else{colorScheme=(name)=>DEFAULT_COLOR_SCHEME.colorForKey(name);} 8861const tableRows=[];let tableSum=0;const histogramNames=[];let unit=undefined;for(const[name,value]of this.diagnostic){const row=new BreakdownTableRow(name,value,colorScheme(name));tableRows.push(row);if(row.numberValue!==undefined)tableSum+=row.numberValue;if(row.isHistogram){histogramNames.push(value.name);if(unit===undefined)unit=value.unit;}} 8862tableRows.sort((x,y)=>x.compare(y));if(tableSum>0){let summaryDisplayElement=tableSum;if(unit!==undefined){summaryDisplayElement=unit.format(tableSum);} 8863tableRows.unshift(new BreakdownTableSummaryRow(summaryDisplayElement,histogramNames));} 8864const chartData={x:0};for(const row of tableRows){if(row.numberValue===undefined)continue;row.tableSum=tableSum;chartData[row.name]=row.numberValue;const dataSeries=this.chart_.getDataSeries(row.name);dataSeries.color=row.color;dataSeries.highlightedColor=row.highlightedColor;} 8865if(tableRows.length>0){this.$.table.style.display='block';this.$.empty.style.display='none';this.$.table.tableRows=tableRows;this.$.table.rebuild();} 8866if(Object.keys(chartData).length>1){this.$.container.style.display='block';this.$.empty.style.display='none';this.chart_.data=[chartData];}}});'use strict';Polymer({is:'tr-v-ui-buildbot-info-span',ready(){this.diagnostic_=undefined;this.$.table.showHeader=false;this.$.table.tableColumns=[{value:row=>row[0]},{value:row=>row[1]}];},get diagnostic(){return this.diagnostic_;},set diagnostic(d){this.diagnostic_=d;this.updateContents_();},updateContents_(){if(this.diagnostic===undefined){this.$.table.tableRows=[];return;} 8867const rows=[];if(this.diagnostic.displayMasterName){rows.push(['primary',this.diagnostic.displayMasterName]);} 8868if(this.diagnostic.buildbotMasterName){rows.push(['primary',this.diagnostic.buildbotMasterName]);} 8869if(this.diagnostic.displayBotName){rows.push(['bot',this.diagnostic.displayBotName]);} 8870if(this.diagnostic.buildbotName){rows.push(['bot',this.diagnostic.buildbotName]);} 8871if(this.diagnostic.buildNumber){rows.push(['build number',this.diagnostic.buildNumber]);} 8872if(this.diagnostic.logUri){const anchor=document.createElement('a');anchor.href=this.diagnostic.logUri;anchor.innerText=this.diagnostic.logUri;rows.push(['log',anchor]);} 8873this.$.table.tableRows=rows;}});'use strict';Polymer({is:'tr-v-ui-collected-related-event-set-span',ready(){this.diagnostic_=undefined;},get diagnostic(){return this.diagnostic_;},set diagnostic(d){this.diagnostic_=d;this.updateContents_();},updateContents_(){Polymer.dom(this).textContent='';for(const[canonicalUrl,events]of this.diagnostic){const link=document.createElement('a');if(events.length===1){const event=tr.b.getOnlyElement(events);link.textContent=event.title+' '+ 8874tr.b.Unit.byName.timeDurationInMs.format(event.duration);}else{link.textContent=events.length+' events';} 8875link.href=canonicalUrl;Polymer.dom(this).appendChild(link);Polymer.dom(this).appendChild(document.createElement('br'));}}});'use strict';Polymer({is:'tr-v-ui-device-info-span',ready(){this.diagnostic_=undefined;this.$.table.showHeader=false;this.$.table.tableColumns=[{value(row){return row[0];},},{value(row){return row[1];}}];},get diagnostic(){return this.diagnostic_;},set diagnostic(d){this.diagnostic_=d;this.updateContents_();},updateContents_(){if(this.diagnostic===undefined){this.$.table.tableRows=[];return;} 8876const rows=[];if(this.diagnostic.chromeVersion){rows.push(['chrome version',this.diagnostic.chromeVersion]);} 8877if(this.diagnostic.osName){rows.push(['OS name',this.diagnostic.osName]);} 8878if(this.diagnostic.osVersion){rows.push(['OS version',this.diagnostic.osVersion]);} 8879if(this.diagnostic.gpuInfo){rows.push(['GPU',JSON.stringify(this.diagnostic.gpuInfo)]);} 8880if(this.diagnostic.arch){rows.push(['arch',this.diagnostic.arch]);} 8881if(this.diagnostic.ram){rows.push(['ram',tr.b.Unit.byName.sizeInBytes.format(this.diagnostic.ram)]);} 8882this.$.table.tableRows=rows;}});'use strict';Polymer({is:'tr-v-ui-generic-diagnostic-span',ready(){this.diagnostic_=undefined;},get diagnostic(){return this.diagnostic_;},set diagnostic(d){this.diagnostic_=d;this.updateContents_();},updateContents_(){if(this.diagnostic===undefined){this.$.generic.object=undefined;return;} 8883this.$.generic.object=this.diagnostic.value;}});'use strict';Polymer({is:'tr-v-ui-merged-buildbot-info-span',ready(){this.diagnostic_=undefined;this.$.table.showHeader=false;this.$.table.tableColumns=[{value:row=>row[0]},{value:row=>row[1]},];},get diagnostic(){return this.diagnostic_;},set diagnostic(d){this.diagnostic_=d;this.updateContents_();},updateContents_(){if(this.diagnostic===undefined){this.$.table.tableRows=[];return;} 8884const rows=[];if(this.diagnostic.displayMasterNames.size){rows.push(['primarys',Array.from(this.diagnostic.displayMasterNames).join(', ')]);} 8885if(this.diagnostic.displayBotNames.size){rows.push(['bots',Array.from(this.diagnostic.displayBotNames).join(', ')]);} 8886if(this.diagnostic.buildNumbers.size){rows.push(['builds',Array.from(this.diagnostic.buildNumbers).join(', ')]);} 8887for(const logUri of this.diagnostic.logUris){const anchor=document.createElement('a');anchor.href=logUri;anchor.innerText=logUri;rows.push(['log',anchor]);} 8888this.$.table.tableRows=rows;}});'use strict';Polymer({is:'tr-v-ui-merged-device-info-span',ready(){this.diagnostic_=undefined;this.$.table.showHeader=false;this.$.table.tableColumns=[{value:row=>row[0]},{value:row=>row[1]},];},get diagnostic(){return this.diagnostic_;},set diagnostic(d){this.diagnostic_=d;this.updateContents_();},updateContents_(){if(this.diagnostic===undefined){this.$.table.tableRows=[];return;} 8889const rows=[];if(this.diagnostic.chromeVersions.size){rows.push(['chrome versions',Array.from(this.diagnostic.chromeVersions).join(', ')]);} 8890if(this.diagnostic.osNames.size){rows.push(['os names',Array.from(this.diagnostic.osNames).join(', ')]);} 8891if(this.diagnostic.osVersions.size){rows.push(['os versions',Array.from(this.diagnostic.osVersions).join(', ')]);} 8892this.$.table.tableRows=rows;}});'use strict';Polymer({is:'tr-v-ui-merged-revision-info-span',ready(){this.diagnostic_=undefined;this.$.table.showHeader=false;this.$.table.tableColumns=[{value:row=>row[0]},{value:row=>row[1]},];},get diagnostic(){return this.diagnostic_;},set diagnostic(d){this.diagnostic_=d;this.updateContents_();},buildRow_(rows,label,revisions,host){if(revisions.length===0)return;const valueSpan=document.createElement('span');for(const revs of revisions){const anchor=document.createElement('a');anchor.innerText=revs[0];if(revs.length===1){anchor.href=host+'+/'+revs[0];}else{anchor.innerText+='..'+revs[1];anchor.href=host+'+log/'+revs[0]+'..'+revs[1];} 8893anchor.addEventListener('click',event=>{event.stopPropagation();});valueSpan.appendChild(anchor);valueSpan.appendChild(document.createTextNode(' '));} 8894rows.push([label,valueSpan]);},updateContents_(){if(this.diagnostic===undefined){this.$.table.tableRows=[];return;} 8895const rows=[];if(this.diagnostic.chromiumCommitPosition){const positions=Array.from(this.diagnostic.chromiumCommitPositions);positions.sort((x,y)=>x-y);rows.push(['chromiumCommitPositions',positions.join(', ')]);} 8896if(this.diagnostic.v8CommitPosition){const positions=Array.from(this.diagnostic.v8CommitPositions);rows.push(['v8CommitPositions',positions.join(', ')]);} 8897this.buildRow_(rows,'chromium',this.diagnostic.chromium,tr.v.ui.CHROMIUM_REVISION_HOST);this.buildRow_(rows,'v8',this.diagnostic.v8,tr.v.ui.V8_REVISION_HOST);this.buildRow_(rows,'catapult',this.diagnostic.catapult,tr.v.ui.CATAPULT_REVISION_HOST);this.buildRow_(rows,'angle',this.diagnostic.angle,tr.v.ui.ANGLE_REVISION_HOST);this.buildRow_(rows,'skia',this.diagnostic.skia,tr.v.ui.SKIA_REVISION_HOST);this.buildRow_(rows,'webrtc',this.diagnostic.webrtc,tr.v.ui.WEBRTC_REVISION_HOST);this.$.table.tableRows=rows;}});'use strict';Polymer({is:'tr-v-ui-merged-telemetry-info-span',ready(){this.diagnostic_=undefined;this.$.table.showHeader=false;this.$.table.tableColumns=[{value:row=>row[0]},{value:row=>row[1]},];},onShow_(){this.$.show.style.display='none';this.$.hide.style.display='block';this.$.table.style.display='table';},onHide_(){this.$.show.style.display='block';this.$.hide.style.display='none';this.$.table.style.display='none';},get diagnostic(){return this.diagnostic_;},set diagnostic(d){this.diagnostic_=d;this.updateContents_();},updateContents_(){if(this.diagnostic===undefined){this.$.table.tableRows=[];return;} 8898const rows=[];if(this.diagnostic.benchmarkNames.size){rows.push(['benchmark names',Array.from(this.diagnostic.benchmarkNames).join(', ')]);} 8899if(this.diagnostic.benchmarkStarts.length){rows.push(['benchmark starts',this.diagnostic.benchmarkStartStrings.join(', ')]);} 8900if(this.diagnostic.storyDisplayNames.size){rows.push(['stories',Array.from(this.diagnostic.storyDisplayNames).join(', ')]);} 8901if(this.diagnostic.storysetRepeatCounters.size){rows.push(['storyset repeats',Array.from(this.diagnostic.storysetRepeatCounters).join(', ')]);} 8902if(this.diagnostic.labels.size){rows.push(['label',Array.from(this.diagnostic.labels).join(', ')]);} 8903if(this.diagnostic.storyGroupingKeys.size){const gov=document.createElement('tr-ui-a-generic-object-view');const obj={};for(const[key,value]of this.diagnostic.storyGroupingKeys){obj[key]=Array.from(value);} 8904gov.object=obj;rows.push(['grouping keys',gov]);} 8905this.$.table.tableRows=rows;}});'use strict';Polymer({is:'tr-v-ui-related-event-set-span',ready(){this.diagnostic_=undefined;},get diagnostic(){return this.diagnostic_;},set diagnostic(d){this.diagnostic_=d;this.updateContents_();},updateContents_(){Polymer.dom(this).textContent='';const events=new tr.model.EventSet([...this.diagnostic]);const link=document.createElement('tr-ui-a-analysis-link');let label=events.length+' events';if(events.length===1){const event=tr.b.getOnlyElement(events);label=event.title+' ';label+=tr.b.Unit.byName.timeDurationInMs.format(event.duration);} 8906link.setSelectionAndContent(events,label);Polymer.dom(this).appendChild(link);}});'use strict';Polymer({is:'tr-v-ui-related-histogram-map-span',ready(){this.diagnostic_=undefined;this.$.table.showHeader=false;this.$.table.tableColumns=[{value:row=>row[0]},{value:row=>row[1]},];},get diagnostic(){return this.diagnostic_;},set diagnostic(d){this.diagnostic_=d;this.updateContents_();},updateContents_(){Polymer.dom(this).textContent='';const rows=[];const histogramNames=new Set();for(const[name,hist]of this.diagnostic){histogramNames.add(hist.name);} 8907if(histogramNames.size>1){const link=document.createElement('tr-ui-a-analysis-link');link.setSelectionAndContent(Array.from(histogramNames),'Select All');rows.push([link,'']);} 8908for(const[name,hist]of this.diagnostic){const link=document.createElement('tr-ui-a-analysis-link');link.setSelectionAndContent([hist.name],name);const scalarSpan=tr.v.ui.createScalarSpan(hist);rows.push([link,scalarSpan]);} 8909this.$.table.tableRows=rows;this.$.table.rebuild();}});'use strict';Polymer({is:'tr-v-ui-related-histogram-set-span',ready(){this.diagnostic_=undefined;},get diagnostic(){return this.diagnostic_;},set diagnostic(d){this.diagnostic_=d;this.updateContents_();},addLink_(selection,content){const link=document.createElement('tr-ui-a-analysis-link');link.setSelectionAndContent(selection,content);Polymer.dom(this).appendChild(link);Polymer.dom(this).appendChild(document.createElement('br'));},updateContents_(){Polymer.dom(this).textContent='';const histogramNames=new Set();for(const hist of this.diagnostic){histogramNames.add(hist.name);} 8910if(histogramNames.size>1){this.addLink_(Array.from(histogramNames),'Select All');} 8911for(const hist of this.diagnostic){this.addLink_([hist.name],hist.name);}}});'use strict';tr.exportTo('tr.v.ui',function(){const CHROMIUM_REVISION_HOST='https://chromium.googlesource.com/chromium/src/';const V8_REVISION_HOST='https://chromium.googlesource.com/v8/v8.git/';const CATAPULT_REVISION_HOST='https://chromium.googlesource.com/external/github.com/catapult-project/catapult.git/';const ANGLE_REVISION_HOST='https://chromium.googlesource.com/angle/angle/';const SKIA_REVISION_HOST='https://chromium.googlesource.com/skia/';const WEBRTC_REVISION_HOST='https://chromium.googlesource.com/external/webrtc/';Polymer({is:'tr-v-ui-revision-info-span',ready(){this.diagnostic_=undefined;this.$.table.showHeader=false;this.$.table.tableColumns=[{value:row=>row[0]},{value:row=>row[1]},];},get diagnostic(){return this.diagnostic_;},set diagnostic(d){this.diagnostic_=d;this.updateContents_();},buildRow_(rows,label,revisions,host){if(revisions.length===0)return;const anchor=document.createElement('a');anchor.innerText=revisions[0];if(revisions.length===1){anchor.href=host+'+/'+revisions[0];}else{anchor.innerText+='..'+revisions[1];anchor.href=host+'+log/'+revisions[0]+'..'+revisions[1];} 8912anchor.addEventListener('click',event=>{event.stopPropagation();});rows.push([label,anchor]);},updateContents_(){if(this.diagnostic===undefined){this.$.table.tableRows=[];return;} 8913const rows=[];if(this.diagnostic.chromiumCommitPosition){rows.push(['chromiumCommitPosition',this.diagnostic.chromiumCommitPosition]);} 8914if(this.diagnostic.v8CommitPosition){rows.push(['v8CommitPosition',this.diagnostic.v8CommitPosition]);} 8915this.buildRow_(rows,'chromium',this.diagnostic.chromium,CHROMIUM_REVISION_HOST);this.buildRow_(rows,'v8',this.diagnostic.v8,V8_REVISION_HOST);this.buildRow_(rows,'catapult',this.diagnostic.catapult,CATAPULT_REVISION_HOST);this.buildRow_(rows,'angle',this.diagnostic.angle,ANGLE_REVISION_HOST);this.buildRow_(rows,'skia',this.diagnostic.skia,SKIA_REVISION_HOST);this.buildRow_(rows,'webrtc',this.diagnostic.webrtc,WEBRTC_REVISION_HOST);this.$.table.tableRows=rows;}});return{CHROMIUM_REVISION_HOST,V8_REVISION_HOST,CATAPULT_REVISION_HOST,ANGLE_REVISION_HOST,SKIA_REVISION_HOST,WEBRTC_REVISION_HOST,};});'use strict';Polymer({is:'tr-v-ui-scalar-diagnostic-span',ready(){this.diagnostic_=undefined;},get diagnostic(){return this.diagnostic_;},set diagnostic(d){this.diagnostic_=d;this.updateContents_();},updateContents_(){this.$.scalar.setValueAndUnit(this.diagnostic.value.value,this.diagnostic.value.unit);}});'use strict';Polymer({is:'tr-v-ui-telemetry-info-span',ready(){this.diagnostic_=undefined;this.$.table.showHeader=false;this.$.table.tableColumns=[{value:row=>row[0]},{value:row=>row[1]},];},get diagnostic(){return this.diagnostic_;},set diagnostic(d){this.diagnostic_=d;this.updateContents_();},updateContents_(){if(this.diagnostic===undefined){this.$.table.tableRows=[];return;} 8916const rows=[];if(this.diagnostic.benchmarkName){rows.push(['benchmark name',this.diagnostic.benchmarkName]);} 8917if(this.diagnostic.benchmarkStart){rows.push(['benchmark start',this.diagnostic.benchmarkStartString]);} 8918if(this.diagnostic.storyDisplayName){rows.push(['story',this.diagnostic.storyDisplayName]);} 8919if(this.diagnostic.storysetRepeatCounter!==undefined){rows.push(['storyset repeat',this.diagnostic.storysetRepeatCounter]);} 8920if(this.diagnostic.label){rows.push(['label',this.diagnostic.label]);} 8921if(this.diagnostic.storyGroupingKeys.size){const gov=document.createElement('tr-ui-a-generic-object-view');const obj={};for(const[key,value]of this.diagnostic.storyGroupingKeys){obj[key]=value;} 8922gov.object=obj;rows.push(['grouping keys',gov]);} 8923this.$.table.tableRows=rows;}});'use strict';Polymer({is:'tr-v-ui-unmergeable-diagnostic-set-span',ready(){this.diagnostic_=undefined;},get diagnostic(){return this.diagnostic_;},set diagnostic(d){this.diagnostic_=d;this.updateContents_();},updateContents_(){Polymer.dom(this).textContent='';for(const diagnostic of this.diagnostic){Polymer.dom(this).appendChild(tr.v.ui.createDiagnosticSpan(diagnostic));Polymer.dom(this).appendChild(document.createElement('br'));}}});'use strict';tr.exportTo('tr.v.ui',function(){function findElementNameForDiagnostic(diagnostic){let typeInfo=undefined;let curProto=diagnostic.constructor.prototype;while(curProto){typeInfo=tr.v.d.Diagnostic.findTypeInfo(curProto.constructor);if(typeInfo&&typeInfo.metadata.elementName)break;typeInfo=undefined;curProto=curProto.__proto__;} 8924if(typeInfo===undefined){throw new Error(diagnostic.constructor.name+' or a base class must have a registered elementName');} 8925const tagName=typeInfo.metadata.elementName;if(tr.ui.b.isUnknownElementName(tagName)){throw new Error('Element not registered: '+tagName);} 8926return tagName;} 8927function createDiagnosticSpan(diagnostic){const tagName=findElementNameForDiagnostic(diagnostic);const span=document.createElement(tagName);span.diagnostic=diagnostic;return span;} 8928return{createDiagnosticSpan,};});'use strict';Polymer({is:'tr-v-ui-diagnostic-map-table',created(){this.diagnosticMaps_=undefined;},set diagnosticMaps(maps){this.diagnosticMaps_=maps;this.updateContents_();},updateContents_(){if(this.diagnosticMaps_===undefined||this.diagnosticMaps_.length===0){this.$.table.tableRows=[];this.$.table.tableColumns=[];return;} 8929const columnTitles=new Set();for(const map of this.diagnosticMaps_){for(const[name,diagnostic]of map){if(diagnostic instanceof tr.v.d.UnmergeableDiagnosticSet)continue;if(diagnostic instanceof tr.v.d.CollectedRelatedEventSet)continue;if(diagnostic instanceof tr.v.d.GroupingPath)continue;columnTitles.add(name);}} 8930const columns=[];function makeColumn(title){return{title,value(map){const diagnostic=map.get(title);if(!diagnostic)return'';return tr.v.ui.createDiagnosticSpan(diagnostic);}};} 8931for(const title of columnTitles){columns.push(makeColumn(title));} 8932this.$.table.tableColumns=columns;this.$.table.tableRows=this.diagnosticMaps_;this.$.table.rebuild();}});'use strict';tr.exportTo('tr.b',function(){class Serializable{constructor(){Object.defineProperty(this,'properties_',{configurable:false,enumerable:false,value:new Map(),});} 8933define(name,initialValue){if(this[name]!==undefined){throw new Error(`"${name}" is already defined.`);} 8934if(name[name.length-1]==='_'){throw new Error(`"${name}" cannot end with an underscore.`);} 8935this.properties_.set(name,initialValue);Object.defineProperty(this,name,{configurable:false,enumerable:true,get:()=>this.properties_.get(name),set:value=>this.setProperty_(name,value),});} 8936setProperty_(name,value){this.properties_.set(name,value);} 8937clone(){return Serializable.fromDict(this.asDict());} 8938asDict(){function visit(obj){if(obj instanceof Serializable)return obj.asDict();if(obj instanceof Set)return Array.from(obj);if(obj instanceof Array)return obj.map(visit);if(!(obj instanceof Map))return obj;const result={};for(const[name,value]of obj){result[name]=visit(value);} 8939return result;} 8940const dict={type:this.constructor.name};for(const[name,value]of this.properties_){dict[name.replace(/_$/,'')]=visit(value);} 8941return dict;} 8942static fromDict(dict){function visit(d){if(d instanceof Array)return d.map(visit);if(!(d instanceof Object))return d;if(typeof d.type==='string')return Serializable.fromDict(d);const result=new Map();for(const[name,value]of Object.entries(d)){result.set(name,visit(value));} 8943return result;} 8944const typeInfo=Serializable.findTypeInfoWithName(dict.type);const result=new typeInfo.constructor();for(const[name,value]of Object.entries(dict)){result[name]=visit(value);} 8945return result;}} 8946const options=new tr.b.ExtensionRegistryOptions(tr.b.BASIC_REGISTRY_MODE);options.defaultMetadata={};options.mandatoryBaseClass=Serializable;tr.b.decorateExtensionRegistry(Serializable,options);return{Serializable,};});'use strict';tr.exportTo('tr.b',function(){class ViewState extends tr.b.Serializable{constructor(){super();tr.b.EventTarget.decorate(this);} 8947setProperty_(name,value){this.update(new Map([[name,value]]));} 8948async updateFromViewState(other){await this.update(other.properties_);} 8949async update(delta){if(!(delta instanceof Map))delta=new Map(Object.entries(delta));const actualDelta={};for(const[name,current]of delta){const previous=this[name];if(previous===current)continue;actualDelta[name]={previous,current};tr.b.Serializable.prototype.setProperty_.call(this,name,current);} 8950if(Object.keys(actualDelta).length===0)return;await tr.b.dispatchSimpleEventAsync(this,this.updateEventName_,{delta:actualDelta});} 8951get updateEventName_(){return this.constructor.name+'.update';} 8952addUpdateListener(listener){this.addEventListener(this.updateEventName_,listener);} 8953removeUpdateListener(listener){this.removeEventListener(this.updateEventName_,listener);}} 8954return{ViewState,};});'use strict';tr.exportTo('tr.v.ui',function(){class HistogramSetViewState extends tr.b.ViewState{constructor(){super();this.define('searchQuery','');this.define('referenceDisplayLabel','');this.define('displayStatisticName','');this.define('showAll',false);this.define('groupings',[]);this.define('sortColumnIndex',0);this.define('sortDescending',false);this.define('constrainNameColumn',true);this.define('tableRowStates',new Map());}} 8955tr.b.ViewState.register(HistogramSetViewState);class HistogramSetTableRowState extends tr.b.ViewState{constructor(){super();this.define('isExpanded',false);this.define('isOverviewed',false);this.define('cells',new Map());this.define('subRows',new Map());} 8956asCompactDict(){const result={};if(this.isExpanded)result.e='1';if(this.isOverviewed)result.o='1';const cells={};for(const[name,cell]of this.cells){const cellDict=cell.asCompactDict();if(cellDict===undefined)continue;cells[name]=cellDict;} 8957if(Object.keys(cells).length>0)result.c=cells;const subRows={};for(const[name,row]of this.subRows){const rowDict=row.asCompactDict();if(rowDict===undefined)continue;subRows[name]=rowDict;} 8958if(Object.keys(subRows).length>0)result.r=subRows;if(Object.keys(result).length===0)return undefined;return result;} 8959async updateFromCompactDict(dict){await this.update({isExpanded:dict.e==='1',isOverviewed:dict.o==='1',});for(const[name,cellDict]of Object.entries(dict.c||{})){const cell=this.cells.get(name);if(cell===undefined)continue;await cell.updateFromCompactDict(cellDict);} 8960for(const[name,subRowDict]of Object.entries(dict.r||{})){const subRow=this.subRows.get(name);if(subRow===undefined)continue;await subRow.updateFromCompactDict(subRowDict);}}*walk(){yield this;for(const row of this.subRows.values())yield*row.walk();} 8961static*walkAll(rootRows){for(const rootRow of rootRows)yield*rootRow.walk();}} 8962tr.b.ViewState.register(HistogramSetTableRowState);class HistogramSetTableCellState extends tr.b.ViewState{constructor(){super();this.define('isOpen',false);this.define('brushedBinRange',new tr.b.math.Range());this.define('mergeSampleDiagnostics',true);} 8963asCompactDict(){const result={};if(this.isOpen)result.o='1';if(!this.mergeSampleDiagnostics)result.m='0';if(!this.brushedBinRange.isEmpty){result.b=this.brushedBinRange.min+'_'+this.brushedBinRange.max;} 8964if(Object.keys(result).length===0)return undefined;return result;} 8965async updateFromCompactDict(dict){let binRange=this.brushedBinRange;if(dict.b){let[bMin,bMax]=dict.b.split('_');bMin=parseInt(bMin);bMax=parseInt(bMax);if(bMin!==binRange.min||bMax!==binRange.max){binRange=tr.b.math.Range.fromExplicitRange(bMin,bMax);}} 8966await this.update({isOpen:dict.o==='1',brushedBinRange:binRange,mergeSampleDiagnostics:dict.m!=='0',});}} 8967tr.b.ViewState.register(HistogramSetTableCellState);return{HistogramSetTableCellState,HistogramSetTableRowState,HistogramSetViewState,};});'use strict';Polymer({is:'tr-v-ui-scalar-map-table',created(){this.scalarMap_=new Map();this.significance_=new Map();},ready(){this.$.table.showHeader=false;this.$.table.tableColumns=[{value(row){return row.name;}},{value(row){const span=tr.v.ui.createScalarSpan(row.value);if(row.significance!==undefined){span.significance=row.significance;}else if(row.anyRowsHaveSignificance){span.style.marginRight='18px';} 8968span.style.whiteSpace='nowrap';return span;}}];},get scalarMap(){return this.scalarMap_;},set scalarMap(map){this.scalarMap_=map;this.updateContents_();},setSignificanceForKey(key,significance){this.significance_.set(key,significance);this.updateContents_();},updateContents_(){const rows=[];for(const[key,scalar]of this.scalarMap){rows.push({name:key,value:scalar,significance:this.significance_.get(key),anyRowsHaveSignificance:(this.significance_.size>0)});} 8969this.$.table.tableRows=rows;this.$.table.rebuild();}});'use strict';tr.exportTo('tr.v.ui',function(){const DEFAULT_BAR_HEIGHT_PX=5;const TRUNCATE_BIN_MARGIN=0.15;const IGNORE_DELTA_STATISTICS_NAMES=[`${tr.v.DELTA}min`,`%${tr.v.DELTA}min`,`${tr.v.DELTA}max`,`%${tr.v.DELTA}max`,`${tr.v.DELTA}sum`,`%${tr.v.DELTA}sum`,`${tr.v.DELTA}count`,`%${tr.v.DELTA}count`,];Polymer({is:'tr-v-ui-histogram-span',created(){this.viewStateListener_=this.onViewStateUpdate_.bind(this);this.viewState=new tr.v.ui.HistogramSetTableCellState();this.histogram_=undefined;this.referenceHistogram_=undefined;this.graphWidth_=undefined;this.graphHeight_=undefined;this.mouseDownBin_=undefined;this.prevBrushedBinRange_=new tr.b.math.Range();this.canMergeSampleDiagnostics_=true;},get viewState(){return this.viewState_;},set viewState(vs){if(this.viewState){this.viewState.removeUpdateListener(this.viewStateListener_);} 8970this.viewState_=vs;this.viewState.addUpdateListener(this.viewStateListener_);if(this.isAttached)this.updateContents_();},onViewStateUpdate_(event){if(event.delta.brushedBinRange){this.brushedBinRange=this.viewState.brushedBinRange;} 8971if(event.delta.mergeSampleDiagnostics){this.mergeSampleDiagnostics=this.canMergeSampleDiagnostics&&this.viewState.mergeSampleDiagnostics;}},ready(){this.$.drag_handle.target=this.$.container;this.$.drag_handle.addEventListener('drag-handle-resize',this.onResize_.bind(this));},attached(){if(this.histogram_!==undefined)this.updateContents_();},get canMergeSampleDiagnostics(){return this.canMergeSampleDiagnostics_;},set canMergeSampleDiagnostics(merge){this.canMergeSampleDiagnostics_=merge;this.$.merge_sample_diagnostics_container.style.display=(merge?'':'none');},onResize_(event){event.stopPropagation();let heightPx=parseInt(this.$.container.style.height);if(heightPx<this.defaultGraphHeight){heightPx=this.defaultGraphHeight;this.$.container.style.height=this.defaultGraphHeight+'px';} 8972this.chart_.graphHeight=heightPx-(this.chart_.margin.top+ 8973this.chart_.margin.bottom);},get graphWidth(){return this.graphWidth_||this.defaultGraphWidth;},set graphWidth(width){this.graphWidth_=width;},get graphHeight(){return this.graphHeight_||this.defaultGraphHeight;},set graphHeight(height){this.graphHeight_=height;},get barHeight(){return this.chart_.barHeight;},set barHeight(px){this.graphHeight=this.computeChartHeight_(px);},computeChartHeight_(barHeightPx){return(this.chart_.margin.top+ 8974this.chart_.margin.bottom+ 8975(barHeightPx*this.histogram.allBins.length));},get defaultGraphHeight(){if(this.histogram&&this.histogram.allBins.length===1){return 150;} 8976return this.computeChartHeight_(DEFAULT_BAR_HEIGHT_PX);},get defaultGraphWidth(){if(this.histogram.allBins.length===1){return 100;} 8977return 300;},get brushedBins(){const bins=[];if(this.histogram&&!this.brushedBinRange.isEmpty){for(let i=this.brushedBinRange.min;i<this.brushedBinRange.max;++i){bins.push(this.histogram.allBins[i]);}} 8978return bins;},get brushedBinRange(){return this.viewState.brushedBinRange;},set brushedBinRange(r){if(this.chart_===undefined)return;const current=this.brushedBinRange;if(r.min===current.min&&r.max===current.max)return;this.chart_.brushedRange=r;this.viewState.brushedBinRange=r;this.updateDiagnostics_();},get mergeSampleDiagnostics(){return this.canMergeSampleDiagnostics&&this.$.merge_sample_diagnostics.checked;},set mergeSampleDiagnostics(m){this.$.merge_sample_diagnostics.checked=m;},updateBrushedRange_(binIndex){const brushedBinRange=new tr.b.math.Range();brushedBinRange.addValue(tr.b.math.clamp(this.mouseDownBinIndex_,0,this.histogram.allBins.length-1));brushedBinRange.addValue(tr.b.math.clamp(binIndex,0,this.histogram.allBins.length-1));brushedBinRange.max+=1;this.brushedBinRange=brushedBinRange;},onMouseDown_(chartEvent){chartEvent.stopPropagation();if(!this.histogram){return;} 8979this.prevBrushedBinRange_=this.brushedBinRange;this.mouseDownBinIndex_=chartEvent.y;this.updateBrushedRange_(chartEvent.y);},onMouseMove_(chartEvent){chartEvent.stopPropagation();if(!this.histogram){return;} 8980this.updateBrushedRange_(chartEvent.y);},onMouseUp_(chartEvent){chartEvent.stopPropagation();if(!this.histogram){return;} 8981this.updateBrushedRange_(chartEvent.y);if(this.prevBrushedBinRange_.range===1&&this.brushedBinRange.range===1&&this.prevBrushedBinRange_.min===this.brushedBinRange.min){tr.b.Timing.instant('histogram-span','clearBrushedBins');this.brushedBinRange=new tr.b.math.Range();}else{tr.b.Timing.instant('histogram-span','brushBins');} 8982this.mouseDownBinIndex_=undefined;},updateDiagnostics_(){let maps=[];for(const bin of this.brushedBins){for(const map of bin.diagnosticMaps){maps.push(map);}} 8983if(maps.length===0){this.$.sample_diagnostics_container.style.display='none';return;} 8984if(this.mergeSampleDiagnostics!==this.viewState.mergeSampleDiagnostics){tr.b.Timing.instant('histogram-span',(this.mergeSampleDiagnostics?'merge':'split')+'SampleDiagnostics');this.viewState.mergeSampleDiagnostics=this.mergeSampleDiagnostics;} 8985if(this.mergeSampleDiagnostics){const merged=new tr.v.d.DiagnosticMap();for(const map of maps){merged.addDiagnostics(map);} 8986maps=[merged];} 8987this.$.sample_diagnostics_container.style.display='block';this.$.sample_diagnostics.diagnosticMaps=maps;},get histogram(){return this.histogram_;},set histogram(histogram){if(histogram===this.histogram_)return;this.histogram_=histogram;if(this.isAttached)this.updateContents_();},get referenceHistogram(){return this.referenceHistogram_;},set referenceHistogram(histogram){if(histogram===this.referenceHistogram_){return;} 8988this.referenceHistogram_=histogram;if(this.histogram)this.updateContents_();},getDeltaScalars_(statNames,scalarMap){if(!this.histogram.canCompare(this.referenceHistogram))return;const mwu=tr.b.math.Statistics.mwu(this.histogram.sampleValues,this.referenceHistogram.sampleValues);for(const deltaStatName of tr.v.Histogram.getDeltaStatisticsNames(statNames)){if(IGNORE_DELTA_STATISTICS_NAMES.includes(deltaStatName))continue;const scalar=this.histogram.getStatisticScalar(deltaStatName,this.referenceHistogram,mwu);if(scalar===undefined)continue;scalarMap.set(deltaStatName,scalar);} 8989if(this.histogram.unit.improvementDirection!==tr.b.ImprovementDirection.DONT_CARE){this.$.stats.setSignificanceForKey(`${tr.v.DELTA}avg`,mwu.significance);}},set isYLogScale(logScale){this.chart_.isYLogScale=logScale;},updateContents_(){this.$.chart.style.display='none';this.$.drag_handle.style.display='none';this.$.sample_diagnostics_container.style.display='none';this.$.container.style.justifyContent='';this.brushedBinRange=new tr.b.math.Range();while(Polymer.dom(this.$.chart).lastChild){Polymer.dom(this.$.chart).removeChild(Polymer.dom(this.$.chart).lastChild);} 8990if(!this.histogram)return;this.$.container.style.display='';const scalarMap=new Map();this.getDeltaScalars_(this.histogram.statisticsNames,scalarMap);for(const[name,scalar]of this.histogram.statisticsScalars){scalarMap.set(name,scalar);} 8991this.$.stats.scalarMap=scalarMap;if(this.histogram.diagnostics.size>0){const diagnosticMap=new tr.v.d.DiagnosticMap();for(const[key,diagnostic]of this.histogram.diagnostics){if(key!==tr.v.d.MERGED_FROM_DIAGNOSTIC_KEY&&key!==tr.v.d.MERGED_TO_DIAGNOSTIC_KEY){diagnosticMap.set(key,diagnostic);}} 8992this.$.histogram_diagnostics.diagnosticMaps=[diagnosticMap];this.$.histogram_diagnostics.style.display='block';}else{this.$.histogram_diagnostics.style.display='none';} 8993if(this.histogram.numValues<=1){this.brushedBinRange=tr.b.math.Range.fromExplicitRange(0,this.histogram.allBins.length);this.updateDiagnostics_();this.$.container.style.justifyContent='flex-end';return;} 8994this.$.chart.style.display='block';this.$.drag_handle.style.display='block';if(this.histogram.allBins.length===1){if(this.histogram.min!==this.histogram.max){this.chart_=new tr.ui.b.BoxChart();Polymer.dom(this.$.chart).appendChild(this.chart_);this.chart_.graphWidth=this.graphWidth;this.chart_.graphHeight=this.graphHeight;this.chart_.hideXAxis=true;this.chart_.data=[{x:'',color:'blue',percentile_0:this.histogram.running.min,percentile_25:this.histogram.getApproximatePercentile(0.25),percentile_50:this.histogram.getApproximatePercentile(0.5),percentile_75:this.histogram.getApproximatePercentile(0.75),percentile_100:this.histogram.running.max,}];} 8995this.brushedBinRange=tr.b.math.Range.fromExplicitRange(0,this.histogram.allBins.length);this.updateDiagnostics_();return;} 8996this.chart_=new tr.ui.b.NameBarChart();Polymer.dom(this.$.chart).appendChild(this.chart_);this.chart_.graphWidth=this.graphWidth;this.chart_.graphHeight=this.graphHeight;this.chart_.addEventListener('item-mousedown',this.onMouseDown_.bind(this));this.chart_.addEventListener('item-mousemove',this.onMouseMove_.bind(this));this.chart_.addEventListener('item-mouseup',this.onMouseUp_.bind(this));this.chart_.hideLegend=true;this.chart_.getDataSeries('y').color='blue';this.chart_.xAxisLabel='#';this.chart_.brushedRange=this.brushedBinRange;this.updateDiagnostics_();const chartData=[];const binCounts=[];for(const bin of this.histogram.allBins){let x=bin.range.min;if(x===-Number.MAX_VALUE){x='<'+new tr.b.Scalar(this.histogram.unit,bin.range.max).toString();}else{x=new tr.b.Scalar(this.histogram.unit,x).toString();} 8997chartData.push({x,y:bin.count});binCounts.push(bin.count);} 8998binCounts.sort((x,y)=>y-x);const dataRange=tr.b.math.Range.fromExplicitRange(0,binCounts[0]);if(binCounts[1]>0&&binCounts[0]>(binCounts[1]*2)){dataRange.max=binCounts[1]*(1+TRUNCATE_BIN_MARGIN);} 8999if(binCounts[2]>0&&binCounts[1]>(binCounts[2]*2)){dataRange.max=binCounts[2]*(1+TRUNCATE_BIN_MARGIN);} 9000this.chart_.overrideDataRange=dataRange;this.chart_.data=chartData;}});});'use strict';tr.exportTo('tr.ui.analysis',function(){const EVENT_FIELD=[{key:'start',label:'Start'},{key:'cpuDuration',label:'CPU Duration'},{key:'duration',label:'Duration'},{key:'cpuSelfTime',label:'CPU Self Time'},{key:'selfTime',label:'Self Time'}];function buildDiagnostics_(slice){const diagnostics={};for(const item of EVENT_FIELD){const fieldName=item.key;if(slice[fieldName]===undefined)continue;diagnostics[fieldName]=new tr.v.d.Scalar(new tr.b.Scalar(tr.b.Unit.byName.timeDurationInMs,slice[fieldName]));} 9001diagnostics.args=new tr.v.d.Generic(slice.args);diagnostics.event=new tr.v.d.RelatedEventSet(slice);return diagnostics;} 9002Polymer({is:'tr-ui-a-multi-event-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],created(){this.currentSelection_=undefined;this.eventsHaveDuration_=true;this.eventsHaveSubRows_=true;},ready(){this.$.radioPicker.style.display='none';this.$.radioPicker.items=EVENT_FIELD;this.$.radioPicker.select('cpuSelfTime');this.$.radioPicker.addEventListener('change',()=>{if(this.isAttached)this.updateContents_();});this.$.histogramSpan.graphWidth=400;this.$.histogramSpan.canMergeSampleDiagnostics=false;this.$.histogramContainer.style.display='none';},attached(){if(this.currentSelection_!==undefined)this.updateContents_();},set selection(selection){if(selection.length<=1){throw new Error('Only supports multiple items');} 9003this.setSelectionWithoutErrorChecks(selection);},get selection(){return this.currentSelection_;},setSelectionWithoutErrorChecks(selection){this.currentSelection_=selection;if(this.isAttached)this.updateContents_();},get eventsHaveDuration(){return this.eventsHaveDuration_;},set eventsHaveDuration(eventsHaveDuration){this.eventsHaveDuration_=eventsHaveDuration;if(this.isAttached)this.updateContents_();},get eventsHaveSubRows(){return this.eventsHaveSubRows_;},set eventsHaveSubRows(eventsHaveSubRows){this.eventsHaveSubRows_=eventsHaveSubRows;if(this.isAttached)this.updateContents_();},buildHistogram_(selectedKey){let leftBoundary=Number.MAX_VALUE;let rightBoundary=tr.b.math.Statistics.percentile(this.currentSelection_,0.95,function(value){leftBoundary=Math.min(leftBoundary,value[selectedKey]);return value[selectedKey];});if(leftBoundary===rightBoundary)rightBoundary+=1;const histogram=new tr.v.Histogram('',tr.b.Unit.byName.timeDurationInMs,tr.v.HistogramBinBoundaries.createLinear(leftBoundary,rightBoundary,Math.ceil(Math.sqrt(this.currentSelection_.length))));histogram.customizeSummaryOptions({sum:false});for(const slice of this.currentSelection_){histogram.addSample(slice[selectedKey],buildDiagnostics_(slice));} 9004return histogram;},updateContents_(){const selection=this.currentSelection_;if(!selection)return;const eventsByTitle=selection.getEventsOrganizedByTitle();const numTitles=Object.keys(eventsByTitle).length;this.$.eventSummaryTable.configure({showTotals:numTitles>1,eventsByTitle,eventsHaveDuration:this.eventsHaveDuration_,eventsHaveSubRows:this.eventsHaveSubRows_});this.$.selectionSummaryTable.selection=this.currentSelection_;if(numTitles===1){this.$.radioPicker.style.display='block';this.$.histogramContainer.style.display='flex';this.$.histogramSpan.histogram=this.buildHistogram_(this.$.radioPicker.selectedKey);if(this.$.histogramSpan.histogram.numValues===0){this.$.histogramContainer.style.display='none';}}else{this.$.radioPicker.style.display='none';this.$.histogramContainer.style.display='none';}}});return{};});'use strict';tr.exportTo('tr.ui.analysis',function(){const FLOW_IN=0x1;const FLOW_OUT=0x2;const FLOW_IN_OUT=FLOW_IN|FLOW_OUT;function FlowClassifier(){this.numEvents_=0;this.eventsByGUID_={};} 9005FlowClassifier.prototype={getFS_(event){let fs=this.eventsByGUID_[event.guid];if(fs===undefined){this.numEvents_++;fs={state:0,event};this.eventsByGUID_[event.guid]=fs;} 9006return fs;},addInFlow(event){const fs=this.getFS_(event);fs.state|=FLOW_IN;return event;},addOutFlow(event){const fs=this.getFS_(event);fs.state|=FLOW_OUT;return event;},hasEvents(){return this.numEvents_>0;},get inFlowEvents(){const selection=new tr.model.EventSet();for(const guid in this.eventsByGUID_){const fs=this.eventsByGUID_[guid];if(fs.state===FLOW_IN){selection.push(fs.event);}} 9007return selection;},get outFlowEvents(){const selection=new tr.model.EventSet();for(const guid in this.eventsByGUID_){const fs=this.eventsByGUID_[guid];if(fs.state===FLOW_OUT){selection.push(fs.event);}} 9008return selection;},get internalFlowEvents(){const selection=new tr.model.EventSet();for(const guid in this.eventsByGUID_){const fs=this.eventsByGUID_[guid];if(fs.state===FLOW_IN_OUT){selection.push(fs.event);}} 9009return selection;}};return{FlowClassifier,};});'use strict';function*getEventInFlowEvents(event){if(!event.inFlowEvents)return;yield*event.inFlowEvents;} 9010function*getEventOutFlowEvents(event){if(!event.outFlowEvents)return;yield*event.outFlowEvents;} 9011function*getEventAncestors(event){if(!event.enumerateAllAncestors)return;yield*event.enumerateAllAncestors();} 9012function*getEventDescendents(event){if(!event.enumerateAllDescendents)return;yield*event.enumerateAllDescendents();} 9013Polymer({is:'tr-ui-a-related-events',ready(){this.eventGroups_=[];this.cancelFunctions_=[];this.$.table.tableColumns=[{title:'Event(s)',value(row){const typeEl=document.createElement('span');typeEl.innerText=row.type;if(row.tooltip){typeEl.title=row.tooltip;} 9014return typeEl;},width:'150px'},{title:'Link',width:'100%',value(row){const linkEl=document.createElement('tr-ui-a-analysis-link');if(row.name){linkEl.setSelectionAndContent(row.selection,row.name);}else{linkEl.selection=row.selection;} 9015return linkEl;}}];},hasRelatedEvents(){return(this.eventGroups_&&this.eventGroups_.length>0);},setRelatedEvents(eventSet){this.cancelAllTasks_();this.eventGroups_=[];this.addRuntimeCallStats_(eventSet);this.addOverlappingV8ICStats_(eventSet);this.addV8GCObjectStats_(eventSet);this.addV8Slices_(eventSet);this.addConnectedFlows_(eventSet);this.addConnectedEvents_(eventSet);this.addOverlappingSamples_(eventSet);this.updateContents_();},addConnectedFlows_(eventSet){const classifier=new tr.ui.analysis.FlowClassifier();eventSet.forEach(function(slice){if(slice.inFlowEvents){slice.inFlowEvents.forEach(function(flow){classifier.addInFlow(flow);});} 9016if(slice.outFlowEvents){slice.outFlowEvents.forEach(function(flow){classifier.addOutFlow(flow);});}});if(!classifier.hasEvents())return;const addToEventGroups=function(type,flowEvent){this.eventGroups_.push({type,selection:new tr.model.EventSet(flowEvent),name:flowEvent.title});};classifier.inFlowEvents.forEach(addToEventGroups.bind(this,'Incoming flow'));classifier.outFlowEvents.forEach(addToEventGroups.bind(this,'Outgoing flow'));classifier.internalFlowEvents.forEach(addToEventGroups.bind(this,'Internal flow'));},cancelAllTasks_(){this.cancelFunctions_.forEach(function(cancelFunction){cancelFunction();});this.cancelFunctions_=[];},addConnectedEvents_(eventSet){this.cancelFunctions_.push(this.createEventsLinkIfNeeded_('Preceding events','Add all events that have led to the selected one(s), connected by '+'flow arrows or by call stack.',eventSet,function*(event){yield*getEventInFlowEvents(event);yield*getEventAncestors(event);if(event.startSlice){yield event.startSlice;}}.bind(this)));this.cancelFunctions_.push(this.createEventsLinkIfNeeded_('Following events','Add all events that have been caused by the selected one(s), '+'connected by flow arrows or by call stack.',eventSet,function*(event){yield*getEventOutFlowEvents(event);yield*getEventDescendents(event);if(event.endSlice){yield event.endSlice;}}.bind(this)));this.cancelFunctions_.push(this.createEventsLinkIfNeeded_('All connected events','Add all events connected to the selected one(s) by flow arrows or '+'by call stack.',eventSet,function*(event){yield*getEventInFlowEvents(event);yield*getEventOutFlowEvents(event);yield*getEventAncestors(event);yield*getEventDescendents(event);if(event.startSlice){yield event.startSlice;} 9017if(event.endSlice){yield event.endSlice;}}.bind(this)));},createEventsLinkIfNeeded_(title,tooltip,events,connectedFn){events=new tr.model.EventSet(events);const eventsToProcess=new Set(events);let wasChanged=false;let task;let isCanceled=false;function addEventsUntilTimeout(){if(isCanceled)return;const timeout=window.performance.now()+8;while(eventsToProcess.size>0&&window.performance.now()<=timeout){const nextEvent=tr.b.getFirstElement(eventsToProcess);eventsToProcess.delete(nextEvent);for(const eventToAdd of connectedFn(nextEvent)){if(!events.contains(eventToAdd)){events.push(eventToAdd);eventsToProcess.add(eventToAdd);wasChanged=true;}}} 9018if(eventsToProcess.size>0){const newTask=new tr.b.Task(addEventsUntilTimeout.bind(this),this);task.after(newTask);task=newTask;return;} 9019if(!wasChanged)return;this.eventGroups_.push({type:title,tooltip,selection:events});this.updateContents_();} 9020function cancelTask(){isCanceled=true;} 9021task=new tr.b.Task(addEventsUntilTimeout.bind(this),this);tr.b.Task.RunWhenIdle(task);return cancelTask;},addOverlappingSamples_(eventSet){const samples=new tr.model.EventSet();for(const slice of eventSet){if(!slice.parentContainer||!slice.parentContainer.samples){continue;} 9022const candidates=slice.parentContainer.samples;const range=tr.b.math.Range.fromExplicitRange(slice.start,slice.start+slice.duration);const filteredSamples=range.filterArray(candidates,function(value){return value.start;});for(const sample of filteredSamples){samples.push(sample);}} 9023if(samples.length>0){this.eventGroups_.push({type:'Overlapping samples',tooltip:'All samples overlapping the selected slice(s).',selection:samples});}},addV8Slices_(eventSet){const v8Slices=new tr.model.EventSet();for(const slice of eventSet){if(slice.category==='v8'){v8Slices.push(slice);}} 9024if(v8Slices.length>0){this.eventGroups_.push({type:'V8 Slices',tooltip:'All V8 slices in the selected slice(s).',selection:v8Slices});}},addRuntimeCallStats_(eventSet){const slices=new tr.model.EventSet();for(const slice of eventSet){if(slice.category==='v8'&&slice.runtimeCallStats){slices.push(slice);}} 9025if(slices.length>0){this.eventGroups_.push({type:'Runtime call stats table',tooltip:'All V8 slices containing runtime call stats table in the selected slice(s).',selection:slices});}},addV8GCObjectStats_(eventSet){const slices=new tr.model.EventSet();for(const slice of eventSet){if(slice.title==='V8.GC_Objects_Stats'){slices.push(slice);}} 9026if(slices.length>0){this.eventGroups_.push({type:'V8 GC stats table',tooltip:'All V8 GC statistics slices in the selected set.',selection:slices});}},addOverlappingV8ICStats_(eventSet){const slices=new tr.model.EventSet();for(const slice of eventSet){if(!slice.parentContainer||!slice.parentContainer.sliceGroup){continue;} 9027const sliceGroup=slice.parentContainer.sliceGroup.slices;const range=tr.b.math.Range.fromExplicitRange(slice.start,slice.start+slice.duration);const filteredSlices=range.filterArray(sliceGroup,value=>value.start);const icSlices=filteredSlices.filter(x=>x.title==='V8.ICStats');for(const icSlice of icSlices){slices.push(icSlice);}} 9028if(slices.length>0){this.eventGroups_.push({type:'Overlapping V8 IC stats',tooltip:'All V8 IC statistics overlapping the selected set.',selection:slices});}},updateContents_(){const table=this.$.table;if(this.eventGroups_===undefined){table.tableRows=[];}else{table.tableRows=this.eventGroups_.slice();} 9029table.rebuild();}});'use strict';Polymer({is:'tr-ui-a-multi-async-slice-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],get selection(){return this.$.content.selection;},set selection(selection){this.$.content.selection=selection;this.$.relatedEvents.setRelatedEvents(selection);if(this.$.relatedEvents.hasRelatedEvents()){this.$.relatedEvents.style.display='';}else{this.$.relatedEvents.style.display='none';}},get relatedEventsToHighlight(){if(!this.$.content.selection)return undefined;const selection=new tr.model.EventSet();this.$.content.selection.forEach(function(asyncEvent){if(!asyncEvent.associatedEvents)return;asyncEvent.associatedEvents.forEach(function(event){selection.push(event);});});if(selection.length)return selection;return undefined;}});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-multi-async-slice-sub-view',tr.model.AsyncSlice,{multi:true,title:'Async Slices',});'use strict';Polymer({is:'tr-ui-a-multi-cpu-slice-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],ready(){this.$.content.eventsHaveSubRows=false;},get selection(){return this.$.content.selection;},set selection(selection){this.$.content.setSelectionWithoutErrorChecks(selection);}});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-multi-cpu-slice-sub-view',tr.model.CpuSlice,{multi:true,title:'CPU Slices',});'use strict';Polymer({is:'tr-ui-a-multi-flow-event-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],ready(){this.$.content.eventsHaveDuration=false;this.$.content.eventsHaveSubRows=false;},set selection(selection){this.$.content.selection=selection;},get selection(){return this.$.content.selection;}});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-multi-flow-event-sub-view',tr.model.FlowEvent,{multi:true,title:'Flow Events',});'use strict';Polymer({is:'tr-ui-a-multi-frame-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],created(){this.currentSelection_=undefined;},set selection(selection){Polymer.dom(this).textContent='';const realView=document.createElement('tr-ui-a-multi-event-sub-view');realView.eventsHaveDuration=false;realView.eventsHaveSubRows=false;Polymer.dom(this).appendChild(realView);realView.setSelectionWithoutErrorChecks(selection);this.currentSelection_=selection;},get selection(){return this.currentSelection_;},get relatedEventsToHighlight(){if(!this.currentSelection_)return undefined;const selection=new tr.model.EventSet();this.currentSelection_.forEach(function(frameEvent){frameEvent.associatedEvents.forEach(function(event){selection.push(event);});});return selection;}});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-multi-frame-sub-view',tr.model.Frame,{multi:true,title:'Frames',});'use strict';Polymer({is:'tr-ui-a-multi-instant-event-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],created(){this.currentSelection_=undefined;},set selection(selection){Polymer.dom(this.$.content).textContent='';const realView=document.createElement('tr-ui-a-multi-event-sub-view');realView.eventsHaveDuration=false;realView.eventsHaveSubRows=false;Polymer.dom(this.$.content).appendChild(realView);realView.setSelectionWithoutErrorChecks(selection);this.currentSelection_=selection;},get selection(){return this.currentSelection_;}});'use strict';Polymer({is:'tr-ui-a-multi-object-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],created(){this.currentSelection_=undefined;},ready(){this.$.content.showHeader=false;},get selection(){return this.currentSelection_;},set selection(selection){this.currentSelection_=selection;const objectEvents=tr.b.asArray(selection).sort(tr.b.math.Range.compareByMinTimes);const timeSpanConfig={unit:tr.b.Unit.byName.timeStampInMs,ownerDocument:this.ownerDocument};const table=this.$.content;table.tableColumns=[{title:'First',value(event){if(event instanceof tr.model.ObjectSnapshot){return tr.v.ui.createScalarSpan(event.ts,timeSpanConfig);} 9030const spanEl=document.createElement('span');Polymer.dom(spanEl).appendChild(tr.v.ui.createScalarSpan(event.creationTs,timeSpanConfig));Polymer.dom(spanEl).appendChild(tr.ui.b.createSpan({textContent:'-',marginLeft:'4px',marginRight:'4px'}));if(event.deletionTs!==Number.MAX_VALUE){Polymer.dom(spanEl).appendChild(tr.v.ui.createScalarSpan(event.deletionTs,timeSpanConfig));} 9031return spanEl;},width:'200px'},{title:'Second',value(event){const linkEl=document.createElement('tr-ui-a-analysis-link');linkEl.setSelectionAndContent(function(){return new tr.model.EventSet(event);},event.userFriendlyName);return linkEl;},width:'100%'}];table.tableRows=objectEvents;table.rebuild();}});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-multi-object-sub-view',tr.model.ObjectInstance,{multi:true,title:'Object Instances',});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-multi-object-sub-view',tr.model.ObjectSnapshot,{multi:true,title:'Object Snapshots',});'use strict';const EventSet=tr.model.EventSet;const CHART_TITLE='Power (W) by ms since vertical sync';Polymer({is:'tr-ui-a-frame-power-usage-chart',ready(){this.chart_=undefined;this.samples_=new EventSet();this.vSyncTimestamps_=[];},attached(){if(this.samples_)this.updateContents_();},get chart(){return this.chart_;},get samples(){return this.samples_;},get vSyncTimestamps(){return this.vSyncTimestamps_;},setData(samples,vSyncTimestamps){this.samples_=(samples===undefined)?new EventSet():samples;this.vSyncTimestamps_=(vSyncTimestamps===undefined)?[]:vSyncTimestamps;if(this.isAttached)this.updateContents_();},updateContents_(){this.clearChart_();const data=this.getDataForLineChart_();if(data.length===0)return;this.chart_=new tr.ui.b.LineChart();Polymer.dom(this.$.content).appendChild(this.chart_);this.chart_.chartTitle=CHART_TITLE;this.chart_.data=data;},clearChart_(){const content=this.$.content;while(Polymer.dom(content).firstChild){Polymer.dom(content).removeChild(Polymer.dom(content).firstChild);} 9032this.chart_=undefined;},getDataForLineChart_(){const sortedSamples=this.sortSamplesByTimestampAscending_(this.samples);const vSyncTimestamps=this.vSyncTimestamps.slice();let lastVSyncTimestamp=undefined;const points=[];let frameNumber=0;sortedSamples.forEach(function(sample){while(vSyncTimestamps.length>0&&vSyncTimestamps[0]<=sample.start){lastVSyncTimestamp=vSyncTimestamps.shift();frameNumber++;} 9033if(lastVSyncTimestamp===undefined)return;const point={x:sample.start-lastVSyncTimestamp};point['f'+frameNumber]=sample.powerInW;points.push(point);});return points;},sortSamplesByTimestampAscending_(samples){return samples.toArray().sort(function(smpl1,smpl2){return smpl1.start-smpl2.start;});}});'use strict';Polymer({is:'tr-ui-a-power-sample-summary-table',ready(){this.$.table.tableColumns=[{title:'Min power',width:'100px',value(row){return tr.b.Unit.byName.powerInWatts.format(row.min);}},{title:'Max power',width:'100px',value(row){return tr.b.Unit.byName.powerInWatts.format(row.max);}},{title:'Time-weighted average',width:'100px',value(row){return tr.b.Unit.byName.powerInWatts.format(row.timeWeightedAverageInW);}},{title:'Energy consumed',width:'100px',value(row){return tr.b.Unit.byName.energyInJoules.format(row.energyConsumedInJ);}},{title:'Sample count',width:'100%',value(row){return row.sampleCount;}}];this.samples=new tr.model.EventSet();},get samples(){return this.samples_;},set samples(samples){if(samples===this.samples)return;this.samples_=(samples===undefined)?new tr.model.EventSet():samples;this.updateContents_();},updateContents_(){if(this.samples.length===0){this.$.table.tableRows=[];}else{this.$.table.tableRows=[{min:this.getMin(),max:this.getMax(),timeWeightedAverageInW:this.getTimeWeightedAverageInW(),energyConsumedInJ:this.getEnergyConsumedInJ(),sampleCount:this.samples.length}];} 9034this.$.table.rebuild();},getMin(){return Math.min.apply(null,this.samples.map(function(sample){return sample.powerInW;}));},getMax(){return Math.max.apply(null,this.samples.map(function(sample){return sample.powerInW;}));},getTimeWeightedAverageInW(){const energyConsumedInJ=this.getEnergyConsumedInJ();if(energyConsumedInJ==='N/A')return'N/A';const durationInS=tr.b.convertUnit(this.samples.bounds.duration,tr.b.UnitPrefixScale.METRIC.MILLI,tr.b.UnitPrefixScale.METRIC.NONE);return energyConsumedInJ/durationInS;},getEnergyConsumedInJ(){if(this.samples.length<2)return'N/A';const bounds=this.samples.bounds;const series=tr.b.getFirstElement(this.samples).series;return series.getEnergyConsumedInJ(bounds.min,bounds.max);}});'use strict';Polymer({is:'tr-ui-a-multi-power-sample-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],ready(){this.currentSelection_=undefined;},get selection(){return this.currentSelection_;},set selection(selection){this.currentSelection_=selection;this.updateContents_();},updateContents_(){const samples=this.selection;const vSyncTimestamps=(!samples?[]:tr.b.getFirstElement(samples).series.device.vSyncTimestamps);this.$.summaryTable.samples=samples;this.$.chart.setData(this.selection,vSyncTimestamps);}});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-multi-power-sample-sub-view',tr.model.PowerSample,{multi:true,title:'Power Samples',});'use strict';(function(){const MultiDimensionalViewBuilder=tr.b.MultiDimensionalViewBuilder;Polymer({is:'tr-ui-a-multi-sample-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],created(){this.viewOption_=undefined;this.selection_=undefined;},ready(){const viewSelector=tr.ui.b.createSelector(this,'viewOption','tracing.ui.analysis.multi_sample_sub_view',MultiDimensionalViewBuilder.ViewType.TOP_DOWN_TREE_VIEW,[{label:'Top-down (Tree)',value:MultiDimensionalViewBuilder.ViewType.TOP_DOWN_TREE_VIEW},{label:'Top-down (Heavy)',value:MultiDimensionalViewBuilder.ViewType.TOP_DOWN_HEAVY_VIEW},{label:'Bottom-up (Heavy)',value:MultiDimensionalViewBuilder.ViewType.BOTTOM_UP_HEAVY_VIEW}]);Polymer.dom(this.$.control).appendChild(viewSelector);this.$.table.selectionMode=tr.ui.b.TableFormat.SelectionMode.ROW;},get selection(){return this.selection_;},set selection(selection){this.selection_=selection;this.updateContents_();},get viewOption(){return this.viewOption_;},set viewOption(viewOption){this.viewOption_=viewOption;this.updateContents_();},createSamplingSummary_(selection,viewOption){const builder=new MultiDimensionalViewBuilder(1,1);const samples=selection.filter(event=>event instanceof tr.model.Sample);samples.forEach(function(sample){builder.addPath([sample.userFriendlyStack.reverse()],[1],MultiDimensionalViewBuilder.ValueKind.SELF);});return builder.buildView(viewOption);},processSampleRows_(rows){for(const row of rows){let title=row.title[0];let results=/(.*) (Deoptimized reason: .*)/.exec(title);if(results!==null){row.deoptReason=results[2];title=results[1];} 9035results=/(.*) url: (.*)/.exec(title);if(results!==null){row.functionName=results[1];row.url=results[2];if(row.functionName===''){row.functionName='(anonymous function)';} 9036if(row.url===''){row.url='unknown';}}else{row.functionName=title;row.url='unknown';} 9037this.processSampleRows_(row.subRows);}},updateContents_(){if(this.selection===undefined){this.$.table.tableColumns=[];this.$.table.tableRows=[];this.$.table.rebuild();return;} 9038const samplingData=this.createSamplingSummary_(this.selection,this.viewOption);const total=samplingData.values[0].total;const columns=[this.createPercentColumn_('Total',total),this.createSamplesColumn_('Total'),this.createPercentColumn_('Self',total),this.createSamplesColumn_('Self'),{title:'Function Name',value(row){if(row.deoptReason!==undefined){const spanEl=tr.ui.b.createSpan({italic:true,color:'#F44336',tooltip:row.deoptReason});spanEl.innerText=row.functionName;return spanEl;} 9039return row.functionName;},width:'150px',cmp:(a,b)=>a.functionName.localeCompare(b.functionName),showExpandButtons:true},{title:'Location',value(row){return row.url;},width:'250px',cmp:(a,b)=>a.url.localeCompare(b.url),}];this.processSampleRows_(samplingData.subRows);this.$.table.tableColumns=columns;this.$.table.sortColumnIndex=1;this.$.table.sortDescending=true;this.$.table.tableRows=samplingData.subRows;this.$.table.rebuild();},createPercentColumn_(title,samplingDataTotal){const field=title.toLowerCase();return{title:title+' percent',value(row){return tr.v.ui.createScalarSpan(row.values[0][field]/samplingDataTotal,{customContextRange:tr.b.math.Range.PERCENT_RANGE,unit:tr.b.Unit.byName.normalizedPercentage,context:{minimumFractionDigits:2,maximumFractionDigits:2},});},width:'60px',cmp:(a,b)=>a.values[0][field]-b.values[0][field]};},createSamplesColumn_(title){const field=title.toLowerCase();return{title:title+' samples',value(row){return tr.v.ui.createScalarSpan(row.values[0][field],{unit:tr.b.Unit.byName.unitlessNumber,context:{maximumFractionDigits:0},});},width:'60px',cmp:(a,b)=>a.values[0][field]-b.values[0][field]};}});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-multi-sample-sub-view',tr.model.Sample,{multi:true,title:'Samples',});})();'use strict';Polymer({is:'tr-ui-a-multi-thread-slice-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],created(){this.selection_=undefined;},get selection(){return this.selection_;},set selection(selection){this.selection_=selection;if(tr.isExported('tr.ui.e.chrome.cc.RasterTaskSelection')){if(tr.ui.e.chrome.cc.RasterTaskSelection.supports(selection)){const ltvSelection=new tr.ui.e.chrome.cc.RasterTaskSelection(selection);const ltv=new tr.ui.e.chrome.cc.LayerTreeHostImplSnapshotView();ltv.objectSnapshot=ltvSelection.containingSnapshot;ltv.selection=ltvSelection;ltv.extraHighlightsByLayerId=ltvSelection.extraHighlightsByLayerId;Polymer.dom(this.$.content).textContent='';Polymer.dom(this.$.content).appendChild(ltv);this.requiresTallView_=true;return;}} 9040Polymer.dom(this.$.content).textContent='';const mesv=document.createElement('tr-ui-a-multi-event-sub-view');mesv.selection=selection;Polymer.dom(this.$.content).appendChild(mesv);const relatedEvents=document.createElement('tr-ui-a-related-events');relatedEvents.setRelatedEvents(selection);if(relatedEvents.hasRelatedEvents()){Polymer.dom(this.$.content).appendChild(relatedEvents);}},get requiresTallView(){if(this.$.content.children.length===0)return false;const childTagName=this.$.content.children[0].tagName;if(childTagName==='TR-UI-A-MULTI-EVENT-SUB-VIEW'){return false;} 9041return true;}});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-multi-thread-slice-sub-view',tr.model.ThreadSlice,{multi:true,title:'Slices',});'use strict';Polymer({is:'tr-ui-a-multi-thread-time-slice-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],ready(){this.$.content.eventsHaveSubRows=false;},get selection(){return this.$.content.selection;},set selection(selection){this.$.content.setSelectionWithoutErrorChecks(selection);}});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-multi-thread-time-slice-sub-view',tr.model.ThreadTimeSlice,{multi:true,title:'Thread Timeslices',});'use strict';Polymer({is:'tr-ui-a-user-expectation-related-samples-table',ready(){this.samples_=[];this.$.table.tableColumns=[{title:'Event(s)',value(row){const typeEl=document.createElement('span');typeEl.innerText=row.type;if(row.tooltip){typeEl.title=row.tooltip;} 9042return typeEl;},width:'150px'},{title:'Link',width:'100%',value(row){const linkEl=document.createElement('tr-ui-a-analysis-link');if(row.name){linkEl.setSelectionAndContent(row.selection,row.name);}else{linkEl.selection=row.selection;} 9043return linkEl;}}];},hasRelatedSamples(){return(this.samples_&&this.samples_.length>0);},set selection(eventSet){this.samples_=[];const samples=new tr.model.EventSet;eventSet.forEach(function(ue){samples.addEventSet(ue.associatedSamples);}.bind(this));if(samples.length>0){this.samples_.push({type:'Overlapping samples',tooltip:'All samples overlapping the selected user expectation(s).',selection:samples});} 9044this.updateContents_();},updateContents_(){const table=this.$.table;if(this.samples_&&this.samples_.length>0){table.tableRows=this.samples_.slice();}else{table.tableRows=[];} 9045table.rebuild();}});'use strict';Polymer({is:'tr-ui-a-multi-interaction-record-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],created(){this.currentSelection_=undefined;},set selection(selection){this.currentSelection_=selection;this.$.realView.setSelectionWithoutErrorChecks(selection);this.currentSelection_=selection;this.$.relatedSamples.selection=selection;if(this.$.relatedSamples.hasRelatedSamples()){this.$.events.style.display='';}else{this.$.events.style.display='none';}},get selection(){return this.currentSelection_;},get relatedEventsToHighlight(){if(!this.currentSelection_)return undefined;const selection=new tr.model.EventSet();this.currentSelection_.forEach(function(ir){ir.associatedEvents.forEach(function(event){selection.push(event);});});return selection;}});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-single-user-expectation-sub-view',tr.model.um.UserExpectation,{multi:true,title:'User Expectations',});'use strict';Polymer({is:'tr-ui-a-single-async-slice-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],get selection(){return this.$.content.selection;},set selection(selection){if(selection.length!==1){throw new Error('Only supports single slices');} 9046this.$.content.setSelectionWithoutErrorChecks(selection);this.$.relatedEvents.setRelatedEvents(selection);if(this.$.relatedEvents.hasRelatedEvents()){this.$.relatedEvents.style.display='';}else{this.$.relatedEvents.style.display='none';}},getEventRows_(event){const rows=this.__proto__.__proto__.getEventRows_(event);rows.splice(0,0,{name:'ID',value:event.id});return rows;},get relatedEventsToHighlight(){if(!this.currentSelection_)return undefined;return tr.b.getOnlyElement(this.currentSelection_).associatedEvents;}});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-single-async-slice-sub-view',tr.model.AsyncSlice,{multi:false,title:'Async Slice',});'use strict';Polymer({is:'tr-ui-a-single-cpu-slice-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],created(){this.currentSelection_=undefined;},get selection(){return this.currentSelection_;},set selection(selection){const cpuSlice=tr.b.getOnlyElement(selection);if(!(cpuSlice instanceof tr.model.CpuSlice)){throw new Error('Only supports thread time slices');} 9047this.currentSelection_=selection;const thread=cpuSlice.threadThatWasRunning;const root=Polymer.dom(this.root);if(thread){Polymer.dom(root.querySelector('#process-name')).textContent=thread.parent.userFriendlyName;Polymer.dom(root.querySelector('#thread-name')).textContent=thread.userFriendlyName;}else{root.querySelector('#process-name').parentElement.style.display='none';Polymer.dom(root.querySelector('#thread-name')).textContent=cpuSlice.title;} 9048root.querySelector('#start').setValueAndUnit(cpuSlice.start,tr.b.Unit.byName.timeStampInMs);root.querySelector('#duration').setValueAndUnit(cpuSlice.duration,tr.b.Unit.byName.timeDurationInMs);const runningThreadEl=root.querySelector('#running-thread');const timeSlice=cpuSlice.getAssociatedTimeslice();if(!timeSlice){runningThreadEl.parentElement.style.display='none';}else{const threadLink=document.createElement('tr-ui-a-analysis-link');threadLink.selection=new tr.model.EventSet(timeSlice);Polymer.dom(threadLink).textContent='Click to select';runningThreadEl.parentElement.style.display='';Polymer.dom(runningThreadEl).textContent='';Polymer.dom(runningThreadEl).appendChild(threadLink);} 9049root.querySelector('#args').object=cpuSlice.args;}});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-single-cpu-slice-sub-view',tr.model.CpuSlice,{multi:false,title:'CPU Slice',});'use strict';function createAnalysisLinkTo(event){const linkEl=document.createElement('tr-ui-a-analysis-link');linkEl.setSelectionAndContent(new tr.model.EventSet(event),event.userFriendlyName);return linkEl;} 9050Polymer({is:'tr-ui-a-single-flow-event-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],listeners:{'singleEventSubView.customize-rows':'onCustomizeRows_'},set selection(selection){this.currentSelection_=selection;this.$.singleEventSubView.setSelectionWithoutErrorChecks(selection);},get selection(){return this.currentSelection_;},onCustomizeRows_(e){const event=tr.b.getOnlyElement(this.currentSelection_);const rows=e.rows;rows.unshift({name:'ID',value:event.id});rows.push({name:'From',value:createAnalysisLinkTo(event.startSlice)});rows.push({name:'To',value:createAnalysisLinkTo(event.endSlice)});}});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-single-flow-event-sub-view',tr.model.FlowEvent,{multi:false,title:'Flow Event',});'use strict';Polymer({is:'tr-ui-a-single-frame-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],ready(){this.currentSelection_=undefined;},get selection(){return this.currentSelection_;},set selection(selection){this.currentSelection_=selection;this.$.asv.selection=tr.b.getOnlyElement(selection).associatedAlerts;},get relatedEventsToHighlight(){if(!this.currentSelection_)return undefined;return tr.b.getOnlyElement(this.currentSelection_).associatedEvents;}});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-single-frame-sub-view',tr.model.Frame,{multi:false,title:'Frame',});'use strict';Polymer({is:'tr-ui-a-single-instant-event-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],created(){this.currentSelection_=undefined;},set selection(selection){Polymer.dom(this.$.content).textContent='';const realView=document.createElement('tr-ui-a-single-event-sub-view');realView.setSelectionWithoutErrorChecks(selection);Polymer.dom(this.$.content).appendChild(realView);this.currentSelection_=selection;},get selection(){return this.currentSelection_;}});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-single-instant-event-sub-view',tr.model.InstantEvent,{multi:false,title:'Instant Event',});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-multi-instant-event-sub-view',tr.model.InstantEvent,{multi:true,title:'Instant Events',});'use strict';tr.exportTo('tr.ui.analysis',function(){const ObjectInstanceView=tr.ui.b.define('object-instance-view');ObjectInstanceView.prototype={__proto__:HTMLDivElement.prototype,decorate(){this.objectInstance_=undefined;},get requiresTallView(){return true;},set modelEvent(obj){this.objectInstance=obj;},get modelEvent(){return this.objectInstance;},get objectInstance(){return this.objectInstance_;},set objectInstance(i){this.objectInstance_=i;this.updateContents();},updateContents(){throw new Error('Not implemented');}};const options=new tr.b.ExtensionRegistryOptions(tr.b.TYPE_BASED_REGISTRY_MODE);options.mandatoryBaseClass=ObjectInstanceView;options.defaultMetadata={showInTrackView:true};tr.b.decorateExtensionRegistry(ObjectInstanceView,options);return{ObjectInstanceView,};});'use strict';Polymer({is:'tr-ui-a-single-object-instance-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],created(){this.currentSelection_=undefined;},get requiresTallView(){if(this.$.content.children.length===0){return false;} 9051if(this.$.content.children[0]instanceof 9052tr.ui.analysis.ObjectInstanceView){return this.$.content.children[0].requiresTallView;}},get selection(){return this.currentSelection_;},set selection(selection){const instance=tr.b.getOnlyElement(selection);if(!(instance instanceof tr.model.ObjectInstance)){throw new Error('Only supports object instances');} 9053Polymer.dom(this.$.content).textContent='';this.currentSelection_=selection;const typeInfo=tr.ui.analysis.ObjectInstanceView.getTypeInfo(instance.category,instance.typeName);if(typeInfo){const customView=new typeInfo.constructor();Polymer.dom(this.$.content).appendChild(customView);customView.modelEvent=instance;}else{this.appendGenericAnalysis_(instance);}},appendGenericAnalysis_(instance){let html='';html+='<div class="title">'+ 9054instance.typeName+' '+ 9055instance.id+'</div>\n';html+='<table>';html+='<tr>';html+='<tr><td>creationTs:</td><td>'+ 9056instance.creationTs+'</td></tr>\n';if(instance.deletionTs!==Number.MAX_VALUE){html+='<tr><td>deletionTs:</td><td>'+ 9057instance.deletionTs+'</td></tr>\n';}else{html+='<tr><td>deletionTs:</td><td>not deleted</td></tr>\n';} 9058html+='<tr><td>snapshots:</td><td id="snapshots"></td></tr>\n';html+='</table>';Polymer.dom(this.$.content).innerHTML=html;const snapshotsEl=Polymer.dom(this.$.content).querySelector('#snapshots');instance.snapshots.forEach(function(snapshot){const snapshotLink=document.createElement('tr-ui-a-analysis-link');snapshotLink.selection=new tr.model.EventSet(snapshot);Polymer.dom(snapshotsEl).appendChild(snapshotLink);});}});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-single-object-instance-sub-view',tr.model.ObjectInstance,{multi:false,title:'Object Instance',});'use strict';Polymer({is:'tr-ui-a-single-object-snapshot-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],created(){this.currentSelection_=undefined;},get requiresTallView(){if(this.children.length===0){return false;} 9059if(this.children[0]instanceof tr.ui.analysis.ObjectSnapshotView){return this.children[0].requiresTallView;}},get selection(){return this.currentSelection_;},set selection(selection){const snapshot=tr.b.getOnlyElement(selection);if(!(snapshot instanceof tr.model.ObjectSnapshot)){throw new Error('Only supports object instances');} 9060Polymer.dom(this).textContent='';this.currentSelection_=selection;const typeInfo=tr.ui.analysis.ObjectSnapshotView.getTypeInfo(snapshot.objectInstance.category,snapshot.objectInstance.typeName);if(typeInfo){const customView=new typeInfo.constructor();Polymer.dom(this).appendChild(customView);customView.modelEvent=snapshot;}else{this.appendGenericAnalysis_(snapshot);}},appendGenericAnalysis_(snapshot){const instance=snapshot.objectInstance;Polymer.dom(this).textContent='';const titleEl=document.createElement('div');Polymer.dom(titleEl).classList.add('title');Polymer.dom(titleEl).appendChild(document.createTextNode('Snapshot of '));Polymer.dom(this).appendChild(titleEl);const instanceLinkEl=document.createElement('tr-ui-a-analysis-link');instanceLinkEl.selection=new tr.model.EventSet(instance);Polymer.dom(titleEl).appendChild(instanceLinkEl);Polymer.dom(titleEl).appendChild(document.createTextNode(' @ '));Polymer.dom(titleEl).appendChild(tr.v.ui.createScalarSpan(snapshot.ts,{unit:tr.b.Unit.byName.timeStampInMs,ownerDocument:this.ownerDocument,inline:true,}));const tableEl=document.createElement('table');Polymer.dom(this).appendChild(tableEl);const rowEl=document.createElement('tr');Polymer.dom(tableEl).appendChild(rowEl);const labelEl=document.createElement('td');Polymer.dom(labelEl).textContent='args:';Polymer.dom(rowEl).appendChild(labelEl);const argsEl=document.createElement('td');argsEl.id='args';Polymer.dom(rowEl).appendChild(argsEl);const objectViewEl=document.createElement('tr-ui-a-generic-object-view');objectViewEl.object=snapshot.args;Polymer.dom(argsEl).appendChild(objectViewEl);}});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-single-object-snapshot-sub-view',tr.model.ObjectSnapshot,{multi:false,title:'Object Snapshot',});'use strict';Polymer({is:'tr-ui-a-power-sample-table',ready(){this.$.table.tableColumns=[{title:'Time',width:'100px',value(row){return tr.v.ui.createScalarSpan(row.start,{unit:tr.b.Unit.byName.timeStampInMs});}},{title:'Power',width:'100%',value(row){return tr.v.ui.createScalarSpan(row.powerInW,{unit:tr.b.Unit.byName.powerInWatts});}}];this.sample=undefined;},get sample(){return this.sample_;},set sample(sample){this.sample_=sample;this.updateContents_();},updateContents_(){if(this.sample===undefined){this.$.table.tableRows=[];}else{this.$.table.tableRows=[this.sample];} 9061this.$.table.rebuild();}});'use strict';Polymer({is:'tr-ui-a-single-power-sample-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],ready(){this.currentSelection_=undefined;},get selection(){return this.currentSelection_;},set selection(selection){this.currentSelection_=selection;this.updateContents_();},updateContents_(){if(this.selection.length!==1){throw new Error('Cannot pass multiple samples to sample table.');} 9062this.$.samplesTable.sample=tr.b.getOnlyElement(this.selection);}});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-single-power-sample-sub-view',tr.model.PowerSample,{multi:false,title:'Power Sample',});'use strict';Polymer({is:'tr-ui-a-single-sample-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],created(){this.currentSelection_=undefined;},ready(){this.$.content.tableColumns=[{title:'',value:row=>row.title,width:'100px'},{title:'',value:row=>row.value,width:'100%'}];this.$.content.showHeader=false;},get selection(){return this.currentSelection_;},set selection(selection){this.currentSelection_=selection;if(this.currentSelection_===undefined){this.$.content.tableRows=[];return;} 9063const sample=tr.b.getOnlyElement(this.currentSelection_);const table=this.$.content;const rows=[];rows.push({title:'Title',value:sample.title});rows.push({title:'Sample time',value:tr.v.ui.createScalarSpan(sample.start,{unit:tr.b.Unit.byName.timeStampInMs,ownerDocument:this.ownerDocument})});const callStackTableEl=document.createElement('tr-ui-b-table');callStackTableEl.tableRows=sample.getNodesAsArray().reverse();callStackTableEl.tableColumns=[{title:'function name',value:row=>row.functionName||'(anonymous function)'},{title:'location',value:row=>row.url}];callStackTableEl.rebuild();rows.push({title:'Call stack',value:callStackTableEl});table.tableRows=rows;table.rebuild();}});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-single-sample-sub-view',tr.model.Sample,{multi:false,title:'Sample',});'use strict';Polymer({is:'tr-ui-a-single-thread-slice-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],get selection(){return this.$.content.selection;},set selection(selection){this.$.content.selection=selection;this.$.relatedEvents.setRelatedEvents(selection);if(this.$.relatedEvents.hasRelatedEvents()){this.$.relatedEvents.style.display='';}else{this.$.relatedEvents.style.display='none';}}});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-single-thread-slice-sub-view',tr.model.ThreadSlice,{multi:false,title:'Slice',});'use strict';Polymer({is:'tr-ui-a-single-thread-time-slice-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],created(){this.currentSelection_=undefined;},get selection(){return this.currentSelection_;},set selection(selection){const timeSlice=tr.b.getOnlyElement(selection);if(!(timeSlice instanceof tr.model.ThreadTimeSlice)){throw new Error('Only supports thread time slices');} 9064this.currentSelection_=selection;const thread=timeSlice.thread;const root=Polymer.dom(this.root);Polymer.dom(root.querySelector('#state')).textContent=timeSlice.title;const stateColor=tr.b.ColorScheme.colorsAsStrings[timeSlice.colorId];root.querySelector('#state').style.backgroundColor=stateColor;Polymer.dom(root.querySelector('#process-name')).textContent=thread.parent.userFriendlyName;Polymer.dom(root.querySelector('#thread-name')).textContent=thread.userFriendlyName;root.querySelector('#start').setValueAndUnit(timeSlice.start,tr.b.Unit.byName.timeStampInMs);root.querySelector('#duration').setValueAndUnit(timeSlice.duration,tr.b.Unit.byName.timeDurationInMs);const onCpuEl=root.querySelector('#on-cpu');Polymer.dom(onCpuEl).textContent='';const runningInsteadEl=root.querySelector('#running-instead');if(timeSlice.cpuOnWhichThreadWasRunning){Polymer.dom(runningInsteadEl.parentElement).removeChild(runningInsteadEl);const cpuLink=document.createElement('tr-ui-a-analysis-link');cpuLink.selection=new tr.model.EventSet(timeSlice.getAssociatedCpuSlice());Polymer.dom(cpuLink).textContent=timeSlice.cpuOnWhichThreadWasRunning.userFriendlyName;Polymer.dom(onCpuEl).appendChild(cpuLink);}else{Polymer.dom(onCpuEl.parentElement).removeChild(onCpuEl);const cpuSliceThatTookCpu=timeSlice.getCpuSliceThatTookCpu();if(cpuSliceThatTookCpu){const cpuLink=document.createElement('tr-ui-a-analysis-link');cpuLink.selection=new tr.model.EventSet(cpuSliceThatTookCpu);if(cpuSliceThatTookCpu.thread){Polymer.dom(cpuLink).textContent=cpuSliceThatTookCpu.thread.userFriendlyName;}else{Polymer.dom(cpuLink).textContent=cpuSliceThatTookCpu.title;} 9065Polymer.dom(runningInsteadEl).appendChild(cpuLink);}else{Polymer.dom(runningInsteadEl.parentElement).removeChild(runningInsteadEl);}} 9066const argsEl=root.querySelector('#args');if(Object.keys(timeSlice.args).length>0){const argsView=document.createElement('tr-ui-a-generic-object-view');argsView.object=timeSlice.args;argsEl.parentElement.style.display='';Polymer.dom(argsEl).textContent='';Polymer.dom(argsEl).appendChild(argsView);}else{argsEl.parentElement.style.display='none';}}});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-single-thread-time-slice-sub-view',tr.model.ThreadTimeSlice,{multi:false,title:'Thread Timeslice',});'use strict';Polymer({is:'tr-ui-a-single-user-expectation-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],created(){this.currentSelection_=undefined;},get selection(){return this.currentSelection_;},set selection(selection){this.$.realView.addEventListener('customize-rows',this.onCustomizeRows_.bind(this));this.currentSelection_=selection;this.$.realView.setSelectionWithoutErrorChecks(selection);this.$.relatedSamples.selection=selection;if(this.$.relatedSamples.hasRelatedSamples()){this.$.events.style.display='';}else{this.$.events.style.display='none';}},get relatedEventsToHighlight(){if(!this.currentSelection_)return undefined;return tr.b.getOnlyElement(this.currentSelection_).associatedEvents;},onCustomizeRows_(event){const ue=tr.b.getOnlyElement(this.selection);if(ue.rawCpuMs){event.rows.push({name:'Total CPU',value:tr.v.ui.createScalarSpan(ue.totalCpuMs,{unit:tr.b.Unit.byName.timeDurationInMs})});}}});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-single-user-expectation-sub-view',tr.model.um.UserExpectation,{multi:false,title:'User Expectation',});'use strict';(function(){const EventRegistry=tr.model.EventRegistry;function getTabStripLabel(numEvents){if(numEvents===0){return'Nothing selected. Tap stuff.';}else if(numEvents===1){return'1 item selected.';} 9067return numEvents+' items selected.';} 9068function createSubView(subViewTypeInfo,selection){let tagName;if(selection.length===1){tagName=subViewTypeInfo.singleTagName;}else{tagName=subViewTypeInfo.multiTagName;} 9069if(tagName===undefined){throw new Error('No view registered for '+ 9070subViewTypeInfo.eventConstructor.name);} 9071const subView=document.createElement(tagName);let title;if(selection.length===1){title=subViewTypeInfo.singleTitle;}else{title=subViewTypeInfo.multiTitle;} 9072title+=' ('+selection.length+')';subView.tabLabel=title;subView.selection=selection;return subView;} 9073Polymer({is:'tr-ui-a-analysis-view',ready(){this.brushingStateController_=undefined;this.lastSelection_=undefined;this.tabView_=document.createElement('tr-ui-b-tab-view');this.tabView_.addEventListener('selected-tab-change',this.onSelectedSubViewChanged_.bind(this));Polymer.dom(this).appendChild(this.tabView_);},set tallMode(value){Polymer.dom(this).classList.toggle('tall-mode',value);},get tallMode(){return Polymer.dom(this).classList.contains('tall-mode');},get tabView(){return this.tabView_;},get brushingStateController(){return this.brushingStateController_;},set brushingStateController(brushingStateController){if(this.brushingStateController_){this.brushingStateController_.removeEventListener('change',this.onSelectionChanged_.bind(this));} 9074this.brushingStateController_=brushingStateController;if(this.brushingStateController){this.brushingStateController_.addEventListener('change',this.onSelectionChanged_.bind(this));} 9075this.onSelectionChanged_();},get selection(){return this.brushingStateController_.selection;},onSelectionChanged_(e){if(this.lastSelection_&&this.selection.equals(this.lastSelection_)){return;} 9076this.lastSelection_=this.selection;this.tallMode=false;this.tabView_.label=getTabStripLabel(this.selection.length);const eventsByBaseTypeName=this.selection.getEventsOrganizedByBaseType(true);const ASV=tr.ui.analysis.AnalysisSubView;const eventsByTagName=ASV.getEventsOrganizedByTypeInfo(this.selection);const newSubViews=[];eventsByTagName.forEach(function(events,typeInfo){newSubViews.push(createSubView(typeInfo,events));});this.tabView_.resetSubViews(newSubViews);},onSelectedSubViewChanged_(){const selectedSubView=this.tabView_.selectedSubView;if(!selectedSubView){this.tallMode=false;this.maybeChangeRelatedEvents_(undefined);return;} 9077this.tallMode=selectedSubView.requiresTallView;this.maybeChangeRelatedEvents_(selectedSubView.relatedEventsToHighlight);},maybeChangeRelatedEvents_(events){if(this.brushingStateController){this.brushingStateController.changeAnalysisViewRelatedEvents(events);}}});})();'use strict';Polymer({is:'tr-ui-b-dropdown',ready(){this.$.outer.tabIndex=0;},get iconElement(){return this.$.icon;},onOuterKeyDown_(e){if(e.keyCode===' '.charCodeAt(0)){this.toggle_();e.preventDefault();e.stopPropagation();}},onOuterClick_(e){const or=this.$.outer.getBoundingClientRect();let inside=true;inside&=e.clientX>=or.left;inside&=e.clientX<or.right;inside&=e.clientY>=or.top;inside&=e.clientY<or.bottom;if(!inside)return;e.preventDefault();this.toggle_();},toggle_(){if(!this.isOpen){this.show();}else{this.close();}},show(){if(this.isOpen)return;Polymer.dom(this.$.outer).classList.add('open');const ddr=this.$.outer.getBoundingClientRect();const rW=Math.max(ddr.width,150);this.$.dialog.style.minWidth=rW+'px';this.$.dialog.showModal();const ddw=this.$.outer.getBoundingClientRect().width;const w=this.$.dialog.getBoundingClientRect().width;this.$.dialog.style.top=ddr.bottom-1+'px';this.$.dialog.style.left=ddr.left+'px';},onDialogClick_(e){if(!this.isOpen)return;if(e.srcElement!==this.$.dialog)return;e.preventDefault();this.close();},onDialogCancel_(e){e.preventDefault();this.close();},close(){if(!this.isOpen)return;this.$.dialog.close();Polymer.dom(this.$.outer).classList.remove('open');this.$.outer.focus();},get isOpen(){return this.$.dialog.hasAttribute('open');}});'use strict';tr.exportTo('tr.ui.b',function(){const FaviconsByHue={blue:'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAALgAAAC4CAYAAABQMybHAAAlrklEQVR4Ae2dCXwdVb3H5265yc3SpEk3ukEXCqVUBLT4Wm19oFKtaN0fKijy9CMguPBarIJsIiA8qsjTh7SllAoFeVBaEARkLV1ooXtL0yRdkqZp9u3uy/v/5uY/OZm75y659+acdnLOnP385zv/+58zZ2YMinTplIAhzsoDceaT2RKUQLwHIMFqh0V2ll0kn4XA6byv9/Vw834kX19e7keRQCzhRyk6bJJYRvD1YTXuhRdeqDj77LPPtNls400mU7HRaCzFFggEVJ/iSqhsicFgKIXUKL6bvB6fz9fj9/u7Kb4bPjaK67Xb7Q0HDhw49IUvfKEd2XUb7WpxHIYvXRgJ8AELkzRso1gmKrwkBfjG7373u5Zly5ZNKS8vn2G1Ws80m83YphPI0wnQUemQFp0IzQR9tdfrxXbI5XId6ujo+PCuu+6qXbNmjYfa9NMmngDoBmt+hIe944M53AUhwqwCvXTp0qJrr732opKSkk8XFhZ+imC+gIAryAZB0QnlJuB3OJ3Ot3p6el5/6KGHttxzzz0O6pse+GEP+3AGnKE2EhgG0tAFt99++4WkoT9tsVgW0DaH4guzAeg4+uD0eDxbaXuDNPzrt9xyy3bS8G4qB8BF6OOoKr+yDDfAB0B91VVXFf72t7+9lLT05QUFBZfQoYWtnA+ux+12v0ra/W+/+tWvXlq5cqWTBjUsYR8OgDPU8KGtjR9++OHHx4wZ8+2ioqKv0X4lbfnsWh0Ox9+bmprWzpgxYxsNFBpd1Op5bcbkM+AMtgr11q1bTz/zzDP/gy4Qv02zGtPzmehIY6MZmmq6UF176NChJ+bMmXOkD3QR9khFczY+HwEXwTbV1NTMI229FCYIXSTm43gTho8uUgMwYUir3zN16tR3qAIfbXkJej4dcIxF1dbkm44ePfqZqqqqpTT7MZf2pYsgAZqN2dTS0nLP5MmTX6EsDDrDHqFU7kTnA+Aa2BMmTDBv2bLliyNHjlxCZsgFuXMYhr6nZL7saGtru/eiiy7aUF9f76UeAfKcBz2XAUffVbgJbAuB/Y3KysoldONl5tDjkrs9oBtL+1tbWwH6UwS6/mZSzg0sVwHXTJG9e/deOGXKlOWksS/MOelncYdJo2+vra396axZs7ZTN0XTJYt7Hdq1XANc1dg0DNOqVatGLl68+DZa/3E1XTwCeOn6JLCly6ncU9+mNLnBZRLOYPAHHI5H2l5/8TdHbl3SRjUx6DkztZgrgKOfDLf5xIkT36moqLiLzJG0rAFJAomsKDp1W51S74IZnSIX8DcrXV3LlK/Oe5xqZPsckGc96LkAOPpowrZ79+5ZNK31BzkzQtKI4qxvV0dJTSLJ592kHKu7QfnPxXupFmhzbFkNeTb/tGsae/bs2Va6wr/lrLPO2izhTgLQZIuaaMp1yvTNyvNbb1HomFB1ZtrAUNYqymztGMNt2rhx44T58+evohs1n0r2+AyX8mnT4KIAvZ63lA82f1/55TX1FJ21tnk2As4zJObq6urP0BTgCmlri2TFDmcEcHQDtnlz4w+Uyz+Hm0Rsm2PuPGtcNpkomtZesGBBYXNz8210d+05CXfWsBLaEQNd5I+e8JyyYettCh0zyoBrpawyWbJFg2twv/jiixPnzZu3mhZFzQ2VqIyJRwIZ0+BiZzyeTcqebVcqS350nKKzxmTJBsDRB3WWZN++fXPpps060tpVouxkODEJDAng6GIg0KI0Hv+mcsXnN9FeVsyyDLWJwnCbadXfomnTpm2UcCcGc1blNhiqlNMmblT+9soi6hdmWKC4hlSJDiXgaBsCsNDKvysnTpz4JIWLaJMupyVgKFLGjHtSefrNK2kYFtpwjIeMs6FqWIOb7kr+Yty4cX+m2+0446XLBwkESHuPrPqz8uymX9BwhhTyoQBchZseQiigdcj30grAO+SDCPlAtW4MeLikdMQdyvqt9yp0rCl1SDR5pgFX4V64cGERvdhmRWlp6XU6scjdfJNAcfF1ysqNK5Q5C2F+ZhzyTF4AqHCPGjXKSjdwHqUHfr+ab8cyW8YzZLMo0QTgcj2jfO/S7ynNzS7KxtOI0UqkJC1TGlyFm3pccPDgwfsk3Ck5drlVidX6VWXFxvvAAG0Z0+SZAJzhtjQ2Ni6ld5D8KLeOjOxtyiRgK/6R8uy7S6m+jF14phtwmEBow3L8+PGr6FnJm1MmLFlRbkqgtOxm5am3rgITtIGNtJrJ6QQcHcdPkYUuKL9MsybLKSydlICijKxcrjz+0pdJFKzJ0wZ5ugBnuM27du2aT7ffV9JUIGCXTkqAJEAsjJ2wQlm1fj7tpPWOZzoAB9yo1/zSSy/NoLdJraMwFsdLJyUgSqBQGX/GOuX+FTMoEpCDmZRr8nQBbqIHgovnzp27mtaWlImjkmEpAU0CYGPmR1crF19cTHH4hU854KmuECcMOmo9derUAyNGjLiawtJlWAJZOQ8eTQb27keUyz7xM8qS8jnyVGpwNk0s+/fv/4qEO9oRlWkDJGArvVpZ89JXKC7lMyupApzhNm/YsGH6GWec8eCAAcgdKYFYEhhz2oPK3X+ZTtlSao+nEnDzxWRL0eNmj0q7O9bRlOkhEoA9ft6cR5WPq/Y4IE+J+ZyKSjS7m56jvK+srEzeqQw5epmNyDkbXBRPT8//Kl++6EaKSok9nqwG10yTHTt2fJpWB0q4xYMlw4lLoJhu5z/y3KepYEpMlWQBV7U3mSXFNN99H71YPfEByRJSAqIEwND4yfcpFyzgqcOkGE2mMGtvy2OPPXY9vZjnTLGfMiwlMGgJWCxnKktv/QmVT3pWZbCAM9zmxx9//IzRo0fj0STppARSJ4HykTcqN//3GVRhUqZKMoCrC6no6Zy7yTSxpW5ksiYpAZKA0WhTPj73dxRKakHWYABn7W3Zs2cPvjH5eXlApATSIoGi4i8oK56/tA9ysAr2EnKDARxlzJdddlkJ3dC5N6HWZGYpgUQlMH7SvbRWpYSKsamSUA2JAs7a2/ynP/3pOvrc9eSEWpOZpQQSlYDZPFn54a/xcDoDnpAWTxRw5DfRJ7DL6HUPP060rzK/lMCgJFA+8sfKZd/CqlRc9yXEbCKZWXtbli1b9gN6EX3loDorC0kJJCoBk6lS+ebVP6BiCU8bJgI48ppxU2fs2LHXJNpHmV9KICkJVFZdo3zsY7j5w6ZKXNXFCzhrb/PDDz/8HbK9x8ZVu8wkJZAqCZjNY5Wf3vkdqo4Bj8sWjxdw5DPRt3KKTjvtNNxhkk5KIPMSqBz1E2Xq7ITekBUP4Ky9LevWrfsGae9JmR+ZbFFKgCRgLpik3HL3NygUty0eD+Cq9h4/fnwBbTdIQUsJDKkERo+9QSkr47ubMfmNlQHaG5v56aef/ndaUDVtSAcnG5cSMFumKXc/fDGYpI35jCiXeADH3KOZ7lp+Sy6HjShHmZApCWA57dgJ3wKTtIFNQB7RxQIc6abLL7+cniEesTBiLTJBSiCTEiguWah8/isjqEkAHpXhaIk4M5BuXrp06ZfoOUtcvUonJTD0EjCaipSvff9L1JGYU4bRAEeaCjh9P+fr0jwZ+uMqe9AnAZgpo0Z/nfYY8IgcR0qA9sZmeuCBBybZbLZ/66taelIC2SEBKzF5zTJMWbMdDl5DXDTAVe29aNGib5D2jpQvpEIZISWQEQkYicm5C0QtnjDg6uwJPY72tYx0WDYiJZCoBMorGXDW4iE1hNPMOBMQb1qzZs0MmvueHlJKRmS1BCZYYZoOA2exTFd+dT/eTsuzKSFaPJwkNMDPO++8+fLiMvdA+Z8JJcqPN+9RGnocoZ0PBELjFF2cbjdYIEykvq4wWehd4APb05dBari4gaWCe/p8AT+uFOdT4j7aoJTB7oAGowFurqqqmicBV5QPmgLKX3b7lVbHANmRLLPVVSjnGT6hzFRa44dHHEqIHhQThXC8+YQiqQ66K9rnvakoD1O9DPiAJvSAo8vYjMXFxWZ6U9VFA3IP052fv+5VGntzBW4+SCYl4KtQ/L3tpCBJ0+WpC/hKLgKrvb29DDj41Q4WIvUOcaZHH310lslkGqlPHI77uQd38CgZTBbSVBVKXk+CGYwjS758/ywwS1sIz/oI1uCmmTNnflKaJ7l/OmuQG3migQ9xnvg0W2gaN/2TfYDzoLQDFw5wVYOT/T1XAq7JKacDKuS2csVg1B/unB6W2nkwaiiumEs7rMEBueZEG5zpN9Gt+QKyv+douWQg5yXAkPvtHYO78MxiCZisJXNsVRML7C3HndRN5li1w/WnNPaNDz744Ll0ZpRm8Zhk1wYhAYacjPJBlM7eIgHFUFryxZvPpR6q/Io9DavBJ0yYcJY0T0Qx5U84CDnNrtjb82dQZHqZysefRQPaRltEDc4JRlr7PS1/Ri9HopeAwWRWjLYKQiF/NLnBWgpmocGZY3XYoomCBOybaPXgNKnBVfnk7R8V8qLyvIAcrBoLiqaCXdoYcvXYMeB8KmPfSIBPUVPln7yWQD/kjEEOD7fABsBVfvtGoTIdYoOPHDnSXFhYODmHhyq7noAEgpCPUPyOTiql3QBMoIbsyGo0F04uInYdbW3RTZRbb711AnXZmh3dlr3IhAQYcpooz0RzaWmDTk1r0YLrwS4GwRaJuoMGmXrjOeecI5fHQiLDzKmQF9ILXFXIGYfc8q2jZ4JdBlyFnE9ZHolx1KhR8gJzmMHNw9Ugz8U7nrijWToyZCZFtMEBu7GoqGgiD1j6w08CKuTWUsXv6s65O56GApVdlWM+cnoNbqB3D+JzEdINYwkw5DlnkxvNYJetEdVEETU4Ioy0RLZEzoEPY7r7hh6EvIQ0eQ/FZP/sCpilPgNwKG0VbgyFdzTqCXC8ZFw6KQEAoxgLS3NoPbkR7GosIyxqcBxSgwQcYpCOJWDAOnIrKUbS5AH9M5GcKUt8OiEZcK1HbIMjQiVfAq7JRgb6JADIDQR5tpuuAaMGuGaisAbXIiTgkutwEujX5L2UnJ02uSEIOHdfZVpqcBaH9GNKIKjJQ6yAmOUylYHsa+6cprBZg3MfpA3OkpB+WAkENXmxEnDbs2+e3KABrvU9RINTih56LbMMSAlAAqomL7BRQFOU2SGYgMouOqV1jGHWIrxer50+8iofV8uOQ5a1vVA1OUEecOPtWdlhkxsUH/2saE5lmufBtVifz4erCOmkBGJKIKjJ8V0ETT/GLJPODAG/X8+uOg+O0087BaHB09kJWXd+SSCoyYuUgIceaB/qeXL/AA2uci3a4JB8QGrw/AIwE6NRNbmlcMht8oBftT40ZY2xsw2OsJogAYcopEtUAqomt5Am9w6dJg8ENPNagzysBs/2W7KJCl/mz4wE8OYsg3loNLnKbNAG1+DGqFmDI1LdpA2eGRjytRX19XAEecDr6kMqcyM1BNTrR41ltCxqcAYc6yOlkxIYtASCmhyP9WZ2doVmUXhtL1hWHWtw3lccDkcb1H22L6zROiwDWSmBoCa39mnyDHSRmPV7nG36lliDs1r3t7e31+kzyX0pgcFIQNPkGbrj6be3gV287Z95Vk0U7MCpkdXV1bXyIjMoEPk3eQmokJsKglOIAD1tm6J4Wo7UMsd9PQ+wBse+CvgzzzwjAe+TjvRSIwGGnB4qS02F4WohE8W58zk94CGzKP6XX3652+VyNdN6lFHh6pFxUgKDkQAgDygWxeDzDKZ47DJeV3PvvtfpVQChJgoKs80C+8Xf09NzRJopEIt0qZQAIFfou0GpXoUIVv0uxxHqq8ov+cxzyDShmsFut9elcmCyLikBloAKuZEm71Jsi/vdKrMi4GqTbIMz8cjgw0yK1OB8SKSfagkMgDwVlZMGDzg6oJR9tIFh5lmzwdEMR/pPnjxZiwjppATSJQHVJg/QRaffm3wT9Gvg624GswPgRsXhNLh//fr1u2nRFYCXTkogbRJQbybCXEl2diXgCzh2bthNFQHwAZAz4BgEgEaijz4C29zZ2VkjzRSIRbp0SiAIOT7MgCnExDeyThS/s7uma+vaZqpANFHUbusBZ8i9ra2tWyXgqozknzRLQIMcF56JOiLc19O6lYrB1hmgvVGVCDj2VQ1Ovq+mpmaLBBwikS4TElAhx7vJE55dIWhb6rZQH6G9WYNrXRYBh/ZmDe5buXLlVj85LacMSAmkWQIa5Im0Q4x2bXkUGpzhZo7VWsIBrp4JGzZsaCc7/KDU4olIW+ZNVgL9kMe2x4P2d+dB+86X8NFP1uARAUffWIPDnvHSdOE2CTjEIl0mJRCEPA57nAj3dzXj468qr+SzDa51V9TgiGTAcTZ4yQ7fLAHXZCUDGZSABnlUm5wgba3dDFZpE00Uraf6Bx5YveNM8C5fvnzbJZdc4iwuLqYH7Yavq+ytURq70rRIKIvEGlmZAYswDjZCRBchLUJ0ULeGqYzaQL8AfEj/PA5nz8u/Zw3O2ntAC+EAR0bVnnn33Xe7Gxsb35gyZcqlxhR9mGj/oU7liWfrlPZOd5jRZGfUbK9bmUnPGIYIeEB3B8i1PyUKBHTo+vPFEYrcfpR6orYfR6NZmiUQ8Cs9XU1vbDiyEysI2f5myLVe6wFHAqSlanDyPTt37nz+9NNPTxngv/3DHqW5lV4tkGPO67ErPi+9pgw/mYAGfjyO8zJo+vL6dH2dmc6vb1/fP31/9Pn1+7HK69P15fXt9eUP+LxKR/OB5yk7flrFOfABNehtcCSKgHuvu+66t2n5bGtk7TGgvpg7uQg3BmW22BSTGa8pIwehx+s4L3wxzOXFOM4j+sjHecSwmEcMi3nEsJhHDIt5ENY75IXjMhxWI+P4E6u8Pp3bYV/fHsWDRb/f1Vq3b9XblBzxAhNFowEOte+hlYWO+vr6f6QKcDSaq06F3FQYdeUEow9fDGfLmMU+ieFI/RPziOFU5Y9UT/T4gOJ2tP/D7e7Bmz+hwcNeYKKOcIAjHiaKZqa8+uqr6+l9KYgf9g6QG/sgxwHXbxAQgyCG9fmGal/skxiO1B8xjxhOVf5I9USLV8j+7mjd/Rz1RzRPwGuIiwQ4zBScFaDas3Tp0r0dHR2HpRYPyo8hD+7Jv5mUABj0eeyHjx58Yh+1y4CDVTAb4qIBzpCjEjfNiW+Qd+775dcPeTRdI9NCf+OSlQl98M3RvAFM0sbmCVhNCHAcSah8TYuvXr16PT2MjAql65OAapPjXXzRnP4iCnk5Llw5ToMvhsPlzYU4cQxiOFLfxTxiuC+/3+/xNB9/cz3tito7rHmCIpE0ONJwRrAd7l61alXjkSNHXpBaHKLpd5hZMfELJ3FA9Buy8oESw/p8vC/mEcOcnmu+OAYxHGkcYh4xTPlx38DtaHnhZP3rjZQEDR5xehBF4eIFXDVT1q5d+whp8YhnS7DK4fdXhdyEd/FJl04J+ANef3PDpkeoDTZPkgIcfR2gxe+7776aY8eO/VNq8dDD2A95sjamLE8/eSTggRsuLj2Otn821D5fQ4lxaW8cpWgaHOnQ1pqZQmHXU0899VePxxPWoEeB4ewYchwadhzmw4V4jhPDnJ6oL9YhhuOtRywjhuMtr88n1iGGOZ8YJ4Y5PZKv+H2BthOb/0pl8F5mEfCoFkUswNEHVICLTdVMufPOOw+QFn9TanGIJtTBHjeSucIHCjkQZsfhSOmcL14/2fqSLa/vZ6z6YqXr68M+1p24nK1vHq3++wHaZfMETEaFG2XjARzaWgOcwq4XX3zxYdLiKC9dGAkw5Pqf2czso0OMkRhGXG5u9N5vpb3p/YdpAKy9AR+YjGlJxAs4a3GcPa4lS5bsOnHixGapxUkaEVwQcnqrasYdw80wowMcl/HOJN0gtLfb1bH5yMHHd1FlDDhr75QAjk6yFsdVKyB3bty48UE5owLRRHYa5JgSY8dhniZDPMeJYU5P1BfrEMOR6hHzIBzLcV8j1aePR31cRgxzPjFODPel+xWvv6N5x4OUhCWoYA8MxqW9KV9cJgryAXBocQbcdeONN+6kd4k/J9eoQDyRnQq5se+Fk3yg2UcxDvcdULUmjotcbeQULhtvffr8XC6Sj5a5TORe9KdwXq5PXz5KOn0WUHH2nnyudt/qnVSMtXfMqcH+xuMHHGVYi6sXm2jwpptuWk4PJrfLNSqiSEPDGuShSTImggTUNSdee/uxA2uXUxaGO27bm6uNxwbnvKzF8fOABp2vvfZa89atW/8oLzhZRJF9zVyJnEWmCBKgb14qPZ01f2xv3o03VsE8AXNx295cVSKAo4yoxVXIFy9e/Aw91rZLXnCySCP7Jpo+NNLnPMQvHXAYfjz/UDuXEcNcVowTw5yeal9sQwxHakfMI4bF/HhiyuPq2LV/293PUB6GO2HtjfoHA7g4o4LGnWvWrLnL6XT6pKkCkUZ3gNxAL4HnA4rcCMfrOG+k8rHS420n3nyJthcrPxgK+D2+5oa37qI+qHyRj4vLhLU3xpAo4CjDgOOMUrX4HXfcse/AgQPr6I20SJcuhgQYcvVijS++pN938RpQHD0n1h378Cms99Zrb7CXkBsM4GiAIVenDGnfccMNNzzU0tLSKE2V+OSvmiuYXZFOkwDmvD2e7saa/X99iCLxOBoAF7W3ljfewGABZ1ucpw2d7733XusTTzxxE33+xCNNlfjED3vcqELON2WGr0+WCS03cXtaTmy6qbutppUkyHAnNO+tl/xgAUc9DLmmxWnacAeB/hDdANK3I/cjSCAIebi3d0QokKfRZHcrvZ01D9XtW72DhqjX3mBtUC5ZwGGqaFqcws5LL7109dGjR9+WN4DiPx7DHXLc0HE5Wt7es/m21WCob4PiTOimTjiJJwM46gPg2PiCE2ee/Wc/+9lvyB5vkvY4SSNO12+uxFkgT7LB7vZ6uptq9678DQ3JThsYggkAppgvCg7OJQs4WkUnMH2CMw6dc9ANoJNPPvnkL8ke90p7nCQSpzPS9CFscryHbzhsEEvA7/a2NLzzy46WXSdpV+WH/KQuLFEvu1QAzrY4mypqJ+lVE9u3bdv2Z9jjEnIWd2wfkBsM+W+T9813093K6j/X7l+9nSQjwp3UhaUo5VQAjvoY8gGmysKFC1fSgqxX3G6ckNLFKwEVcu3rY/k5swK729Hb9Mqed29fSXLRmyawCAZ9YSnKOVWAo06GHDTjQgGdti9atOjXdNH5noScpJGAU00VI74+ln+OXv2gOJ0t7x3cduevaXQqJ+TztGDK4IbkUg24aI+rkNNXIrquuOKKG+kBiYNyURZEHr/LR8j99OFXt6v94KH377/R4WjtImkAcBFuMJQS7Q1Jp0NFoHNiBw0Eube2tnbT/PnzFzz3UtMIA76mJV1cEjAYcIhInLgTkuMOZonH3XW8dvdff9zZur+JhtNLGwMO8zal2hviSgfgqBduAOhki7u6u7u3NHWO+yxNidkk5EEhxfM3CHmfSHN0zQq98Fjxunta6w+v+9GphneO0Wj0cKdUc7Nc0wW4qG608AcffNBrMlvfLx0x5XMGo7lAQs6HIbbfLytNnLELZUkOrO2mF2b2nDz64rX1hzccpG7p4YbmBuApd+kCHB3lI8G+2vnOlr0dBYVV+4tKxl1MswWW/gOX8rHlXYUsq+C8ChaeZv8/vOqYvo5hb2l48+d1+9fiNrwId8rmuyMd7HQCLrYJyDXQ20/tOGUxF+6wlU1aYDQWFPGBEwvIcHgJ9MtKE2f4jFkQq9rcnu72xrp//OTIgccx181wY8477XBDBJkGXAO9o2VPm+JzbioZMXWewVRQ2n/g0C3poklgoKyyc57cTxeUXnfHCVrXfU1D7fr9NJ4e2gA4w530OpNoMuK0TAGO9ljlaJB3tVd3u1yNb5ZVzPy40Wyt7L+Y4u5JP5IE+iFnsUbKmfl4zHN7nG3VdXtWXNvU8GYd9QBgZxxujDyTgKM9OAZc9e1dDY6ejoOvl1fNnm0yFY1TaApR/QhoMK/8G0UCGuQGEmUWKHK83jhA89z0gvoPDu1cfn1b864T1H29WZIRzc1iyzTgA+CmTqj7Lkeru6156xsVoy+cQk+fn44DJyHnQxTd1yBXRRk9bzpTsSrQ7/MoLvvJN/a/d9uSno5jLdQew40bOVghmFG4Md5MA4424UJA97rtvub6f71VPupcq9lSNttgNBLj8oZQUFzR/w6UU+ZVOeD2eV2B3u7ax/a9e/PvXI7OTuqxCDcuKDMON6Q2VICjbYacJ/jpHYte/8mjr35gtVUdLCwaPYfmyunDlFKbQ1ixXBByiDRzTl0RGPBiPXd7S8Pbyw68d+/TdAz5YlK8QzkkcEMSQwk42mfI4Wugt53c3uB0nHyttHz6THo4dywOnjRZIK7ojiHPxOw4lg4EYJI4mnfW7V95ff3h9bupd9DarLlhkohTgZk9+/pElS2AA27eVOjt3fW9p4699kr5qFkmc0HZR6TJ0nfEYngDzZUYmQeZrN6ZhEnSeXj1nk2/vr2nsw5vn4LGZrj1i6cG2VLyxYYacIyAz2zW4hro9HPnO3nstZ2FhZX7Cm1j5tCDAEWkyqU2j3HctV+7FJvjWE+CWRKvt6utpeGtX+7f/vv/6zNJGG7McfPFZNpuv8cY/oDkbAAcHRIhF0FXw21N2084HfWv2UonjaHPhEwJaikJ+oAjqdvRINfFD2ZXfSILF5I+Fz2kUP/akT0rlhyv2bCX6mKNDcD1N3CgqIbc4RzPJof+YOoEJx7eioNPl+FDlHSxqdgQnj77h5+oGPeJXxQUlE3Cg7qZ+EmmdnPWYYYjGRec/nMrbnfnsbaT2+6v2f3wZqoPJghDzVOAvNwVDbLCSqbplJTNNsAxKP5hBeR4OBGfSQDkDHpRYWFFyYzzf/Gd4oqpV5JGt+IZxlRqLGorr1zwmdjEmOMZEp/X4erpqFld/f4Djzud7ZghgabGBrDZ1sYsCa/lTqwhKphOly0min6MLCT42KAV2Kbzeb1Ob9Pxf+32utteLSqZOJ4++jRJmi16Efbv95/8rDsi++pzFX3mCM1kvXPkw7X/Vbd31eskc3H6D9pbhBvHJ7mfiv7upjSUjRpcHCD6xyYLa3PW6DBbVM0+4/yffKq88iPXmq0jJuOdf/J2vyjC/nBQk/fviyHRzva6u462N+96qHrng29RHtbUrLUx9cc3bljpsEISq8yKcLYDzkIC5Aw6bHNAzva5CrnZbC6c/pHrLykbefYVZmv5NAk6iy66PwBsV8fhrrYDj1Xv+uOr9GYyBpt9ntcWbe2s1NriiHMFcPSZtTlAhzZn0AE4ww7fOuP86z45ovLcKyzWkecEL0RN0kYnwYguaGP78MJLetl8277O1j2Pffj+n96mPAAZG8BmHxobYPMdSYCdtVqb+qa5XAKcO40+49qBQYc2Z42uAk77qj919tUfqxh1wZXWosrz6cEKslxQbPhOLwZNFKz4I7D9broL2fp+e/OO1TW7H3mPBMNgi75ojgBqvpCkYG64XAQckkW/sYlmCzQ6Ty2KoBeccc53Z5eP/uiXrIWjFpjNRTaD+no0FM1/2DWo6cIRb3D1eh12l7P5jY5TH6yv27cGt9cBsQg1wtDWvIl2dk5obeq75nIVcB4AQ86gs+nCoLNmV7V8YcnY4ikzvr3ANuKMz1mLqi4k0E3q+7nVu6OoIn+cOv9NUyJ4+ACfBKG3t263d9a9XPvh2jecPSdxg4a1M4BmyBlqnvaD1s4ZcyTc0ct1wHlMetBhi7CNziYM+6qmrzrtwtHjJi/6rK1k/OfoiblpAJ1hz0XNzpoai6AANTafu/uwvafh5cajG//ZcmL7KZIJA8xwiz7SoK1ZY+c02DQO1eUL4OJ4grZH0E6HRmetDsAZetE3T5q6eHr5mPPmWQurzjcXls8i0K20VFcx4iWYeA9JFpoyA4CmJatYI0JQu7zOjr0uZ8v7HU073zlW82w1dR7aGPAC5nA+0llj8z2HnDNFaAxhXb4BzoMMUtlvo0Ojs1bXA69qdEqHby4sLLeOm7p4Vln5tAsshRXnFxSMOJseirbgAhXPjAZvmrDYgn7/jRRuPjV+EGLUxbzRBSKWqdJ7RnChGKBPftAt9AMeZ/v7XR2HdzTWPLvX6eyAycFQA2jeGHBOY23NGhuNcEMUzA/HRyo/RhM6ChF0aHbRVhe1O0POceybiovH28ZNW/SR4pJJ55oLiieZzLZJJottPFY2BoHHWnWAT1Wr0owkUn18JJYoHv9xUQiQNd/roJfnNPi89mNed++x3p5jexoPb9zV29uAu4qAlDUx+ww2fI6Dz0CL9nWkzlD23HZ6qef2aKL3HmNl84VBZ83OQEfyOR98lDWOnjB3dFnFOZOttjGTLIWlk81m20RaMlBpUEw2Ay2QoRPARg1SffQXF7F9vtpFaOEgxbSrhuhDAV57gBZ+BBSf3e9ztXq99uMeZ/dRl73pWFf7vqOn6jfBhmYoRe0rwhsuLOZlu5p9tTv5/Gc4Ac7HEWMWN4ZW9AE6Q83Q8z6fHKKvQq+r10DmjrmoZEKx1Ta6yGItK7aYy7AiUvF4u+weV1evy37K4eip7yWzAmBCi4obwwyfta7oI8xAM8TYF/NwWbHevNXWNPYQNxwBF4Uggo4wg8q+CL0IuAg350Ec18H1oi0xjH3RMXiI4zBrVwZcDyxDy1DzPudnn+tjX2x32IQhfOmCEmBZMJDwGXQxLMYBbqSxz5AjDg4+b7wPH9DBMXz6fUCKOEAs+gwv+0gTw9jHBsd+cG+Y/uUDMUyHH3XYLBsGNJIvQq3PgwbEesQGGUDRR1i/Mez6eHEf9WJfOp0EWPi6aLkbQQIsLwYZ2aLFiekRqhwAJkPK8KJMtLhIdcr4PgnwwZECSU4Cejnq91G7Po7BFVvWx+n3xbwyHIcE/h9VLWRYHWXC/QAAAABJRU5ErkJggg==',green:'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAALgAAAC4CAYAAABQMybHAAAltklEQVR4Ae2dCXQcxZnHR3NoNDp8SD7kU7bxFXCchBhMYoLNmhCcOBBykGw2gYTkPV6AhGXD2sTZJQcJG3jsgw3hscuCsTEsOAQW1sbY+MAHxpYtHzI+5EOy5UMStnWPZkZzab9/j75WTWt6NKO5Z6r82lVdXV1d9e/ffPq6uro7zyBDIhXIi7DyngjLyWJRKhDpCYiy2pwoztrpxSwCb+d1bayFm9f1Yu3+cj2MAgOJH2bXnNnEGiHWppW8d999d/inPvWp6YWFheNMJlOR0WgswdLT06PElFdM+xbn5eWVQDXK76TI7vP57H6/v5PyOxFjobwuh8Nx4dixYye+9rWvtaK4ZqFVNY/TiGUIoQCfsBCbcjaLNVHgJRUQG3/4wx9ali1bNmXYsGEzrFbrdLPZjGUagTyNAB2ZCLXoh3CJoD/p9XqxnOju7j7R1tZ2/LHHHqtbtWqVh47pp0X8AaAZbPmRzvnAJzPXhRBhVoBeunSp7b777ruuuLj4xoKCghsI5s8TcPnpIBT9oNwE/D6Xy7Xdbrd/8Oyzz+5+/PHHndQ2LfA5D3suA85QGwmMPLLQ+b///e/nkIW+0WKxLKBlLuUXpAPQEbTB5fF4KmnZShb+g0ceeaSKLLyb9gPgIvQRVJVdRXIN8CCo77777oI//vGPt5CV/n5+fv5NdGrhK2dDsLvd7k1k3f/n17/+9frly5e7qFM5CXsuAM5QI4a1Nh4/fvza0aNH/4PNZvs2rZfRks2h2el0/u2TTz55dcaMGXuoo7DoolXPajcmmwFnsBWoKysrJ02fPv3v6QLxH2hUY1o2E63XNxqhOUkXqq+eOHHitblz557pBV2EXW/XjM3PRsBFsE21tbXXk7VeCheELhKzsb9Rw0cXqT1wYciqP37FFVd8SBX4aMlK0LPphKMvirWm2FRfX//lESNGLKXRj3m0LoOOAjQas/Py5cuPV1RUbKQiDDrDrrNX5mRnA+Aq2OPHjzfv3r3766WlpUvIDfl85pyG1LeU3Jd9LS0tT1x33XVrzp8/76UWAfKMBz2TAUfbFbgJbAuBfUdZWdkSuvFyZepxydwW0I2lo83NzQD9rwS69mZSxnUsUwFXXZHDhw/PmTJlytNksedknPpp3GCy6FV1dXX/OGvWrCpqpui6pHGr+zct0wBXLDZ1w/TSSy+V3n777b+j+R8/pYtHAC9DrwIO9xHD5c5XDF5fS0ya0MWo3+nwvrBx47nfLLlvKypj0DNmaDFTAEc7GW5zQ0PDD4YPH/4YuSMJmQMSExVpsPPxhjsMHt/FuLWkp8dwqb3dt2zhnD2vUKXsnwPytAc9EwBHG01YDh06NIuGtf5DjoyQGmHC4XMLwmwd/Caft2fnmXr3A3d8Zf9hqgXWHEtaQ57Of9pViz179mwrXeE/MnPmzF0S7sEDGuueJnPevCuusO76sPq6R2bPHm2l+sy0gKG0NZTp2jCG27R27drx8+fPf4lu1NwQ6wnKlf0TZcFF/bwe//Z9uxw/vvfuj89Tftr65ukIOI+QmE+ePPllGgJ8UfraIloDp5MBOFoB37zxQvdPvr5gP24SsW+OsfO0CenkoqhWe8GCBQWXLl36Hd1de1vCnTas9GtIXp5h5LgJ1re3H7z2dwsWjMTUYlwrpZXLki4WXIV73bp1E66//vqVNClK3mLvh1RkGcmy4GJr3B7/zkOVXXfd86PD5yg/bVyWdAAcbVBGSY4cOTKPbtqsJqs9QhRPpqNTIBWAo4U0l+1yw1nXd29duH8nrabFKEuqXRSG20yz/hZPnTp1rYQ7OpjTqTRNUhwxtsK69t3tcxZTuzDCAsOVUiOaSsBxbAhgoZl/d02YMOF1SttokSGDFSCabeVj819/v3LOXdQNCy04xynjLFUHVuGmu5K/HDNmzHN0ux2/eBmyQoEe84gRluc2V13zS+pOSiFPBeAK3PQQQj7NQ36CZgA+Kh9EyAqqgzpBQ4h5w4aZH6URlidwrmljSix5sgFX4F60aJGNXmzzYklJyf1BqsiVrFOgqNh0/5ubJr24aFEp3M+kQ57MCwAF7pEjR1rpBs4KeuD3W1l3NtOkQ6kaRQnXfZfL/+Y3bqz7Ed3f6KZyPIwYbpe4bEuWBVfgphbn19TUPCnhjsu5y6hKCgqM33pr4+QnwQAtSbPkyQCc4bY0NjYupXeQ3JNRZ0Y2Nm4KFBab7tlSdc1SqjBpF56JBhwuEI5hOXfu3N30rOS/xk0tWVFGKjB0mPlfN1bOuRtM0AI2EuomJxJwNBx/iix0QfkNupJ+mtIySAUMpSPyn16z5fPfICnYkicM8kQBznCbq6ur59Pt9+U0FAjYZZAK4J6+aczE/BffWn/1fJIjoXc8EwE44Ea95vXr18+gt0mtpjQmx8sgFVAVIEgKJkzJX/2fq66aQZmAHMzE3ZInCnATPRBcNG/evJU0t2SI2iuZkAoIChiNeUM+O6d45cLbxxVRNv7Cxx3weFeIHwwaar148eJTQ4cO/SmlZUiyAuk4Dh5Ogs5O3wsLPrfnQSoT9zHyeFpw/FhQn+Xo0aPflHCHO6Vym6hASYnpp29v+dw3wQ4tYChuhjdegDPc5jVr1kybPHnyM2IHZFoqMJAC48Zbn/nzi1dNo3Jx9cfjCbh54cKFRfS42Qrpdw90OuV2rQLwx6/9QvGKhQsVfxyQx8WKx6MS/EgUv5vmGTw5ZMgQeadSe/aSvJ5pPrgoj73D91/zr97zEOXFxR+P1YKrrsm+fftupNmBEm7xbMl01AoUlRjvWb1u9o20Y1xclVgBV6w3uSVFNN79JL3LLuoOyR2kAqICYKhisu3JBQvG8tBhTIzGsjNbb8vLL7/8C3oxz3SxoTItFRisAhaLcfqyP435Oe0f86jKYAFnuM2vvPLK5FGjRuHRJBmkAnFToLTM8tCfnpk5mSqMyVWJBXBcWFro6Zw/0Z+Vwrj1TFYkFSAFwNQX5w/5N0rGNCFrMICz9bZ8/PHH+MbkV+UZkQokQoGiQtPX/rb+M7f0Qg5WwV5UYTCAYx/zrbfeWkw3dJ6I6miysFQgSgXGV9ieWHjrqGLajV2VqGqIFnC23ua//OUv99PnriuiOposLBWIUgGLJa9iya8q8HA6Ax6VFY8WcJQ30Sewh9DrHn4WZVtlcanAoBQYXmr62fe+NwGzUnHdFxWz0RRm621ZtmzZT+hF9GWDaq3cSSoQpQImU17ZnfeO+gntFvWwYTSAo6wZN3XKy8vvjbKNsrhUICYFykZa7r1mwUjc/GFXJaL6IgWcrbf5+eef/wH53uUR1S4LSQXipIDZklf+m99N/AFVx4BH5ItHCjjKmehbObaxY8fiDpMMUoGkK0BW/OezZxdH9YasSABn621ZvXr1HWS9Jya9Z/KAUgFSID8/b+KjT02/g5IR++KRAK5Y73HjxuXT8oBUWiqQSgVGlVseoCnZfHdzQH4HKgDrjcX8xhtv/B1NqJqays7JY0sFLPl5U59bVbEQTNLCfOoKEwngGHs0013L78npsLo6yg1JUgAMjhlb8D0wSQvYBOS6YSDAsd30/e9/n54hHrpItxa5QSqQRAWKh5gWffWbY4bSIQF4WIbDbcQvA9vNS5cuvY2es8TVqwxSgZQrYDQabHffU34bNWTAIcNwgGObAjh9P+c70j1J+XmVDehVACyOLs//Dq0y4Loc621g59301FNPTSwsLPyiVFcqkE4K2ArzvvjPv52GIWv2w0P64uEAV6z34sWL76BfjF65dOqzbEsOKQAm5/9diWjFowZcGT2hx9G+nUO6ya5mkAL0WBsDzla8X+tDWWa+uDStWrVqBo19T+u3l8xIawUsplFp3b54NY7mik/703/MxNtpeTSlnxWHk64NKuCf/exn58uLS6086b8+3Pqg4WDNHw0O5yf9Gkuf9+sX6N3twXmaVWwMkUWv+Q7eLVShHk1mv310Kg9Vrt/h/PStQoN/PlVxhBYYa7AbVCwc4PQxzxHXS8ANhkZ7jaGq8W8Gh6ed9MuM4C2ebrD7Jhp6CIJsDr481/UGw4nnqY8MeFB3tYDjF6BY8KKiIjO9qeq6oNI5urL+1L8bOt2XM673PrPf4OjwZDXk/p6e68BqV1cXAx5kxUP54MgzrVixYpbJZCrNuLOagAZnItyQwWQ2GgppXlKeEec8OwON75V+/YErZlHv2A8P6qieBTddeeWVX5LuSZBWGbnCkDs7PQa/PyO7EL7RZI5HTCj+EhXaTwt7IKpfprXgintCBU3kf8+TgIfXNlO2AnJbicVAt7izLoBR2xDLPOoYW/CgP1eiBWf6TXRrPp/877lZp0YOd4ghhyUPNUKRydJYbaa5IyYU5l8+53BRP5hjxYprf9NYNz7zzDOfpl9GSSZ3Wra9vwIMORm9rArUn5Kbfzzt09QphV+xcyEt+Pjx42dK90SUKXvSDDksedYEwnrYyIKZ1J89tOhacN5gpLnfU7Om87Ij/RRgyLPJiFlsZjALC84cK/1GBgdswLqJZg9OzabOcwdl3KcAIC8oNuMtrn2ZGZpCHyxW0xXU/H4Xmgw49xLrRgJ8Sob2VTY7CgVUyLNgnLwXcIXfXgkUpvv54KWlpeaCgoKKKHSSRTNYAQXyIrPB1eXVzOLIrE5ZrcaK0lKbuaXFCbDZYCsuCfcEmcbf/va34ym2cqaMs18BhjyTZ/3TmKB17ncngV1Y8X6AM/XGq65SPsaZ/WdV9jBIAUBuLSSfnPFgIjIoHj2pCFO7xR6oFpy7YRw5cqS8wAw69bmz0gc5cMiwQE0uKrH0G0kRfXDFQbfZbBMyrGuyuXFUQIGc3p/Q7fSRT65O6YjjERJXVX6hCewqHPNRsILAFjyP3j2Iz0XIkMMKBCA3ZdwQosloBLsqyziFogXHBiNNkS3OhrFRdE6GwSsAyPPJkrvJkmeCHVeYNeUBcPbBlc7ziko9AY6XjMsgFVDmkysXnqAjAwIN54NdlWWkRQuOLuRJwCGDDKyA0ZRnsNrM5JOn/zi5yZzHgHPz1VEUZCjkS8BVbWSiVwGGXCEkjVUxGlXA1b85bMHVDAl4Gp/BFDaNIXe7vGk7uEL+iOheK0zzKAqkkxY8hQBlwqEBeX4BJmilZ2uNRuX6UeGYW8gWnNelD85KyDikAgy5uzv9xslNRvUiU217PwtOW7TQq4VlQioABRTIrTQzNc1MeU9eD9gNacHVPzper9dBH3mVj6tJlsMqwJB7yJKnyzg5vTXAITRaYZrHwdV8n8/Xpa7IhFQgjAKAnOZhp83gSo/foGVXGQfHD1D9EcKCh+mT3CQVCFKAIfe6yZKrFAUVSdqK39cjsqtwLfrgaEiPtOBJOx9ZcyBAbs7H3JUUd8mnWPCgn5l4QalskICn+CRl6OEVyMld8brp9VkpMuU9fj+7KCrkIS14v9fpZqjostnJVYDuJJIlJ6RSYMrBrK9HAVyFG71nC45MZZE+eHKhyLajMeQ+jz/phtzvy4MPrrIMbUULzoDbs0102Z/kKgDITRZj0g253+8Huwy40mm24KoCTqezBeZezglXJZGJQSgAyA0EOSx5MgLcfp+7p0V7LLbgTL2/tbX1tLaQXJcKDEYBtuSD2Xcw+zg6u8EuflHMs+KiYAVByTx58mSdvMgMCCL/j12BpEFO9Laed9Yxx70t72ELjnUF8DfffFMC3quOjOKjAEOeyMEVfOyqevtFLeD9RlH8GzZs6Ozu7r5E81FGxqd7shapAI1mwCen5zz93sT45H5Pz6UTey52ktb9XBTor1jv3o1+u91+RropkEWGeCoAyI0EebyHV8Bqt8t7htoKuEMCjn4AcqWAw+E4jQwZpALxVkCBnG7tK5DDZ4nT4nb5wawIuNJ09sFFC+7DSIq04PE+tbI+VoAhj5dPjiHCbrsXgNNTGMEWXBwHVyFvamqq48bIWCqQCAUAeQ8ZcJoBGHP1+KF0NHvALCw4c6zUG8qC+995551DNOkq9iPH3HRZQTYrgJuJmKQVa6CvOffUfNhwiOoRXRSFXwYcx0AGCvjoI7CX2tvba6WbAllkSKQCsUKuXGB2eWsr37twidopuihKs7WAM+Te5ubmSgl4Ik+trJsVYMgHMz0E/ndXm6eS6qI3E+m7KHwsxYLTiq+2tna3BJxlkXGiFQDceDe5EiMd6UIPzLU0OneD2d4FDKtBz4L7li9fXkmzs4IKq3vJhFQgAQow5NFUTYT696w5DwsuuieK/416QgGu/BLWrFnTSn54jbTi0cgty8aqgAo5rj0HWHB7vtvhqTnyUVMrlWYLDrhDAo62YQOsNvwZLw0X7pGAkxIyJFWBgHsy8CHhf9tb3Pj4q8IrxWBXhRs1iBYc6ww4fg1e8sN3ScAhiwzJVoAhJ1dc/2YnNaq5oWsXRQBcdFHU5oo3epAJwBly79NPP73npptuchUVFRWoe+RgwnXRZmh3YBQqu4OuMQuyiX0a6GQHCuhs1D1GX7VBKVhp7APgtfvSS4dcm1bUsQVn6x105FCAo6Diz3z00UedjY2NW6dMmXKL0ag19kHtiHil9nyj4b2dVYaOLvEVFhHvnpKCXs9XDUa3m44dpF1QW7TiB23UWdHdR+cw8DlDBlCgE/S30A5h9tOpLubsaG/r6JWnJ+gNrtbmrRdO7sYMQva/GXK1nVrAsQGaoCDMvufgwYP/N2nSpLgB/sJb6w0tHWhTZgV3t4teidBNjYbkkEhPem2/uCyjpt1fu127f7LLa4+vbZ+2Pdry2vWB9tdu1+6vPV6gvN/vMzTUHv8/Ku2hBaz2gxs1hTLLqIEB995///07aPpss661QS1RhEyEG93LtxbQKxH4+7gQPdLAZRGLad5fzOMyYoxyXEZMi2XEtFhGTItlxLRYBmltQFkE3ofTSmYE/w20v3Y7H4dj7fECrorP42mu2rZhB23VvcDEnuEAh9n30MxC5/nz59+LF+A4aKaGAOT5wbxpO6M9X9jOedqyqVjntujxo21Tostrjxfheldnx3tuu91JxWHBQ15goqpQgCMfFpytuGfTpk3v0PtSkJ/zAZBbLL2QMyRiDIUYCjEtlkllWmyTmNZrk1hGTMervF49YfL99JbNpvrat6k5onsCXvsFPcDhpuBXofjhS5cuPdzW1nZKWvGAfhaGvJ+cMiPRCoBBj8t16tCOTUfoWAw4WAWz/UKoi0wUQmGGHJW4aUx8TVlZ2YP0DR9sz/kAyBG8HsgjQ7IUAOD2jvY1dDwMa0F8hjsk4HoWHO2FyVet+MqVK9+hh5Hl2YQyvQGQm/PJXQkXcKcCge9YcFrJDPFftOVDVJFWWdH2Z4Dy9PpjT92R/e9QH8EiPAwwGtI9oXxdHxzb8ItgP9z90ksvNZ45c+ZdOf8K0vQFC42sKJAzwNoYRfmkiWltOV4Xy4hp3p5psdgHMa3XD7GMmKbyALKrs/3dMx8faKQkLDgAB6MhrTflRww4fi3uV1999QWy4rq/FlSYi0GB3GLJxa4ntc9+r9d/5tjHL9BB2T2JCXA0PsiKP/nkk7Vnz559X1rx/ueVIQ9z8a+OJMsygYGmaHTAXVdnZ+f7x/bsqO0FfEC4cZbC+eDYDmutuimU7v7rX//63x6PR/dPAnbK1QDITcoQYq/fDSHwp5hjMR3I7b9d70+3Xj7XPdj6Yt1f266B6htou7a+3nW6c9lTf/Lwf9PuuJ0suidhPYqBAEdzUAEcecVN+cMf/nCMrPg2acUhTf9goYtOk5ncFT5RKII0B07rbedykcax1hfr/tp2DlTfQNu19dE6Rk4c9o5th3d+cIxW2T0Je3HJ1UQCOKy1Cjilu9etW/c8WXGuQ8YaBVTINflydXAK+H007+TUyedpb7begA9MDuhJRAo4W3H8erqXLFlS3dDQsEtacVJDJ0jIdYSJMhvW29nVuevAtvXVtCsDztY7LoCjSWzF4dgDctfatWufkSMqkEY/AHIzja5gLjMHTgcm9AfyOQ9lOM3bo43FOsS0Xj1iGaQHCtG2D/XxPmKa2yPmiWne3uP3+Zvqjj9D21y0gD0wGJH1pnIDXmSiDAIAD7rYfOihhw7Su8TflnNUFH10/zPTRafJbFZOMp9ojrETp/mEinm6lYbZEG192vLcDr042vZp69fuH247psR2tDS/XbVl/UHaj613RKMnLFEkLgqXZSuuXGzigA8//PDT9GByK/6MyKCvAEOuX0Ju0SoAprzd3a3VO9Y/TdsY7oh9b64vWsDZF8cBXZs3b75UWVn5Z3nByXLqxwHI5c0gfYWCt8B6Nzde+HPj6dN4VhDuCZiL2Pfm2qIBHPuIVlyB/Pbbb3+THmurlhecLKl+DH9cHULkYuyfI45kwX68j5jmfcU8Mc3b4x2LxxDTescRy4hpoTwezXN1dVVvfeuVN6kIwx219Ub1gwGcrbhysYkGrFq16jGXy+WTrgokDR8UyE00iZNPKIojHWngsnr7D7Q90uNEWi7a4w1QHgz5vF5f3ZEDj1ETADdfXEZtvdGFaAHHPgw4flGKFX/00UePHDt2bDW9kRbbZRhAAYYcWMslWAMDPcxgb768mm7qYL631nqDvajCYADHARhytuLOBx544NnLly83SlclMv0BuZFGV2ToU6CH4HY7nI37Nr/3LOXicTSt9e4rHGFqsICzL66Oi+/du7f5tddee5g+f+KRrkpk6pvplr4CObsbORwDKBpy9pyuqX74YkN9M60y3FGNe2uVHyzgqIchV604DRvuI9CfpRtA2uPIdR0FFMjlU1L0pQcvjZo0PHvggw37SCqt9QZrgwqxAg5XRbXilHbdcsstK+vr63fIG0CRnw+GPFf9cbpbaejqaNuxZfXylWCod+G7lmAsJYDjDOLgWPiCE788x4MPPvgb8sc/kf44qRFhCECeez45/O5up/OTqo3v/oakwuvOwBBcADDFfFFycCEWC85HRCMwfIJfHBrnpBtATa+//vqvyB/3Sn+cFIkw4Ja+URxCzHKfHGaZ/tJ76SmdX9FrIJpoVeGHYrDEw4KUHHyIB+BoJxrDrorSSHrVRNWePXuegz8uIY/8BCmQG7P/zQVgAn735aYLz+3fsq6KFBLhjunCUlQ7HoCjPoY8yFVZtGjRcpqQtdGtvLhSPKxMh1MgYMkBefZ65TRJ0NDZ1rpxy2vLl1NHta4JDCaYijnEC3A0hCHnURU02rF48eJ/oYvOvRLy6M6ViVwVoymepye64yeytI8sd1dH+94tb6z4FzDSu/CwYNzgRh/iqSAAF/1xNNhBX4nouPPOOx+iByRq5KQsSB55YMizyRXHiEm3vbNm99o3HnJ2dHSQGgBchBsMxcV6Q+lEOHtonNjAPILcW1dXt3P+/PkLPth/eGgePqclQ0QK4L3synvBs2BKMmYIuhz2c/s2rf1ZY33tJyRAFy0MONzbuFpvCJwIwFEvQhDo5It3d3Z27naYCm6mGXWFPNE9UFT+H04B/vhAgPHM9Mv9fvpglNPZfGjnpntOHzl0lvqrhTuulpv1TBTgogVX0wcOHOiix7j2Dx899is0HJYvIefTMHCc1/uFjUwckcL9EHphpv34gY/uq9nzUU0IuGG5AXjcQ6IAR0MZbI6VxjfV17UVlQw5OqR0xEKah2GRkEd+TlXIIW2GGHK86tjtcjnqjx74pwNb38dteNFyx228W0/FRAIuHhOQq6BfqD1+0WIp2Dds1KgFNCRmkz65KFX4tAp5Bvjk8LndDkfriQN7fn5g6waMdTPcGPNOONxQMtmAq6DTnasWn8e1s7R8wvVkyEv4xKFRMoRXQDUIiiGnz16n4b8eGud2d9kbqnd+cC+9bu0o9chOCwBnuHEzJyF+N9WrhmQBjgOyBVchv9xwobOro3XbqPGTrjVZLGV8MaW2TiZ0FQhATlKyqrolk78B49z0HsGT+zatua/uyMHT1AKAnXS40fNkAo7jITDgStx++aKz+cLZD8onTZ1NryEeA59c+uUBoQb6X4UcBdPAJ8dwJt5CRTMDD+xY88YvGs+caqCWad2SpFhu1i7ZgAfBTY1Q1umdz+7zp45uHXfFjCn0AstJeUYJOZ+ggWLVXUmxKcesQHqWkm6/t2zd+saKJW0Xmy5T2xlu3MjBDMGkwg3tkg04jonQD3S60vbVVh/cPmbyFGu+rXA2+eRkyGGWZBhIAdYpYMST75H30Bg3fcqlp62p4eWNry7/N3rVWju1WYQbF5RJhxu6pQpwHJsh5wsN+nit13+quupA4ZChNSVDh881mkw0wiKtOcQaKEAnCJrMoMwIpJESj6Orlaa8Ltv2v6++QeeQLybFO5QpgRtapBJwHJ8hR6yCfuFUzQX6U7d5RPn4K8kvL5cuC6QaOKiQJ8EfJ2/bgItJR3vbwb1b1v3iaOX2Q9RCWG223HBJxKHAZP/+FMHSBXDAzYsCPV18dp06eGBjecVkk7Ww6DPSZVHO14D/sbsyYMEYCuDOpNfj7mlpOL9yw6oXf996sQFvn4LFZri1k6diOFpsu6YacLSef9lsxVXQ6c+d79ShqoN05/NI0TByWYxwWWjAQPrmYc96nz7xNeWBhxRofNvpbDl7rPpX2/73f97qdUkYboxx88Vkwm6/h+28ZmM6AI4miZCLoCvp86eON9ibWzYPHVk+mlyWKXBZMC7WdyI1vZKrvdqwrLEJArAxSoJvgna0XNpctXntkqOVHx6mWtliA3DtDRwYqpQHkJJOAe3BXFr88PCmSist+OKqjZZCpK+55bYvVEy78pcFRcUT8eRL3zAZbZWhnwIAM5bAw3/dXfaz9SeO/vve99fsovrggjDUPATI011xwPj8smJpeO++6QY4mhUwzwHI8Zg5vrQKyBl0W0FJSfENt/39D0pHj73LYrVayXWR1pwE0guBGYjRMaeOkNBDtc1NDSs/XLP6FVdnJ0ZIYKmxAGz2tTFKwnO5ozsQ7ZjIkC4uiraPLBJiLLAK7NP5vG63t/bQvkMOR8emoWWjx9Fr0CZKt0UrYd96nyvHtkM/xhwudkfsra0fHtz6/j/v2/zuB6S5OPwH6y3CjfMT25+KvubGNZWOFlzsINrHLgtbc7bocFsUyz7vq9+6oXzK9PsKCgsraE6L4rb0nVSxutxOByx5aA3Yz/aRn+1yOOobT598dte6N7dTabbUbLUx9Mc3btjosEEKXXkKc9MdcJYGkDPo8M0BOfvnCuRms7lg7uJv31Q+ruJOa1HxVLzcEv65BJ0lDB0z2LiAJD/7VNOF+pcr1/5tE72uhMHmmMe1RV87La222NNMARxtZmsO0GHNGXQAzrAjtn5x0Te/VD556p0FxSVX4Y1RmIorQSdlhKCAjfFsL1lse+eRptOnXv7ovbd2UBGAjAVgcwyLDbD5jiTATlurTW1TQyYBzo1Gm3HtwKDDmrNFVwCndSW+5uavXzNu8oy7CocMuRpfVgi8hiF3hxcDLgpm/GFilMfg6OjYf+H08ZU0MrKXNGOwxVh0RwA1X0hSMjNCJgIOZdFuLKLbAovOQ4si6PlXz7959tipM28rKhm2wGzNL8TrGHLlopShxoQo3Fr3drsdXZ1tWxtO1byzf9v7uL0OiEWokYa15kX0szPCalPb1ZCpgHMHGHIGnV0XBp0tu2Lli4eNKPrc/C8vKC0v/0phybA5NI5uogldivuSbePpGAkB3JifjU+CODrbqlqamjYc2LZxq73tMm7QsHUG0Aw5Q83DfrDaGeOOMBRinOmAc1+0oPONInZfxFix9BOmXjVq+py5Nw8rG/kVmp47lV+XFvDVM8+NUS11H9R0S91xqq350oYTVZXvnzt15CKJxQAz3GKMbbDWbLEzGmwRDE5nQ8ygIwbksOhs1QE54NbG5qu+cMO0cZOmXW8bMvTqgsLiWQS7FW95hc+ersAHA+1XXmRJlrqbXqxz2NnRvv/CmZMfHtm1/ST1F9YY8ALmUDG2s8WGC5IVYFM/lJAtFpz7wzH6xbADdF4AuBZ4xaJTvrKtoLjYOuvaL80qGzPx8wVDSq622Yo/ZTSbLLhbqjwzqsxPp9JKCMiXqBGaAMQ4UMD1xU0Y8jsMmM2HJ9ZpLprH6bQfc3V07m9uPLvv8J4dh112O1wOhhpA88KA8za21myxldqpfFaFbAWcT5IIOvx00VcXrTtDznkcm4aWlRXOuGbeZ4aXjfm0xVYwMT/fOtFsLRhnwsMYyvCjUQG/76KVD62NtVIHoNWWUiAmoHFRCJAVX5pi+oKdk+zzBbe7+6zH6Trb2tz48fG9O6vbm5txVxGQsiXmmMFGzHmIGWjRvw7dGCqc6UGreqb3J1z70VcAzjFbddGVYbC1sVhW+aFUzPzMqNETJ1YUDyubaLUVVeRbrRNMFnOZyWguzAvAj9fToZ6AmwPLjxUKCk1EMltoir30OJOjhyD2+b0On8fb7O7uPtft7Kq3tzWf/eTs2fr6mmr40AylaH1FeEOlxbLsfnCstCeb/2PNs7mP2r6hz+ICeNmycwwwGWqGnde5jBgjjUWsN4/cHfPQ0lFF9PidzVpUWFRgK8KMSIPL2eXo7qLRuvZWZ3vLxS5yKwAmuwgcM8yI2eqKMdIMNEOMdbEM78t1ckzFciPkIuDimQ0CkjYwqByL8IuAY7u4jcujPqS5XkoGpbEuBhE4TrN1ZcC1wDK0DDWvc3mOuT6OxePmTDrXARdPNGvBcCLWgsvrDDEgRzmOOT9UXTgW5wM6BIZPuw5IkQeIxZjh5RjbxDTWsSBwHFjL0f9Z8BztfthuszaIwy0i1NpyOIBYj3hABlCMkdYuDLs2X1xHvViXQaMAi6/Jlqs6CrBeDDKKhcsTt+tUGQQmQ8rwYp9weXp1yvxeBfjkSEFiU0Cro3YdtWvzGFzxyNo87bpYVqYjUOD/AZrbm7Ts1rpFAAAAAElFTkSuQmCC',red:'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAALgAAAC4CAYAAABQMybHAAAk/0lEQVR4Ae2dCZxUxZ3Hq8/pnhkGmOEQuQS5VCTxWHEDBlyNkciakMMkxujGuOvHO24IKCae0UQlKwmyroocoqtozGpA4oFiVAQU5IaRcchwDsPczNF39/5/b+bfVL/p7ume6bur+DyqXt31r2//5//q1XvPIJRLpgQMMVYeiDGfyhanBGKdgDirzYvsLLtIPguB0/lc7+vh5vNIvr68Oo8ige6EH6Vo3iSxjODrw1rcm2++2f+MM84YV1hYONRkMhUZjcY+OAKBgOZTXDGVLTYYDH0gNYpvIa/V5/O1+v3+FopvgY+D4tra29uP7N27d98VV1zRiOy6g06DcRyGr1wYCfCEhUnK2yiWiQYvSQG+8ac//all3rx5o/v16ze+oKBgnNlsxjGWQB5LgA5MhrToh1BL0Fd4vV4c+1wu176mpqYvHnnkkf0rVqzwUJt+OuQfALrBmh/hvHc8mfkuCBlmDei5c+fab7nllguLi4svttlsXyeYzyPgrJkgKPpBuQn4LU6n88PW1tZ1ixYt2vjoo486qG964PMe9nwGnKE2EhgG0tDWBx988HzS0BdbLJbpdEymeFsmAB1DH5wej2cTHR+Qhl937733biYN76ZyAFyGPoaqcitLvgEeAvX1119ve/jhhy8nLX211Wq9lKYWtnIuuFa3272WtPv/3nPPPW8tWbLESYPKS9jzAXCGGj60tfGLL764YPDgwT+x2+3fp/MyOnLZ1Tscjj/X1NS8OH78+E9poNDoslbPaTMmlwFnsDWoN23adNq4ceN+TBeIP6FVjbG5THSksdEKTQVdqL64b9++lyZPnlzVCboMe6SiWRufi4DLYJsqKyunkraeCxOELhJzcbxxw0cXqQGYMKTVHz399NM/pgp8dOQk6Lk04RiLpq3JNx04cOAbAwYMmEurH1PoXLkIEqDVmPV1dXWPjhw58l3KwqAz7BFKZU90LgAeBHvYsGHmjRs3/mtpaekcMkPOy55pSH9PyXzZ0tDQ8NiFF1646vDhw17qESDPetCzGXD0XYObwLYQ2FeVlZXNoRsvZ6Yfl+ztAd1Y2lNfXw/QXyHQ9TeTsm5g2Qp40BTZtWvX+aNHj15AGvv8rJN+BneYNPrm/fv3/2LixImbqZuy6ZLBve7atWwDXNPYNAzT0qVLS2fNmvUA7f+4gS4eAbxynRIwHN8ozDseFQZHTW9l4m/3BBa/8nnDfT97vKqBKmPQs2ZpMVsARz8ZbvPRo0ev6d+//yNkjiRlD0hvqUh3ecsrpwtD2+GEdcMfELUNbWLewNniBaqU7XNAnvGgZwPg6KMJx44dOybSstYf1coISSOKsy4tiJLa8ySPX6wvrxN3TLpX7KJaoM1xZDTkmfynPaixJ02aVEBX+PdOmDBhg4K754D2tqTFKKacPVhsOPEnce+kSQK/IjMdYChjFWWmdozhNq1evXrYtGnTltKNmq/3doLypXyyNLgsP49XfPhOpfjZzCcEbKGMtc0zEXBeITFXVFR8g5YAn1O2toxW9+FUAI5ewDY/UC9+PvrXAjeJ2DbH2nnGuEwyUYJae/r06bba2toH6O7a6wrujGGlS0eMBjFw1ADxetMT4oHpZ2lbi3GtlFEmS6Zo8CDca9asGT516tTltClK3WLvglRsEanS4HJvXF6x/v0vxHXfWigOUXzGmCyZADj6oK2S7N69ewrdtFlJWnuALDwVjk8C6QAcPSSTpa6iTvxwwm/EejrNiFWWdJsoDLeZdv3NHDNmzGoFd3wwZ1JuMlkGjBsoVlf9TsykfmGFBYorrUo0nYCjbQjAQjv/rhs+fPjLFLbToVwWS4Boto/sL14++ri4joZhoQNznDbO0tVwEG66K/nLIUOGPEW32/GLVy43JGAeUiKeqvsv8UsaTlohTwfgGtz0EIKV9iE/RjsAH1IPIuQG1SGjCAhDWaF4qHmBeGzwYIG3EaRFk6cacA3uGTNm2OnFNs/16dPn1hChqJOck0CJTdxaeY94bsZkzfxMOeSpvADQ4B44cGAB3cBZRg/8fi/nZjNDBpSuVZRow3d4xGsjHxT/VlsrXJSPlxGjFUlIWqo0uAY39dhaXl4+X8GdkLnLqkrsFvE90uTzwQAdKdPkqQCc4bZUV1fPpXeQ3JhVM6M6mzAJ9LGJG+v/IOZShSm78Ew24DCB0Ibl0KFD19Ozkr9JmLRURVkpgdIi8Zvqx8X1YIIOsJFUMzmZgKPj+FNkoQvK79CqyQIKK6ckIE4pEQsqHxbfIVGwJk8a5MkCnOE2b9++fRrdfl9CS4GAXTklATwiYRpVJp7bfb+YRuJI6h3PZAAOuFGv+a233hpPb5NaSeHkPGJCFSuXnRIgSGwTBomVb/2nGE8jAORgJuGaPFmAm+iB4KIpU6Ysp70lJdk5BarXyZaA0ShKLh4tls+6QBRRW/gLn3DAE10hfjDoaMHx48ef6Nu37w0UVi7FEsjEdfBoImh2iMX97hR3Up6Er5EnUoPjx4L6LHv27PmugjvalKo0WQJ97eKGLx8U3wU7dIChhCneRAHOcJtXrVo1dtSoUQvlAaiwkkB3EqAngxauuk2MpXwJtccTCbj5kksuKaLHzZYpu7u76VTpegnAHr9svFh2yQTNHgfkCdHiiagEPxLN7qbnKOeXlJSoO5X62UvxebbZ4LJ4yB5/muzx2RSXEHu8txo8aJps2bLlYtodqOCWZ0uF45YA7T68cfu94mIqmBBTpbeAa9qbzJIiWu+eTy9Wj3tAqoCSgCwBIETr4/OnjwsuHfaK0d4UZu1tef7552+nF/OMkzuqwkoCPZWA1SzGvXS9uI3K93pVpaeAM9zmF154YdSgQYPwaJJySgIJk8DgvmL2C/8hRlGFvTJVegM4Liwt9HTO78k0KUzYyFRFSgIkATJVCq88S/yOgr3akNUTwFl7W3bu3IlvTH5LzYiSQDIk0KdAXEEbsi7vhBysgr24XE8ARxnzlVdeWUw3dB6LqzWVWUkgTgmMHSgeu3Ky9oFeNlXiqiFewFl7m5988slb6XPXI+NqTWVWEohTAhaTGPnMLIGH0xnwuLR4vIAjv4k+gV1Cr3u4Kc6+quxKAj2SwIA+4qbrpwjsSsV1X1zMxpOZtbdl3rx5P6cX0Zf1qLeqkJJAnBIwmUTZ/TPFz6lY3MuG8QCOvGbc1DnllFNujrOPKruSQK8kQG/Kuple0Yx942yqxFRfrICz9jY/88wz15DtfUpMtatMSgIJkoDZJE5Z9mNxDVXHgMdki8cKOPKZ6Fs59lNPPRV3mJRTEki5BIb0FbdNOj2+N2TFAjhrb8vKlSuvIu09IuUjUw0qCZAErBYx4i/XiasoGLMtHgvgmvYeOnSolY47lKSVBNIpgWH9xR0lJcG7m93y210GaG8c5ldfffVfaEPVmHQOTrWtJEAbsca8f7O4BEzSwXxGFEwsgGPt0Ux3LX+ktsNGlKNKSJEEsJ121CDxIzBJB9gE5BFdd4Aj3XT11VfTM8R9Z0SsRSUoCaRQAn0LxIyrvyb6UpMAPCrD0RLxy0C6ee7cud+m5yzV50VIGMqlXwL0/Kb9nsvEt6kn3S4ZRgMcaRrg9P2cHyjzJP0Tq3rQIQGYKSP6iR/QGQMekeNICdDeOExPPPHEiMLCwq91VK3+VxLIDAkUWcXXnrhaYMma7XDw2sVFA1zT3jNnzryKtHekfF0qVBFKAqmQABFpnDUxRIvHDbi2ekKPo30/FR1WbSgJxCuBwcVBwFmLd6kinGbGLwHxphUrVoynte+xXUqpiIyWQKBoWEb3L1GdozXxsS/9u/Z2Wl5N6aLFYaTrXRDwr371q9PUxaVePJl/3nzef4uaN28S7hNHunQ2EOgSRa/r1rkuEXild1enr6unecJVHktd9OlwaOJp1LPddEApg92QotEANw8YMGCqApwktmen8K9cIURTI8kv810BdXGI72JR73LR9+ND5jvzOx9nD80u11QhVj1DxRjwkBr0gOMXoGnwoqIiM72p6sKQ3Hl64nv0fhGoPZ5Vo8ff7P5+v2jw+Eil5S7kfQKBC8FqW1sbAx6ixRGpd4gzLVu2bKLJZCrVJ+bjebbBzXNkoTsipfRQo0HTWRybWz7BWvqHkYMn0qjYDg8ZoB5w1uCmM8888yJlnoTIKitPGHIj3R3hyc0lHwCPLbRdRB4A56EF5yoc4Igzkf09RQEelFNWBwB5f3okJhfnE2MqNZumgFk6wC4gDzoZcKbfRLfmrWR/Tw7mUoGsl0Ao5DzVueEXmUyThxcW8heUeVDanMmAIwLnxoULF55Nv4w+Wg71X85IgCE3AoEccjScPr8ZderZNCSNX3lo8ioKk28aNmzYhFz8cyYPPF/DHZAbRKPXmzNrK6B6qM0ygbxP6WCOtaUjWYNzgpH2fo/JVwDyYdxmUuH9zWZN3eXKePuYjGAWPDPH2tD0GhwZTLR7cIzS4Jp8cvY/QN6PIG/KAU0OVouMxtPBLh0MuTZ3rMFBPRzOjQT4aO1M/ZfTEmDIc8Emt5s0wDV+OydNY5oBR5ym2ktLS802m21kTs+sGlxQAoC8r4nMFZp9DQAGIct8m9EwstRuh0XCw9DGqAfceP/992MrGrYzKJcnEjgJOdjIUhcQBbcPHQx2wXRwIGyDM/XGs846S22PzdI57k23AXkJmbAnfNm5dwUAn1mkbe3+ohNwRAVYgwcBHzhwoLrA7A0pWVxWg5xe5Wo8qQCzZjQAuNRs7rKSwhocAwHsRrvdPhwnyuWnBAB5H9LkLZomzy4ZFJmNYFfjmHuu1+AGevdgMScqPz8loEGuafLsGr/ZYAC7bI3A1x6751EgwkhbZIvVGjiLJH99QF5Mmrw1SzQ5mKVFcAAOpa3BjdnjkyD1BDheMq6ckoDQNDntQsQSYjY4ghzsBllGWLbBMQaDAhxiUI4lYCLNWEzmiqbJM/zBIKvByIBz9zUNzica+QpwFofyWQIMObGe0c4kAgx4sKeswYMRCvCMnsO0dY4hb/P5M/YZT7NJ0+AsI41pXkVBJCKUicLiUX4XCQDyIhNWyYP6sEuedEZE0+DcLwU4S0L5YSXAkLdrmjxslrRFGmOxwal3bLakraOq4cyWACAv1DR5ZvWTVlHArmaJcM/YRAn+zfF6ve2cqHwlgUgSYMi7rDNTASYs1b7PH5DZ1Zjm/gXH4fP52oInKqAkEEUCgJz2YWeMRU6Xv3p2NZWO1c3gCqfS4FFmVCV1kQBD7qS3aKX7LXE+v1/W4BrXbKJwxwNKg7MolB+rBAC5jd69Ql5anS8goMGDyhqdkS8otQQFeFrnKGsb1zQ5Qa5p8jSNwm8ImihByMNq8EC6/9akSUCq2d5JAK+H0zR576rpUWkwSyuXETW4Zq9QzQFlg/dIvqpQpwQYche9vDvVb7X1BgRs8CDL6JKswbUEAry1s6/KUxLokQQAeQFtQUz1HU96FzrYZcC1vss2uBbhcDgaoO7VnvAeza0q1CmBDsiFcPlTIxJQ7aTXoetbYw3O1PsbGxv/oc+kzpUEeiKBk5q8J6XjL9Pk9YBd/KSYZ81EwQmcFllRUbFfXWR2CET933sJAHKrZq4k9w4nelrldOwnLwg3wqzBka4lvPbaawpwSEO5hEkgCHkS18kB72v1zXrAg+vgTL3/7bffbnG5XLVms3lgwkaoKsp7CQByC0nBo+nRxIvD7ffXrjve1EI1dzFR0FoQcGRobW2tUmYKxKJcIiWgQU6gJ1qRg9U2X6CK+gq4wwKOcQByLUN7e/s/EKGckkCiJQDI6fUOCd9x2O7zgVkZcK3rbIPLGtyHlRSlwRM9tao+loAMOcf1xge8TT4vAPfREaLB5XXwIOTHjh3b35sGVVklge4kAMhhqngTsC0E9dR6fGA2BG70IZwG97/xxhs7aNMVgFdOSSBpEsDNxA5zpXdWuY/MjVW1zTuoowA8BHIGHIMA0Ej00Udga5ubmyuVmQKxKJdMCQByE/ENfd6Tf6C2xR+ofPFITS31UzZRtG7rAWfIvfX19ZsU4MmcWlU3SyAIeQ8UOYCt93g3keelI0R7o34ZcJxrGpx8X2Vl5UYFOESiXCokAMgBI3lxHTDkqxyujVQU2ps1eLDLMuD4MbAG9y1ZsmSTn1wwpwooCSRZAgx5PM3Qg3L+JTX10OAMN3OsVRMOcO2XsGrVqkayw8uVFo9H3CpvbyXAkMNa6e7AQ6DNXl/5W8fqGyk7a/CIgKNvrMFhz3hpufBTBTjEolwqJQDIAXd3DrDWuj34+KvGK/lsgweLyhockQw4fg1essM3KMCDslKBFEqAIY+mxdGdynbPBvIAuGyiIElz8o0eRLB6xy/Bu2DBgk8vvfRSZ1FRkU3Lnaf/VRaVCM/xmpwffSRlBijCuUjxyBsxLUJCpMfbkB39AvD6/jn8fufjh46wBmftHdJCOMCRUbNnPvnkk5bq6uoPRo8efbmRnphOhGvbWiGO/c9fhaeuORHVpaQOt+8rwlmCb7uHyC6k7UgpUctEKBStTEijnSf6iZfzRGhCyxJvO3K96Q7T42mi2nnig21N5dhByPY3Qx7snh5wJEAmmgYn37Nt27a/nnbaaQkDfP+dTwp3dT3aySrn9HtEu9+r2YYQUCw2IgbIeRk0lOO4cOmIk12q88ttI8x9jdR/fX79eXfl9en68pHG7w34xW5nzV8pv4cOeQ08pIpwahltMuDeW2+99SPaPlsfTUuE1NjNSTbCjSEVGS2i0NihD2KFG+U4L3w5jDQ4OY7zyL6cRw7LeeSwnEcOy3nksJwHYb1DXjguw2EtMob/uiuvT+d22Ne3h3iw6Az46he37PyITiNeYKJsNMCh9j20s9Bx+PDhvyUKcDSarQ6Q2wnyaNf4nMa3nTFWjsuEcXNfYu1fsvP3RCbQwLU+598a3W4HBaHBw15gou5wgCMeGpy1uGft2rVv0OskEJ/3DpDbjCYNWoZE9iEghkIOy3nSGZb7JIcj9UnOI4cTlT9SPdHiAeZ2Z93r5MnmCaK7uEiA40eCXwWo9sydO3dXU1PTl0qLd8iPIe84U/+nUgJgsC3g+XJJ8+7d1C4DDlbBbBcX7iITmZCZIUclbloTX1VWVnYnfcMH6XnvADmcKwDZKpcqCUBN13jbVpHnpoPNE+a1SzciaXBkRF1BLb58+fI36GFkVKhcpwQ0Td7lS4xKPMmUgFv4PG+3HXmD2pC1d1jzBP2IBjh+FSgIM8W9dOnS6qqqqjfV/iuShuSwsmJTkEsSSV4Qa9+1Pseb77ZWVVMr0OBgE4yC1bAuVsA1M+XFF19cTFo84q8lbAt5EKkgT80kuwMB/7q2I4upNTZPegU4eh2ixefPn1958ODBd5QW7zqhDHm0q3+V1nMJkPIW9f72d149UVHZCXi3cGOWomlwpENbB80UCrteeeWVZz0eT8Q/CSiUr64DciwhnnQcjnbjArk5PV6fy3KL+va6q6+35fX1d1dfd+n6+vjcL/yBjx3Vz1J5Fx2yeRLVougOcPQHFeBiUzNTfvvb3+4lLf53pcUhmq4ON4IKDB2QY3Lg2JfDPHFyHMLxOq67p/X1try+v93V1126vj6cd9jezr+vaCrfS6dsnoDJqHCjbCyAQ1sHAaewa82aNc+QFkd55cJIQA85w5cKH91hiORwKtpOVhs+4nij89gzNB7W3oAPTHZrScQKOGtx/Hpcc+bM2X706NENSouTNCI4QG4lTZ5qx3AzbGif41Ldl0S0B+1d73dtWNy4ezvVx4Cz9k4I4Ogna3EY9oDcuXr16oVqRQWiiexOavKTiOEyC44vtzisRXbGcxznicfnsrHWp8/P5SL5+v531zd9/fry3aV7aOVkk+P4QsrnpAPsgcGYtDfli8lEQT4ADi3OgLtmz569jd4l/rraowLxRHY2TZPjY6kd/5CTJ1kOR0qPXHP4FK471vr0+blcJF/uc/gehMbq69eXj5buoy2xR31trz/duGMblWPtHdPqCfciFhOF87IW1y420eBdd921gB5MblR7VFhE4X2GPHyqig0ngY49J97GxU27FlA6wx2z7c11xgs42+Jo0Pnee+/Vbtq06U/qgpPFGdkH5FhdUS42CeD5qb2exj997qzFG6tgnoC5mG1vbiUewFFG1uIa5LNmzXqNHmvbri44WaSR/QLaZstLiJyLrXP4sRwox2XkMJeV4+Qwpyfal9uQw5HakfPIYTk/tHej37X9vuMbX6M8DHfc2hv19wRw1uLaxSY6sGLFikecTifegYg6lYsiAUCO1RWeUGRFOFbHeSOV7y491nZizRdve93lB0Nu+qD8O22HH6E+AG6+uIxbe2MM8QKOMgw4flGaFn/ooYd27927dyW9kRbpynUjgSDkeP+HOkJkEKBfwCF/68oXmvdgv7dee4O9uFxPAEcDDDlrcccdd9yxqK6urlqZKrHJH5BbeqRfYqs/G3NhzftEwF39ZNPORdR/PI6m195xD6ungLMtzsuGzs8++6z+pZdeuos+f0JLl8pUiWUmGHL82c73A69hcwm/5/3WQ3eVOxrw2gWGO651b73cewo46mHIg1qclg23EOiL6AaQvh11HkECgNysNDltdPKLfe6GRU837d5CotJr7x5rzN4CDlMlqMUp7Lz88suXHzhw4CN1AygC0WGi8x1y3NCp8To++lXN+uVgqPPgu5ZgLC2AY6rQOA6+4MQvr/3OO++8j+zxGmWPkzRidJq5YuiNvomxoQzLBru72e+pWdS46z7qWjsdYAgmAJhivijYM5cIiaITWD7BLw6dc9ANoGMvv/zy3WSP0zeGevzjo6ryy2H50EKQR7pNnmvx0MvugN/7vuPw3Vucx47RbGv8kA+WeFmwVxAkAnAQjM6wqaJ1kl41sfnTTz99Cva4gjz2OQLk+DBTrjswAbt7r6fhqacbdm6m8cpw9+rCUpZdIgBHfQx5iKkyY8aMJbQh6123Gz9I5WKVwElNnrurK16C+4i39d05NeuXkFz0pgkUZkL+9CcKcMwdQw6acaGATrfPnDnz13TR+ZmCnKQRh4OpYs5Rm9yjXVS2f3ZX3YZfk0g0TsjnZcGEwQ1xJxpw2R7XIKevRJy49tprZ9MDEuVqUxZEHrtjyHNpjRwrJvU+R/nDjZtn13scJ0gaAFyGGwwlRHtD0snY3obOyR00EOTe/fv3r582bdr0pmXv9MVXbpWLTQImklWHQGWRxlY203IB7kaf69CC5p037XDU4osCbXQw4DBvE6q9Mf5kAI564UJAJ1vc1dLSsnFUZctltKOuUEHeIaRY/gfkcBBotq6k+KnzJwKe+mUnym9c13roIA1FD3dCNTfkBZcswGV1Ewxv3bq1rcBk+Xycpd836c+vVUHeMQmx/M+yCgozlkIZkoe2mYrWgKf19ROVt/y55cty6pYebmhuAJ5wlyzA0VGeC/a1zm9z1jaVme17hluKL6HVAgtPXMJHloMVsqxCBJrh4+yA292+tv3Ifz7btAu34WW4E7beHUkMyQRcbhNzEpyXTY5jx+kJly2jrSXTSZPbeeLkAiocXgIsq6Aww2fLiFjY3Cf8nsbX2/bf9mzjLqx1M9xY80463BBCqgEPgr7VWdvQbvCuH28tnUo2eR+eOHRKuegSCMqKTHOY55l44F0mDQHn0eXNX9z8yomKPTSiVjoAOMONmzlJsbup3qBLFeBokJVOEPJyV2PLUW/738+2DbjAZjCV8cVUsHcqEFECgDwoyIi50pOAde46n6NiYePuW9a2HfgH9QJgpxxujD6VgKM9OJ4XzT/gOeHY7W5Yd65t0CS70TRE24nRuWrQkV39H0kCDHmmrK1gZnH7/ZjXsfWRhs23b3HUHKW+682SlGhullmqAQ+Bmzqhndd6He5PHDUfTC48ZXShwXyagpynp3ufzRUIMp0OuwLpWUq6/d72wd21G+fsdzfVUX8YbtzIwQ7BlMINeaQacLQJ1wX0Fr/b9zfnwQ/PKxhUUGKyTjIJo4Enr6OI+j+SBGQ5YcU81Qfgdga8gQpP0/O/qP/4d41eB77yK8ONC8qUww15pQtwtM2Q84VGwEsbyN9srdo60FRYPsRin2wxmOzYS4AHc5WLLoGT5kr0fIlMxY5AvL+k2e9ufK/98Lz7aje9SnPIF5PyHcq0wI2xphNwtM+Qww+CvsFRfaTa2/beuILSM+0G0ynKZIGounephJxNkhpf+7aFjTtvp5WSHdRDaG3W3DBJ5KVAzHHKXaYADrj50KCv8rS0rXFUvXtOwSBTX5P1K8pkiY0NNleSSRNu3sAkKfc0L7+j9sMH97ua8fYpaGyGW795KrbOJyFXugHHkHgu4DPkmjanP3e+Na1V2waa7buHmAsn0/ZRu7YXQ5ksUVE4adIlducKcU0mCW7euBvWOo7c/UDtxr90miQMN9a4+WIyabffow5el5gJgKNLMuQy6Fp4g+PY0cNksoyylgymz4SM7nioS9nmurkMOT0JeUh0j05ga/toiuj78OKQr/W9RY3b57x64stdVBlrbACuv4EDJZV2l2lXb+gPrivxw8OXVgvosNFhp6MQ4TvKzvnni+yn/rLUaB2BJ1/4TzKlKRdGArCVe+PY1m70uw9+7Kz+wx/rt26g+mCCMNS8BMjbXbW/vr1pM5FlMw1wjA19wgHI8SVmKx2AnEG39zfbiu8vu+CasdZ+19HHWAvM2ESqzBYSUXgHDRwv5rxC0ub3uCrI1n6w/tMXGr1OrJBAU+MA2GxrY5WE93LH2xQVTZ7LFBNFP0IWEnwc0Aps0/mcfq/3rbYDO+r9zrUjLMVDaePWCGW26EV48px//Kw5ovl4wxSbI/Ty+Y+fa97zq0WNO9aRzOXlP2hvGW7MT0aYJCdH3RHCWDPZoX9ssrA2Z40Os0XT7HMGnP/1C2yDbulrtI7E64nx7lae1EweXKr7Bq0cybGd7SI7m9a1D3zmqln0WN3nH1J+1tSstbH0xzduWOlErjhSgymKz3TAWQyAnEGHbQ7I2T7XIDebzba7+p1z6STbgGv7GwvGKNBZdNF9GWx6J/eXO5x1z/++aetaejMZg80+r2vLtnZGam15xNkCOPrM2hygQ5sz6ACcYYdf8Kuy8y86zz7g2jKj7SwFOkkkjJPBJlNv9xZH3fOP12/+iLICZBwAm31obIDNdyQBdsZqbepb0GUT4Nxp9BnXDgw6tDlrdA1wOtf828rO+afJtkHXDTLZz7XiNQxUBIXz1XwB1KASa9n0Rilx3Of4fJPz+PKF9Vs/o2gGW/ZlcwRQ84UkBbPDZSPgkKzGKfmy2QKNzkuLMujWG0rPmnRhwZBvDzbbp9sN5kLAni8XpQy1n9AG1I6At51edPnBRlf1G4sbduP2OiCWoUYY2poP2c7OCq1NfQ+6bAWcB4D+A3IGnU0XBp01u6blh5qLi27od8b0Mdb+3xxosp9PoJvwch3Anmvr6Vi/BtRegprA9tX6HJu/dDe+vbhp7wf0RincoGHtDKAZcoaal/2gtbPGHKG+dnHZDjgPSA86TBi20dmEYV/T9FMKTx00q3j0ZSOsfb5ZYrCO0UyYLNbssqbuhBpfS/jyoLvl7f9r3f/O+vajx0kmDDDDLftIg7ZmjZ3VYNM4NJcrgMvjgTbHuAA5NDprdQDO0Mu++Yf9xo2dXDB4Kmn1c/uZCibShWkBPi+CR+gy1ZSRgcbmJzxJQ0t8riafaxdp6883uWo+Xtm0r4LGDG0MeAFzOB/prLFhguQE2DQOzeUa4PK4WKsDdD4Ath54TaNTvJbWz2wr+FHfsRMnWErPG2iyndvfVHAGwW7BBSqA7/jX0QwLL1kXrYAYjg1f+LhMBNC4UCSoPfSmqL21Pufn5Z6GLS83V+xq8jphcjDUAJoPBpzTWFuzxu6ongrkkuM5yqUxyWPB+Bh0va0ua3eGnOPYNw21FRX+oHDcV06zlpxdQvtfCg2mEYVGy1CrMNpZw7Mvwy93AmG9oBlafT6GGPYzQGbfLfyOdr/nSHvAd5B28x2scp/Y+Wr7vu1HnG24qwhIWROzz2DD5zj4DLRsX0fqDmXPbqeXe3aPJnrvGXT2WavLpgyDrfflvNoP5eLiYYMmWctGDjEVj+hrtowsMliG01cayugppEK6k2qnbWCFlNGMxhh81vRsXkAbgywizUuvWWinW+QOT8DX7vL76tsCnkPNXs+Bal/rwR3u+gPrWg/DhmYoZe0rwxsuLOdl84P96BLLgdR8Apynq4O5DqWKMOAFtLIPwBlqhp3P9Xk14DvrCKmbzB3zSGtx0RBjob2fuaCoj8GKHZGiJeBub/K62qr97Y4D7tY2MisAZofyPukzzPBZ68o+wgw0Q4xzOQ+X1ddN2fLD5SPg8syGAEkJMqx6kGXA9WlcDvUhzPWiLTmMc9kxeIjjMGtXBlwPLEPLUPM552ef62NfbjdvwhC+ch0SYFkwkPD14PI5QwzokY99jg9XF1rheEAHx/DpzwEp4gCx7DO87CNNDuMcBxz7HWd5+j8LPE+HH3XYLBv40Q4Zan0+NCDXIzfIAMo+wvqDYdfHy+eoF+fK6STAwtdFq9MIEmB5McjIFi1OTo9QZQiYDCnDizLR4iLVqeI7JcCTowTSOwno5ag/R+36OAZXblkfpz+X86pwDBL4fwN/IZwMBwH5AAAAAElFTkSuQmCC',yellow:'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAALcAAAC4CAYAAAChOH1KAAAlaElEQVR4Ae2dCZhUxbXHTy+zL8ywDDsSVhEVJQoCkoSIIr4kvohLxO2ZfC8an0mQrCQm+uJ7qHkv5hE/xSQaNokBogkxigaUuLDIpsiOMA4MOwyz7zPd7/yLOZfqnu7p7umeXut83+2qW7du3apTv3v63Lr31rWRkUhowOZViPc6Nutpbq/8WPVO8173sYtJ6kgDusI7yme2nYdTdIZQj0NH1vrgwYNtc+bMyb344otzCgsL87KysnLT0tKym5ub6+rr62vKy8urd+7cWfv444/XlJSUAGSB2VfoKw3HM9KBBqQzOsiSspsEXgmhCMTtDGT2TTfdNDwvL28kQzvC6XSOcDgcQ2w2Wzfenme323M5nuN2uwPql/O5OF+dy+Wq4X2rOV7Z2tpa3NLSsp9Pgv3V1dX7XnnllU/4RKnj7S5edNARl4WjRnQNBFS+njnJ4wKxHtp37NgxpG/fvlPY6l7CAI/kZTgv/YMBN1L64hPAzcAf5eUTXvax9d9x/PjxtZdcckkxH0OAF8gljNThE7acVIdbQLZzDyJuX7du3YChQ4dOycnJ+QJb5M+zFR4Qr73L1v4IW/h3amtr/3nw4MG1kyZNOsJ1FdglBOwpKakItwfQTz31VN4dd9wxnd2LL7J1/hzDPCxRSWDYD7BVf5fdmbeXLl26avbs2dXcFsCdkqCnCtwCNEL7gAEDnBs2bPh8QUHBnenp6TdyWi4vySY1TU1NKysqKl6cMGHCO0eOHGnhBuqQJ71FT3a4FczcqQgdu3btGtWvX787MzMzv8YWun+y0eyvPWzRjzY0NPzp2LFjL44ePXoP52vlRbfo/nZN6PRkhdvyoX/7299245GNe9iHvoMvBC9P6N6KQOX5gvRD9tGX8gjMovvuu6+SixRrjjCpJJngRluwAGz78uXLu0+dOvXbDPW3eL2QFyOeGihnyOevWbPm6VtvvfUsbwLcAnpSuCzJALcH1KtXr+4zduzYWbm5uf/OnZWMvrQnouGv1bD8ftu2bf937bXXnmgDPCkgT3S4lZXmDrGvX79+0EUXXTSbRz3u5fXM8Ps85Upo4FGWBbt3735q4sSJh7n1YskRJqQkKtyoN8B2vPzyyz2uueaaX2RnZ9/NN1bSE7IX4qjSfMOoqa6ubvFbb7318xkzZpRx1XDxKZY8jmoauCqJBjfqi8WB4bzNmzf/W/fu3R/j9R6Bm5o6OWyuErK1fMiKwuhfJ8VNZWUVtT/77MTHFrYNI8oIS8L444kEt7ggju3bt182bNiweXwHcXwnuy5pdwPYzrofMdiR8SaaW9wffFLc+N3RE/7xEStNrHhkCu/iXkgEuFFHBfb8+fMLb7vttkf4YvGb7II4u1g3CVm8vXEpORtfiGzdbbaWmpqW3724ou4/v/WDj8u5cMAd965KvMMt1tp56NCh24qKip7gmy99IttzyVWao3ERYekKcbnpxKmy5h/3HbVpGZcvdzzj1ooDnngUnHQOLI8++mhBZWXlC3369FlowI5tV9lt1KdPz7SFdaUTXnj00REF0kccxqWRjMdKWWBv2rTpUn7YfwnfWRwZ225NnKN3peXWtdDion0799TedfkXPvqY0+GLywWnni2m8Xiz3KgPLLbz6NGj3xgzZsw7BuyY8uH34E47jRxzUc47J/eN/wb6ixf0W1zxFC+VEWvtnDt3biE/ybagZ8+ez7CysngxEqcasNkoq6i785m6w1ctmDt3GB5xEMjjwiOIh0qgDjjJMG49hp9ae5Gt9fA47c+4r1a03BJvRbS43J/s3FN3R5ubIhebMR0Tj7XlFoudtm/fvmsuvfTSNQZsb2wSY91ptw0fMzrnrYObr7iGa5zGC9yUmBrPWMItYGOY7xZ+W/wvrIw8XowkqAa4Q/M+MzjjL0d2jL+FmxBzFyVWcOO4OLPT+AH6b/ELuAs5bp4LYSUkujDg6f37Ohee3ncVHjUWCx4TzmJxUAE7/eTJk4/06NHjKb7bGIt6JDpH8Vt/N9l7dnc8dfaTcY9wJWG0YjKSEm2oFNh80ZhRVlb2NL/D+KP47SFTs3A1UFiQ9qOakglPjx7dKyMWgEcTbgX2+PHjs3j6hCX8fMjXw1We2T/+NZCTY//65jeGLRk/vjuGdaNqwaN1NavA5salnz179jl+9evO+O+WxKxhrIYCA2mrtq71xdwLNt7P+Zp4kacLA+0W1vZoWG4BO4197McM2GH1V8LunJPtuLP84FWPcQOidpHZ1XCjfCxppaWl32Ef+6GE7R1T8bA1UJDveOjUnvHfAQ+8CBthl+uvgK6EGy6PAru4uPj23r17z/VXCZOeOhro1cs5t3T7uNu5xQJ4l7nGXQU3KqzGsfmF0+v79+8/P5oTR6YOKgnYUjfZ+vdLm7/vg7HXtwEOTroE8K6AWyy2kx9ZHTdkyJAlbY1IwJ4wVe4KDTAgacMHZy3Z9vbl47h83MkEhxEHvCvgRpnOefPmFfF49lLMU83rRowGPDRgs1POpRdlLZ33xJAi3iCAe+QJdyXSZ4sCmyuVwY+truA5RKaFW0Gzf2gaiNehQH+tqKt3vZkzaAOeRWnkRZ4m9Jc9pPRIWm6cKMrPPnz48HcN2CH1Q8pmzs6yTzux+8rvsgJkiDBiBjdScAvY8LOv4hd58UyBEaOBoDRQ1DPtEfa/r+LMEX2SMFJwoxzHE0880Yv97AXsZ6OSRowGgtIAeLl0VNaCJx4d0ot3wL9/RLiMxF8AKgKY4WcvY3dkOseNxEgDieZz62qqq29dlTNo422cFhH/O9wzBCeHgptfOHjAgK13lYmHqoHsLMf0ozvHPcD7yehJWMY3HLgtsBcvXnwB34F8ONTGmPxGA94a6FuU9vDiZy6+gNPDBjxcuNXoyA033PA4+01mLmzvnjLrIWuA36jP/dcb8h7nHcMePeks3JbV3rp167X8sVF8NMmI0UBENJCXa7/xo3fGXsuFhWW9Ows39nNed911uRdeeOEvI9IiU4jRgKaBi0Zk/vK663rDGxDAta3BRTsDt2W1n3/++Vk8jfDQ4A5lchkNBK+BNKdt6OJfD5rFewjcIV9chgq3BTZ/UGkY36wxz2cH318mZ4ga4Js7Dy1fMHpYZwHvDNzqIpI/1fEkX0Sab8+E2GEme/AasNltmdO/kP8k79Gpi8tQ4Las9rvvvjuBXxe7LvhqmpxGA53TQE6O7bp1r4+RW/PgNWj3JFS4ldXmW+zfY6vdudqavYwGQtAAOONb89/nXUK23sHCbVnt119//TKelmFqCPUzWY0GwtJAbq596j9eueQyLiSki8tQ4IbVdl555ZWzOTRmO6zuMjuHpgGbbfxlOeAOcIPDoPgLBm7LavM3H0fl5+d/KbSKmdxGA+FrID/P/qWXXxw1iksK2noHC7ey2pMnT8bQXzD7hN8aU4LRgIcGbPYpV3UDf0Fb70CgitV2LFq0aAhb7RkexzMrRgNR1ADPezJj0fyLhvAhYWzBbofuSbBwO6dOnfogX7miUCNGAzHRAA+cOP5lSt6DfPCgXJNg4HawO5LDs0XdFJMWmYMaDWgaKChw3DR5ck/MqBDwwrIjuMUlwTQN0/lzHvjuoBGjgZhqwG6ngmfnDsTbXgGtd0dwY5u6kBwwYMCt5qZNTPvUHLxNA+BwYP/0W3lVLiz9MuxvA6w2FsecOXN68fPaX2wr2wRGAzHXQF6O44tzZlsvEwur7erVEdzY5rz77rtv5s9S49anEaOBuNCA3W5L+/rt3W/mynTomnQEt3JJ+JvrmA3IiNFAXGmgX1FawC+m+YJbzLxjyZIlI/mNdtzTN2I0EFcayMqyXfbS7y4cyZWSURNw6yH+4MYOjokTJ95iLiQ99BX3K271Tx331Qy7guBy0vg8WG/FKoft4IbP4i3IpPztwsLCz3tvNOvxrYEW23iqKPs9VxKfnUlc4fncPSrvtUpYb2lygU+/frc33JZLcs899xSwS3KpxxFSdMVWv4dsle+Qzd0c9xqAGevm/AJVVBSTy+ViCDwhQQN8JLVLc1P7/bz39VXOuTye+/rK5zvNcz+U1ZG4XO5Lb5teWbBs1QHMUCXsWoV4w42yYLUd99133yQ2/dBVSoutbhc5997MmkscS4hOK2hxU1mlb7h9daj3f7r3uq99Yp3GJ67jnqktk5atopVcF3Dr0UnecKNNCu5+/fpNNv42m4PyN8jWdDTW/Rjy8TF22yPLTWeriFyWLQu5mLjeAbD26eaezMHfeQG3SLJaiwRdsK7g5icAJ+kbUjVuc+OziYkpPD0Cdc/nDk0EM9xJFedn2ybyrvizEnatknS4oQIsjlmzZvXMzs6+0MplIgmrAQHcwT0tHZxMYXaGe9QDX03vCW55kaap/vIFt33mzJlXt2VUmcxPYmsAgBfmsWkD4Nz9SbbYvnq1G7yC5Q7hRgYH35W82vjbiQ20d+11wL23JfI6OO1TSIBbXBMArsTbciu4eU4Sc1dSNJREoQKcZ9+DBY+U4F8AIv8GEleJUfrJyiTw2g5uGS0R2hXcPL79mSjVyxwmyhpwwkXJdVNFTeRGUQRwNEXiEkajedkZBF4FblUN/nHr5zDi9p/85Cd92NSzh2YkWTUAwAtgwcWkJXhD+UTKm3VLWh9uhmJYmiNwo5lY7Pw8yXDZaMLk1YAArkZRuOdhaRN5mXSxDdyCZ2FZrUgPKrj55s1QczEpKknuEIB347cRYcGFiEQMUf++3V1DubcEbtVx7Sw3v3UzLLm71LRO14AADqudyJKbaQO3ArdqjQ434naeB3CIsdyJ3M2h110Aj+QoSui16Pwe4DUnm4ZwCYphDhXcGC2Rcxahg0dKkMlIimkAgOdnu6mqzvdTg/Gujqx0G7jFiInFM0iHIME+atSo9MzMzAEqxfyknAbOAc4gMBWJdnGZke4eMOozmengmBcFuA63bdq0aYV4jDDletU02NIAAM/LOge3lZgYEceUMa2FXFWAbcEtKzaen4RHP42kugYE8M6Mg8uFqVh+6FLSfOlVtnU2v+yHcFCRG/xaPOt3KG29evUyN2989UAKpgHwXH4evKZee0A6SD0IsMgucQl9FaFvk7iEgfLr27vnucGvwK38E9lu42FAY7lFGyYkZcGz2YkFLgkg+TkOsdyqtjJaomjnZ7gN3AnQidGsosOhWXDrHZdo1iC4YwHgzEzfbglKsBm4g1NkquUSwGsb4neYEG5MTjp5WG6P0RIeBswxN3BSDd3g2gvAc/irox35wsGV1DW5UK/0DDemNlZeCI5ijQkikT91jY1GjAZ8asAX4AI7Qj3us4BOJOpl6nFfRaU77AI3Ntv00RK+gDBw+1KaSTuvgXOAu6mOZwqRuUcEOuSSuITn9+x8TC9L4hLqpTqdynIjCdbbc+6t1tbWFiQaMRroSAMAnF/MpXoA3lHGKG9rddk8+BWfG9WwNTU11fqaoSjKdTSHSwANAPCsjDYTGQf1xb9IYzPVclWU1UaVdLipoaEBG40YDQSlAR1wuYrzDlGQRZuPUmWb937+1r3L0/fnuQM9+NXhdhu4fWjfJHWoAQtwocwrtyQHC6vX7u1WvctDBkmrb7YBbstTErhVQl1dHb82asRoIDQNAHA8j+frIi+0ksLLzRe5wq/iGaMlQrq7oqLCw6yHdyizdypp4JwFd1MDzz4noyjRbD9OrMpaD8vtlqFAAO4uLy8X8qNZL3OsJNEAf6uGLfg5wKPdJMBdXuMCv4plHF/cElWX06dPV5vREqUK89NJDZwDPPouCv4tTpVTtV5tgVvRvnv37hoDt64eE++MBgB4Bs+hDGvqvaA8pIlIXPIhXdIkjx7KNskvIa4q9xyyA24Py40ViHvlypXVPNbNMzobMRoITwMW4F7FeMOJzZKmxwVa71DPg7hIczNVvba+SdwSJFszTgntbh4xKTHWW1RmwnA0AMDTYcG5kK5ccAXLIyUlfBiLY9Rb3BLEscFVW1tbghUjRgOR0IAFuOaKRKJc7zJqG2wlnObiRTwRBbfQjg0uHg781Fhu1oSRiGkAgKfxuJy3ixGpdVS0qtb9KQeKYQ4V02K5BXA3j5gUI7MRo4FIakAAj2SZelmnKuggr1scYxvg1hNaecTkoLHcUI2RSGtAAI+UxZZyUM89h1wwyviamcWzWG5sVyZ94cKFn/L3CxE3YjQQcQ0AcCfPjAMwIyVMq2vhasenXJ5iWMoVuIV2165duxp4xOSYZDCh0UCkNaADLtY3nLC+yXZs14EmfsPTuqAEz9ZoiQU3p7XW1NQY1wTaMdJlGsC7urDg4Qpc6JoGN/xtuCSw3MKyB9xi0l0nTpzYbPzucNVu9g+kAQE8lDFwlOnh0TDKJ8tsmznZ4pfjHpYb+yABGVq3bNmywbjdUImRrtYAAHeE4IML2HJC4OvIW/e3buB66pZbVbudz41MP/3pT3fziwvmNnxX96wpX2kAgHd2ZtnGFqr68QuO3eCWF59uCQ5iWe7q6uqms2fPbjWuCdRiJBoaEMBDORb4LKugLYwrvmGuw62KEcuNFQtujrccO3bsAwO30pH5iZIGBPBgR05QrWNltk0c4K33gHADcGRq2bBhw3rjd7MmjERVAwAccAcj8LfX7Wxdz3kFbvCLRYleDOIYnOEX9tWca93OnDmznmd+7aFypuiP48jjhMVIdDUQjNdQVecuK7iheSLXrJIXPO7KM6ko46wAl9fMOE0Rj0Q1YsJhC8O9mT+Vfb09Ub8EhFaFKc2taVReYRmDMEszu4eigY4Ad7HZPnyKMAQoVtvjYhLH0eHGusCNHVr27du3euDAgRGF21axm2zH1pLN3Yzjxb3YG89Qel02PzIM3bUXf9jjtSdf4i8def3s4veFW39l+StHHaODjaGW5zd/R8fw08pQy2ppddOuva2rGVPFKrdN4EYzlehuCRKwDuB5Pk/KGzlyZM/169e/z5/vi8gXFwC28x9fZrDh1ieOVNW7cBcscSqcAjWtbXRXf/l/K6/ed6rpDDcXr5fh9jtAtzrKl+XGRtDXzJa77siRI6tHjBhxUyRcE9vhV8lWe4SLTizJR3XZLtRiwMlIzDWAx/qOn6HV+04Rf1iQ4AKAV3Brgc1x6/Y74iIw71hwFjTxqMlKniBTtoUV2lyJS0c+f+GLJzc3EgcaYI+EthyilVwVAAVOhVmP2unj3LJBLLfyZe6///5NVVVVRzty7mXHZA8BeC6PJcF3M0tsdADbzF94OPq9P5OMb4NTsdweCPqDWwCHyW8uKSl5zcB9Tm95fDWSg8FSIzHRAC48SyvoNT64YpNDARvMeogvuJEBZh474axo5ikf/trM784bOacBATzYO2kmH1t5/quLxNLCCK/aSX8Fl7yI1Qav7cQf3DgLLL/7ySefLC4rK9turPd5/QHwbOODn1dIFGKw2uW1tP3/3qZiPpzub7ez2qhOMHDj7GjasWPHSy1qSBG7GYEGlAVnwI3/HR0dtLK53XWCXmLVC9hgE0Y4JLg5v9oBO8L8N82cOfM1nvah1FhvqOa85BoLfl4ZXRiD1a6sp9L7lil/G3CDS79goyr+LDe24Wyw/G5+9axh+/btf4jUsCAOkCwigEfCpzRl+PbN8ZDUzhP0h5oadbNG97d9Wm2wFQhuAVxZ729+85t/raysPGmsd/vTEoBn8dRhRiKvAWW1G+jk7OXqQlKstt9REqlBR3AjD8w+CgHcjUePHq3duXPnImO9WRs+xFhw31Y33H8jWO29J2jR0Qr1QSc8+QcewSX49CuB4IblRgHqopLDxm9/+9sr+E2dMmO9fesUY+DGgvvWTWdSYbVrmqjsxytpBfjjRS4mO/S3caxAcCOPWG8FOD9vUrVnz54XjfWGanyLAG5GUcIfRcFzJPtP0ov7jhPe6RWwA1pt9EwwcIv1Vn4379M4Z86cl9h6VxrrDRX6FgW4GQf3rZwgU2G1qxup8ud/V8N/YrXBYUCrjUMEAzfyifVWvvfGjRvLN2/e/LS5awnV+Bfc5MnCOHiE7s6lWjktTN22Unp6awmVs5aD9rWlR4KF29t6N8yYMWMFT96z07xnKar0HQLwTDOK4ls5HaTCHTlVTTvvWqR8bTyrLaMkQVltFB0s3MjrYb358yL1y5Ytm8vzm7iMewL1+BcB3PjgwfnguMPC85G4Xt5Gc3nShnrWbMhWG70RCtztrPfDDz/88f79+/9sLi79gy1bBHBZN6F/DeA2+4Ez9OdfvE4fc65OWW2UHgrcyC/WG38ROJsavv/97/+Gb8ufNdYb6ulY4H/DRUk13zmU9kKDlY109sd/pd9wFGDLhWRQIyTYXyRUuGG9cRAMC+Kg9e+9914ZX2D+mt0UXjUSSAMAPMP75b5AO6XQ9iama0sJ/XrjQSrjZotLAt7AHfgLWkKFGwUL4GrkhNfr+eJyJd+93Gbck+D0LoCHYtFSIS/uRJ6oom23v6BeIROwwVnIYKMnOgs33BPrriXHG+bNm/cIv45WY0ZPoNbAIoAHznk+By5IIXJhKnGV2JYuaXpe2R4o1PfR4/720/PocX/5O0rH6EhlA9U88096hPPp7gg4A28hWW0cqzNwYz/xvS3r/dxzzx1cvXr1L3j0hOfZCLkeKDPlBP43XBSAEcwCBQlEelz21dP0uGwPFOr76HF/++l59Li//P7S20ZHaO0++sXv31cfbvK22uAtZOks3DgQDijWG2da/V133fXm3r17l5ubO1BPcALA01PcB29mp4OnaVj+jcX0JmsNYMsIiVjt4JTplSscuGGeAbhYb1So7pZbbvnV8ePH9xr/20vTHaxaFpxNWyr41nob4WefrKG9dy6kX4EfXsQlAVfgq9NuQAS+SsKHPy829rt5gquWDydMmPCVjIyMdMzaKWI/8S5hMdJeA+r7MNyN6GwR0Zy/v/NIp+O4ckw9LsfR0/S4bA81xAx1VQ1U+8s19K1/7qVjXGYtL7Dc8oCUpg0cMTQJx3LjSDi4t3tSN3/+fPjfjxn/O7TOyGAXJQ2f0ODdsEAkPLfWtb9yLH/HD7Q9lNrhsqyBnY639tJjv39X+dlitQXssKw26hIu3ChDABf3BGdeHfvfq/jR2BVm/BsqCl4E8OD3SMycGM/ec4JW3LuYVnELADa4wb2TsN0RLkNJJOBGQTjLMBbpAfj06dOfLC4uft8ADhUFLwAcF5m6b5pMcVxAlpyl9298jp5krXiDDY7AU9gSKbhREVhwffSkjt+3rLn55pt/WFpa+rEZQQmtrwA3XJRkE4B9pJw+/trz9MPKOjVhvLc7Ao4iIpGGW/xv/L2o0ZMDBw5U8HyDD/HjscUteEDXSNAaEMCTxWrjgaiT1VT84Ev00IFTVMGKELDBiwz7RQzurrYNqqKHDh1q4tvzGyZfmHVNbsUHufz5byNBasDRZn7kvpiuOokj9LXgEJJHj/vKK/kk7Ex+7KOLlIUQdyBP19CJOa/Q/W/soSOchJERwB1RP5vLs6Qr4PZ55vHFZb2r1b1lXNHRa/muXKYB3OqDgBFfgOvg+CtAz6PHuyo/jqEvOA7WYbF5GrSKX71NDyzaQAc4SYb88O+O67SI+dlcliVdATcKB+CyyMFsH+w6WsnTAO+8pD9dx4CnGcBFNYFDAVwfBw+8V+xzAGyeKar+D+vpu798k7ZzjWCtxR3Rh/0iXtmugluvqECO0MbPD5zpmUs7RvamKQx4Rgp/S0rXUVBxAVwpkk1ivPviAPtsPVUv2Uizfvaq+jgToBarDbBhsdGcLpFowo0GqIas3kOnud0fjBlAk/nWc450Wpe0MMkKFV3BB9ddgHiLtzC27GOfmvcWPTj3DfqIuwFQY4ErolvshIab22KdnWiIasyGYqrkZwreu/ICmsivYBVIpyGzkY41IP92cpHZce7ob23icY/jVXToZ3+jB55fR59wDfCNSN1iR3xkxFcro2G55bhyhlqAf3yEanccp7WfG05j+XszRQAcf7VGAmsgHgHHyQawedqzXQ8up/949WNrVEQHO2J3IANpKZpwS10EbhV+eoYaV++lt68dRaPyM2mAAVzUFDgUwJEz1v436oBb6p+W0cZbX6CHNn1KpzkJUMPP1h+GYo/U+ifnaNdJtOHWwZZGus/UUMufPqS114+mfvkZNNxpLHjQPS6Ax9JFwRh2Hdtjnqzy9WnP0k9Ky9QNmpiCDQVGG27pNB1yxF31jeT63Xu07ooLqLx3N7oy3UFO6TjZyYS+NaAPqUbbgquhvkZq5FGwX13/ND3L/YgPnsLH9jXch76OmsQKbjRQQd0WWrAv30r7bXbaOLIPXZHppG7GTQmOBQ/AeZeuHj1B7/HEOXSikg4/vZZmzV5Ba/mwsNbiX8uoiNygQR9HVWIJtzQUjYaLYrkp6w5QOfvhb04aSn3YDx9m3BRRVcehAN7VFCk3hAfz9p6kN29fQD9Y+REd4poJ2GKx9TuPXV0ln4qJNdxotPeiQD9dTc3sprw39gI60zufxsFNkb9cny0xiUoDMtrUFTTBr1e30huo8e399D/TfkPPcj9V8oF1/1qeFRGLHbOeiTXcaLj0g1hvPXSv2EqfuG20bngRXc43fAod/H8rHRgzrcX5gS39tOlKjEI4IcDGmzPHKql43ts0i7/g+y6rQe44yoiIgC19GFNNwTWLF0FdcLJh4cf1Cd/p5Q9SqyW7ex7lLL2X7vjsILq3WyZ/vIBzWZ3ImYy01wDch3AFUOMZbJ5TpH7rYVrAs64uPVvtYan1N2hgrbGIwQr38GHtHw+WW28AlCKLnP0IW+ubyLX0A9pxqIzWXNib+vLk7oPlYtNArqvwfDwcvYgLUsu2eP9pemfOSvrBwyvpHe4HuCAyGgKwvZ/siwuwoYV4styojwieYsaCGT14dj1lxfl7YZYlz3j2drr6Xy6m2T3zqD+PqpAZNmTt+BGAiiVYgcWHC8L3H46+toOeenAZvc/7wuUAzAI01vVnRCLwP8ElRlDiFW40EXUTwAVyAG4tA3tR3oI76J4xA+mOvHTKgKtiIIfq2kswcANquCDVTdTIj0YsvXcpLSo9rcatYZ31RaDmU8Aa5Wp/0BinxDPcUA3qhwXuEwCHLw5LbgGO+MyraNCDk+nuEb1pOrsr6TyyYiBnxXiLP8ABNW6dswvStP8UrXrmPVr8x410mPfXgUYcUGOID1CLbx3CfwLvFUWJd7hFFagnrLhALq4KLjoF9IyvXkb9Zk+lmSOK6Cv8XfZMfl7cQC4a9BECatyIqW6gBob6b0+toT/+5SM1OQ5cDgEbcd0FAdRwQeIWaq6bkkSBG5VFXQVyWHFxVQC4QK7iU4ZTr4e/RLeN7kdfzcugXAU57xnOBRYfIykE1htv8yioG6lm1zH6y3/9nZat/UQ96CQgA2yJ+3JB4h5sdFYiwS1wCeDe/jjAFosOa57+2c9Q4X9/mW4Z3Zdm8J3OQszJJ3c7Uwl0AI0Fkw80sFPBU5iV7zpOL//0VVqx9VP1pTAALEAjrltq8asTwlpz3S1JRLil8gI5XBUs8MdlfFwgV8AX5lHW4zfSxCsG0vUDu9NEfnY8Xax5Ml+Awu0QK13bRE2lZ2n9llJ6g4f11pdXW4+h6hYacfjUcus8YVwQrnM7SWS40RjUXyAXn1wgB+ACucTTxw2mbj+cRlNH9aZp/QroYobcpmZ3QkFcUiJbdLHQ8Bnw0gC7Hu5jFbRzDz8Dwi/nrtlUom6VwzLLIhYa6zrUsNJiqRPCBeH6tpNEh1sa5AtyfXQFcAN6gVydAHdNoAF3j6PpQ3rQlIIcGoxRFoCubg5x5niHXYcZz3wAaIx6VNRSSXEZrV28iVYt2UBHuCkCrkCNdT0O10OsdMJDzW1Rkixw6+0R0MVd0V0WuQgV0MXKO798CRV9bRxdMbQHje3TjS7n0Za+cF0wdq7DjgPFwroDZIgCmkPAjDHpttGO4/zo6YcHy2jbnzbRlld30CnOAmB1qAVoPR1Ay4IjyMLRxJdkg1vvEbQNroq4KwI7ABeovUNsQz7nzHHU78YxdMWQnjSWn0q8LDuNemIObVyQAnbrwpQzQ3Tg9fi5rYF/BV7klLgijX9wIQiYEeKtcn7r5czJKvqo+AxtW7mdtvxxkxq+E+urwytwSyh5BGgu0XI/AlcywXIkM9zSFWLJBXSEFsQcB+BYF+glriBvS7dPGU6FUy+iwcOKaFBRPg3qlkUD89NpIFv4fmzdnQAez1OLK6POLK91bBPLq0IGFxd8AjHSsN5mlVt4/PlYVROV8qQ2paeq6DDPr3d4zW4q4WE7fAsdYAJWAVbiANk7DpiRJjAjVIflMGkFfZAqgrbqC+AF6Ahl8QU20mS7vo86WXIzyfm1K6jfZQNpQEEm5fP0w1lZaZTNw47Z7L9ns4XPZl8+i61+NsOdwQA3svWtY9+4ni1xHfvJdTw8V1fPS2Mz1Vc0UNVHpXTkT1voWE2DB5AAFFCK1RVgBWR9Xc8j+wjMEnJRyS2pBLfekzrkiCtQOdThFaB9wS0nhYRShne5so5jIy4CwCACmncolhWQCpwIJS7wAmyJ+8rrXS5nTx3RFZ46rfZsqQCohwK7Hgr4HaXpZUgcR9PjWBfo9LikIRSQBWZ93V8a0vUyJI5jpKRA6UY8NSAgeoeAGmmBQu/9UDrSvAXwQQRCPRRQA4X6PhI/V6r59al0oxZPDQisSPUVlzQ9lLx6iLi3AEiIHgqk3qHk886rCjA/7TWADjESugZ0vUncO5RSJV3W9VBAlTRZ9w6xXdIkrwkDaKAjxQfY1WwOoIFQdGvADaDMzmz+f6SMYEX4z7hMAAAAAElFTkSuQmCC'};return{FaviconsByHue,};});'use strict';Polymer({is:'tr-ui-b-info-bar-group',ready(){this.messages_=[];},clearMessages(){this.messages_=[];this.updateContents_();},addMessage(text,opt_buttons){opt_buttons=opt_buttons||[];for(let i=0;i<opt_buttons.length;i++){if(opt_buttons[i].buttonText===undefined){throw new Error('buttonText must be provided');} 9078if(opt_buttons[i].onClick===undefined){throw new Error('onClick must be provided');}} 9079this.messages_.push({text,buttons:opt_buttons||[]});this.updateContents_();},updateContents_(){Polymer.dom(this.$.messages).textContent='';this.messages_.forEach(function(message){const bar=document.createElement('tr-ui-b-info-bar');bar.message=message.text;bar.visible=true;message.buttons.forEach(function(button){bar.addButton(button.buttonText,button.onClick);},this);Polymer.dom(this.$.messages).appendChild(bar);},this);}});'use strict';Polymer({is:'tr-ui-b-toolbar-button'});'use strict';tr.exportTo('tr.ui',function(){const Task=tr.b.Task;function FindController(brushingStateController){this.brushingStateController_=brushingStateController;this.filterHits_=[];this.currentHitIndex_=-1;this.activePromise_=Promise.resolve();this.activeTask_=undefined;} 9080FindController.prototype={__proto__:Object.prototype,get model(){return this.brushingStateController_.model;},get brushingStateController(){return this.brushingStateController_;},enqueueOperation_(operation){let task;if(operation instanceof tr.b.Task){task=operation;}else{task=new tr.b.Task(operation,this);} 9081if(this.activeTask_){this.activeTask_=this.activeTask_.enqueue(task);}else{this.activeTask_=task;this.activePromise_=Task.RunWhenIdle(this.activeTask_);this.activePromise_.then(function(){this.activePromise_=undefined;this.activeTask_=undefined;}.bind(this));}},startFiltering(filterText){const sc=this.brushingStateController_;if(!sc)return;this.enqueueOperation_(function(){this.filterHits_=[];this.currentHitIndex_=-1;}.bind(this));let stateFromString;try{stateFromString=sc.uiStateFromString(filterText);}catch(e){this.enqueueOperation_(function(){const overlay=new tr.ui.b.Overlay();Polymer.dom(overlay).textContent=e.message;overlay.title='UI State Navigation Error';overlay.visible=true;});return this.activePromise_;} 9082if(stateFromString!==undefined){this.enqueueOperation_(sc.navToPosition.bind(this,stateFromString,true));}else{if(filterText.length===0){this.enqueueOperation_(sc.findTextCleared.bind(sc));}else{const filter=new tr.c.FullTextFilter(filterText);const filterHitSet=new tr.model.EventSet();this.enqueueOperation_(sc.addAllEventsMatchingFilterToSelectionAsTask(filter,filterHitSet));this.enqueueOperation_(function(){this.filterHits_=filterHitSet.toArray();sc.findTextChangedTo(filterHitSet);}.bind(this));}} 9083return this.activePromise_;},get filterHits(){return this.filterHits_;},get currentHitIndex(){return this.currentHitIndex_;},find_(dir){const firstHit=this.currentHitIndex_===-1;if(firstHit&&dir<0){this.currentHitIndex_=0;} 9084const N=this.filterHits.length;this.currentHitIndex_=(this.currentHitIndex_+dir+N)%N;if(!this.brushingStateController_)return;this.brushingStateController_.findFocusChangedTo(new tr.model.EventSet(this.filterHits[this.currentHitIndex]));},findNext(){this.find_(1);},findPrevious(){this.find_(-1);}};return{FindController,};});'use strict';tr.exportTo('tr.ui.b',function(){function TimingTool(viewport,targetElement){this.viewport_=viewport;this.onMouseMove_=this.onMouseMove_.bind(this);this.onDblClick_=this.onDblClick_.bind(this);this.targetElement_=targetElement;this.isMovingLeftEdge_=false;} 9085TimingTool.prototype={onEnterTiming(e){this.targetElement_.addEventListener('mousemove',this.onMouseMove_);this.targetElement_.addEventListener('dblclick',this.onDblClick_);},onBeginTiming(e){if(!this.isTouchPointInsideTrackBounds_(e.clientX,e.clientY)){return;} 9086const pt=this.getSnappedToEventPosition_(e);this.mouseDownAt_(pt.x,pt.y);this.updateSnapIndicators_(pt);},updateSnapIndicators_(pt){if(!pt.snapped)return;const ir=this.viewport_.interestRange;if(ir.min===pt.x){ir.leftSnapIndicator=new tr.ui.SnapIndicator(pt.y,pt.height);} 9087if(ir.max===pt.x){ir.rightSnapIndicator=new tr.ui.SnapIndicator(pt.y,pt.height);}},onUpdateTiming(e){const pt=this.getSnappedToEventPosition_(e);this.mouseMoveAt_(pt.x,pt.y,true);this.updateSnapIndicators_(pt);},onEndTiming(e){this.mouseUp_();},onExitTiming(e){this.targetElement_.removeEventListener('mousemove',this.onMouseMove_);this.targetElement_.removeEventListener('dblclick',this.onDblClick_);},onMouseMove_(e){if(e.button)return;const worldX=this.getWorldXFromEvent_(e);this.mouseMoveAt_(worldX,e.clientY,false);},onDblClick_(e){},isTouchPointInsideTrackBounds_(clientX,clientY){if(!this.viewport_||!this.viewport_.modelTrackContainer||!this.viewport_.modelTrackContainer.canvas){return false;} 9088const canvas=this.viewport_.modelTrackContainer.canvas;const canvasRect=canvas.getBoundingClientRect();if(clientX>=canvasRect.left&&clientX<=canvasRect.right&&clientY>=canvasRect.top&&clientY<=canvasRect.bottom){return true;} 9089return false;},mouseDownAt_(worldX,y){const ir=this.viewport_.interestRange;const dt=this.viewport_.currentDisplayTransform;const pixelRatio=window.devicePixelRatio||1;const nearnessThresholdWorld=dt.xViewVectorToWorld(6*pixelRatio);if(ir.isEmpty){ir.setMinAndMax(worldX,worldX);ir.rightSelected=true;this.isMovingLeftEdge_=false;return;} 9090if(Math.abs(worldX-ir.min)<nearnessThresholdWorld){ir.leftSelected=true;ir.min=worldX;this.isMovingLeftEdge_=true;return;} 9091if(Math.abs(worldX-ir.max)<nearnessThresholdWorld){ir.rightSelected=true;ir.max=worldX;this.isMovingLeftEdge_=false;return;} 9092ir.setMinAndMax(worldX,worldX);ir.rightSelected=true;this.isMovingLeftEdge_=false;},mouseMoveAt_(worldX,y,mouseDown){if(mouseDown){this.updateMovingEdge_(worldX);return;} 9093const ir=this.viewport_.interestRange;const dt=this.viewport_.currentDisplayTransform;const pixelRatio=window.devicePixelRatio||1;const nearnessThresholdWorld=dt.xViewVectorToWorld(6*pixelRatio);if(Math.abs(worldX-ir.min)<nearnessThresholdWorld){ir.leftSelected=true;ir.rightSelected=false;return;} 9094if(Math.abs(worldX-ir.max)<nearnessThresholdWorld){ir.leftSelected=false;ir.rightSelected=true;return;} 9095ir.leftSelected=false;ir.rightSelected=false;return;},updateMovingEdge_(newWorldX){const ir=this.viewport_.interestRange;let a=ir.min;let b=ir.max;if(this.isMovingLeftEdge_){a=newWorldX;}else{b=newWorldX;} 9096if(a<=b){ir.setMinAndMax(a,b);}else{ir.setMinAndMax(b,a);} 9097if(ir.min===newWorldX){this.isMovingLeftEdge_=true;ir.leftSelected=true;ir.rightSelected=false;}else{this.isMovingLeftEdge_=false;ir.leftSelected=false;ir.rightSelected=true;}},mouseUp_(){const dt=this.viewport_.currentDisplayTransform;const ir=this.viewport_.interestRange;ir.leftSelected=false;ir.rightSelected=false;const pixelRatio=window.devicePixelRatio||1;const minWidthValue=dt.xViewVectorToWorld(2*pixelRatio);if(ir.range<minWidthValue){ir.reset();}},getWorldXFromEvent_(e){const pixelRatio=window.devicePixelRatio||1;const canvas=this.viewport_.modelTrackContainer.canvas;const worldOffset=canvas.getBoundingClientRect().left;const viewX=(e.clientX-worldOffset)*pixelRatio;return this.viewport_.currentDisplayTransform.xViewToWorld(viewX);},getSnappedToEventPosition_(e){const pixelRatio=window.devicePixelRatio||1;const EVENT_SNAP_RANGE=16*pixelRatio;const modelTrackContainer=this.viewport_.modelTrackContainer;const modelTrackContainerRect=modelTrackContainer.getBoundingClientRect();const viewport=this.viewport_;const dt=viewport.currentDisplayTransform;const worldMaxDist=dt.xViewVectorToWorld(EVENT_SNAP_RANGE);const worldX=this.getWorldXFromEvent_(e);const mouseY=e.clientY;const selection=new tr.model.EventSet();modelTrackContainer.addClosestEventToSelection(worldX,worldMaxDist,mouseY,mouseY,selection);if(!selection.length){modelTrackContainer.addClosestEventToSelection(worldX,worldMaxDist,modelTrackContainerRect.top,modelTrackContainerRect.bottom,selection);} 9098let minDistX=worldMaxDist;let minDistY=Infinity;const pixWidth=dt.xViewVectorToWorld(1);const result={x:worldX,y:mouseY-modelTrackContainerRect.top,height:0,snapped:false};const eventBounds=new tr.b.math.Range();for(const event of selection){const track=viewport.trackForEvent(event);const trackRect=track.getBoundingClientRect();eventBounds.reset();event.addBoundsToRange(eventBounds);let eventX;if(Math.abs(eventBounds.min-worldX)<Math.abs(eventBounds.max-worldX)){eventX=eventBounds.min;}else{eventX=eventBounds.max;} 9099const distX=eventX-worldX;const eventY=trackRect.top;const eventHeight=trackRect.height;const distY=Math.abs(eventY+eventHeight/2-mouseY);if((distX<=minDistX||Math.abs(distX-minDistX)<pixWidth)&&distY<minDistY){minDistX=distX;minDistY=distY;result.x=eventX;result.y=eventY+ 9100modelTrackContainer.scrollTop-modelTrackContainerRect.top;result.height=eventHeight;result.snapped=true;}} 9101return result;}};return{TimingTool,};});'use strict';tr.exportTo('tr.ui',function(){const kDefaultPanAnimationDurationMs=100.0;const lerp=tr.b.math.lerp;function TimelineDisplayTransformPanAnimation(deltaX,deltaY,opt_durationMs){this.deltaX=deltaX;this.deltaY=deltaY;if(opt_durationMs===undefined){this.durationMs=kDefaultPanAnimationDurationMs;}else{this.durationMs=opt_durationMs;} 9102this.startPanX=undefined;this.startPanY=undefined;this.startTimeMs=undefined;} 9103TimelineDisplayTransformPanAnimation.prototype={__proto__:tr.ui.b.Animation.prototype,get affectsPanY(){return this.deltaY!==0;},canTakeOverFor(existingAnimation){return existingAnimation instanceof TimelineDisplayTransformPanAnimation;},takeOverFor(existing,timestamp,target){const remainingDeltaXOnExisting=existing.goalPanX-target.panX;const remainingDeltaYOnExisting=existing.goalPanY-target.panY;let remainingTimeOnExisting=timestamp-(existing.startTimeMs+existing.durationMs);remainingTimeOnExisting=Math.max(remainingTimeOnExisting,0);this.deltaX+=remainingDeltaXOnExisting;this.deltaY+=remainingDeltaYOnExisting;this.durationMs+=remainingTimeOnExisting;},start(timestamp,target){this.startTimeMs=timestamp;this.startPanX=target.panX;this.startPanY=target.panY;},tick(timestamp,target){let percentDone=(timestamp-this.startTimeMs)/this.durationMs;percentDone=tr.b.math.clamp(percentDone,0,1);target.panX=lerp(percentDone,this.startPanX,this.goalPanX);if(this.affectsPanY){target.panY=lerp(percentDone,this.startPanY,this.goalPanY);} 9104return timestamp>=this.startTimeMs+this.durationMs;},get goalPanX(){return this.startPanX+this.deltaX;},get goalPanY(){return this.startPanY+this.deltaY;}};function TimelineDisplayTransformZoomToAnimation(goalFocalPointXWorld,goalFocalPointXView,goalFocalPointY,zoomInRatioX,opt_durationMs){this.goalFocalPointXWorld=goalFocalPointXWorld;this.goalFocalPointXView=goalFocalPointXView;this.goalFocalPointY=goalFocalPointY;this.zoomInRatioX=zoomInRatioX;if(opt_durationMs===undefined){this.durationMs=kDefaultPanAnimationDurationMs;}else{this.durationMs=opt_durationMs;} 9105this.startTimeMs=undefined;this.startScaleX=undefined;this.goalScaleX=undefined;this.startPanY=undefined;} 9106TimelineDisplayTransformZoomToAnimation.prototype={__proto__:tr.ui.b.Animation.prototype,get affectsPanY(){return this.startPanY!==this.goalFocalPointY;},canTakeOverFor(existingAnimation){return false;},takeOverFor(existingAnimation,timestamp,target){this.goalScaleX=target.scaleX*this.zoomInRatioX;},start(timestamp,target){this.startTimeMs=timestamp;this.startScaleX=target.scaleX;this.goalScaleX=this.zoomInRatioX*target.scaleX;this.startPanY=target.panY;},tick(timestamp,target){let percentDone=(timestamp-this.startTimeMs)/this.durationMs;percentDone=tr.b.math.clamp(percentDone,0,1);target.scaleX=lerp(percentDone,this.startScaleX,this.goalScaleX);if(this.affectsPanY){target.panY=lerp(percentDone,this.startPanY,this.goalFocalPointY);} 9107target.xPanWorldPosToViewPos(this.goalFocalPointXWorld,this.goalFocalPointXView);return timestamp>=this.startTimeMs+this.durationMs;}};return{TimelineDisplayTransformPanAnimation,TimelineDisplayTransformZoomToAnimation,};});'use strict';tr.exportTo('tr.ui.tracks',function(){const DrawType={GENERAL_EVENT:1,INSTANT_EVENT:2,BACKGROUND:3,GRID:4,FLOW_ARROWS:5,MARKERS:6,HIGHLIGHTS:7,ANNOTATIONS:8};const MAX_OVERSIZE_MULTIPLE=3.0;const REDRAW_SLOP=(MAX_OVERSIZE_MULTIPLE-1)/2;const DrawingContainer=tr.ui.b.define('drawing-container',tr.ui.tracks.Track);DrawingContainer.prototype={__proto__:tr.ui.tracks.Track.prototype,decorate(viewport){tr.ui.tracks.Track.prototype.decorate.call(this,viewport);Polymer.dom(this).classList.add('drawing-container');this.canvas_=document.createElement('canvas');this.canvas_.className='drawing-container-canvas';this.canvas_.style.left=tr.ui.b.constants.HEADING_WIDTH+'px';Polymer.dom(this).appendChild(this.canvas_);this.ctx_=this.canvas_.getContext('2d');this.offsetY_=0;this.viewportChange_=this.viewportChange_.bind(this);this.viewport.addEventListener('change',this.viewportChange_);window.addEventListener('resize',this.windowResized_.bind(this));this.addEventListener('scroll',this.scrollChanged_.bind(this));},get canvas(){return this.canvas_;},context(){return this.ctx_;},viewportChange_(){this.invalidate();},windowResized_(){this.invalidate();},scrollChanged_(){if(this.updateOffsetY_()){this.invalidate();}},invalidate(){if(this.rafPending_)return;this.rafPending_=true;tr.b.requestPreAnimationFrame(this.preDraw_,this);},preDraw_(){this.rafPending_=false;this.updateCanvasSizeIfNeeded_();tr.b.requestAnimationFrameInThisFrameIfPossible(this.draw_,this);},draw_(){this.ctx_.clearRect(0,0,this.canvas_.width,this.canvas_.height);const typesToDraw=[DrawType.BACKGROUND,DrawType.HIGHLIGHTS,DrawType.GRID,DrawType.INSTANT_EVENT,DrawType.GENERAL_EVENT,DrawType.MARKERS,DrawType.ANNOTATIONS,DrawType.FLOW_ARROWS];for(const idx in typesToDraw){for(let i=0;i<this.children.length;++i){if(!(this.children[i]instanceof tr.ui.tracks.Track)){continue;} 9108this.children[i].drawTrack(typesToDraw[idx]);}} 9109const pixelRatio=window.devicePixelRatio||1;const bounds=this.canvas_.getBoundingClientRect();const dt=this.viewport.currentDisplayTransform;const viewLWorld=dt.xViewToWorld(0);const viewRWorld=dt.xViewToWorld(bounds.width*pixelRatio);this.viewport.drawGridLines(this.ctx_,viewLWorld,viewRWorld);},updateOffsetY_(){const maxYDelta=window.innerHeight*REDRAW_SLOP;let newOffset=this.scrollTop-maxYDelta;if(Math.abs(newOffset-this.offsetY_)<=maxYDelta)return false;const maxOffset=this.scrollHeight- 9110this.canvas_.getBoundingClientRect().height;newOffset=Math.max(0,Math.min(newOffset,maxOffset));if(newOffset!==this.offsetY_){this.offsetY_=newOffset;return true;} 9111return false;},updateCanvasSizeIfNeeded_(){const visibleChildTracks=tr.b.asArray(this.children).filter(this.visibleFilter_);if(visibleChildTracks.length===0){return;} 9112const thisBounds=this.getBoundingClientRect();const firstChildTrackBounds=visibleChildTracks[0].getBoundingClientRect();const lastChildTrackBounds=visibleChildTracks[visibleChildTracks.length-1].getBoundingClientRect();const innerWidth=firstChildTrackBounds.width- 9113tr.ui.b.constants.HEADING_WIDTH;const innerHeight=Math.min(lastChildTrackBounds.bottom-firstChildTrackBounds.top,Math.floor(window.innerHeight*MAX_OVERSIZE_MULTIPLE));const pixelRatio=window.devicePixelRatio||1;if(this.canvas_.width!==innerWidth*pixelRatio){this.canvas_.width=innerWidth*pixelRatio;this.canvas_.style.width=innerWidth+'px';} 9114if(this.canvas_.height!==innerHeight*pixelRatio){this.canvas_.height=innerHeight*pixelRatio;this.canvas_.style.height=innerHeight+'px';} 9115if(this.canvas_.top!==this.offsetY_){this.canvas_.top=this.offsetY_;this.canvas_.style.top=this.offsetY_+'px';}},visibleFilter_(element){if(!(element instanceof tr.ui.tracks.Track))return false;return window.getComputedStyle(element).display!=='none';},addClosestEventToSelection(worldX,worldMaxDist,loY,hiY,selection){for(let i=0;i<this.children.length;++i){if(!(this.children[i]instanceof tr.ui.tracks.Track)){continue;} 9116const trackClientRect=this.children[i].getBoundingClientRect();const a=Math.max(loY,trackClientRect.top);const b=Math.min(hiY,trackClientRect.bottom);if(a<=b){this.children[i].addClosestEventToSelection(worldX,worldMaxDist,loY,hiY,selection);}} 9117tr.ui.tracks.Track.prototype.addClosestEventToSelection.apply(this,arguments);},addEventsToTrackMap(eventToTrackMap){for(let i=0;i<this.children.length;++i){if(!(this.children[i]instanceof tr.ui.tracks.Track)){continue;} 9118this.children[i].addEventsToTrackMap(eventToTrackMap);}}};return{DrawingContainer,DrawType,};});'use strict';tr.exportTo('tr.model',function(){const SelectableItem=tr.model.SelectableItem;const SelectionState=tr.model.SelectionState;function ProxySelectableItem(modelItem){SelectableItem.call(this,modelItem);} 9119ProxySelectableItem.prototype={__proto__:SelectableItem.prototype,get selectionState(){const modelItem=this.modelItem_;if(modelItem===undefined){return SelectionState.NONE;} 9120return modelItem.selectionState;}};return{ProxySelectableItem,};});'use strict';tr.exportTo('tr.ui.tracks',function(){const EventPresenter=tr.ui.b.EventPresenter;const SelectionState=tr.model.SelectionState;const LetterDotTrack=tr.ui.b.define('letter-dot-track',tr.ui.tracks.Track);LetterDotTrack.prototype={__proto__:tr.ui.tracks.Track.prototype,decorate(viewport){tr.ui.tracks.Track.prototype.decorate.call(this,viewport);Polymer.dom(this).classList.add('letter-dot-track');this.items_=undefined;this.heading_=document.createElement('tr-ui-b-heading');Polymer.dom(this).appendChild(this.heading_);},set heading(heading){this.heading_.heading=heading;},get heading(){return this.heading_.heading;},set tooltip(tooltip){this.heading_.tooltip=tooltip;},get items(){return this.items_;},set items(items){this.items_=items;this.invalidateDrawingContainer();},get height(){return window.getComputedStyle(this).height;},set height(height){this.style.height=height;},get dumpRadiusView(){return 7*(window.devicePixelRatio||1);},draw(type,viewLWorld,viewRWorld){if(this.items_===undefined)return;switch(type){case tr.ui.tracks.DrawType.GENERAL_EVENT:this.drawLetterDots_(viewLWorld,viewRWorld);break;}},drawLetterDots_(viewLWorld,viewRWorld){const ctx=this.context();const pixelRatio=window.devicePixelRatio||1;const bounds=this.getBoundingClientRect();const height=bounds.height*pixelRatio;const halfHeight=height*0.5;const twoPi=Math.PI*2;const dt=this.viewport.currentDisplayTransform;const dumpRadiusView=this.dumpRadiusView;const itemRadiusWorld=dt.xViewVectorToWorld(height);const items=this.items_;const loI=tr.b.math.findLowIndexInSortedArray(items,function(item){return item.start;},viewLWorld);const oldFont=ctx.font;ctx.font='400 '+Math.floor(9*pixelRatio)+'px Arial';ctx.strokeStyle='rgb(0,0,0)';ctx.textBaseline='middle';ctx.textAlign='center';const drawItems=function(selected){for(let i=loI;i<items.length;++i){const item=items[i];const x=item.start;if(x-itemRadiusWorld>viewRWorld)break;if(item.selected!==selected)continue;const xView=dt.xWorldToView(x);ctx.fillStyle=EventPresenter.getSelectableItemColorAsString(item);ctx.beginPath();ctx.arc(xView,halfHeight,dumpRadiusView+0.5,0,twoPi);ctx.fill();if(item.selected){ctx.lineWidth=3;ctx.strokeStyle='rgb(100,100,0)';ctx.stroke();ctx.beginPath();ctx.arc(xView,halfHeight,dumpRadiusView,0,twoPi);ctx.lineWidth=1.5;ctx.strokeStyle='rgb(255,255,0)';ctx.stroke();}else{ctx.lineWidth=1;ctx.strokeStyle='rgb(0,0,0)';ctx.stroke();} 9121ctx.fillStyle='rgb(255, 255, 255)';ctx.fillText(item.dotLetter,xView,halfHeight);}};drawItems(false);drawItems(true);ctx.lineWidth=1;ctx.font=oldFont;},addEventsToTrackMap(eventToTrackMap){if(this.items_===undefined)return;this.items_.forEach(function(item){item.addToTrackMap(eventToTrackMap,this);},this);},addIntersectingEventsInRangeToSelectionInWorldSpace(loWX,hiWX,viewPixWidthWorld,selection){if(this.items_===undefined)return;const itemRadiusWorld=viewPixWidthWorld*this.dumpRadiusView;tr.b.math.iterateOverIntersectingIntervals(this.items_,function(x){return x.start-itemRadiusWorld;},function(x){return 2*itemRadiusWorld;},loWX,hiWX,function(item){item.addToSelection(selection);}.bind(this));},addEventNearToProvidedEventToSelection(event,offset,selection){if(this.items_===undefined)return;const items=this.items_;const index=tr.b.findFirstIndexInArray(items,function(item){return item.modelItem===event;});if(index===-1)return false;const newIndex=index+offset;if(newIndex>=0&&newIndex<items.length){items[newIndex].addToSelection(selection);return true;} 9122return false;},addAllEventsMatchingFilterToSelection(filter,selection){},addClosestEventToSelection(worldX,worldMaxDist,loY,hiY,selection){if(this.items_===undefined)return;const item=tr.b.math.findClosestElementInSortedArray(this.items_,function(x){return x.start;},worldX,worldMaxDist);if(!item)return;item.addToSelection(selection);}};function LetterDot(modelItem,dotLetter,colorId,start){tr.model.ProxySelectableItem.call(this,modelItem);this.dotLetter=dotLetter;this.colorId=colorId;this.start=start;} 9123LetterDot.prototype={__proto__:tr.model.ProxySelectableItem.prototype};return{LetterDotTrack,LetterDot,};});'use strict';tr.exportTo('tr.ui.tracks',function(){const AlertTrack=tr.ui.b.define('alert-track',tr.ui.tracks.LetterDotTrack);AlertTrack.prototype={__proto__:tr.ui.tracks.LetterDotTrack.prototype,decorate(viewport){tr.ui.tracks.LetterDotTrack.prototype.decorate.call(this,viewport);this.heading='Alerts';this.alerts_=undefined;},get alerts(){return this.alerts_;},set alerts(alerts){this.alerts_=alerts;if(alerts===undefined){this.items=undefined;return;} 9124this.items=this.alerts_.map(function(alert){return new tr.ui.tracks.LetterDot(alert,String.fromCharCode(9888),alert.colorId,alert.start);});}};return{AlertTrack,};});'use strict';tr.exportTo('tr.ui.tracks',function(){const Task=tr.b.Task;const ContainerTrack=tr.ui.b.define('container-track',tr.ui.tracks.Track);ContainerTrack.prototype={__proto__:tr.ui.tracks.Track.prototype,decorate(viewport){tr.ui.tracks.Track.prototype.decorate.call(this,viewport);},detach(){Polymer.dom(this).textContent='';},get tracks_(){const tracks=[];for(let i=0;i<this.children.length;i++){if(this.children[i]instanceof tr.ui.tracks.Track){tracks.push(this.children[i]);}} 9125return tracks;},drawTrack(type){this.tracks_.forEach(function(track){track.drawTrack(type);});},addIntersectingEventsInRangeToSelection(loVX,hiVX,loY,hiY,selection){for(let i=0;i<this.tracks_.length;i++){const trackClientRect=this.tracks_[i].getBoundingClientRect();const a=Math.max(loY,trackClientRect.top);const b=Math.min(hiY,trackClientRect.bottom);if(a<=b){this.tracks_[i].addIntersectingEventsInRangeToSelection(loVX,hiVX,loY,hiY,selection);}} 9126tr.ui.tracks.Track.prototype.addIntersectingEventsInRangeToSelection.apply(this,arguments);},addEventsToTrackMap(eventToTrackMap){for(const track of this.tracks_){track.addEventsToTrackMap(eventToTrackMap);}},addAllEventsMatchingFilterToSelection(filter,selection){for(let i=0;i<this.tracks_.length;i++){this.tracks_[i].addAllEventsMatchingFilterToSelection(filter,selection);}},addAllEventsMatchingFilterToSelectionAsTask(filter,selection){const task=new Task();for(let i=0;i<this.tracks_.length;i++){task.subTask(function(i){return function(){this.tracks_[i].addAllEventsMatchingFilterToSelection(filter,selection);};}(i),this);} 9127return task;},addClosestEventToSelection(worldX,worldMaxDist,loY,hiY,selection){for(let i=0;i<this.tracks_.length;i++){const trackClientRect=this.tracks_[i].getBoundingClientRect();const a=Math.max(loY,trackClientRect.top);const b=Math.min(hiY,trackClientRect.bottom);if(a<=b){this.tracks_[i].addClosestEventToSelection(worldX,worldMaxDist,loY,hiY,selection);}} 9128tr.ui.tracks.Track.prototype.addClosestEventToSelection.apply(this,arguments);},addContainersToTrackMap(containerToTrackMap){this.tracks_.forEach(function(track){track.addContainersToTrackMap(containerToTrackMap);});},clearTracks_(){this.tracks_.forEach(function(track){Polymer.dom(this).removeChild(track);},this);}};return{ContainerTrack,};});'use strict';tr.exportTo('tr.ui.tracks',function(){function ChartPoint(modelItem,x,y,opt_yBase){tr.model.ProxySelectableItem.call(this,modelItem);this.x=x;this.y=y;this.dotLetter=undefined;this.yBase=opt_yBase;} 9129ChartPoint.prototype={__proto__:tr.model.ProxySelectableItem.prototype,};return{ChartPoint,};});'use strict';tr.exportTo('tr.ui.tracks',function(){const ColorScheme=tr.b.ColorScheme;const EventPresenter=tr.ui.b.EventPresenter;const SelectionState=tr.model.SelectionState;const ChartSeriesType={LINE:0,AREA:1};const DEFAULT_RENDERING_CONFIG={chartType:ChartSeriesType.LINE,selectedPointSize:4,unselectedPointSize:3,solidSelectedDots:false,colorId:0,lineWidth:1,skipDistance:1,unselectedPointDensityTransparent:0.10,unselectedPointDensityOpaque:0.05,backgroundOpacity:0.5,stepGraph:true};const LAST_POINT_WIDTH=16;const DOT_LETTER_RADIUS_PX=7;const DOT_LETTER_RADIUS_PADDING_PX=0.5;const DOT_LETTER_SELECTED_OUTLINE_WIDTH_PX=3;const DOT_LETTER_SELECTED_OUTLINE_DETAIL_WIDTH_PX=1.5;const DOT_LETTER_UNSELECTED_OUTLINE_WIDTH_PX=1;const DOT_LETTER_FONT_WEIGHT=400;const DOT_LETTER_FONT_SIZE_PX=9;const DOT_LETTER_FONT='Arial';const ChartSeriesComponent={BACKGROUND:0,LINE:1,DOTS:2};function ChartSeries(points,seriesYAxis,opt_renderingConfig){this.points=points;this.seriesYAxis=seriesYAxis;this.useRenderingConfig_(opt_renderingConfig);} 9130ChartSeries.prototype={useRenderingConfig_(opt_renderingConfig){const config=opt_renderingConfig||{};for(const[key,defaultValue]of 9131Object.entries(DEFAULT_RENDERING_CONFIG)){let value=config[key];if(value===undefined){value=defaultValue;} 9132this[key+'_']=value;} 9133this.topPadding=this.bottomPadding=Math.max(this.selectedPointSize_,this.unselectedPointSize_)/2;},get range(){const range=new tr.b.math.Range();this.points.forEach(function(point){range.addValue(point.y);},this);return range;},draw(ctx,transform,highDetails){if(this.points===undefined||this.points.length===0){return;} 9134if(this.chartType_===ChartSeriesType.AREA){this.drawComponent_(ctx,transform,ChartSeriesComponent.BACKGROUND,highDetails);} 9135if(this.chartType_===ChartSeriesType.LINE||highDetails){this.drawComponent_(ctx,transform,ChartSeriesComponent.LINE,highDetails);} 9136this.drawComponent_(ctx,transform,ChartSeriesComponent.DOTS,highDetails);},drawComponent_(ctx,transform,component,highDetails){let extraPixels=0;if(component===ChartSeriesComponent.DOTS){extraPixels=Math.max(this.selectedPointSize_,this.unselectedPointSize_);} 9137const pixelRatio=transform.pixelRatio;const leftViewX=transform.leftViewX-extraPixels*pixelRatio;const rightViewX=transform.rightViewX+extraPixels*pixelRatio;const leftTimestamp=transform.leftTimestamp-extraPixels;const rightTimestamp=transform.rightTimestamp+extraPixels;const firstVisibleIndex=tr.b.math.findLowIndexInSortedArray(this.points,function(point){return point.x;},leftTimestamp);let lastVisibleIndex=tr.b.math.findLowIndexInSortedArray(this.points,function(point){return point.x;},rightTimestamp);if(lastVisibleIndex>=this.points.length||this.points[lastVisibleIndex].x>rightTimestamp){lastVisibleIndex--;} 9138const viewSkipDistance=this.skipDistance_*pixelRatio;let selectedCircleRadius;let letterDotRadius;let squareSize;let squareHalfSize;let squareOpacity;let unselectedSeriesColor;let currentStateSeriesColor;ctx.save();ctx.font=DOT_LETTER_FONT_WEIGHT+' '+ 9139Math.floor(DOT_LETTER_FONT_SIZE_PX*pixelRatio)+'px '+ 9140DOT_LETTER_FONT;ctx.textBaseline='middle';ctx.textAlign='center';switch(component){case ChartSeriesComponent.DOTS:{selectedCircleRadius=(this.selectedPointSize_/2)*pixelRatio;letterDotRadius=Math.max(selectedCircleRadius,DOT_LETTER_RADIUS_PX*pixelRatio);squareSize=this.unselectedPointSize_*pixelRatio;squareHalfSize=squareSize/2;unselectedSeriesColor=EventPresenter.getCounterSeriesColor(this.colorId_,SelectionState.NONE);if(!highDetails){squareOpacity=0;break;} 9141const visibleIndexRange=lastVisibleIndex-firstVisibleIndex;if(visibleIndexRange<=0){squareOpacity=1;break;} 9142const visibleViewXRange=transform.worldXToViewX(this.points[lastVisibleIndex].x)- 9143transform.worldXToViewX(this.points[firstVisibleIndex].x);if(visibleViewXRange===0){squareOpacity=1;break;} 9144const density=visibleIndexRange/visibleViewXRange;const clampedDensity=tr.b.math.clamp(density,this.unselectedPointDensityOpaque_,this.unselectedPointDensityTransparent_);const densityRange=this.unselectedPointDensityTransparent_- 9145this.unselectedPointDensityOpaque_;squareOpacity=(this.unselectedPointDensityTransparent_-clampedDensity)/densityRange;break;} 9146case ChartSeriesComponent.LINE:ctx.strokeStyle=EventPresenter.getCounterSeriesColor(this.colorId_,SelectionState.NONE);ctx.lineWidth=this.lineWidth_*pixelRatio;break;case ChartSeriesComponent.BACKGROUND:break;default:throw new Error('Invalid component: '+component);} 9147let previousViewX=undefined;let previousViewY=undefined;let previousViewYBase=undefined;let lastSelectionState=undefined;let baseSteps=undefined;const startIndex=Math.max(firstVisibleIndex-1,0);let currentViewX;for(let i=startIndex;i<this.points.length;i++){const currentPoint=this.points[i];currentViewX=transform.worldXToViewX(currentPoint.x);if(currentViewX>rightViewX){if(previousViewX!==undefined){previousViewX=currentViewX=rightViewX;if(component===ChartSeriesComponent.BACKGROUND||component===ChartSeriesComponent.LINE){ctx.lineTo(currentViewX,previousViewY);}} 9148break;} 9149if(i+1<this.points.length){const nextPoint=this.points[i+1];const nextViewX=transform.worldXToViewX(nextPoint.x);if(previousViewX!==undefined&&nextViewX-previousViewX<=viewSkipDistance&&nextViewX<rightViewX){continue;} 9150if(currentViewX<leftViewX){currentViewX=leftViewX;}} 9151if(previousViewX!==undefined&¤tViewX-previousViewX<viewSkipDistance){currentViewX=previousViewX+viewSkipDistance;} 9152const currentViewY=Math.round(transform.worldYToViewY(currentPoint.y));let currentViewYBase;if(currentPoint.yBase===undefined){currentViewYBase=transform.outerBottomViewY;}else{currentViewYBase=Math.round(transform.worldYToViewY(currentPoint.yBase));} 9153const currentSelectionState=currentPoint.selectionState;if(currentSelectionState!==lastSelectionState){const opacity=currentSelectionState===SelectionState.SELECTED?1:squareOpacity;currentStateSeriesColor=EventPresenter.getCounterSeriesColor(this.colorId_,currentSelectionState,opacity);} 9154switch(component){case ChartSeriesComponent.DOTS:if(currentPoint.dotLetter){ctx.fillStyle=unselectedSeriesColor;ctx.strokeStyle=ColorScheme.getColorForReservedNameAsString('black');ctx.beginPath();ctx.arc(currentViewX,currentViewY,letterDotRadius+DOT_LETTER_RADIUS_PADDING_PX,0,2*Math.PI);ctx.fill();if(currentSelectionState===SelectionState.SELECTED){ctx.lineWidth=DOT_LETTER_SELECTED_OUTLINE_WIDTH_PX;ctx.strokeStyle=ColorScheme.getColorForReservedNameAsString('olive');ctx.stroke();ctx.beginPath();ctx.arc(currentViewX,currentViewY,letterDotRadius,0,2*Math.PI);ctx.lineWidth=DOT_LETTER_SELECTED_OUTLINE_DETAIL_WIDTH_PX;ctx.strokeStyle=ColorScheme.getColorForReservedNameAsString('yellow');ctx.stroke();}else{ctx.lineWidth=DOT_LETTER_UNSELECTED_OUTLINE_WIDTH_PX;ctx.strokeStyle=ColorScheme.getColorForReservedNameAsString('black');ctx.stroke();} 9155ctx.fillStyle=ColorScheme.getColorForReservedNameAsString('white');ctx.fillText(currentPoint.dotLetter,currentViewX,currentViewY);}else{ctx.strokeStyle=unselectedSeriesColor;ctx.lineWidth=pixelRatio;if(currentSelectionState===SelectionState.SELECTED){if(this.solidSelectedDots_){ctx.fillStyle=ctx.strokeStyle;}else{ctx.fillStyle=currentStateSeriesColor;} 9156ctx.beginPath();ctx.arc(currentViewX,currentViewY,selectedCircleRadius,0,2*Math.PI);ctx.fill();ctx.stroke();}else if(squareOpacity>0){ctx.fillStyle=currentStateSeriesColor;ctx.fillRect(currentViewX-squareHalfSize,currentViewY-squareHalfSize,squareSize,squareSize);}} 9157break;case ChartSeriesComponent.LINE:if(previousViewX===undefined){ctx.beginPath();ctx.moveTo(currentViewX,currentViewY);}else if(this.stepGraph_){ctx.lineTo(currentViewX,previousViewY);} 9158ctx.lineTo(currentViewX,currentViewY);break;case ChartSeriesComponent.BACKGROUND:if(previousViewX!==undefined&&this.stepGraph_){ctx.lineTo(currentViewX,previousViewY);}else{ctx.lineTo(currentViewX,currentViewY);} 9159if(currentSelectionState!==lastSelectionState){if(previousViewX!==undefined){let previousBaseStepViewX=currentViewX;for(let j=baseSteps.length-1;j>=0;j--){const baseStep=baseSteps[j];const baseStepViewX=baseStep.viewX;const baseStepViewY=baseStep.viewY;ctx.lineTo(previousBaseStepViewX,baseStepViewY);ctx.lineTo(baseStepViewX,baseStepViewY);previousBaseStepViewX=baseStepViewX;} 9160ctx.closePath();ctx.fill();} 9161ctx.beginPath();ctx.fillStyle=EventPresenter.getCounterSeriesColor(this.colorId_,currentSelectionState,this.backgroundOpacity_);ctx.moveTo(currentViewX,currentViewYBase);baseSteps=[];} 9162if(currentViewYBase!==previousViewYBase||currentSelectionState!==lastSelectionState){baseSteps.push({viewX:currentViewX,viewY:currentViewYBase});} 9163ctx.lineTo(currentViewX,currentViewY);break;default:throw new Error('Not reachable');} 9164previousViewX=currentViewX;previousViewY=currentViewY;previousViewYBase=currentViewYBase;lastSelectionState=currentSelectionState;} 9165if(previousViewX!==undefined){switch(component){case ChartSeriesComponent.DOTS:break;case ChartSeriesComponent.LINE:ctx.stroke();break;case ChartSeriesComponent.BACKGROUND:{let previousBaseStepViewX=currentViewX;for(let j=baseSteps.length-1;j>=0;j--){const baseStep=baseSteps[j];const baseStepViewX=baseStep.viewX;const baseStepViewY=baseStep.viewY;ctx.lineTo(previousBaseStepViewX,baseStepViewY);ctx.lineTo(baseStepViewX,baseStepViewY);previousBaseStepViewX=baseStepViewX;} 9166ctx.closePath();ctx.fill();break;} 9167default:throw new Error('Not reachable');}} 9168ctx.restore();},addIntersectingEventsInRangeToSelectionInWorldSpace(loWX,hiWX,viewPixWidthWorld,selection){const points=this.points;function getPointWidth(point,i){if(i===points.length-1){return LAST_POINT_WIDTH*viewPixWidthWorld;} 9169const nextPoint=points[i+1];return nextPoint.x-point.x;} 9170function selectPoint(point){point.addToSelection(selection);} 9171tr.b.math.iterateOverIntersectingIntervals(this.points,function(point){return point.x;},getPointWidth,loWX,hiWX,selectPoint);},addEventNearToProvidedEventToSelection(event,offset,selection){if(this.points===undefined)return false;const index=tr.b.findFirstIndexInArray(this.points,function(point){return point.modelItem===event;},this);if(index===-1)return false;const newIndex=index+offset;if(newIndex<0||newIndex>=this.points.length)return false;this.points[newIndex].addToSelection(selection);return true;},addClosestEventToSelection(worldX,worldMaxDist,loY,hiY,selection){if(this.points===undefined)return;const item=tr.b.math.findClosestElementInSortedArray(this.points,function(point){return point.x;},worldX,worldMaxDist);if(!item)return;item.addToSelection(selection);}};return{ChartSeries,ChartSeriesType,};});'use strict';tr.exportTo('tr.ui.tracks',function(){const ColorScheme=tr.b.ColorScheme;const IDEAL_MAJOR_MARK_HEIGHT_PX=30;const AXIS_LABLE_MARGIN_PX=10;const AXIS_LABLE_FONT_SIZE_PX=9;const AXIS_LABLE_FONT='Arial';function ChartSeriesYAxis(opt_min,opt_max){this.guid_=tr.b.GUID.allocateSimple();this.bounds=new tr.b.math.Range();if(opt_min!==undefined)this.bounds.addValue(opt_min);if(opt_max!==undefined)this.bounds.addValue(opt_max);} 9172ChartSeriesYAxis.prototype={get guid(){return this.guid_;},valueToUnitRange(value){if(this.bounds.isEmpty){throw new Error('Chart series y-axis bounds are empty');} 9173const bounds=this.bounds;if(bounds.range===0)return 0;return(value-bounds.min)/bounds.range;},unitRangeToValue(unitRange){if(this.bounds.isEmpty){throw new Error('Chart series y-axis bounds are empty');} 9174return unitRange*this.bounds.range+this.bounds.min;},autoSetFromSeries(series,opt_config){const range=new tr.b.math.Range();series.forEach(function(s){range.addRange(s.range);},this);this.autoSetFromRange(range,opt_config);},autoSetFromRange(range,opt_config){if(range.isEmpty)return;const bounds=this.bounds;if(bounds.isEmpty){bounds.addRange(range);return;} 9175if(!opt_config)return;const useRangeMin=(opt_config.expandMin&&range.min<bounds.min||opt_config.shrinkMin&&range.min>bounds.min);const useRangeMax=(opt_config.expandMax&&range.max>bounds.max||opt_config.shrinkMax&&range.max<bounds.max);if(!useRangeMin&&!useRangeMax)return;if(useRangeMin&&useRangeMax){bounds.min=range.min;bounds.max=range.max;return;} 9176if(useRangeMin){bounds.min=Math.min(range.min,bounds.max);}else{bounds.max=Math.max(range.max,bounds.min);}},majorMarkHeightWorld_(transform,pixelRatio){const idealMajorMarkHeightPx=IDEAL_MAJOR_MARK_HEIGHT_PX*pixelRatio;const idealMajorMarkHeightWorld=transform.vectorToWorldDistance(idealMajorMarkHeightPx);return tr.b.math.preferredNumberLargerThanMin(idealMajorMarkHeightWorld);},draw(ctx,transform,showYAxisLabels,showYGridLines){if(!showYAxisLabels&&!showYGridLines)return;const pixelRatio=transform.pixelRatio;const viewTop=transform.outerTopViewY;const worldTop=transform.viewYToWorldY(viewTop);const viewBottom=transform.outerBottomViewY;const viewHeight=viewBottom-viewTop;const viewLeft=transform.leftViewX;const viewRight=transform.rightViewX;const labelLeft=transform.leftYLabel;ctx.save();ctx.lineWidth=pixelRatio;ctx.fillStyle=ColorScheme.getColorForReservedNameAsString('black');ctx.textAlign='left';ctx.textBaseline='center';ctx.font=(AXIS_LABLE_FONT_SIZE_PX*pixelRatio)+'px '+AXIS_LABLE_FONT;ctx.beginPath();ctx.strokeStyle=ColorScheme.getColorForReservedNameAsString('black');tr.ui.b.drawLine(ctx,viewLeft,viewTop,viewLeft,viewBottom,viewLeft);ctx.stroke();ctx.closePath();ctx.beginPath();ctx.strokeStyle=ColorScheme.getColorForReservedNameAsString('grey');const majorMarkHeight=this.majorMarkHeightWorld_(transform,pixelRatio);const maxMajorMark=Math.max(transform.viewYToWorldY(viewTop),Math.abs(transform.viewYToWorldY(viewBottom)));for(let curWorldY=0;curWorldY<=maxMajorMark;curWorldY+=majorMarkHeight){const roundedUnitValue=Math.floor(curWorldY*1000000)/1000000;const curViewYPositive=transform.worldYToViewY(curWorldY);if(curViewYPositive>=viewTop){if(showYAxisLabels){ctx.fillText(roundedUnitValue,viewLeft+AXIS_LABLE_MARGIN_PX,curViewYPositive-AXIS_LABLE_MARGIN_PX);} 9177if(showYGridLines){tr.ui.b.drawLine(ctx,viewLeft,curViewYPositive,viewRight,curViewYPositive);}} 9178const curViewYNegative=transform.worldYToViewY(-1*curWorldY);if(curViewYNegative<=viewBottom){if(showYAxisLabels){ctx.fillText(roundedUnitValue,viewLeft+AXIS_LABLE_MARGIN_PX,curViewYNegative-AXIS_LABLE_MARGIN_PX);} 9179if(showYGridLines){tr.ui.b.drawLine(ctx,viewLeft,curViewYNegative,viewRight,curViewYNegative);}}} 9180ctx.stroke();ctx.restore();}};return{ChartSeriesYAxis,};});'use strict';tr.exportTo('tr.ui.tracks',function(){function ChartTransform(displayTransform,axis,trackWidth,trackHeight,topPadding,bottomPadding,pixelRatio){this.pixelRatio=pixelRatio;this.leftViewX=0;this.rightViewX=trackWidth;this.leftTimestamp=displayTransform.xViewToWorld(this.leftViewX);this.rightTimestamp=displayTransform.xViewToWorld(this.rightViewX);this.displayTransform_=displayTransform;this.outerTopViewY=0;this.innerTopViewY=topPadding;this.innerBottomViewY=trackHeight-bottomPadding;this.outerBottomViewY=trackHeight;this.axis_=axis;this.innerHeight_=this.innerBottomViewY-this.innerTopViewY;} 9181ChartTransform.prototype={worldXToViewX(worldX){return this.displayTransform_.xWorldToView(worldX);},viewXToWorldX(viewX){return this.displayTransform_.xViewToWorld(viewX);},vectorToWorldDistance(viewY){return this.axis_.bounds.range*Math.abs(viewY/this.innerHeight_);},viewYToWorldY(viewY){return this.axis_.unitRangeToValue(1-(viewY-this.innerTopViewY)/this.innerHeight_);},worldYToViewY(worldY){const innerHeightCoefficient=1-this.axis_.valueToUnitRange(worldY);return innerHeightCoefficient*this.innerHeight_+this.innerTopViewY;}};return{ChartTransform,};});'use strict';tr.exportTo('tr.ui.tracks',function(){const ChartTrack=tr.ui.b.define('chart-track',tr.ui.tracks.Track);ChartTrack.prototype={__proto__:tr.ui.tracks.Track.prototype,decorate(viewport){tr.ui.tracks.Track.prototype.decorate.call(this,viewport);Polymer.dom(this).classList.add('chart-track');this.series_=undefined;this.axes_=undefined;this.axisGuidToAxisData_=undefined;this.topPadding_=undefined;this.bottomPadding_=undefined;this.showYAxisLabels_=undefined;this.showGridLines_=undefined;this.heading_=document.createElement('tr-ui-b-heading');Polymer.dom(this).appendChild(this.heading_);},set heading(heading){this.heading_.heading=heading;},get heading(){return this.heading_.heading;},set tooltip(tooltip){this.heading_.tooltip=tooltip;},get series(){return this.series_;},set series(series){this.series_=series;this.calculateAxisDataAndPadding_();this.invalidateDrawingContainer();},get height(){return window.getComputedStyle(this).height;},set height(height){this.style.height=height;this.invalidateDrawingContainer();},get showYAxisLabels(){return this.showYAxisLabels_;},set showYAxisLabels(showYAxisLabels){this.showYAxisLabels_=showYAxisLabels;this.invalidateDrawingContainer();},get showGridLines(){return this.showGridLines_;},set showGridLines(showGridLines){this.showGridLines_=showGridLines;this.invalidateDrawingContainer();},get hasVisibleContent(){return!!this.series&&this.series.length>0;},calculateAxisDataAndPadding_(){if(!this.series_){this.axes_=undefined;this.axisGuidToAxisData_=undefined;this.topPadding_=undefined;this.bottomPadding_=undefined;return;} 9182const axisGuidToAxisData={};let topPadding=0;let bottomPadding=0;this.series_.forEach(function(series){const seriesYAxis=series.seriesYAxis;const axisGuid=seriesYAxis.guid;if(!(axisGuid in axisGuidToAxisData)){axisGuidToAxisData[axisGuid]={axis:seriesYAxis,series:[]};if(!this.axes_)this.axes_=[];this.axes_.push(seriesYAxis);} 9183axisGuidToAxisData[axisGuid].series.push(series);topPadding=Math.max(topPadding,series.topPadding);bottomPadding=Math.max(bottomPadding,series.bottomPadding);},this);this.axisGuidToAxisData_=axisGuidToAxisData;this.topPadding_=topPadding;this.bottomPadding_=bottomPadding;},draw(type,viewLWorld,viewRWorld){switch(type){case tr.ui.tracks.DrawType.GENERAL_EVENT:this.drawChart_(viewLWorld,viewRWorld);break;}},drawChart_(viewLWorld,viewRWorld){if(!this.series_)return;const ctx=this.context();const displayTransform=this.viewport.currentDisplayTransform;const pixelRatio=window.devicePixelRatio||1;const bounds=this.getBoundingClientRect();const highDetails=this.viewport.highDetails;const width=bounds.width*pixelRatio;const height=bounds.height*pixelRatio;const topPadding=this.topPadding_*pixelRatio;const bottomPadding=this.bottomPadding_*pixelRatio;ctx.save();ctx.beginPath();ctx.rect(0,0,width,height);ctx.clip();if(this.axes_){if((this.showGridLines_||this.showYAxisLabels_)&&this.axes_.length>1){throw new Error('Only one axis allowed when showing grid lines.');} 9184for(const yAxis of this.axes_){const chartTransform=new tr.ui.tracks.ChartTransform(displayTransform,yAxis,width,height,topPadding,bottomPadding,pixelRatio);yAxis.draw(ctx,chartTransform,this.showYAxisLabels_,this.showGridLines_);}} 9185for(const series of this.series){const chartTransform=new tr.ui.tracks.ChartTransform(displayTransform,series.seriesYAxis,width,height,topPadding,bottomPadding,pixelRatio);series.draw(ctx,chartTransform,highDetails);} 9186ctx.restore();},addEventsToTrackMap(eventToTrackMap){this.series_.forEach(function(series){series.points.forEach(function(point){point.addToTrackMap(eventToTrackMap,this);},this);},this);},addIntersectingEventsInRangeToSelectionInWorldSpace(loWX,hiWX,viewPixWidthWorld,selection){this.series_.forEach(function(series){series.addIntersectingEventsInRangeToSelectionInWorldSpace(loWX,hiWX,viewPixWidthWorld,selection);},this);},addEventNearToProvidedEventToSelection(event,offset,selection){let foundItem=false;this.series_.forEach(function(series){foundItem=foundItem||series.addEventNearToProvidedEventToSelection(event,offset,selection);},this);return foundItem;},addAllEventsMatchingFilterToSelection(filter,selection){},addClosestEventToSelection(worldX,worldMaxDist,loY,hiY,selection){this.series_.forEach(function(series){series.addClosestEventToSelection(worldX,worldMaxDist,loY,hiY,selection);},this);},autoSetAllAxes(opt_config){for(const axisData of Object.values(this.axisGuidToAxisData_)){const seriesYAxis=axisData.axis;const series=axisData.series;seriesYAxis.autoSetFromSeries(series,opt_config);}},autoSetAxis(seriesYAxis,opt_config){const series=this.axisGuidToAxisData_[seriesYAxis.guid].series;seriesYAxis.autoSetFromSeries(series,opt_config);}};return{ChartTrack,};});'use strict';tr.exportTo('tr.ui.tracks',function(){const ColorScheme=tr.b.ColorScheme;const ChartTrack=tr.ui.tracks.ChartTrack;const CpuUsageTrack=tr.ui.b.define('cpu-usage-track',ChartTrack);CpuUsageTrack.prototype={__proto__:ChartTrack.prototype,decorate(viewport){ChartTrack.prototype.decorate.call(this,viewport);this.classList.add('cpu-usage-track');this.heading='CPU usage';this.cpuUsageSeries_=undefined;},initialize(model){if(model!==undefined){this.cpuUsageSeries_=model.device.cpuUsageSeries;}else{this.cpuUsageSeries_=undefined;} 9187this.series=this.buildChartSeries_();this.autoSetAllAxes({expandMax:true});},get hasVisibleContent(){return!!this.cpuUsageSeries_&&this.cpuUsageSeries_.samples.length>0;},addContainersToTrackMap(containerToTrackMap){containerToTrackMap.addContainer(this.series_,this);},buildChartSeries_(yAxis,color){if(!this.hasVisibleContent)return[];yAxis=new tr.ui.tracks.ChartSeriesYAxis(0,undefined);const usageSamples=this.cpuUsageSeries_.samples;const pts=new Array(usageSamples.length+1);for(let i=0;i<usageSamples.length;i++){pts[i]=new tr.ui.tracks.ChartPoint(undefined,usageSamples[i].start,usageSamples[i].usage);} 9188pts[usageSamples.length]=new tr.ui.tracks.ChartPoint(undefined,usageSamples[usageSamples.length-1].start,0);const renderingConfig={chartType:tr.ui.tracks.ChartSeriesType.AREA,colorId:color};return[new tr.ui.tracks.ChartSeries(pts,yAxis,renderingConfig)];},};return{CpuUsageTrack,};});'use strict';tr.exportTo('tr.ui.tracks',function(){const ColorScheme=tr.b.ColorScheme;const ChartTrack=tr.ui.tracks.ChartTrack;const PowerSeriesTrack=tr.ui.b.define('power-series-track',ChartTrack);PowerSeriesTrack.prototype={__proto__:ChartTrack.prototype,decorate(viewport){ChartTrack.prototype.decorate.call(this,viewport);Polymer.dom(this).classList.add('power-series-track');this.heading='Power';this.powerSeries_=undefined;},set powerSeries(powerSeries){this.powerSeries_=powerSeries;this.series=this.buildChartSeries_();this.autoSetAllAxes({expandMax:true});},get hasVisibleContent(){return(this.powerSeries_&&this.powerSeries_.samples.length>0);},addContainersToTrackMap(containerToTrackMap){containerToTrackMap.addContainer(this.powerSeries_,this);},buildChartSeries_(){if(!this.hasVisibleContent)return[];const seriesYAxis=new tr.ui.tracks.ChartSeriesYAxis(0,undefined);const pts=this.powerSeries_.samples.map(function(smpl){return new tr.ui.tracks.ChartPoint(smpl,smpl.start,smpl.powerInW);});const renderingConfig={chartType:tr.ui.tracks.ChartSeriesType.AREA,colorId:ColorScheme.getColorIdForGeneralPurposeString(this.heading)};return[new tr.ui.tracks.ChartSeries(pts,seriesYAxis,renderingConfig)];}};return{PowerSeriesTrack,};});'use strict';tr.exportTo('tr.ui.tracks',function(){const SpacingTrack=tr.ui.b.define('spacing-track',tr.ui.tracks.Track);SpacingTrack.prototype={__proto__:tr.ui.tracks.Track.prototype,decorate(viewport){tr.ui.tracks.Track.prototype.decorate.call(this,viewport);Polymer.dom(this).classList.add('spacing-track');this.heading_=document.createElement('tr-ui-b-heading');Polymer.dom(this).appendChild(this.heading_);},addAllEventsMatchingFilterToSelection(filter,selection){}};return{SpacingTrack,};});'use strict';tr.exportTo('tr.ui.tracks',function(){const ContainerTrack=tr.ui.tracks.ContainerTrack;const DeviceTrack=tr.ui.b.define('device-track',ContainerTrack);DeviceTrack.prototype={__proto__:ContainerTrack.prototype,decorate(viewport){ContainerTrack.prototype.decorate.call(this,viewport);Polymer.dom(this).classList.add('device-track');this.device_=undefined;this.powerSeriesTrack_=undefined;},get device(){return this.device_;},set device(device){this.device_=device;this.updateContents_();},get powerSeriesTrack(){return this.powerSeriesTrack_;},get hasVisibleContent(){return(this.powerSeriesTrack_&&this.powerSeriesTrack_.hasVisibleContent);},addContainersToTrackMap(containerToTrackMap){tr.ui.tracks.ContainerTrack.prototype.addContainersToTrackMap.call(this,containerToTrackMap);containerToTrackMap.addContainer(this.device,this);},addEventsToTrackMap(eventToTrackMap){this.tracks_.forEach(function(track){track.addEventsToTrackMap(eventToTrackMap);});},appendPowerSeriesTrack_(){this.powerSeriesTrack_=new tr.ui.tracks.PowerSeriesTrack(this.viewport);this.powerSeriesTrack_.powerSeries=this.device.powerSeries;if(this.powerSeriesTrack_.hasVisibleContent){Polymer.dom(this).appendChild(this.powerSeriesTrack_);Polymer.dom(this).appendChild(new tr.ui.tracks.SpacingTrack(this.viewport));}},updateContents_(){this.clearTracks_();this.appendPowerSeriesTrack_();}};return{DeviceTrack,};});'use strict';tr.exportTo('tr.ui.tracks',function(){const ColorScheme=tr.b.ColorScheme;const DISPLAYED_SIZE_NUMERIC_NAME=tr.model.MemoryAllocatorDump.DISPLAYED_SIZE_NUMERIC_NAME;const BACKGROUND=tr.model.ContainerMemoryDump.LevelOfDetail.BACKGROUND;const LIGHT=tr.model.ContainerMemoryDump.LevelOfDetail.LIGHT;const DETAILED=tr.model.ContainerMemoryDump.LevelOfDetail.DETAILED;function extractGlobalMemoryDumpUsedSizes(globalMemoryDump,addSize){for(const[pid,pmd]of 9189Object.entries(globalMemoryDump.processMemoryDumps)){const mostRecentVmRegions=pmd.mostRecentVmRegions;if(mostRecentVmRegions===undefined)continue;addSize(pid,mostRecentVmRegions.byteStats.proportionalResident||0,pmd.process.userFriendlyName);}} 9190function extractProcessMemoryDumpAllocatorSizes(processMemoryDump,addSize){const allocatorDumps=processMemoryDump.memoryAllocatorDumps;if(allocatorDumps===undefined)return;allocatorDumps.forEach(function(allocatorDump){if(allocatorDump.fullName==='tracing')return;const allocatorSize=allocatorDump.numerics[DISPLAYED_SIZE_NUMERIC_NAME];if(allocatorSize===undefined)return;const allocatorSizeValue=allocatorSize.value;if(allocatorSizeValue===undefined)return;addSize(allocatorDump.fullName,allocatorSizeValue);});} 9191function extractGlobalMemoryDumpAllocatorSizes(globalMemoryDump,addSize){for(const pmd of Object.values(globalMemoryDump.processMemoryDumps)){extractProcessMemoryDumpAllocatorSizes(pmd,addSize);}} 9192function buildMemoryChartSeries(memoryDumps,dumpSizeExtractor){const dumpCount=memoryDumps.length;const idToTimestampToPoint={};const idToName={};memoryDumps.forEach(function(dump,index){dumpSizeExtractor(dump,function addSize(id,size,opt_name){let timestampToPoint=idToTimestampToPoint[id];if(timestampToPoint===undefined){idToTimestampToPoint[id]=timestampToPoint=new Array(dumpCount);for(let i=0;i<dumpCount;i++){const modelItem=memoryDumps[i];timestampToPoint[i]=new tr.ui.tracks.ChartPoint(modelItem,modelItem.start,0);}} 9193timestampToPoint[index].y+=size;if(opt_name!==undefined)idToName[id]=opt_name;});});const ids=Object.keys(idToTimestampToPoint);if(ids.length===0)return undefined;ids.sort();for(let i=0;i<dumpCount;i++){let baseSize=0;for(let j=ids.length-1;j>=0;j--){const point=idToTimestampToPoint[ids[j]][i];point.yBase=baseSize;point.y+=baseSize;baseSize=point.y;}} 9194const seriesYAxis=new tr.ui.tracks.ChartSeriesYAxis(0);const series=ids.map(function(id){const colorId=ColorScheme.getColorIdForGeneralPurposeString(idToName[id]||id);const renderingConfig={chartType:tr.ui.tracks.ChartSeriesType.AREA,colorId,backgroundOpacity:0.8};return new tr.ui.tracks.ChartSeries(idToTimestampToPoint[id],seriesYAxis,renderingConfig);});series.reverse();return series;} 9195function buildMemoryLetterDots(memoryDumps){const backgroundMemoryColorId=ColorScheme.getColorIdForReservedName('background_memory_dump');const lightMemoryColorId=ColorScheme.getColorIdForReservedName('light_memory_dump');const detailedMemoryColorId=ColorScheme.getColorIdForReservedName('detailed_memory_dump');return memoryDumps.map(function(memoryDump){let memoryColorId;switch(memoryDump.levelOfDetail){case BACKGROUND:memoryColorId=backgroundMemoryColorId;break;case DETAILED:memoryColorId=detailedMemoryColorId;break;case LIGHT:default:memoryColorId=lightMemoryColorId;} 9196return new tr.ui.tracks.LetterDot(memoryDump,'M',memoryColorId,memoryDump.start);});} 9197function buildGlobalUsedMemoryChartSeries(globalMemoryDumps){return buildMemoryChartSeries(globalMemoryDumps,extractGlobalMemoryDumpUsedSizes);} 9198function buildProcessAllocatedMemoryChartSeries(processMemoryDumps){return buildMemoryChartSeries(processMemoryDumps,extractProcessMemoryDumpAllocatorSizes);} 9199function buildGlobalAllocatedMemoryChartSeries(globalMemoryDumps){return buildMemoryChartSeries(globalMemoryDumps,extractGlobalMemoryDumpAllocatorSizes);} 9200return{buildMemoryLetterDots,buildGlobalUsedMemoryChartSeries,buildProcessAllocatedMemoryChartSeries,buildGlobalAllocatedMemoryChartSeries,};});'use strict';tr.exportTo('tr.ui.tracks',function(){const USED_MEMORY_TRACK_HEIGHT=50;const ALLOCATED_MEMORY_TRACK_HEIGHT=50;const GlobalMemoryDumpTrack=tr.ui.b.define('global-memory-dump-track',tr.ui.tracks.ContainerTrack);GlobalMemoryDumpTrack.prototype={__proto__:tr.ui.tracks.ContainerTrack.prototype,decorate(viewport){tr.ui.tracks.ContainerTrack.prototype.decorate.call(this,viewport);this.memoryDumps_=undefined;},get memoryDumps(){return this.memoryDumps_;},set memoryDumps(memoryDumps){this.memoryDumps_=memoryDumps;this.updateContents_();},updateContents_(){this.clearTracks_();if(!this.memoryDumps_||!this.memoryDumps_.length)return;this.appendDumpDotsTrack_();this.appendUsedMemoryTrack_();this.appendAllocatedMemoryTrack_();},appendDumpDotsTrack_(){const items=tr.ui.tracks.buildMemoryLetterDots(this.memoryDumps_);if(!items)return;const track=new tr.ui.tracks.LetterDotTrack(this.viewport);track.heading='Memory Dumps';track.items=items;Polymer.dom(this).appendChild(track);},appendUsedMemoryTrack_(){const series=tr.ui.tracks.buildGlobalUsedMemoryChartSeries(this.memoryDumps_);if(!series)return;const track=new tr.ui.tracks.ChartTrack(this.viewport);track.heading='Memory per process';track.height=USED_MEMORY_TRACK_HEIGHT+'px';track.series=series;track.autoSetAllAxes({expandMax:true});Polymer.dom(this).appendChild(track);},appendAllocatedMemoryTrack_(){const series=tr.ui.tracks.buildGlobalAllocatedMemoryChartSeries(this.memoryDumps_);if(!series)return;const track=new tr.ui.tracks.ChartTrack(this.viewport);track.heading='Memory per component';track.height=ALLOCATED_MEMORY_TRACK_HEIGHT+'px';track.series=series;track.autoSetAllAxes({expandMax:true});Polymer.dom(this).appendChild(track);}};return{GlobalMemoryDumpTrack,};});'use strict';tr.exportTo('tr.ui.b',function(){function FastRectRenderer(ctx,minRectSize,maxMergeDist,pallette){this.ctx_=ctx;this.minRectSize_=minRectSize;this.maxMergeDist_=maxMergeDist;this.pallette_=pallette;} 9201FastRectRenderer.prototype={y_:0,h_:0,merging_:false,mergeStartX_:0,mergeCurRight_:0,mergedColorId_:0,mergedAlpha_:0,setYandH(y,h){if(this.y_===y&&this.h_===h){return;} 9202this.flush();this.y_=y;this.h_=h;},fillRect(x,w,colorId,alpha){const r=x+w;if(w<this.minRectSize_){if(r-this.mergeStartX_>this.maxMergeDist_){this.flush();} 9203if(!this.merging_){this.merging_=true;this.mergeStartX_=x;this.mergeCurRight_=r;this.mergedColorId_=colorId;this.mergedAlpha_=alpha;}else{this.mergeCurRight_=r;if(this.mergedAlpha_<alpha||(this.mergedAlpha_===alpha&&this.mergedColorId_<colorId)){this.mergedAlpha_=alpha;this.mergedColorId_=colorId;}}}else{if(this.merging_){this.flush();} 9204this.ctx_.fillStyle=this.pallette_[colorId];this.ctx_.globalAlpha=alpha;this.ctx_.fillRect(x,this.y_,w,this.h_);}},flush(){if(this.merging_){this.ctx_.fillStyle=this.pallette_[this.mergedColorId_];this.ctx_.globalAlpha=this.mergedAlpha_;this.ctx_.fillRect(this.mergeStartX_,this.y_,this.mergeCurRight_-this.mergeStartX_,this.h_);this.merging_=false;}}};return{FastRectRenderer,};});'use strict';tr.exportTo('tr.ui.tracks',function(){const RectTrack=tr.ui.b.define('rect-track',tr.ui.tracks.Track);RectTrack.prototype={__proto__:tr.ui.tracks.Track.prototype,decorate(viewport){tr.ui.tracks.Track.prototype.decorate.call(this,viewport);Polymer.dom(this).classList.add('rect-track');this.asyncStyle_=false;this.rects_=null;this.heading_=document.createElement('tr-ui-b-heading');Polymer.dom(this).appendChild(this.heading_);},set heading(heading){this.heading_.heading=heading;},get heading(){return this.heading_.heading;},set tooltip(tooltip){this.heading_.tooltip=tooltip;},set selectionGenerator(generator){this.heading_.selectionGenerator=generator;},set expanded(expanded){this.heading_.expanded=!!expanded;},set arrowVisible(arrowVisible){this.heading_.arrowVisible=!!arrowVisible;},get expanded(){return this.heading_.expanded;},get asyncStyle(){return this.asyncStyle_;},set asyncStyle(v){this.asyncStyle_=!!v;},get rects(){return this.rects_;},set rects(rects){this.rects_=rects||[];this.invalidateDrawingContainer();},get height(){return window.getComputedStyle(this).height;},set height(height){this.style.height=height;this.invalidateDrawingContainer();},get hasVisibleContent(){return this.rects_.length>0;},draw(type,viewLWorld,viewRWorld){switch(type){case tr.ui.tracks.DrawType.GENERAL_EVENT:this.drawRects_(viewLWorld,viewRWorld);break;}},drawRects_(viewLWorld,viewRWorld){const ctx=this.context();ctx.save();const bounds=this.getBoundingClientRect();tr.ui.b.drawSlices(ctx,this.viewport.currentDisplayTransform,viewLWorld,viewRWorld,bounds.height,this.rects_,this.asyncStyle_);ctx.restore();if(bounds.height<=6)return;let fontSize;let yOffset;if(bounds.height<15){fontSize=6;yOffset=1.0;}else{fontSize=10;yOffset=2.5;} 9205tr.ui.b.drawLabels(ctx,this.viewport.currentDisplayTransform,viewLWorld,viewRWorld,this.rects_,this.asyncStyle_,fontSize,yOffset);},addEventsToTrackMap(eventToTrackMap){if(this.rects_===undefined||this.rects_===null){return;} 9206this.rects_.forEach(function(rect){rect.addToTrackMap(eventToTrackMap,this);},this);},addIntersectingEventsInRangeToSelectionInWorldSpace(loWX,hiWX,viewPixWidthWorld,selection){function onRect(rect){rect.addToSelection(selection);} 9207onRect=onRect.bind(this);const instantEventWidth=2*viewPixWidthWorld;tr.b.math.iterateOverIntersectingIntervals(this.rects_,function(x){return x.start;},function(x){return x.duration===0?x.duration+instantEventWidth:x.duration;},loWX,hiWX,onRect);},addEventNearToProvidedEventToSelection(event,offset,selection){const index=tr.b.findFirstIndexInArray(this.rects_,function(rect){return rect.modelItem===event;});if(index===-1)return false;const newIndex=index+offset;if(newIndex<0||newIndex>=this.rects_.length)return false;this.rects_[newIndex].addToSelection(selection);return true;},addAllEventsMatchingFilterToSelection(filter,selection){for(let i=0;i<this.rects_.length;++i){const modelItem=this.rects_[i].modelItem;if(!modelItem)continue;if(filter.matchSlice(modelItem)){selection.push(modelItem);}}},addClosestEventToSelection(worldX,worldMaxDist,loY,hiY,selection){const rect=tr.b.math.findClosestIntervalInSortedIntervals(this.rects_,function(x){return x.start;},function(x){return x.end;},worldX,worldMaxDist);if(!rect)return;rect.addToSelection(selection);}};function Rect(modelItem,title,colorId,start,duration){tr.model.ProxySelectableItem.call(this,modelItem);this.title=title;this.colorId=colorId;this.start=start;this.duration=duration;this.end=start+duration;} 9208Rect.prototype={__proto__:tr.model.ProxySelectableItem.prototype};return{RectTrack,Rect,};});'use strict';tr.exportTo('tr.ui.tracks',function(){const SliceTrack=tr.ui.b.define('slice-track',tr.ui.tracks.RectTrack);SliceTrack.prototype={__proto__:tr.ui.tracks.RectTrack.prototype,decorate(viewport){tr.ui.tracks.RectTrack.prototype.decorate.call(this,viewport);},get slices(){return this.rects;},set slices(slices){this.rects=slices;}};return{SliceTrack,};});'use strict';tr.exportTo('tr.ui.tracks',function(){const CpuTrack=tr.ui.b.define('cpu-track',tr.ui.tracks.ContainerTrack);CpuTrack.prototype={__proto__:tr.ui.tracks.ContainerTrack.prototype,decorate(viewport){tr.ui.tracks.ContainerTrack.prototype.decorate.call(this,viewport);Polymer.dom(this).classList.add('cpu-track');this.detailedMode_=true;},get cpu(){return this.cpu_;},set cpu(cpu){this.cpu_=cpu;this.updateContents_();},get detailedMode(){return this.detailedMode_;},set detailedMode(detailedMode){this.detailedMode_=detailedMode;this.updateContents_();},get tooltip(){return this.tooltip_;},set tooltip(value){this.tooltip_=value;this.updateContents_();},get hasVisibleContent(){if(this.cpu_===undefined)return false;const cpu=this.cpu_;if(cpu.slices.length)return true;if(cpu.samples&&cpu.samples.length)return true;if(Object.keys(cpu.counters).length>0)return true;return false;},updateContents_(){this.detach();if(!this.cpu_)return;const slices=this.cpu_.slices;if(slices.length){const track=new tr.ui.tracks.SliceTrack(this.viewport);track.slices=slices;track.heading=this.cpu_.userFriendlyName+':';Polymer.dom(this).appendChild(track);} 9209if(this.detailedMode_){this.appendSamplesTracks_();for(const counterName in this.cpu_.counters){const counter=this.cpu_.counters[counterName];const track=new tr.ui.tracks.CounterTrack(this.viewport);track.heading=this.cpu_.userFriendlyName+' '+ 9210counter.name+':';track.counter=counter;Polymer.dom(this).appendChild(track);}}},appendSamplesTracks_(){const samples=this.cpu_.samples;if(samples===undefined||samples.length===0){return;} 9211const samplesByTitle={};samples.forEach(function(sample){if(samplesByTitle[sample.title]===undefined){samplesByTitle[sample.title]=[];} 9212samplesByTitle[sample.title].push(sample);});const sampleTitles=Object.keys(samplesByTitle);sampleTitles.sort();sampleTitles.forEach(function(sampleTitle){const samples=samplesByTitle[sampleTitle];const samplesTrack=new tr.ui.tracks.SliceTrack(this.viewport);samplesTrack.group=this.cpu_;samplesTrack.slices=samples;samplesTrack.heading=this.cpu_.userFriendlyName+': '+ 9213sampleTitle;samplesTrack.tooltip=this.cpu_.userFriendlyDetails;samplesTrack.selectionGenerator=function(){const selection=new tr.model.EventSet();for(let i=0;i<samplesTrack.slices.length;i++){selection.push(samplesTrack.slices[i]);} 9214return selection;};Polymer.dom(this).appendChild(samplesTrack);},this);}};return{CpuTrack,};});'use strict';tr.exportTo('tr.model',function(){const Settings=tr.b.Settings;function ModelSettings(model){this.model=model;this.objectsByKey_=[];this.nonuniqueKeys_=[];this.buildObjectsByKeyMap_();this.removeNonuniqueKeysFromSettings_();this.ephemeralSettingsByGUID_={};} 9215ModelSettings.prototype={buildObjectsByKeyMap_(){const objects=[];this.model.iterateAllPersistableObjects(function(o){objects.push(o);});const objectsByKey={};const NONUNIQUE_KEY='nonuniqueKey';for(let i=0;i<objects.length;i++){const object=objects[i];const objectKey=object.getSettingsKey();if(!objectKey)continue;if(objectsByKey[objectKey]===undefined){objectsByKey[objectKey]=object;continue;} 9216objectsByKey[objectKey]=NONUNIQUE_KEY;} 9217const nonuniqueKeys={};Object.keys(objectsByKey).forEach(function(objectKey){if(objectsByKey[objectKey]!==NONUNIQUE_KEY){return;} 9218delete objectsByKey[objectKey];nonuniqueKeys[objectKey]=true;});this.nonuniqueKeys=nonuniqueKeys;this.objectsByKey_=objectsByKey;},removeNonuniqueKeysFromSettings_(){const settings=Settings.get('trace_model_settings',{});let settingsChanged=false;Object.keys(settings).forEach(function(objectKey){if(!this.nonuniqueKeys[objectKey]){return;} 9219settingsChanged=true;delete settings[objectKey];},this);if(settingsChanged){Settings.set('trace_model_settings',settings);}},hasUniqueSettingKey(object){const objectKey=object.getSettingsKey();if(!objectKey)return false;return this.objectsByKey_[objectKey]!==undefined;},getSettingFor(object,objectLevelKey,defaultValue){const objectKey=object.getSettingsKey();if(!objectKey||!this.objectsByKey_[objectKey]){const settings=this.getEphemeralSettingsFor_(object);const ephemeralValue=settings[objectLevelKey];if(ephemeralValue!==undefined){return ephemeralValue;} 9220return defaultValue;} 9221const settings=Settings.get('trace_model_settings',{});if(!settings[objectKey]){settings[objectKey]={};} 9222const value=settings[objectKey][objectLevelKey];if(value!==undefined){return value;} 9223return defaultValue;},setSettingFor(object,objectLevelKey,value){const objectKey=object.getSettingsKey();if(!objectKey||!this.objectsByKey_[objectKey]){this.getEphemeralSettingsFor_(object)[objectLevelKey]=value;return;} 9224const settings=Settings.get('trace_model_settings',{});if(!settings[objectKey]){settings[objectKey]={};} 9225if(settings[objectKey][objectLevelKey]===value){return;} 9226settings[objectKey][objectLevelKey]=value;Settings.set('trace_model_settings',settings);},getEphemeralSettingsFor_(object){if(object.guid===undefined){throw new Error('Only objects with GUIDs can be persisted');} 9227if(this.ephemeralSettingsByGUID_[object.guid]===undefined){this.ephemeralSettingsByGUID_[object.guid]={};} 9228return this.ephemeralSettingsByGUID_[object.guid];}};return{ModelSettings,};});'use strict';tr.exportTo('tr.ui.tracks',function(){const CounterTrack=tr.ui.b.define('counter-track',tr.ui.tracks.ChartTrack);CounterTrack.prototype={__proto__:tr.ui.tracks.ChartTrack.prototype,decorate(viewport){tr.ui.tracks.ChartTrack.prototype.decorate.call(this,viewport);Polymer.dom(this).classList.add('counter-track');},get counter(){return this.chart;},set counter(counter){this.heading=counter.name+': ';this.series=CounterTrack.buildChartSeriesFromCounter(counter);this.autoSetAllAxes({expandMax:true});},getModelEventFromItem(chartValue){return chartValue;}};CounterTrack.buildChartSeriesFromCounter=function(counter){const numSeries=counter.series.length;const totals=counter.totals;const seriesYAxis=new tr.ui.tracks.ChartSeriesYAxis(0,undefined);const chartSeries=counter.series.map(function(series,seriesIndex){const chartPoints=series.samples.map(function(sample,sampleIndex){const total=totals[sampleIndex*numSeries+seriesIndex];return new tr.ui.tracks.ChartPoint(sample,sample.timestamp,total);});const renderingConfig={chartType:tr.ui.tracks.ChartSeriesType.AREA,colorId:series.color};return new tr.ui.tracks.ChartSeries(chartPoints,seriesYAxis,renderingConfig);});chartSeries.reverse();return chartSeries;};return{CounterTrack,};});'use strict';tr.exportTo('tr.ui.tracks',function(){const startCompare=function(x,y){return x.start-y.start;};const FrameTrack=tr.ui.b.define('frame-track',tr.ui.tracks.LetterDotTrack);FrameTrack.prototype={__proto__:tr.ui.tracks.LetterDotTrack.prototype,decorate(viewport){tr.ui.tracks.LetterDotTrack.prototype.decorate.call(this,viewport);this.heading='Frames';this.frames_=undefined;this.items=undefined;},get frames(){return this.frames_;},set frames(frames){this.frames_=frames;if(frames===undefined)return;this.frames_=this.frames_.slice();this.frames_.sort(startCompare);this.items=this.frames_.map(function(frame){return new FrameDot(frame);});}};function FrameDot(frame){tr.ui.tracks.LetterDot.call(this,frame,'F',frame.colorId,frame.start);} 9229FrameDot.prototype={__proto__:tr.ui.tracks.LetterDot.prototype};return{FrameTrack,};});'use strict';tr.exportTo('tr.ui.tracks',function(){const MultiRowTrack=tr.ui.b.define('multi-row-track',tr.ui.tracks.ContainerTrack);MultiRowTrack.prototype={__proto__:tr.ui.tracks.ContainerTrack.prototype,decorate(viewport){tr.ui.tracks.ContainerTrack.prototype.decorate.call(this,viewport);this.tooltip_='';this.heading_='';this.groupingSource_=undefined;this.itemsToGroup_=undefined;this.defaultToCollapsedWhenSubRowCountMoreThan=1;this.itemsGroupedOnLastUpdateContents_=undefined;this.currentSubRows_=[];this.expanded_=true;},get itemsToGroup(){return this.itemsToGroup_;},setItemsToGroup(itemsToGroup,opt_groupingSource){this.itemsToGroup_=itemsToGroup;this.groupingSource_=opt_groupingSource;this.updateContents_();this.updateExpandedStateFromGroupingSource_();},get heading(){return this.heading_;},set heading(h){this.heading_=h;this.updateContents_();},get tooltip(){return this.tooltip_;},set tooltip(t){this.tooltip_=t;this.updateContents_();},get subRows(){return this.currentSubRows_;},get hasVisibleContent(){return this.children.length>0;},get expanded(){return this.expanded_;},set expanded(expanded){if(this.expanded_===expanded)return;this.expanded_=expanded;this.expandedStateChanged_();},onHeadingClicked_(e){if(this.subRows.length<=1)return;this.expanded=!this.expanded;if(this.groupingSource_){const modelSettings=new tr.model.ModelSettings(this.groupingSource_.model);modelSettings.setSettingFor(this.groupingSource_,'expanded',this.expanded);} 9230e.stopPropagation();},updateExpandedStateFromGroupingSource_(){if(this.groupingSource_){const numSubRows=this.subRows.length;const modelSettings=new tr.model.ModelSettings(this.groupingSource_.model);if(numSubRows>1){let defaultExpanded;if(numSubRows>this.defaultToCollapsedWhenSubRowCountMoreThan){defaultExpanded=false;}else{defaultExpanded=true;} 9231this.expanded=modelSettings.getSettingFor(this.groupingSource_,'expanded',defaultExpanded);}else{this.expanded=undefined;}}},expandedStateChanged_(){const minH=Math.max(2,Math.ceil(18/this.children.length));const h=(this.expanded_?18:minH)+'px';for(let i=0;i<this.children.length;i++){this.children[i].height=h;if(i===0){this.children[i].arrowVisible=true;} 9232this.children[i].expanded=this.expanded;} 9233if(this.children.length===1){this.children[0].expanded=true;this.children[0].arrowVisible=false;}},updateContents_(){tr.ui.tracks.ContainerTrack.prototype.updateContents_.call(this);if(!this.itemsToGroup_){this.updateHeadingAndTooltip_();this.currentSubRows_=[];return;} 9234if(this.areArrayContentsSame_(this.itemsGroupedOnLastUpdateContents_,this.itemsToGroup_)){this.updateHeadingAndTooltip_();return;} 9235this.itemsGroupedOnLastUpdateContents_=this.itemsToGroup_;this.detach();if(!this.itemsToGroup_.length){this.currentSubRows_=[];return;} 9236const subRows=this.buildSubRows_(this.itemsToGroup_);this.currentSubRows_=subRows;for(let srI=0;srI<subRows.length;srI++){const subRow=subRows[srI];if(!subRow.length)continue;const track=this.addSubTrack_(subRow);track.addEventListener('heading-clicked',this.onHeadingClicked_.bind(this));} 9237this.updateHeadingAndTooltip_();this.expandedStateChanged_();},updateHeadingAndTooltip_(){if(!Polymer.dom(this).firstChild)return;Polymer.dom(this).firstChild.heading=this.heading_;Polymer.dom(this).firstChild.tooltip=this.tooltip_;},buildSubRows_(itemsToGroup){throw new Error('Not implemented');},addSubTrack_(subRowItems){throw new Error('Not implemented');},areArrayContentsSame_(a,b){if(!a||!b)return false;if(!a.length||!b.length)return false;if(a.length!==b.length)return false;for(let i=0;i<a.length;++i){if(a[i]!==b[i])return false;} 9238return true;}};return{MultiRowTrack,};});'use strict';tr.exportTo('tr.ui.tracks',function(){const ObjectInstanceGroupTrack=tr.ui.b.define('object-instance-group-track',tr.ui.tracks.MultiRowTrack);ObjectInstanceGroupTrack.prototype={__proto__:tr.ui.tracks.MultiRowTrack.prototype,decorate(viewport){tr.ui.tracks.MultiRowTrack.prototype.decorate.call(this,viewport);Polymer.dom(this).classList.add('object-instance-group-track');this.objectInstances_=undefined;},get objectInstances(){return this.itemsToGroup;},set objectInstances(objectInstances){this.setItemsToGroup(objectInstances);},addSubTrack_(objectInstances){const hasMultipleRows=this.subRows.length>1;const track=new tr.ui.tracks.ObjectInstanceTrack(this.viewport);track.objectInstances=objectInstances;Polymer.dom(this).appendChild(track);return track;},buildSubRows_(objectInstances){objectInstances.sort(function(x,y){return x.creationTs-y.creationTs;});const subRows=[];for(let i=0;i<objectInstances.length;i++){const objectInstance=objectInstances[i];let found=false;for(let j=0;j<subRows.length;j++){const subRow=subRows[j];const lastItemInSubRow=subRow[subRow.length-1];if(objectInstance.creationTs>=lastItemInSubRow.deletionTs){found=true;subRow.push(objectInstance);break;}} 9239if(!found){subRows.push([objectInstance]);}} 9240return subRows;},updateHeadingAndTooltip_(){}};return{ObjectInstanceGroupTrack,};});'use strict';tr.exportTo('tr.ui.tracks',function(){const AsyncSliceGroupTrack=tr.ui.b.define('async-slice-group-track',tr.ui.tracks.MultiRowTrack);AsyncSliceGroupTrack.prototype={__proto__:tr.ui.tracks.MultiRowTrack.prototype,decorate(viewport){tr.ui.tracks.MultiRowTrack.prototype.decorate.call(this,viewport);Polymer.dom(this).classList.add('async-slice-group-track');this.group_=undefined;},addSubTrack_(slices){const track=new tr.ui.tracks.SliceTrack(this.viewport);track.slices=slices;Polymer.dom(this).appendChild(track);track.asyncStyle=true;return track;},get group(){return this.group_;},set group(group){this.group_=group;this.setItemsToGroup(this.group_.slices,this.group_);},get eventContainer(){return this.group;},addContainersToTrackMap(containerToTrackMap){tr.ui.tracks.MultiRowTrack.prototype.addContainersToTrackMap.apply(this,arguments);containerToTrackMap.addContainer(this.group,this);},buildSubRows_(slices,opt_skipSort){if(!opt_skipSort){slices.sort(function(x,y){return x.start-y.start;});} 9241const findLevel=function(sliceToPut,rows,n){if(n>=rows.length){return true;} 9242const subRow=rows[n];const lastSliceInSubRow=subRow[subRow.length-1];if(sliceToPut.start>=lastSliceInSubRow.end){if(sliceToPut.subSlices===undefined||sliceToPut.subSlices.length===0){return true;} 9243for(const subSlice of sliceToPut.subSlices){if(!findLevel(subSlice,rows,n+1)){return false;}} 9244return true;} 9245return false;};const subRows=[];for(const slice of slices){let found=false;let index=subRows.length;for(let j=0;j<subRows.length;j++){if(findLevel(slice,subRows,j)){found=true;index=j;break;}} 9246if(!found){subRows.push([]);} 9247subRows[index].push(slice);const fitSubSlicesRecursively=function(subSlices,level,rows){if(subSlices===undefined||subSlices.length===0){return;} 9248if(level===rows.length){rows.push([]);} 9249for(const subSlice of subSlices){rows[level].push(subSlice);fitSubSlicesRecursively(subSlice.subSlices,level+1,rows);}};fitSubSlicesRecursively(slice.subSlices,index+1,subRows);} 9250return subRows;}};return{AsyncSliceGroupTrack,};});'use strict';tr.exportTo('tr.ui.tracks',function(){const SampleTrack=tr.ui.b.define('sample-track',tr.ui.tracks.RectTrack);SampleTrack.prototype={__proto__:tr.ui.tracks.RectTrack.prototype,decorate(viewport){tr.ui.tracks.RectTrack.prototype.decorate.call(this,viewport);},get samples(){return this.rects;},set samples(samples){this.rects=samples;}};return{SampleTrack,};});'use strict';tr.exportTo('tr.ui.tracks',function(){const SliceGroupTrack=tr.ui.b.define('slice-group-track',tr.ui.tracks.MultiRowTrack);SliceGroupTrack.prototype={__proto__:tr.ui.tracks.MultiRowTrack.prototype,decorate(viewport){tr.ui.tracks.MultiRowTrack.prototype.decorate.call(this,viewport);Polymer.dom(this).classList.add('slice-group-track');this.group_=undefined;this.defaultToCollapsedWhenSubRowCountMoreThan=100;},addSubTrack_(slices){const track=new tr.ui.tracks.SliceTrack(this.viewport);track.slices=slices;Polymer.dom(this).appendChild(track);return track;},get group(){return this.group_;},set group(group){this.group_=group;this.setItemsToGroup(this.group_.slices,this.group_);},get eventContainer(){return this.group;},addContainersToTrackMap(containerToTrackMap){tr.ui.tracks.MultiRowTrack.prototype.addContainersToTrackMap.apply(this,arguments);containerToTrackMap.addContainer(this.group,this);},buildSubRows_(slices){const precisionUnit=this.group.model.intrinsicTimeUnit;if(!slices.length)return[];const ops=[];for(let i=0;i<slices.length;i++){if(slices[i].subSlices){slices[i].subSlices.splice(0,slices[i].subSlices.length);} 9251ops.push(i);} 9252ops.sort(function(ix,iy){const x=slices[ix];const y=slices[iy];if(x.start!==y.start)return x.start-y.start;return ix-iy;});const subRows=[[]];this.badSlices_=[];for(let i=0;i<ops.length;i++){const op=ops[i];const slice=slices[op];let inserted=false;for(let j=subRows.length-1;j>=0;j--){if(subRows[j].length===0)continue;const insertedSlice=subRows[j][subRows[j].length-1];if(slice.start<insertedSlice.start){this.badSlices_.push(slice);inserted=true;} 9253if(insertedSlice.bounds(slice,precisionUnit)){while(subRows.length<=j+1){subRows.push([]);} 9254subRows[j+1].push(slice);if(insertedSlice.subSlices){insertedSlice.subSlices.push(slice);} 9255inserted=true;break;}} 9256if(inserted)continue;subRows[0].push(slice);} 9257return subRows;}};return{SliceGroupTrack,};});'use strict';tr.exportTo('tr.ui.tracks',function(){const ThreadTrack=tr.ui.b.define('thread-track',tr.ui.tracks.ContainerTrack);ThreadTrack.prototype={__proto__:tr.ui.tracks.ContainerTrack.prototype,decorate(viewport){tr.ui.tracks.ContainerTrack.prototype.decorate.call(this,viewport);Polymer.dom(this).classList.add('thread-track');this.heading_=document.createElement('tr-ui-b-heading');},get thread(){return this.thread_;},set thread(thread){this.thread_=thread;this.updateContents_();},get hasVisibleContent(){return this.tracks_.length>0;},get hasSlices(){return this.thread_.asyncSliceGroup.length>0||this.thread_.sliceGroup.length>0;},get hasTimeSlices(){return this.thread_.timeSlices;},get eventContainer(){return this.thread;},addContainersToTrackMap(containerToTrackMap){tr.ui.tracks.ContainerTrack.prototype.addContainersToTrackMap.apply(this,arguments);containerToTrackMap.addContainer(this.thread,this);},updateContents_(){this.detach();if(!this.thread_)return;this.heading_.heading=this.thread_.userFriendlyName;this.heading_.tooltip=this.thread_.userFriendlyDetails;if(this.thread_.asyncSliceGroup.length){this.appendAsyncSliceTracks_();} 9258this.appendThreadSamplesTracks_();let needsHeading=false;if(this.thread_.timeSlices){const timeSlicesTrack=new tr.ui.tracks.SliceTrack(this.viewport);timeSlicesTrack.heading='';timeSlicesTrack.height=tr.ui.b.THIN_SLICE_HEIGHT+'px';timeSlicesTrack.slices=this.thread_.timeSlices;if(timeSlicesTrack.hasVisibleContent){needsHeading=true;Polymer.dom(this).appendChild(timeSlicesTrack);}} 9259if(this.thread_.sliceGroup.length){const track=new tr.ui.tracks.SliceGroupTrack(this.viewport);track.heading=this.thread_.userFriendlyName;track.tooltip=this.thread_.userFriendlyDetails;track.group=this.thread_.sliceGroup;if(track.hasVisibleContent){needsHeading=false;Polymer.dom(this).appendChild(track);}} 9260if(needsHeading){Polymer.dom(this).appendChild(this.heading_);}},appendAsyncSliceTracks_(){const subGroups=this.thread_.asyncSliceGroup.viewSubGroups;subGroups.forEach(function(subGroup){const asyncTrack=new tr.ui.tracks.AsyncSliceGroupTrack(this.viewport);const title=subGroup.slices[0].viewSubGroupTitle;asyncTrack.group=subGroup;asyncTrack.heading=title;if(asyncTrack.hasVisibleContent){Polymer.dom(this).appendChild(asyncTrack);}},this);},appendThreadSamplesTracks_(){const threadSamples=this.thread_.samples;if(threadSamples===undefined||threadSamples.length===0){return;} 9261const samplesByTitle={};threadSamples.forEach(function(sample){if(samplesByTitle[sample.title]===undefined){samplesByTitle[sample.title]=[];} 9262samplesByTitle[sample.title].push(sample);});const sampleTitles=Object.keys(samplesByTitle);sampleTitles.sort();sampleTitles.forEach(function(sampleTitle){const samples=samplesByTitle[sampleTitle];const samplesTrack=new tr.ui.tracks.SampleTrack(this.viewport);samplesTrack.group=this.thread_;samplesTrack.samples=samples;samplesTrack.heading=this.thread_.userFriendlyName+': '+ 9263sampleTitle;samplesTrack.tooltip=this.thread_.userFriendlyDetails;samplesTrack.selectionGenerator=function(){const selection=new tr.model.EventSet();for(let i=0;i<samplesTrack.samples.length;i++){selection.push(samplesTrack.samples[i]);} 9264return selection;};Polymer.dom(this).appendChild(samplesTrack);},this);},collapsedDidChange(collapsed){if(collapsed){let h=parseInt(this.tracks[0].height);for(let i=0;i<this.tracks.length;++i){if(h>2){this.tracks[i].height=Math.floor(h)+'px';}else{this.tracks[i].style.display='none';} 9265h=h*0.5;}}else{for(let i=0;i<this.tracks.length;++i){this.tracks[i].height=this.tracks[0].height;this.tracks[i].style.display='';}}}};return{ThreadTrack,};});'use strict';tr.exportTo('tr.ui.tracks',function(){const OtherThreadsTrack=tr.ui.b.define('other-threads-track',tr.ui.tracks.OtherThreadsTrack);const SpacingTrack=tr.ui.tracks.SpacingTrack;OtherThreadsTrack.prototype={__proto__:tr.ui.tracks.ContainerTrack.prototype,decorate(viewport){tr.ui.tracks.ContainerTrack.prototype.decorate.call(this,viewport);this.header_=document.createElement('tr-ui-b-heading');this.header_.addEventListener('click',this.onHeaderClick_.bind(this));this.header_.heading='Other Threads';this.header_.tooltip='Threads with only scheduling information';this.header_.arrowVisible=true;this.threads_=[];this.expanded=false;this.collapsible_=true;},set threads(threads){this.threads_=threads;this.updateContents_();},set collapsible(collapsible){this.collapsible_=collapsible;this.updateContents_();},onHeaderClick_(e){e.stopPropagation();e.preventDefault();this.expanded=!this.expanded;},get expanded(){return this.header_.expanded;},set expanded(expanded){expanded=!!expanded;if(this.expanded===expanded)return;this.header_.expanded=expanded;this.viewport_.dispatchChangeEvent();this.updateContents_();},updateContents_(){this.detach();if(this.collapsible_){Polymer.dom(this).appendChild(this.header_);} 9266if(this.expanded||!this.collapsible_){for(const thread of this.threads_){const track=new tr.ui.tracks.ThreadTrack(this.viewport);track.thread=thread;if(!track.hasVisibleContent)return;Polymer.dom(this).appendChild(track);Polymer.dom(this).appendChild(new SpacingTrack(this.viewport));}}}};return{OtherThreadsTrack,};});'use strict';tr.exportTo('tr.ui.tracks',function(){const ColorScheme=tr.b.ColorScheme;const ProcessSummaryTrack=tr.ui.b.define('process-summary-track',tr.ui.tracks.RectTrack);ProcessSummaryTrack.buildRectsFromProcess=function(process){if(!process)return[];const ops=[];const pushOp=function(isStart,time,slice){ops.push({isStart,time,slice});};for(const tid in process.threads){const sliceGroup=process.threads[tid].sliceGroup;sliceGroup.topLevelSlices.forEach(function(slice){pushOp(true,slice.start,undefined);pushOp(false,slice.end,undefined);});sliceGroup.slices.forEach(function(slice){if(slice.important){pushOp(true,slice.start,slice);pushOp(false,slice.end,slice);}});} 9267ops.sort(function(a,b){return a.time-b.time;});const rects=[];const genericColorId=ColorScheme.getColorIdForReservedName('generic_work');const pushRect=function(start,end,slice){rects.push(new tr.ui.tracks.Rect(slice,slice?slice.title:'',slice?slice.colorId:genericColorId,start,end-start));};let depth=0;let currentSlice=undefined;let lastStart=undefined;ops.forEach(function(op){depth+=op.isStart?1:-1;if(currentSlice){if(!op.isStart&&op.slice===currentSlice){pushRect(lastStart,op.time,currentSlice);lastStart=depth>=1?op.time:undefined;currentSlice=undefined;}}else{if(op.isStart){if(depth===1){lastStart=op.time;currentSlice=op.slice;}else if(op.slice){if(op.time!==lastStart){pushRect(lastStart,op.time,undefined);lastStart=op.time;} 9268currentSlice=op.slice;}}else{if(depth===0){pushRect(lastStart,op.time,undefined);lastStart=undefined;}}}});return rects;};ProcessSummaryTrack.prototype={__proto__:tr.ui.tracks.RectTrack.prototype,decorate(viewport){tr.ui.tracks.RectTrack.prototype.decorate.call(this,viewport);},get process(){return this.process_;},set process(process){this.process_=process;this.rects=ProcessSummaryTrack.buildRectsFromProcess(process);}};return{ProcessSummaryTrack,};});'use strict';tr.exportTo('tr.ui.tracks',function(){const ObjectSnapshotView=tr.ui.analysis.ObjectSnapshotView;const ObjectInstanceView=tr.ui.analysis.ObjectInstanceView;const SpacingTrack=tr.ui.tracks.SpacingTrack;const ProcessTrackBase=tr.ui.b.define('process-track-base',tr.ui.tracks.ContainerTrack);ProcessTrackBase.prototype={__proto__:tr.ui.tracks.ContainerTrack.prototype,decorate(viewport){tr.ui.tracks.ContainerTrack.prototype.decorate.call(this,viewport);this.processBase_=undefined;Polymer.dom(this).classList.add('process-track-base');Polymer.dom(this).classList.add('expanded');this.processNameEl_=tr.ui.b.createSpan();Polymer.dom(this.processNameEl_).classList.add('process-track-name');this.headerEl_=tr.ui.b.createDiv({className:'process-track-header'});Polymer.dom(this.headerEl_).appendChild(this.processNameEl_);this.headerEl_.addEventListener('click',this.onHeaderClick_.bind(this));Polymer.dom(this).appendChild(this.headerEl_);},get processBase(){return this.processBase_;},set processBase(processBase){this.processBase_=processBase;if(this.processBase_){const modelSettings=new tr.model.ModelSettings(this.processBase_.model);const defaultValue=this.processBase_.important;this.expanded=modelSettings.getSettingFor(this.processBase_,'expanded',defaultValue);} 9269this.updateContents_();},get expanded(){return Polymer.dom(this).classList.contains('expanded');},set expanded(expanded){expanded=!!expanded;if(this.expanded===expanded)return;Polymer.dom(this).classList.toggle('expanded');this.viewport_.dispatchChangeEvent();if(!this.processBase_)return;const modelSettings=new tr.model.ModelSettings(this.processBase_.model);modelSettings.setSettingFor(this.processBase_,'expanded',expanded);this.updateContents_();this.viewport.rebuildEventToTrackMap();this.viewport.rebuildContainerToTrackMap();},get hasVisibleContent(){if(this.expanded){return this.children.length>1;} 9270return true;},onHeaderClick_(e){e.stopPropagation();e.preventDefault();this.expanded=!this.expanded;},updateContents_(){this.clearTracks_();if(!this.processBase_)return;Polymer.dom(this.processNameEl_).textContent=this.processBase_.userFriendlyName;this.headerEl_.title=this.processBase_.userFriendlyDetails;this.willAppendTracks_();if(this.expanded){this.appendMemoryDumpTrack_();this.appendObjectInstanceTracks_();this.appendCounterTracks_();this.appendFrameTrack_();this.appendThreadTracks_();}else{this.appendSummaryTrack_();} 9271this.didAppendTracks_();},willAppendTracks_(){},didAppendTracks_(){},appendMemoryDumpTrack_(){},appendSummaryTrack_(){const track=new tr.ui.tracks.ProcessSummaryTrack(this.viewport);track.process=this.process;if(!track.hasVisibleContent)return;Polymer.dom(this).appendChild(track);},appendFrameTrack_(){const frames=this.process?this.process.frames:undefined;if(!frames||!frames.length)return;const track=new tr.ui.tracks.FrameTrack(this.viewport);track.frames=frames;Polymer.dom(this).appendChild(track);},appendObjectInstanceTracks_(){const instancesByTypeName=this.processBase_.objects.getAllInstancesByTypeName();const instanceTypeNames=Object.keys(instancesByTypeName);instanceTypeNames.sort();let didAppendAtLeastOneTrack=false;instanceTypeNames.forEach(function(typeName){const allInstances=instancesByTypeName[typeName];let instanceViewInfo=ObjectInstanceView.getTypeInfo(undefined,typeName);let snapshotViewInfo=ObjectSnapshotView.getTypeInfo(undefined,typeName);if(instanceViewInfo&&!instanceViewInfo.metadata.showInTrackView){instanceViewInfo=undefined;} 9272if(snapshotViewInfo&&!snapshotViewInfo.metadata.showInTrackView){snapshotViewInfo=undefined;} 9273const hasViewInfo=instanceViewInfo||snapshotViewInfo;const visibleInstances=[];for(let i=0;i<allInstances.length;i++){const instance=allInstances[i];if(instance.snapshots.length===0)continue;if(instance.hasImplicitSnapshots&&!hasViewInfo)continue;visibleInstances.push(instance);} 9274if(visibleInstances.length===0)return;let trackConstructor=tr.ui.tracks.ObjectInstanceTrack.getConstructor(undefined,typeName);if(!trackConstructor){snapshotViewInfo=ObjectSnapshotView.getTypeInfo(undefined,typeName);if(snapshotViewInfo&&snapshotViewInfo.metadata.showInstances){trackConstructor=tr.ui.tracks.ObjectInstanceGroupTrack;}else{trackConstructor=tr.ui.tracks.ObjectInstanceTrack;}} 9275const track=new trackConstructor(this.viewport);track.objectInstances=visibleInstances;Polymer.dom(this).appendChild(track);didAppendAtLeastOneTrack=true;},this);if(didAppendAtLeastOneTrack){Polymer.dom(this).appendChild(new SpacingTrack(this.viewport));}},appendCounterTracks_(){const counters=Object.values(this.processBase.counters);counters.sort(tr.model.Counter.compare);counters.forEach(function(counter){const track=new tr.ui.tracks.CounterTrack(this.viewport);track.counter=counter;Polymer.dom(this).appendChild(track);Polymer.dom(this).appendChild(new SpacingTrack(this.viewport));}.bind(this));},appendThreadTracks_(){const threads=Object.values(this.processBase.threads);threads.sort(tr.model.Thread.compare);const otherThreads=[];let hasVisibleThreads=false;threads.forEach(function(thread){const track=new tr.ui.tracks.ThreadTrack(this.viewport);track.thread=thread;if(!track.hasVisibleContent)return;if(track.hasSlices){hasVisibleThreads=true;Polymer.dom(this).appendChild(track);Polymer.dom(this).appendChild(new SpacingTrack(this.viewport));}else if(track.hasTimeSlices){otherThreads.push(thread);}}.bind(this));if(otherThreads.length>0){const track=new tr.ui.tracks.OtherThreadsTrack(this.viewport);track.threads=otherThreads;track.collapsible=otherThreads.length>1&&hasVisibleThreads;Polymer.dom(this).appendChild(track);}}};return{ProcessTrackBase,};});'use strict';tr.exportTo('tr.ui.tracks',function(){const Cpu=tr.model.Cpu;const CpuTrack=tr.ui.tracks.cpu_track;const ProcessTrackBase=tr.ui.tracks.ProcessTrackBase;const SpacingTrack=tr.ui.tracks.SpacingTrack;const KernelTrack=tr.ui.b.define('kernel-track',ProcessTrackBase);KernelTrack.prototype={__proto__:ProcessTrackBase.prototype,decorate(viewport){ProcessTrackBase.prototype.decorate.call(this,viewport);},set kernel(kernel){this.processBase=kernel;},get kernel(){return this.processBase;},get eventContainer(){return this.kernel;},get hasVisibleContent(){return this.children.length>1;},addContainersToTrackMap(containerToTrackMap){tr.ui.tracks.ProcessTrackBase.prototype.addContainersToTrackMap.call(this,containerToTrackMap);containerToTrackMap.addContainer(this.kernel,this);},willAppendTracks_(){const cpus=Object.values(this.kernel.cpus);cpus.sort(tr.model.Cpu.compare);let didAppendAtLeastOneTrack=false;for(let i=0;i<cpus.length;++i){const cpu=cpus[i];const track=new tr.ui.tracks.CpuTrack(this.viewport);track.detailedMode=this.expanded;track.cpu=cpu;if(!track.hasVisibleContent)continue;Polymer.dom(this).appendChild(track);didAppendAtLeastOneTrack=true;} 9276if(didAppendAtLeastOneTrack){Polymer.dom(this).appendChild(new SpacingTrack(this.viewport));}}};return{KernelTrack,};});'use strict';tr.exportTo('tr.ui.tracks',function(){const InteractionTrack=tr.ui.b.define('interaction-track',tr.ui.tracks.MultiRowTrack);InteractionTrack.prototype={__proto__:tr.ui.tracks.MultiRowTrack.prototype,decorate(viewport){tr.ui.tracks.MultiRowTrack.prototype.decorate.call(this,viewport);this.heading='Interactions';this.subRows_=[];},set model(model){this.setItemsToGroup(model.userModel.expectations,{guid:tr.b.GUID.allocateSimple(),model,getSettingsKey(){return undefined;}});},buildSubRows_(slices){if(this.subRows_.length){return this.subRows_;} 9277this.subRows_.push.apply(this.subRows_,tr.ui.tracks.AsyncSliceGroupTrack.prototype.buildSubRows_.call({},slices,true));return this.subRows_;},addSubTrack_(slices){const track=new tr.ui.tracks.SliceTrack(this.viewport);track.slices=slices;Polymer.dom(this).appendChild(track);return track;}};return{InteractionTrack,};});'use strict';tr.exportTo('tr.ui.tracks',function(){const ALLOCATED_MEMORY_TRACK_HEIGHT=50;const ProcessMemoryDumpTrack=tr.ui.b.define('process-memory-dump-track',tr.ui.tracks.ContainerTrack);ProcessMemoryDumpTrack.prototype={__proto__:tr.ui.tracks.ContainerTrack.prototype,decorate(viewport){tr.ui.tracks.ContainerTrack.prototype.decorate.call(this,viewport);this.memoryDumps_=undefined;},get memoryDumps(){return this.memoryDumps_;},set memoryDumps(memoryDumps){this.memoryDumps_=memoryDumps;this.updateContents_();},updateContents_(){this.clearTracks_();if(!this.memoryDumps_||!this.memoryDumps_.length)return;this.appendAllocatedMemoryTrack_();},appendAllocatedMemoryTrack_(){const series=tr.ui.tracks.buildProcessAllocatedMemoryChartSeries(this.memoryDumps_);if(!series)return;const track=new tr.ui.tracks.ChartTrack(this.viewport);track.heading='Memory per component';track.height=ALLOCATED_MEMORY_TRACK_HEIGHT+'px';track.series=series;track.autoSetAllAxes({expandMax:true});Polymer.dom(this).appendChild(track);}};return{ProcessMemoryDumpTrack,};});'use strict';tr.exportTo('tr.ui.tracks',function(){const ProcessTrackBase=tr.ui.tracks.ProcessTrackBase;const ProcessTrack=tr.ui.b.define('process-track',ProcessTrackBase);ProcessTrack.prototype={__proto__:ProcessTrackBase.prototype,decorate(viewport){tr.ui.tracks.ProcessTrackBase.prototype.decorate.call(this,viewport);},drawTrack(type){switch(type){case tr.ui.tracks.DrawType.INSTANT_EVENT:{if(!this.processBase.instantEvents||this.processBase.instantEvents.length===0){break;} 9278const ctx=this.context();const pixelRatio=window.devicePixelRatio||1;const bounds=this.getBoundingClientRect();const canvasBounds=ctx.canvas.getBoundingClientRect();ctx.save();ctx.translate(0,pixelRatio*(bounds.top-canvasBounds.top));const dt=this.viewport.currentDisplayTransform;const viewLWorld=dt.xViewToWorld(0);const viewRWorld=dt.xViewToWorld(bounds.width*pixelRatio);tr.ui.b.drawInstantSlicesAsLines(ctx,this.viewport.currentDisplayTransform,viewLWorld,viewRWorld,bounds.height,this.processBase.instantEvents,2);ctx.restore();break;} 9279case tr.ui.tracks.DrawType.BACKGROUND:this.drawBackground_();return;} 9280tr.ui.tracks.ContainerTrack.prototype.drawTrack.call(this,type);},drawBackground_(){const ctx=this.context();const canvasBounds=ctx.canvas.getBoundingClientRect();const pixelRatio=window.devicePixelRatio||1;let draw=false;ctx.fillStyle='#eee';for(let i=0;i<this.children.length;++i){if(!(this.children[i]instanceof tr.ui.tracks.Track)||(this.children[i]instanceof tr.ui.tracks.SpacingTrack)){continue;} 9281draw=!draw;if(!draw)continue;const bounds=this.children[i].getBoundingClientRect();ctx.fillRect(0,pixelRatio*(bounds.top-canvasBounds.top),ctx.canvas.width,pixelRatio*bounds.height);}},set process(process){this.processBase=process;},get process(){return this.processBase;},get eventContainer(){return this.process;},addContainersToTrackMap(containerToTrackMap){tr.ui.tracks.ProcessTrackBase.prototype.addContainersToTrackMap.apply(this,arguments);containerToTrackMap.addContainer(this.process,this);},appendMemoryDumpTrack_(){const processMemoryDumps=this.process.memoryDumps;if(processMemoryDumps.length){const pmdt=new tr.ui.tracks.ProcessMemoryDumpTrack(this.viewport_);pmdt.memoryDumps=processMemoryDumps;Polymer.dom(this).appendChild(pmdt);}},addIntersectingEventsInRangeToSelectionInWorldSpace(loWX,hiWX,viewPixWidthWorld,selection){function onPickHit(instantEvent){selection.push(instantEvent);} 9282const instantEventWidth=2*viewPixWidthWorld;tr.b.math.iterateOverIntersectingIntervals(this.processBase.instantEvents,function(x){return x.start;},function(x){return x.duration+instantEventWidth;},loWX,hiWX,onPickHit.bind(this));tr.ui.tracks.ContainerTrack.prototype.addIntersectingEventsInRangeToSelectionInWorldSpace.apply(this,arguments);},addClosestEventToSelection(worldX,worldMaxDist,loY,hiY,selection){this.addClosestInstantEventToSelection(this.processBase.instantEvents,worldX,worldMaxDist,selection);tr.ui.tracks.ContainerTrack.prototype.addClosestEventToSelection.apply(this,arguments);}};return{ProcessTrack,};});'use strict';tr.exportTo('tr.ui.tracks',function(){const SelectionState=tr.model.SelectionState;const ColorScheme=tr.b.ColorScheme;const EventPresenter=tr.ui.b.EventPresenter;const ModelTrack=tr.ui.b.define('model-track',tr.ui.tracks.ContainerTrack);ModelTrack.VSYNC_HIGHLIGHT_ALPHA=0.1;ModelTrack.VSYNC_DENSITY_TRANSPARENT=0.20;ModelTrack.VSYNC_DENSITY_OPAQUE=0.10;ModelTrack.VSYNC_DENSITY_RANGE=ModelTrack.VSYNC_DENSITY_TRANSPARENT-ModelTrack.VSYNC_DENSITY_OPAQUE;ModelTrack.generateStripes_=function(times,minTime,maxTime){if(times.length===0)return[];const lowIndex=tr.b.math.findLowIndexInSortedArray(times,tr.b.identity,minTime);let highIndex=lowIndex-1;while(times[highIndex+1]<=maxTime){highIndex++;} 9283const stripes=[];for(let i=lowIndex-(lowIndex%2);i<=highIndex;i+=2){const left=i<lowIndex?minTime:times[i];const right=i+1>highIndex?maxTime:times[i+1];stripes.push(tr.b.math.Range.fromExplicitRange(left,right));} 9284return stripes;};ModelTrack.prototype={__proto__:tr.ui.tracks.ContainerTrack.prototype,decorate(viewport){tr.ui.tracks.ContainerTrack.prototype.decorate.call(this,viewport);Polymer.dom(this).classList.add('model-track');this.upperMode_=false;this.annotationViews_=[];this.vSyncTimes_=[];},get upperMode(){return this.upperMode_;},set upperMode(upperMode){this.upperMode_=upperMode;this.updateContents_();},detach(){tr.ui.tracks.ContainerTrack.prototype.detach.call(this);},get model(){return this.model_;},set model(model){this.model_=model;this.updateContents_();this.model_.addEventListener('annotationChange',this.updateAnnotations_.bind(this));},get hasVisibleContent(){return this.children.length>0;},updateContents_(){Polymer.dom(this).textContent='';if(!this.model_)return;if(this.upperMode_){this.updateContentsForUpperMode_();}else{this.updateContentsForLowerMode_();}},updateContentsForUpperMode_(){},updateContentsForLowerMode_(){if(this.model_.userModel.expectations.length>1){const mrt=new tr.ui.tracks.InteractionTrack(this.viewport_);mrt.model=this.model_;Polymer.dom(this).appendChild(mrt);} 9285if(this.model_.alerts.length){const at=new tr.ui.tracks.AlertTrack(this.viewport_);at.alerts=this.model_.alerts;Polymer.dom(this).appendChild(at);} 9286if(this.model_.globalMemoryDumps.length){const gmdt=new tr.ui.tracks.GlobalMemoryDumpTrack(this.viewport_);gmdt.memoryDumps=this.model_.globalMemoryDumps;Polymer.dom(this).appendChild(gmdt);} 9287this.appendDeviceTrack_();this.appendCpuUsageTrack_();this.appendKernelTrack_();const processes=this.model_.getAllProcesses();processes.sort(tr.model.Process.compare);for(let i=0;i<processes.length;++i){const process=processes[i];const track=new tr.ui.tracks.ProcessTrack(this.viewport);track.process=process;if(!track.hasVisibleContent)continue;Polymer.dom(this).appendChild(track);} 9288this.viewport_.rebuildEventToTrackMap();this.viewport_.rebuildContainerToTrackMap();this.vSyncTimes_=this.model_.device.vSyncTimestamps;this.updateAnnotations_();},getContentBounds(){return this.model.bounds;},addAnnotation(annotation){this.model.addAnnotation(annotation);},removeAnnotation(annotation){this.model.removeAnnotation(annotation);},updateAnnotations_(){this.annotationViews_=[];const annotations=this.model_.getAllAnnotations();for(let i=0;i<annotations.length;i++){this.annotationViews_.push(annotations[i].getOrCreateView(this.viewport_));} 9289this.invalidateDrawingContainer();},addEventsToTrackMap(eventToTrackMap){if(!this.model_)return;const tracks=this.children;for(let i=0;i<tracks.length;++i){tracks[i].addEventsToTrackMap(eventToTrackMap);} 9290if(this.instantEvents===undefined)return;const vp=this.viewport_;this.instantEvents.forEach(function(ev){eventToTrackMap.addEvent(ev,this);}.bind(this));},appendDeviceTrack_(){const device=this.model.device;const track=new tr.ui.tracks.DeviceTrack(this.viewport);track.device=this.model.device;if(!track.hasVisibleContent)return;Polymer.dom(this).appendChild(track);},appendKernelTrack_(){const kernel=this.model.kernel;const track=new tr.ui.tracks.KernelTrack(this.viewport);track.kernel=this.model.kernel;if(!track.hasVisibleContent)return;Polymer.dom(this).appendChild(track);},appendCpuUsageTrack_(){const track=new tr.ui.tracks.CpuUsageTrack(this.viewport);track.initialize(this.model);if(!track.hasVisibleContent)return;this.appendChild(track);},appendCpuUsageTrack_(){const track=new tr.ui.tracks.CpuUsageTrack(this.viewport);track.initialize(this.model);if(!track.hasVisibleContent)return;this.appendChild(track);},drawTrack(type){const ctx=this.context();if(!this.model_)return;const pixelRatio=window.devicePixelRatio||1;const bounds=this.getBoundingClientRect();const canvasBounds=ctx.canvas.getBoundingClientRect();ctx.save();ctx.translate(0,pixelRatio*(bounds.top-canvasBounds.top));const dt=this.viewport.currentDisplayTransform;const viewLWorld=dt.xViewToWorld(0);const viewRWorld=dt.xViewToWorld(bounds.width*pixelRatio);switch(type){case tr.ui.tracks.DrawType.GRID:this.viewport.drawMajorMarkLines(ctx);ctx.restore();return;case tr.ui.tracks.DrawType.FLOW_ARROWS:if(this.model_.flowIntervalTree.size===0){ctx.restore();return;} 9291this.drawFlowArrows_(viewLWorld,viewRWorld);ctx.restore();return;case tr.ui.tracks.DrawType.INSTANT_EVENT:if(!this.model_.instantEvents||this.model_.instantEvents.length===0){break;} 9292tr.ui.b.drawInstantSlicesAsLines(ctx,this.viewport.currentDisplayTransform,viewLWorld,viewRWorld,bounds.height,this.model_.instantEvents,4);break;case tr.ui.tracks.DrawType.MARKERS:if(!this.viewport.interestRange.isEmpty){this.viewport.interestRange.draw(ctx,viewLWorld,viewRWorld);this.viewport.interestRange.drawIndicators(ctx,viewLWorld,viewRWorld);} 9293ctx.restore();return;case tr.ui.tracks.DrawType.HIGHLIGHTS:this.drawVSyncHighlight(ctx,dt,viewLWorld,viewRWorld,bounds.height);ctx.restore();return;case tr.ui.tracks.DrawType.ANNOTATIONS:for(let i=0;i<this.annotationViews_.length;i++){this.annotationViews_[i].draw(ctx);} 9294ctx.restore();return;} 9295ctx.restore();tr.ui.tracks.ContainerTrack.prototype.drawTrack.call(this,type);},drawFlowArrows_(viewLWorld,viewRWorld){const ctx=this.context();const dt=this.viewport.currentDisplayTransform;dt.applyTransformToCanvas(ctx);const pixWidth=dt.xViewVectorToWorld(1);ctx.strokeStyle='rgba(0, 0, 0, 0.4)';ctx.fillStyle='rgba(0, 0, 0, 0.4)';ctx.lineWidth=pixWidth>1.0?1:pixWidth;const events=this.model_.flowIntervalTree.findIntersection(viewLWorld,viewRWorld);const onlyHighlighted=!this.viewport.showFlowEvents;const canvasBounds=ctx.canvas.getBoundingClientRect();for(let i=0;i<events.length;++i){if(onlyHighlighted&&events[i].selectionState!==SelectionState.SELECTED&&events[i].selectionState!==SelectionState.HIGHLIGHTED){continue;} 9296this.drawFlowArrow_(ctx,events[i],canvasBounds,pixWidth);}},drawFlowArrow_(ctx,flowEvent,canvasBounds,pixWidth){const pixelRatio=window.devicePixelRatio||1;const startTrack=this.viewport.trackForEvent(flowEvent.startSlice);const endTrack=this.viewport.trackForEvent(flowEvent.endSlice);if(startTrack===undefined||endTrack===undefined)return;const startBounds=startTrack.getBoundingClientRect();const endBounds=endTrack.getBoundingClientRect();if(flowEvent.selectionState===SelectionState.SELECTED){ctx.shadowBlur=1;ctx.shadowColor='red';ctx.shadowOffsety=2;ctx.strokeStyle='red';}else if(flowEvent.selectionState===SelectionState.HIGHLIGHTED){ctx.shadowBlur=1;ctx.shadowColor='red';ctx.shadowOffsety=2;ctx.strokeStyle='red';}else if(flowEvent.selectionState===SelectionState.DIMMED){ctx.shadowBlur=0;ctx.shadowOffsetX=0;ctx.strokeStyle='rgba(0, 0, 0, 0.2)';}else{let hasBoost=false;const startSlice=flowEvent.startSlice;hasBoost|=startSlice.selectionState===SelectionState.SELECTED;hasBoost|=startSlice.selectionState===SelectionState.HIGHLIGHTED;const endSlice=flowEvent.endSlice;hasBoost|=endSlice.selectionState===SelectionState.SELECTED;hasBoost|=endSlice.selectionState===SelectionState.HIGHLIGHTED;if(hasBoost){ctx.shadowBlur=1;ctx.shadowColor='rgba(255, 0, 0, 0.4)';ctx.shadowOffsety=2;ctx.strokeStyle='rgba(255, 0, 0, 0.4)';}else{ctx.shadowBlur=0;ctx.shadowOffsetX=0;ctx.strokeStyle='rgba(0, 0, 0, 0.4)';}} 9297const startSize=startBounds.left+startBounds.top+ 9298startBounds.bottom+startBounds.right;const endSize=endBounds.left+endBounds.top+ 9299endBounds.bottom+endBounds.right;if(startSize===0&&endSize===0)return;const startY=this.calculateTrackY_(startTrack,canvasBounds);const endY=this.calculateTrackY_(endTrack,canvasBounds);const pixelStartY=pixelRatio*startY;const pixelEndY=pixelRatio*endY;const half=(flowEvent.end-flowEvent.start)/2;ctx.beginPath();ctx.moveTo(flowEvent.start,pixelStartY);ctx.bezierCurveTo(flowEvent.start+half,pixelStartY,flowEvent.start+half,pixelEndY,flowEvent.end,pixelEndY);ctx.stroke();const arrowWidth=5*pixWidth*pixelRatio;const distance=flowEvent.end-flowEvent.start;if(distance<=(2*arrowWidth))return;const tipX=flowEvent.end;const tipY=pixelEndY;const arrowHeight=(endBounds.height/4)*pixelRatio;tr.ui.b.drawTriangle(ctx,tipX,tipY,tipX-arrowWidth,tipY-arrowHeight,tipX-arrowWidth,tipY+arrowHeight);ctx.fill();},drawVSyncHighlight(ctx,dt,viewLWorld,viewRWorld,viewHeight){if(!this.viewport_.highlightVSync){return;} 9300const stripes=ModelTrack.generateStripes_(this.vSyncTimes_,viewLWorld,viewRWorld);if(stripes.length===0){return;} 9301const vSyncHighlightColor=new tr.b.Color(ColorScheme.getColorForReservedNameAsString('vsync_highlight_color'));const stripeRange=stripes[stripes.length-1].max-stripes[0].min;const stripeDensity=stripeRange?stripes.length/(dt.scaleX*stripeRange):0;const clampedStripeDensity=tr.b.math.clamp(stripeDensity,ModelTrack.VSYNC_DENSITY_OPAQUE,ModelTrack.VSYNC_DENSITY_TRANSPARENT);const opacity=(ModelTrack.VSYNC_DENSITY_TRANSPARENT-clampedStripeDensity)/ModelTrack.VSYNC_DENSITY_RANGE;if(opacity===0){return;} 9302const pixelRatio=window.devicePixelRatio||1;const height=viewHeight*pixelRatio;ctx.fillStyle=vSyncHighlightColor.toStringWithAlphaOverride(ModelTrack.VSYNC_HIGHLIGHT_ALPHA*opacity);for(let i=0;i<stripes.length;i++){const xLeftView=dt.xWorldToView(stripes[i].min);const xRightView=dt.xWorldToView(stripes[i].max);ctx.fillRect(xLeftView,0,xRightView-xLeftView,height);}},calculateTrackY_(track,canvasBounds){const bounds=track.getBoundingClientRect();const size=bounds.left+bounds.top+bounds.bottom+bounds.right;if(size===0){return this.calculateTrackY_(Polymer.dom(track).parentNode,canvasBounds);} 9303return bounds.top-canvasBounds.top+(bounds.height/2);},addIntersectingEventsInRangeToSelectionInWorldSpace(loWX,hiWX,viewPixWidthWorld,selection){function onPickHit(instantEvent){selection.push(instantEvent);} 9304const instantEventWidth=3*viewPixWidthWorld;tr.b.math.iterateOverIntersectingIntervals(this.model_.instantEvents,function(x){return x.start;},function(x){return x.duration+instantEventWidth;},loWX,hiWX,onPickHit.bind(this));tr.ui.tracks.ContainerTrack.prototype.addIntersectingEventsInRangeToSelectionInWorldSpace.apply(this,arguments);},addClosestEventToSelection(worldX,worldMaxDist,loY,hiY,selection){this.addClosestInstantEventToSelection(this.model_.instantEvents,worldX,worldMaxDist,selection);tr.ui.tracks.ContainerTrack.prototype.addClosestEventToSelection.apply(this,arguments);}};return{ModelTrack,};});'use strict';tr.exportTo('tr.ui.tracks',function(){const XAxisTrack=tr.ui.b.define('x-axis-track',tr.ui.tracks.Track);XAxisTrack.prototype={__proto__:tr.ui.tracks.Track.prototype,decorate(viewport){tr.ui.tracks.Track.prototype.decorate.call(this,viewport);Polymer.dom(this).classList.add('x-axis-track');this.strings_secs_=[];this.strings_msecs_=[];this.strings_usecs_=[];this.strings_nsecs_=[];this.viewportChange_=this.viewportChange_.bind(this);viewport.addEventListener('change',this.viewportChange_);const heading=document.createElement('tr-ui-b-heading');heading.arrowVisible=false;Polymer.dom(this).appendChild(heading);},detach(){tr.ui.tracks.Track.prototype.detach.call(this);this.viewport.removeEventListener('change',this.viewportChange_);},viewportChange_(){if(this.viewport.interestRange.isEmpty){Polymer.dom(this).classList.remove('tall-mode');}else{Polymer.dom(this).classList.add('tall-mode');}},draw(type,viewLWorld,viewRWorld){switch(type){case tr.ui.tracks.DrawType.GRID:this.drawGrid_(viewLWorld,viewRWorld);break;case tr.ui.tracks.DrawType.MARKERS:if(!this.viewport.interestRange.isEmpty){this.viewport.interestRange.draw(this.context(),viewLWorld,viewRWorld);} 9305break;}},drawGrid_(viewLWorld,viewRWorld){const ctx=this.context();const pixelRatio=window.devicePixelRatio||1;const canvasBounds=ctx.canvas.getBoundingClientRect();const trackBounds=this.getBoundingClientRect();const width=canvasBounds.width*pixelRatio;const height=trackBounds.height*pixelRatio;const hasInterestRange=!this.viewport.interestRange.isEmpty;const xAxisHeightPx=hasInterestRange?(height*2)/5:height;const vp=this.viewport;const dt=vp.currentDisplayTransform;vp.updateMajorMarkData(viewLWorld,viewRWorld);const majorMarkDistanceWorld=vp.majorMarkWorldPositions.length>1?vp.majorMarkWorldPositions[1]-vp.majorMarkWorldPositions[0]:0;const numTicksPerMajor=5;const minorMarkDistanceWorld=majorMarkDistanceWorld/numTicksPerMajor;const minorMarkDistancePx=dt.xWorldVectorToView(minorMarkDistanceWorld);const minorTickHeight=Math.floor(xAxisHeightPx*0.25);ctx.save();ctx.lineWidth=Math.round(pixelRatio);const crispLineCorrection=(ctx.lineWidth%2)/2;ctx.translate(crispLineCorrection,-crispLineCorrection);ctx.fillStyle='rgb(0, 0, 0)';ctx.strokeStyle='rgb(0, 0, 0)';ctx.textAlign='left';ctx.textBaseline='top';ctx.font=(9*pixelRatio)+'px sans-serif';const tickLabels=[];ctx.beginPath();for(let i=0;i<vp.majorMarkWorldPositions.length;i++){const curXWorld=vp.majorMarkWorldPositions[i];const curXView=dt.xWorldToView(curXWorld);const displayText=vp.majorMarkUnit.format(curXWorld,{deltaValue:majorMarkDistanceWorld});ctx.fillText(displayText,curXView+(2*pixelRatio),0);tr.ui.b.drawLine(ctx,curXView,0,curXView,xAxisHeightPx);if(minorMarkDistancePx){for(let j=1;j<numTicksPerMajor;++j){const xView=Math.floor(curXView+minorMarkDistancePx*j);tr.ui.b.drawLine(ctx,xView,xAxisHeightPx-minorTickHeight,xView,xAxisHeightPx);}}} 9306ctx.strokeStyle='rgb(0, 0, 0)';tr.ui.b.drawLine(ctx,0,height,width,height);ctx.stroke();if(!hasInterestRange)return;tr.ui.b.drawLine(ctx,0,xAxisHeightPx,width,xAxisHeightPx);ctx.stroke();let displayDistance;const displayTextColor='rgb(0,0,0)';const arrowSpacing=10*pixelRatio;const arrowColor='rgb(128,121,121)';const arrowPosY=xAxisHeightPx*1.75;const arrowWidthView=3*pixelRatio;const arrowLengthView=10*pixelRatio;const spaceForArrowsView=2*(arrowWidthView+arrowSpacing);ctx.textBaseline='middle';ctx.font=(14*pixelRatio)+'px sans-serif';const textPosY=arrowPosY;const interestRange=vp.interestRange;if(interestRange.range===0){const markerWorld=interestRange.min;const markerView=dt.xWorldToView(markerWorld);const textToDraw=vp.majorMarkUnit.format(markerWorld);let textLeftView=markerView+4*pixelRatio;const textWidthView=ctx.measureText(textToDraw).width;if(textLeftView+textWidthView>width){textLeftView=markerView-4*pixelRatio-textWidthView;} 9307ctx.fillStyle=displayTextColor;ctx.fillText(textToDraw,textLeftView,textPosY);return;} 9308const leftMarker=interestRange.min;const rightMarker=interestRange.max;const leftMarkerView=dt.xWorldToView(leftMarker);const rightMarkerView=dt.xWorldToView(rightMarker);const distanceBetweenMarkers=interestRange.range;const distanceBetweenMarkersView=dt.xWorldVectorToView(distanceBetweenMarkers);const positionInMiddleOfMarkersView=leftMarkerView+(distanceBetweenMarkersView/2);const textToDraw=vp.majorMarkUnit.format(distanceBetweenMarkers);const textWidthView=ctx.measureText(textToDraw).width;const spaceForArrowsAndTextView=textWidthView+spaceForArrowsView+arrowSpacing;let textLeftView=positionInMiddleOfMarkersView-textWidthView/2;const textRightView=textLeftView+textWidthView;if(spaceForArrowsAndTextView>distanceBetweenMarkersView){textLeftView=rightMarkerView+2*arrowSpacing;if(textLeftView+textWidthView>width){textLeftView=leftMarkerView-2*arrowSpacing-textWidthView;} 9309ctx.fillStyle=displayTextColor;ctx.fillText(textToDraw,textLeftView,textPosY);ctx.strokeStyle=arrowColor;ctx.beginPath();tr.ui.b.drawLine(ctx,leftMarkerView,arrowPosY,rightMarkerView,arrowPosY);ctx.stroke();ctx.fillStyle=arrowColor;tr.ui.b.drawArrow(ctx,leftMarkerView-1.5*arrowSpacing,arrowPosY,leftMarkerView,arrowPosY,arrowLengthView,arrowWidthView);tr.ui.b.drawArrow(ctx,rightMarkerView+1.5*arrowSpacing,arrowPosY,rightMarkerView,arrowPosY,arrowLengthView,arrowWidthView);}else if(spaceForArrowsView<=distanceBetweenMarkersView){let leftArrowStart;let rightArrowStart;if(spaceForArrowsAndTextView<=distanceBetweenMarkersView){ctx.fillStyle=displayTextColor;ctx.fillText(textToDraw,textLeftView,textPosY);leftArrowStart=textLeftView-arrowSpacing;rightArrowStart=textRightView+arrowSpacing;}else{leftArrowStart=positionInMiddleOfMarkersView;rightArrowStart=positionInMiddleOfMarkersView;} 9310ctx.strokeStyle=arrowColor;ctx.fillStyle=arrowColor;tr.ui.b.drawArrow(ctx,leftArrowStart,arrowPosY,leftMarkerView,arrowPosY,arrowLengthView,arrowWidthView);tr.ui.b.drawArrow(ctx,rightArrowStart,arrowPosY,rightMarkerView,arrowPosY,arrowLengthView,arrowWidthView);} 9311ctx.restore();},addIntersectingEventsInRangeToSelection(loVX,hiVX,loY,hiY,selection){},addAllEventsMatchingFilterToSelection(filter,selection){}};return{XAxisTrack,};});'use strict';Polymer({is:'tr-ui-timeline-track-view',ready(){this.displayTransform_=new tr.ui.TimelineDisplayTransform();this.model_=undefined;this.timelineView_=undefined;this.pollIfViewportAttachedInterval_=undefined;this.viewport_=new tr.ui.TimelineViewport(this);this.viewportDisplayTransformAtMouseDown_=undefined;this.brushingStateController_=undefined;this.rulerTrackContainer_=new tr.ui.tracks.DrawingContainer(this.viewport_);Polymer.dom(this).appendChild(this.rulerTrackContainer_);this.rulerTrackContainer_.invalidate();this.rulerTrack_=new tr.ui.tracks.XAxisTrack(this.viewport_);Polymer.dom(this.rulerTrackContainer_).appendChild(this.rulerTrack_);this.upperModelTrack_=new tr.ui.tracks.ModelTrack(this.viewport_);this.upperModelTrack_.upperMode=true;Polymer.dom(this.rulerTrackContainer_).appendChild(this.upperModelTrack_);this.modelTrackContainer_=new tr.ui.tracks.DrawingContainer(this.viewport_);Polymer.dom(this).appendChild(this.modelTrackContainer_);this.modelTrackContainer_.style.display='block';this.modelTrackContainer_.invalidate();this.viewport_.modelTrackContainer=this.modelTrackContainer_;this.modelTrack_=new tr.ui.tracks.ModelTrack(this.viewport_);Polymer.dom(this.modelTrackContainer_).appendChild(this.modelTrack_);this.timingTool_=new tr.ui.b.TimingTool(this.viewport_,this);this.initMouseModeSelector();this.hideDragBox_();this.initHintText_();this.onSelectionChanged_=this.onSelectionChanged_.bind(this);this.onDblClick_=this.onDblClick_.bind(this);this.addEventListener('dblclick',this.onDblClick_);this.onMouseWheel_=this.onMouseWheel_.bind(this);this.addEventListener('mousewheel',this.onMouseWheel_);this.onMouseDown_=this.onMouseDown_.bind(this);this.addEventListener('mousedown',this.onMouseDown_);this.onMouseMove_=this.onMouseMove_.bind(this);this.addEventListener('mousemove',this.onMouseMove_);this.onTouchStart_=this.onTouchStart_.bind(this);this.addEventListener('touchstart',this.onTouchStart_);this.onTouchMove_=this.onTouchMove_.bind(this);this.addEventListener('touchmove',this.onTouchMove_);this.onTouchEnd_=this.onTouchEnd_.bind(this);this.addEventListener('touchend',this.onTouchEnd_);this.addHotKeys_();this.mouseViewPosAtMouseDown_={x:0,y:0};this.lastMouseViewPos_={x:0,y:0};this.lastTouchViewPositions_=[];this.alert_=undefined;this.isPanningAndScanning_=false;this.isZooming_=false;},initMouseModeSelector(){this.mouseModeSelector_=document.createElement('tr-ui-b-mouse-mode-selector');this.mouseModeSelector_.targetElement=this;Polymer.dom(this).appendChild(this.mouseModeSelector_);this.mouseModeSelector_.addEventListener('beginpan',this.onBeginPanScan_.bind(this));this.mouseModeSelector_.addEventListener('updatepan',this.onUpdatePanScan_.bind(this));this.mouseModeSelector_.addEventListener('endpan',this.onEndPanScan_.bind(this));this.mouseModeSelector_.addEventListener('beginselection',this.onBeginSelection_.bind(this));this.mouseModeSelector_.addEventListener('updateselection',this.onUpdateSelection_.bind(this));this.mouseModeSelector_.addEventListener('endselection',this.onEndSelection_.bind(this));this.mouseModeSelector_.addEventListener('beginzoom',this.onBeginZoom_.bind(this));this.mouseModeSelector_.addEventListener('updatezoom',this.onUpdateZoom_.bind(this));this.mouseModeSelector_.addEventListener('endzoom',this.onEndZoom_.bind(this));this.mouseModeSelector_.addEventListener('entertiming',this.timingTool_.onEnterTiming.bind(this.timingTool_));this.mouseModeSelector_.addEventListener('begintiming',this.timingTool_.onBeginTiming.bind(this.timingTool_));this.mouseModeSelector_.addEventListener('updatetiming',this.timingTool_.onUpdateTiming.bind(this.timingTool_));this.mouseModeSelector_.addEventListener('endtiming',this.timingTool_.onEndTiming.bind(this.timingTool_));this.mouseModeSelector_.addEventListener('exittiming',this.timingTool_.onExitTiming.bind(this.timingTool_));const m=tr.ui.b.MOUSE_SELECTOR_MODE;this.mouseModeSelector_.supportedModeMask=m.SELECTION|m.PANSCAN|m.ZOOM|m.TIMING;this.mouseModeSelector_.settingsKey='timelineTrackView.mouseModeSelector';this.mouseModeSelector_.setKeyCodeForMode(m.PANSCAN,'2'.charCodeAt(0));this.mouseModeSelector_.setKeyCodeForMode(m.SELECTION,'1'.charCodeAt(0));this.mouseModeSelector_.setKeyCodeForMode(m.ZOOM,'3'.charCodeAt(0));this.mouseModeSelector_.setKeyCodeForMode(m.TIMING,'4'.charCodeAt(0));this.mouseModeSelector_.setModifierForAlternateMode(m.SELECTION,tr.ui.b.MODIFIER.SHIFT);this.mouseModeSelector_.setModifierForAlternateMode(m.PANSCAN,tr.ui.b.MODIFIER.SPACE);},get brushingStateController(){return this.brushingStateController_;},set brushingStateController(brushingStateController){if(this.brushingStateController_){this.brushingStateController_.removeEventListener('change',this.onSelectionChanged_);} 9312this.brushingStateController_=brushingStateController;if(this.brushingStateController_){this.brushingStateController_.addEventListener('change',this.onSelectionChanged_);}},set timelineView(view){this.timelineView_=view;},onSelectionChanged_(){this.showHintText_('Press \'m\' to mark current selection');this.viewport_.dispatchChangeEvent();},set selection(selection){throw new Error('DO NOT CALL THIS');},set highlight(highlight){throw new Error('DO NOT CALL THIS');},detach(){this.modelTrack_.detach();this.upperModelTrack_.detach();if(this.pollIfViewportAttachedInterval_){window.clearInterval(this.pollIfViewportAttachedInterval_);this.pollIfViewportAttachedInterval_=undefined;} 9313this.viewport_.detach();},get viewport(){return this.viewport_;},get model(){return this.model_;},set model(model){if(!model){throw new Error('Model cannot be undefined');} 9314const modelInstanceChanged=this.model_!==model;this.model_=model;this.modelTrack_.model=model;this.upperModelTrack_.model=model;if(modelInstanceChanged){this.pollIfViewportAttachedInterval_=window.setInterval(this.pollIfViewportAttached_.bind(this),250);}},get hasVisibleContent(){return this.modelTrack_.hasVisibleContent||this.upperModelTrack_.hasVisibleContent;},pollIfViewportAttached_(){if(!this.viewport_.isAttachedToDocumentOrInTestMode||this.viewport_.clientWidth===0){return;} 9315window.addEventListener('resize',this.viewport_.dispatchChangeEvent);window.clearInterval(this.pollIfViewportAttachedInterval_);this.pollIfViewportAttachedInterval_=undefined;this.setInitialViewport_();},setInitialViewport_(){this.modelTrackContainer_.updateCanvasSizeIfNeeded_();const w=this.modelTrackContainer_.canvas.width;let min;let range;if(this.model_.bounds.isEmpty){min=0;range=1000;}else if(this.model_.bounds.range===0){min=this.model_.bounds.min;range=1000;}else{min=this.model_.bounds.min;range=this.model_.bounds.range;} 9316const boost=range*0.15;this.displayTransform_.set(this.viewport_.currentDisplayTransform);this.displayTransform_.xSetWorldBounds(min-boost,min+range+boost,w);this.viewport_.setDisplayTransformImmediately(this.displayTransform_);},addAllEventsMatchingFilterToSelectionAsTask(filter,selection){const modelTrack=this.modelTrack_;const firstT=modelTrack.addAllEventsMatchingFilterToSelectionAsTask(filter,selection);const lastT=firstT.after(function(){this.upperModelTrack_.addAllEventsMatchingFilterToSelection(filter,selection);},this);return firstT;},onMouseMove_(e){if(this.isZooming_)return;this.storeLastMousePos_(e);},onTouchStart_(e){this.storeLastTouchPositions_(e);this.focusElements_();},onTouchMove_(e){e.preventDefault();this.onUpdateTransformForTouch_(e);},onTouchEnd_(e){this.storeLastTouchPositions_(e);this.focusElements_();},addHotKeys_(){this.addKeyDownHotKeys_();this.addKeyPressHotKeys_();},addKeyPressHotKey(dict){dict.eventType='keypress';dict.useCapture=false;dict.thisArg=this;const binding=new tr.ui.b.HotKey(dict);this.$.hotkey_controller.addHotKey(binding);},addKeyPressHotKeys_(){this.addKeyPressHotKey({keyCodes:['w'.charCodeAt(0),','.charCodeAt(0)],callback(e){this.zoomBy_(1.5,true);e.stopPropagation();}});this.addKeyPressHotKey({keyCodes:['s'.charCodeAt(0),'o'.charCodeAt(0)],callback(e){this.zoomBy_(1/1.5,true);e.stopPropagation();}});this.addKeyPressHotKey({keyCode:'g'.charCodeAt(0),callback(e){this.onGridToggle_(true);e.stopPropagation();}});this.addKeyPressHotKey({keyCode:'G'.charCodeAt(0),callback(e){this.onGridToggle_(false);e.stopPropagation();}});this.addKeyPressHotKey({keyCodes:['W'.charCodeAt(0),'<'.charCodeAt(0)],callback(e){this.zoomBy_(10,true);e.stopPropagation();}});this.addKeyPressHotKey({keyCodes:['S'.charCodeAt(0),'O'.charCodeAt(0)],callback(e){this.zoomBy_(1/10,true);e.stopPropagation();}});this.addKeyPressHotKey({keyCode:'a'.charCodeAt(0),callback(e){this.queueSmoothPan_(this.viewWidth_*0.3,0);e.stopPropagation();}});this.addKeyPressHotKey({keyCodes:['d'.charCodeAt(0),'e'.charCodeAt(0)],callback(e){this.queueSmoothPan_(this.viewWidth_*-0.3,0);e.stopPropagation();}});this.addKeyPressHotKey({keyCode:'A'.charCodeAt(0),callback(e){this.queueSmoothPan_(viewWidth*0.5,0);e.stopPropagation();}});this.addKeyPressHotKey({keyCode:'D'.charCodeAt(0),callback(e){this.queueSmoothPan_(viewWidth*-0.5,0);e.stopPropagation();}});this.addKeyPressHotKey({keyCode:'0'.charCodeAt(0),callback(e){this.setInitialViewport_();e.stopPropagation();}});this.addKeyPressHotKey({keyCode:'f'.charCodeAt(0),callback(e){this.zoomToSelection();e.stopPropagation();}});this.addKeyPressHotKey({keyCode:'m'.charCodeAt(0),callback(e){this.setCurrentSelectionAsInterestRange_();e.stopPropagation();}});this.addKeyPressHotKey({keyCode:'p'.charCodeAt(0),callback(e){this.selectPowerSamplesInCurrentTimeRange_();e.stopPropagation();}});this.addKeyPressHotKey({keyCode:'h'.charCodeAt(0),callback(e){this.toggleHighDetails_();e.stopPropagation();}});},get viewWidth_(){return this.modelTrackContainer_.canvas.clientWidth;},addKeyDownHotKeys_(){const addBinding=function(dict){dict.eventType='keydown';dict.useCapture=false;dict.thisArg=this;const binding=new tr.ui.b.HotKey(dict);this.$.hotkey_controller.addHotKey(binding);}.bind(this);addBinding({keyCode:37,callback(e){const curSel=this.brushingStateController_.selection;const sel=this.viewport.getShiftedSelection(curSel,-1);if(sel){this.brushingStateController.changeSelectionFromTimeline(sel);this.panToSelection();}else{this.queueSmoothPan_(this.viewWidth_*0.3,0);} 9317e.preventDefault();e.stopPropagation();}});addBinding({keyCode:39,callback(e){const curSel=this.brushingStateController_.selection;const sel=this.viewport.getShiftedSelection(curSel,1);if(sel){this.brushingStateController.changeSelectionFromTimeline(sel);this.panToSelection();}else{this.queueSmoothPan_(-this.viewWidth_*0.3,0);} 9318e.preventDefault();e.stopPropagation();}});},onDblClick_(e){if(this.mouseModeSelector_.mode!==tr.ui.b.MOUSE_SELECTOR_MODE.SELECTION){return;} 9319const curSelection=this.brushingStateController_.selection;if(!curSelection.length||!tr.b.getOnlyElement(curSelection).title){return;} 9320const selection=new tr.model.EventSet();const filter=new tr.c.ExactTitleFilter(tr.b.getOnlyElement(curSelection).title);this.modelTrack_.addAllEventsMatchingFilterToSelection(filter,selection);this.brushingStateController.changeSelectionFromTimeline(selection);},onMouseWheel_(e){if(!e.altKey)return;const delta=e.wheelDelta/120;const zoomScale=Math.pow(1.5,delta);this.zoomBy_(zoomScale);e.preventDefault();},onMouseDown_(e){if(this.mouseModeSelector_.mode!==tr.ui.b.MOUSE_SELECTOR_MODE.SELECTION){return;} 9321if(e.target!==this.rulerTrack_)return;this.dragBeginEvent_=undefined;if(this.xNavStringMarker_){this.model.removeAnnotation(this.xNavStringMarker_);this.xNavStringMarker_=undefined;} 9322const dt=this.viewport_.currentDisplayTransform;tr.ui.b.trackMouseMovesUntilMouseUp(function(e){if(e.target===this.rulerTrack_)return;const relativePosition=this.extractRelativeMousePosition_(e);const loc=tr.model.Location.fromViewCoordinates(this.viewport_,relativePosition.x,relativePosition.y);if(!loc)return;if(this.guideLineAnnotation_===undefined){this.guideLineAnnotation_=new tr.model.XMarkerAnnotation(loc.xWorld);this.model.addAnnotation(this.guideLineAnnotation_);}else{this.guideLineAnnotation_.timestamp=loc.xWorld;this.modelTrackContainer_.invalidate();} 9323const state=new tr.ui.b.UIState(loc,this.viewport_.currentDisplayTransform.scaleX);this.timelineView_.setFindCtlText(state.toUserFriendlyString(this.viewport_));}.bind(this),undefined,function onKeyUpDuringDrag(){if(this.dragBeginEvent_){this.setDragBoxPosition_(this.dragBoxXStart_,this.dragBoxYStart_,this.dragBoxXEnd_,this.dragBoxYEnd_);}}.bind(this));},queueSmoothPan_(viewDeltaX,deltaY){const deltaX=this.viewport_.currentDisplayTransform.xViewVectorToWorld(viewDeltaX);const animation=new tr.ui.TimelineDisplayTransformPanAnimation(deltaX,deltaY);this.viewport_.queueDisplayTransformAnimation(animation);},zoomBy_(scale,smooth){if(scale<=0){return;} 9324smooth=!!smooth;const vp=this.viewport_;const pixelRatio=window.devicePixelRatio||1;const goalFocalPointXView=this.lastMouseViewPos_.x*pixelRatio;const goalFocalPointXWorld=vp.currentDisplayTransform.xViewToWorld(goalFocalPointXView);if(smooth){const animation=new tr.ui.TimelineDisplayTransformZoomToAnimation(goalFocalPointXWorld,goalFocalPointXView,vp.currentDisplayTransform.panY,scale);vp.queueDisplayTransformAnimation(animation);}else{this.displayTransform_.set(vp.currentDisplayTransform);this.displayTransform_.scaleX*=scale;this.displayTransform_.xPanWorldPosToViewPos(goalFocalPointXWorld,goalFocalPointXView,this.viewWidth_);vp.setDisplayTransformImmediately(this.displayTransform_);}},zoomToSelection(){if(!this.brushingStateController.selectionOfInterest.length)return;const bounds=this.brushingStateController.selectionOfInterest.bounds;if(!bounds.range)return;const worldCenter=bounds.center;const viewCenter=this.modelTrackContainer_.canvas.width/2;const adjustedWorldRange=bounds.range*1.25;const newScale=this.modelTrackContainer_.canvas.width/adjustedWorldRange;const zoomInRatio=newScale/this.viewport_.currentDisplayTransform.scaleX;const animation=new tr.ui.TimelineDisplayTransformZoomToAnimation(worldCenter,viewCenter,this.viewport_.currentDisplayTransform.panY,zoomInRatio);this.viewport_.queueDisplayTransformAnimation(animation);},panToSelection(){if(!this.brushingStateController.selectionOfInterest.length)return;const bounds=this.brushingStateController.selectionOfInterest.bounds;const worldCenter=bounds.center;const viewWidth=this.viewWidth_;const dt=this.viewport_.currentDisplayTransform;if(false&&!bounds.range){if(dt.xWorldToView(bounds.center)<0||dt.xWorldToView(bounds.center)>viewWidth){this.displayTransform_.set(dt);this.displayTransform_.xPanWorldPosToViewPos(worldCenter,'center',viewWidth);const deltaX=this.displayTransform_.panX-dt.panX;const animation=new tr.ui.TimelineDisplayTransformPanAnimation(deltaX,0);this.viewport_.queueDisplayTransformAnimation(animation);} 9325return;} 9326this.displayTransform_.set(dt);this.displayTransform_.xPanWorldBoundsIntoView(bounds.min,bounds.max,viewWidth);const deltaX=this.displayTransform_.panX-dt.panX;const animation=new tr.ui.TimelineDisplayTransformPanAnimation(deltaX,0);this.viewport_.queueDisplayTransformAnimation(animation);},navToPosition(uiState,showNavLine){const location=uiState.location;const scaleX=uiState.scaleX;const track=location.getContainingTrack(this.viewport_);const worldCenter=location.xWorld;const viewCenter=this.modelTrackContainer_.canvas.width/5;const zoomInRatio=scaleX/this.viewport_.currentDisplayTransform.scaleX;track.scrollIntoViewIfNeeded();const animation=new tr.ui.TimelineDisplayTransformZoomToAnimation(worldCenter,viewCenter,this.viewport_.currentDisplayTransform.panY,zoomInRatio);this.viewport_.queueDisplayTransformAnimation(animation);if(!showNavLine)return;if(this.xNavStringMarker_){this.model.removeAnnotation(this.xNavStringMarker_);} 9327this.xNavStringMarker_=new tr.model.XMarkerAnnotation(worldCenter);this.model.addAnnotation(this.xNavStringMarker_);},selectPowerSamplesInCurrentTimeRange_(){const selectionBounds=this.brushingStateController_.selection.bounds;if(this.model.device.powerSeries&&!selectionBounds.empty){const events=this.model.device.powerSeries.getSamplesWithinRange(selectionBounds.min,selectionBounds.max);const selection=new tr.model.EventSet(events);this.brushingStateController_.changeSelectionFromTimeline(selection);}},setCurrentSelectionAsInterestRange_(){const selectionBounds=this.brushingStateController_.selection.bounds;if(selectionBounds.empty){this.viewport_.interestRange.reset();return;} 9328if(this.viewport_.interestRange.min===selectionBounds.min&&this.viewport_.interestRange.max===selectionBounds.max){this.viewport_.interestRange.reset();}else{this.viewport_.interestRange.set(selectionBounds);}},toggleHighDetails_(){this.viewport_.highDetails=!this.viewport_.highDetails;},hideDragBox_(){this.$.drag_box.style.left='-1000px';this.$.drag_box.style.top='-1000px';this.$.drag_box.style.width=0;this.$.drag_box.style.height=0;},setDragBoxPosition_(xStart,yStart,xEnd,yEnd){const loY=Math.min(yStart,yEnd);const hiY=Math.max(yStart,yEnd);const loX=Math.min(xStart,xEnd);const hiX=Math.max(xStart,xEnd);const modelTrackRect=this.modelTrack_.getBoundingClientRect();const dragRect={left:loX,top:loY,width:hiX-loX,height:hiY-loY};dragRect.right=dragRect.left+dragRect.width;dragRect.bottom=dragRect.top+dragRect.height;const modelTrackContainerRect=this.modelTrackContainer_.getBoundingClientRect();const clipRect={left:modelTrackContainerRect.left,top:modelTrackContainerRect.top,right:modelTrackContainerRect.right,bottom:modelTrackContainerRect.bottom};const headingWidth=window.getComputedStyle(Polymer.dom(this).querySelector('tr-ui-b-heading')).width;const trackTitleWidth=parseInt(headingWidth);clipRect.left=clipRect.left+trackTitleWidth;const intersectRect_=function(r1,r2){if(r2.left>r1.right||r2.right<r1.left||r2.top>r1.bottom||r2.bottom<r1.top){return false;} 9329const results={};results.left=Math.max(r1.left,r2.left);results.top=Math.max(r1.top,r2.top);results.right=Math.min(r1.right,r2.right);results.bottom=Math.min(r1.bottom,r2.bottom);results.width=results.right-results.left;results.height=results.bottom-results.top;return results;};const finalDragBox=intersectRect_(clipRect,dragRect);this.$.drag_box.style.left=finalDragBox.left+'px';this.$.drag_box.style.width=finalDragBox.width+'px';this.$.drag_box.style.top=finalDragBox.top+'px';this.$.drag_box.style.height=finalDragBox.height+'px';this.$.drag_box.style.whiteSpace='nowrap';const pixelRatio=window.devicePixelRatio||1;const canv=this.modelTrackContainer_.canvas;const dt=this.viewport_.currentDisplayTransform;const loWX=dt.xViewToWorld((loX-canv.offsetLeft)*pixelRatio);const hiWX=dt.xViewToWorld((hiX-canv.offsetLeft)*pixelRatio);Polymer.dom(this.$.drag_box).textContent=tr.b.Unit.byName.timeDurationInMs.format(hiWX-loWX);const e=new tr.b.Event('selectionChanging');e.loWX=loWX;e.hiWX=hiWX;this.dispatchEvent(e);},onGridToggle_(left){const selection=this.brushingStateController_.selection;const tb=left?selection.bounds.min:selection.bounds.max;if(this.viewport_.gridEnabled&&this.viewport_.gridSide===left&&this.viewport_.gridInitialTimebase===tb){this.viewport_.gridside=undefined;this.viewport_.gridEnabled=false;this.viewport_.gridInitialTimebase=undefined;return;} 9330const numIntervalsSinceStart=Math.ceil((tb-this.model_.bounds.min)/this.viewport_.gridStep_);this.viewport_.gridEnabled=true;this.viewport_.gridSide=left;this.viewport_.gridInitialTimebase=tb;this.viewport_.gridTimebase=tb- 9331(numIntervalsSinceStart+1)*this.viewport_.gridStep_;},storeLastMousePos_(e){this.lastMouseViewPos_=this.extractRelativeMousePosition_(e);},storeLastTouchPositions_(e){this.lastTouchViewPositions_=this.extractRelativeTouchPositions_(e);},extractRelativeMousePosition_(e){const canv=this.modelTrackContainer_.canvas;return{x:e.clientX-canv.offsetLeft,y:e.clientY-canv.offsetTop};},extractRelativeTouchPositions_(e){const canv=this.modelTrackContainer_.canvas;const touches=[];for(let i=0;i<e.touches.length;++i){touches.push({x:e.touches[i].clientX-canv.offsetLeft,y:e.touches[i].clientY-canv.offsetTop});} 9332return touches;},storeInitialMouseDownPos_(e){const position=this.extractRelativeMousePosition_(e);this.mouseViewPosAtMouseDown_.x=position.x;this.mouseViewPosAtMouseDown_.y=position.y;},focusElements_(){this.$.hotkey_controller.childRequestsGeneralFocus(this);},storeInitialInteractionPositionsAndFocus_(e){this.storeInitialMouseDownPos_(e);this.storeLastMousePos_(e);this.focusElements_();},onBeginPanScan_(e){const vp=this.viewport_;this.viewportDisplayTransformAtMouseDown_=vp.currentDisplayTransform.clone();this.isPanningAndScanning_=true;this.storeInitialInteractionPositionsAndFocus_(e);e.preventDefault();},onUpdatePanScan_(e){if(!this.isPanningAndScanning_)return;const viewWidth=this.viewWidth_;const pixelRatio=window.devicePixelRatio||1;const xDeltaView=pixelRatio*(this.lastMouseViewPos_.x- 9333this.mouseViewPosAtMouseDown_.x);const yDelta=this.lastMouseViewPos_.y- 9334this.mouseViewPosAtMouseDown_.y;this.displayTransform_.set(this.viewportDisplayTransformAtMouseDown_);this.displayTransform_.incrementPanXInViewUnits(xDeltaView);this.displayTransform_.panY-=yDelta;this.viewport_.setDisplayTransformImmediately(this.displayTransform_);e.preventDefault();e.stopPropagation();this.storeLastMousePos_(e);},onEndPanScan_(e){this.isPanningAndScanning_=false;this.storeLastMousePos_(e);if(!e.isClick){e.preventDefault();}},onBeginSelection_(e){const canv=this.modelTrackContainer_.canvas;const rect=this.modelTrack_.getBoundingClientRect();const canvRect=canv.getBoundingClientRect();const inside=rect&&e.clientX>=rect.left&&e.clientX<rect.right&&e.clientY>=rect.top&&e.clientY<rect.bottom&&e.clientX>=canvRect.left&&e.clientX<canvRect.right;if(!inside)return;this.dragBeginEvent_=e;this.storeInitialInteractionPositionsAndFocus_(e);e.preventDefault();},onUpdateSelection_(e){if(!this.dragBeginEvent_)return;this.dragBoxXStart_=this.dragBeginEvent_.clientX;this.dragBoxXEnd_=e.clientX;this.dragBoxYStart_=this.dragBeginEvent_.clientY;this.dragBoxYEnd_=e.clientY;this.setDragBoxPosition_(this.dragBoxXStart_,this.dragBoxYStart_,this.dragBoxXEnd_,this.dragBoxYEnd_);},onEndSelection_(e){e.preventDefault();if(!this.dragBeginEvent_)return;this.hideDragBox_();const eDown=this.dragBeginEvent_;this.dragBeginEvent_=undefined;const loY=Math.min(eDown.clientY,e.clientY);const hiY=Math.max(eDown.clientY,e.clientY);const loX=Math.min(eDown.clientX,e.clientX);const hiX=Math.max(eDown.clientX,e.clientX);const canv=this.modelTrackContainer_.canvas;const worldOffset=canv.getBoundingClientRect().left;const loVX=loX-worldOffset;const hiVX=hiX-worldOffset;const selection=new tr.model.EventSet();if(eDown.appendSelection){const previousSelection=this.brushingStateController_.selection;if(previousSelection!==undefined){selection.addEventSet(previousSelection);}} 9335this.modelTrack_.addIntersectingEventsInRangeToSelection(loVX,hiVX,loY,hiY,selection);this.brushingStateController_.changeSelectionFromTimeline(selection);},onBeginZoom_(e){this.isZooming_=true;this.storeInitialInteractionPositionsAndFocus_(e);e.preventDefault();},onUpdateZoom_(e){if(!this.isZooming_)return;const newPosition=this.extractRelativeMousePosition_(e);const zoomScaleValue=1+(this.lastMouseViewPos_.y- 9336newPosition.y)*0.01;this.zoomBy_(zoomScaleValue,false);this.storeLastMousePos_(e);},onEndZoom_(e){this.isZooming_=false;if(!e.isClick){e.preventDefault();}},computeTouchCenter_(positions){let xSum=0;let ySum=0;for(let i=0;i<positions.length;++i){xSum+=positions[i].x;ySum+=positions[i].y;} 9337return{x:xSum/positions.length,y:ySum/positions.length};},computeTouchSpan_(positions){let xMin=Number.MAX_VALUE;let yMin=Number.MAX_VALUE;let xMax=Number.MIN_VALUE;let yMax=Number.MIN_VALUE;for(let i=0;i<positions.length;++i){xMin=Math.min(xMin,positions[i].x);yMin=Math.min(yMin,positions[i].y);xMax=Math.max(xMax,positions[i].x);yMax=Math.max(yMax,positions[i].y);} 9338return Math.sqrt((xMin-xMax)*(xMin-xMax)+ 9339(yMin-yMax)*(yMin-yMax));},onUpdateTransformForTouch_(e){const newPositions=this.extractRelativeTouchPositions_(e);const currentPositions=this.lastTouchViewPositions_;const newCenter=this.computeTouchCenter_(newPositions);const currentCenter=this.computeTouchCenter_(currentPositions);const newSpan=this.computeTouchSpan_(newPositions);const currentSpan=this.computeTouchSpan_(currentPositions);const vp=this.viewport_;const viewWidth=this.viewWidth_;const pixelRatio=window.devicePixelRatio||1;const xDelta=pixelRatio*(newCenter.x-currentCenter.x);const yDelta=newCenter.y-currentCenter.y;const zoomScaleValue=currentSpan>10?newSpan/currentSpan:1;const viewFocus=pixelRatio*newCenter.x;const worldFocus=vp.currentDisplayTransform.xViewToWorld(viewFocus);this.displayTransform_.set(vp.currentDisplayTransform);this.displayTransform_.scaleX*=zoomScaleValue;this.displayTransform_.xPanWorldPosToViewPos(worldFocus,viewFocus,viewWidth);this.displayTransform_.incrementPanXInViewUnits(xDelta);this.displayTransform_.panY-=yDelta;vp.setDisplayTransformImmediately(this.displayTransform_);this.storeLastTouchPositions_(e);},initHintText_(){this.$.hint_text.style.display='none';this.pendingHintTextClearTimeout_=undefined;},showHintText_(text){if(this.pendingHintTextClearTimeout_){window.clearTimeout(this.pendingHintTextClearTimeout_);this.pendingHintTextClearTimeout_=undefined;} 9340this.pendingHintTextClearTimeout_=setTimeout(this.hideHintText_.bind(this),1000);Polymer.dom(this.$.hint_text).textContent=text;this.$.hint_text.style.display='';},hideHintText_(){this.pendingHintTextClearTimeout_=undefined;this.$.hint_text.style.display='none';}});'use strict';Polymer({is:'tr-ui-find-control',filterKeyDown(e){if(e.keyCode===27){const hkc=tr.b.getHotkeyControllerForElement(this);if(hkc){hkc.childRequestsBlur(this);}else{this.blur();} 9341e.preventDefault();e.stopPropagation();return;}else if(e.keyCode===13){if(e.shiftKey){this.findPrevious();}else{this.findNext();}}},filterBlur(e){this.updateHitCountEl();},filterFocus(e){this.$.filter.select();},filterMouseUp(e){e.preventDefault();},get controller(){return this.controller_;},set controller(c){this.controller_=c;this.updateHitCountEl();},focus(){this.$.filter.focus();},get hasFocus(){return this===document.activeElement;},filterTextChanged(){Polymer.dom(this.$.hitCount).textContent='';this.$.spinner.style.visibility='visible';this.$.spinner.style.animation='spin 1s linear infinite';this.controller.startFiltering(this.$.filter.value).then(function(){this.$.spinner.style.visibility='hidden';this.$.spinner.style.animation='';this.updateHitCountEl();}.bind(this));},findNext(){if(this.controller){this.controller.findNext();} 9342this.updateHitCountEl();},findPrevious(){if(this.controller){this.controller.findPrevious();} 9343this.updateHitCountEl();},updateHitCountEl(){if(!this.controller||this.$.filter.value.length===0){Polymer.dom(this.$.hitCount).textContent='';return;} 9344const n=this.controller.filterHits.length;const i=n===0?-1:this.controller.currentHitIndex;Polymer.dom(this.$.hitCount).textContent=(i+1)+' of '+n;},setText(string){this.$.filter.value=string;}});'use strict';tr.exportTo('tr.e.tquery',function(){function Context(){this.event=undefined;this.ancestors=[];} 9345Context.prototype={push(event){const ctx=new Context();ctx.ancestors=this.ancestors.slice();ctx.ancestors.push(event);return ctx;},pop(event){const ctx=new Context();ctx.event=this.ancestors[this.ancestors.length-1];ctx.ancestors=this.ancestors.slice(0,this.ancestors.length-1);return ctx;}};return{Context,};});'use strict';tr.exportTo('tr.e.tquery',function(){function Filter(){tr.c.ScriptingObject.call(this);} 9346Filter.normalizeFilterExpression=function(filterExpression){if(filterExpression instanceof String||typeof(filterExpression)==='string'||filterExpression instanceof RegExp){const filter=new tr.e.tquery.FilterHasTitle(filterExpression);return filter;} 9347return filterExpression;};Filter.prototype={__proto__:tr.c.ScriptingObject.prototype,evaluate(context){throw new Error('Not implemented');},matchValue_(value,expected){if(expected instanceof RegExp){return expected.test(value);}else if(expected instanceof Function){return expected(value);} 9348return value===expected;}};return{Filter,};});'use strict';tr.exportTo('tr.e.tquery',function(){function FilterAllOf(opt_subExpressions){tr.e.tquery.Filter.call(this);this.subExpressions=opt_subExpressions||[];} 9349FilterAllOf.prototype={__proto__:tr.e.tquery.Filter.prototype,set subExpressions(exprs){this.subExpressions_=[];for(let i=0;i<exprs.length;i++){this.subExpressions_.push(tr.e.tquery.Filter.normalizeFilterExpression(exprs[i]));}},get subExpressions(){return this.subExpressions_;},evaluate(context){if(!this.subExpressions.length)return true;for(let i=0;i<this.subExpressions.length;i++){if(!this.subExpressions[i].evaluate(context)){return false;}} 9350return true;}};tr.c.ScriptingObjectRegistry.register(function(){const exprs=[];for(let i=0;i<arguments.length;i++){exprs.push(arguments[i]);} 9351return new FilterAllOf(exprs);},{name:'allOf'});return{FilterAllOf,};});'use strict';tr.exportTo('tr.e.tquery',function(){function FilterNot(subExpression){tr.e.tquery.Filter.call(this);this.subExpression=subExpression;} 9352FilterNot.prototype={__proto__:tr.e.tquery.Filter.prototype,set subExpression(expr){this.subExpression_=tr.e.tquery.Filter.normalizeFilterExpression(expr);},get subExpression(){return this.subExpression_;},evaluate(context){return!this.subExpression.evaluate(context);}};tr.c.ScriptingObjectRegistry.register(function(){const exprs=Array.prototype.slice.call(arguments);if(exprs.length!==1){throw new Error('not() must have exactly one subexpression');} 9353return new FilterNot(exprs[0]);},{name:'not'});return{FilterNot,};});'use strict';tr.exportTo('tr.e.tquery',function(){function FilterAnyOf(opt_subExpressions){tr.e.tquery.Filter.call(this);this.subExpressions=opt_subExpressions||[];} 9354FilterAnyOf.prototype={__proto__:tr.e.tquery.Filter.prototype,set subExpressions(exprs){this.subExpressions_=[];for(let i=0;i<exprs.length;i++){this.subExpressions_.push(tr.e.tquery.Filter.normalizeFilterExpression(exprs[i]));}},get subExpressions(){return this.subExpressions_;},evaluate(context){if(!this.subExpressions.length)return true;for(let i=0;i<this.subExpressions.length;i++){if(this.subExpressions[i].evaluate(context))return true;} 9355return false;}};tr.c.ScriptingObjectRegistry.register(function(){const exprs=Array.prototype.slice.call(arguments);return new FilterAnyOf(exprs);},{name:'anyOf'});tr.c.ScriptingObjectRegistry.register(function(){const exprs=Array.prototype.slice.call(arguments);return new tr.e.tquery.FilterNot(new FilterAnyOf(exprs));},{name:'noneOf'});return{FilterAnyOf,};});'use strict';tr.exportTo('tr.e.tquery',function(){function FilterHasAncestor(opt_subExpression){this.subExpression=opt_subExpression;} 9356FilterHasAncestor.prototype={__proto__:tr.e.tquery.Filter.prototype,set subExpression(expr){this.subExpression_=tr.e.tquery.Filter.normalizeFilterExpression(expr);},get subExpression(){return this.subExpression_;},evaluate(context){if(!this.subExpression){return context.ancestors.length>0;} 9357while(context.ancestors.length){context=context.pop();if(this.subExpression.evaluate(context))return true;} 9358return false;}};tr.c.ScriptingObjectRegistry.register(function(subExpression){return new FilterHasAncestor(subExpression);},{name:'hasAncestor'});return{FilterHasAncestor,};});'use strict';tr.exportTo('tr.e.tquery',function(){function FilterHasDuration(minValueOrExpected,opt_maxValue){if(minValueOrExpected!==undefined&&opt_maxValue!==undefined){this.minValue=minValueOrExpected;this.maxValue=opt_maxValue;}else{this.expected=minValueOrExpected;}} 9359FilterHasDuration.prototype={__proto__:tr.e.tquery.Filter.prototype,evaluate(context){if(context.event.duration===undefined)return false;if(this.minValue!==undefined&&this.maxValue!==undefined){return context.event.duration>=this.minValue&&context.event.duration<=this.maxValue;} 9360return this.matchValue_(context.event.duration,this.expected);}};tr.c.ScriptingObjectRegistry.register(function(minValueOrExpected,opt_maxValue){return new FilterHasDuration(minValueOrExpected,opt_maxValue);},{name:'hasDuration'});return{FilterHasDuration,};});'use strict';tr.exportTo('tr.e.tquery',function(){function FilterHasTitle(expected){tr.e.tquery.Filter.call(this);this.expected=expected;} 9361FilterHasTitle.prototype={__proto__:tr.e.tquery.Filter.prototype,evaluate(context){return this.matchValue_(context.event.title,this.expected);}};tr.c.ScriptingObjectRegistry.register(function(expected){const filter=new tr.e.tquery.FilterHasTitle(expected);return filter;},{name:'hasTitle'});return{FilterHasTitle,};});'use strict';tr.exportTo('tr.e.tquery',function(){function FilterIsTopLevel(opt_subExpression){this.subExpression=opt_subExpression;} 9362FilterIsTopLevel.prototype={__proto__:tr.e.tquery.Filter.prototype,set subExpression(expr){this.subExpression_=tr.e.tquery.Filter.normalizeFilterExpression(expr);},get subExpression(){return this.subExpression_;},evaluate(context){if(context.ancestors.length>0)return false;if(!this.subExpression)return true;return this.subExpression.evaluate(context);}};tr.c.ScriptingObjectRegistry.register(function(subExpression){return new FilterIsTopLevel(subExpression);},{name:'isTopLevel'});return{FilterIsTopLevel,};});'use strict';tr.exportTo('tr.e.tquery',function(){function addEventTreeToSelection(selection,event){selection.push(event);if(!event.subSlices)return;event.subSlices.forEach(addEventTreeToSelection.bind(undefined,selection));} 9363function TQuery(model){tr.c.ScriptingObject.call(this);this.model_=model;this.parent_=undefined;this.filterExpression_=undefined;this.selection_=undefined;} 9364TQuery.prototype={__proto__:tr.c.ScriptingObject.prototype,onModelChanged(model){this.model_=model;this.selection_=undefined;},get brushingStateController(){return this.brushingStateController_;},filter(filterExpression){const result=new TQuery(this.model_);result.parent_=this;result.filterExpression_=tr.e.tquery.Filter.normalizeFilterExpression(filterExpression);return result;},createFilterTaskGraph_(){const nodes=[this];while(nodes[nodes.length-1].parent_){nodes.push(nodes[nodes.length-1].parent_);} 9365const rootTask=new tr.b.Task();let lastTask=rootTask;let node;for(let i=nodes.length-1;i>=0;i--){node=nodes[i];if(node.selection_!==undefined)continue;node.selection_=new tr.model.EventSet();if(node.parent_===undefined){lastTask=lastTask.after(this.selectEverythingAsTask_(node.selection_));}else{const prevNode=nodes[i+1];lastTask=this.createFilterTaskForNode_(lastTask,node,prevNode);}} 9366return{rootTask,lastTask,lastNode:node};},createFilterTaskForNode_(lastTask,node,prevNode){return lastTask.after(function(){node.evaluateFilterExpression_(prevNode.selection_,node.selection_);},this);},evaluateFilterExpression_(inputSelection,outputSelection){const seenEvents={};inputSelection.forEach(function(event){const context=new tr.e.tquery.Context();context.event=event;this.evaluateFilterExpressionForEvent_(context,inputSelection,outputSelection,seenEvents);}.bind(this));},evaluateFilterExpressionForEvent_(context,inputSelection,outputSelection,seenEvents){const event=context.event;if(inputSelection.contains(event)&&!seenEvents[event.guid]){seenEvents[event.guid]=true;if(!this.filterExpression_||this.filterExpression_.evaluate(context)){outputSelection.push(event);}} 9367if(!event.subSlices)return;context=context.push(event);for(let i=0;i<event.subSlices.length;i++){context.event=event.subSlices[i];this.evaluateFilterExpressionForEvent_(context,inputSelection,outputSelection,seenEvents);}},selectEverythingAsTask_(selection){const filterTask=new tr.b.Task();for(const container of this.model_.getDescendantEventContainers()){filterTask.subTask(()=>{for(const event of container.childEvents()){addEventTreeToSelection(selection,event);}},this);} 9368return filterTask;},ready(){return new Promise(function(resolve,reject){const graph=this.createFilterTaskGraph_();graph.lastTask=graph.lastTask.after(function(){resolve(this.selection_);},this);tr.b.Task.RunWhenIdle(graph.rootTask);}.bind(this));},get selection(){if(this.selection_===undefined){const graph=this.createFilterTaskGraph_();tr.b.Task.RunSynchronously(graph.rootTask);} 9369return this.selection_;}};tr.c.ScriptingObjectRegistry.register(new TQuery(),{name:'$t'});return{TQuery,};});'use strict';Polymer({is:'tr-ui-scripting-control',isEnterKey_(event){return event.keyCode!==229&&(event.key==='Enter'||event.keyIdentifier==='Enter');},setFocus_(focused){const promptEl=this.$.prompt;if(focused){promptEl.focus();Polymer.dom(this.$.root).classList.add('focused');if(promptEl.value.length>0){const sel=window.getSelection();sel.collapse(Polymer.dom(promptEl).firstChild,promptEl.value.length);}}else{promptEl.blur();Polymer.dom(this.$.root).classList.remove('focused');const parent=promptEl.parentElement;const nextEl=Polymer.dom(promptEl).nextSibling;promptEl.remove();Polymer.dom(parent).insertBefore(promptEl,nextEl);}},onConsoleFocus(e){e.stopPropagation();this.setFocus_(true);},onConsoleBlur(e){e.stopPropagation();this.setFocus_(false);},promptKeyDown(e){e.stopPropagation();if(!this.isEnterKey_(e))return;e.preventDefault();const promptEl=this.$.prompt;const command=promptEl.value;if(command.length===0)return;promptEl.value='';this.addLine_(String.fromCharCode(187)+' '+command);let result;try{result=this.controller_.executeCommand(command);}catch(e){result=e.stack||e.stackTrace;} 9370if(result instanceof tr.e.tquery.TQuery){result.ready().then(function(selection){this.addLine_(selection.length+' matches');this.controller_.brushingStateController.showScriptControlSelection(selection);}.bind(this));}else{this.addLine_(result);} 9371promptEl.scrollIntoView();},addLine_(line){const historyEl=this.$.history;if(historyEl.innerText.length!==0){historyEl.innerText+='\n';} 9372historyEl.innerText+=line;},promptKeyPress(e){e.stopPropagation();},toggleVisibility(){const root=this.$.root;if(!this.visible){Polymer.dom(root).classList.remove('hidden');this.setFocus_(true);}else{Polymer.dom(root).classList.add('hidden');this.setFocus_(false);}},get hasFocus(){return this===document.activeElement;},get visible(){const root=this.$.root;return!Polymer.dom(root).classList.contains('hidden');},get controller(){return this.controller_;},set controller(c){this.controller_=c;}});'use strict';Polymer({is:'tr-ui-side-panel-container',ready(){this.activePanelContainer_=this.$.active_panel_container;this.tabStrip_=this.$.tab_strip;this.dragHandle_=this.$.side_panel_drag_handle;this.dragHandle_.horizontal=false;this.dragHandle_.target=this.activePanelContainer_;this.rangeOfInterest_=new tr.b.math.Range();this.brushingStateController_=undefined;this.onSelectionChanged_=this.onSelectionChanged_.bind(this);this.onModelChanged_=this.onModelChanged_.bind(this);},get brushingStateController(){return this.brushingStateController_;},set brushingStateController(brushingStateController){if(this.brushingStateController){this.brushingStateController_.removeEventListener('change',this.onSelectionChanged_);this.brushingStateController_.removeEventListener('model-changed',this.onModelChanged_);} 9373this.brushingStateController_=brushingStateController;if(this.brushingStateController){this.brushingStateController_.addEventListener('change',this.onSelectionChanged_);this.brushingStateController_.addEventListener('model-changed',this.onModelChanged_);}},onSelectionChanged_(){if(this.activePanel){this.activePanel.selection=this.selection;}},get model(){return this.brushingStateController_.model;},onModelChanged_(){this.activePanelType_=undefined;this.updateContents_();},get expanded(){this.hasAttribute('expanded');},get activePanel(){return this.activePanelContainer_.children[0];},get activePanelType(){return this.activePanelType_;},set activePanelType(panelType){if(this.model===undefined){throw new Error('Cannot activate panel without a model');} 9374let panel=undefined;if(panelType){panel=document.createElement(panelType);} 9375if(panel!==undefined&&!panel.supportsModel(this.model)){throw new Error('Cannot activate panel: does not support this model');} 9376if(this.activePanelType){Polymer.dom(this.getLabelElementForPanelType_(this.activePanelType)).removeAttribute('selected');} 9377if(this.activePanelType){this.getLabelElementForPanelType_(this.activePanelType).removeAttribute('selected');} 9378if(this.activePanel){this.activePanelContainer_.removeChild(this.activePanel);} 9379if(panelType===undefined){Polymer.dom(this).removeAttribute('expanded');this.activePanelType_=undefined;return;} 9380Polymer.dom(this.getLabelElementForPanelType_(panelType)).setAttribute('selected',true);Polymer.dom(this).setAttribute('expanded',true);Polymer.dom(this.activePanelContainer_).appendChild(panel);panel.rangeOfInterest=this.rangeOfInterest_;panel.selection=this.selection_;panel.model=this.model;this.activePanelType_=panelType;},getPanelTypeForConstructor_(constructor){for(let i=0;i<this.tabStrip_.children.length;i++){if(this.tabStrip_.children[i].panelType.constructor===constructor){return this.tabStrip_.children[i].panelType;}}},getLabelElementForPanelType_(panelType){for(let i=0;i<this.tabStrip_.children.length;i++){if(this.tabStrip_.children[i].panelType===panelType){return this.tabStrip_.children[i];}} 9381return undefined;},updateContents_(){const previouslyActivePanelType=this.activePanelType;Polymer.dom(this.tabStrip_).textContent='';const supportedPanelTypes=[];for(const panelTypeInfo of 9382tr.ui.side_panel.SidePanelRegistry.getAllRegisteredTypeInfos()){const labelEl=document.createElement('tab-strip-label');const panel=panelTypeInfo.constructor();const panelType=panel.tagName;Polymer.dom(labelEl).textContent=panel.textLabel;labelEl.panelType=panelType;const supported=panel.supportsModel(this.model);if(this.model&&supported.supported){supportedPanelTypes.push(panelType);Polymer.dom(labelEl).setAttribute('enabled',true);labelEl.addEventListener('click',function(panelType){this.activePanelType=this.activePanelType===panelType?undefined:panelType;}.bind(this,panelType));}else{if(this.activePanel){this.activePanelContainer_.removeChild(this.activePanel);} 9383this.removeAttribute('expanded');} 9384Polymer.dom(this.tabStrip_).appendChild(labelEl);} 9385if(previouslyActivePanelType&&supportedPanelTypes.includes(previouslyActivePanelType)){this.activePanelType=previouslyActivePanelType;Polymer.dom(this).setAttribute('expanded',true);}else{if(this.activePanel){Polymer.dom(this.activePanelContainer_).removeChild(this.activePanel);} 9386Polymer.dom(this).removeAttribute('expanded');}},get rangeOfInterest(){return this.rangeOfInterest_;},set rangeOfInterest(range){if(range===undefined){throw new Error('Must not be undefined');} 9387this.rangeOfInterest_=range;if(this.activePanel){this.activePanel.rangeOfInterest=range;}}});'use strict';Polymer({is:'tr-ui-timeline-view-help-overlay',ready(){const mod=tr.isMac?'cmd ':'ctrl';const spans=Polymer.dom(this.root).querySelectorAll('span.mod');for(let i=0;i<spans.length;i++){Polymer.dom(spans[i]).textContent=mod;}}});'use strict';Polymer({is:'tr-ui-timeline-view-metadata-overlay',created(){this.metadata_=undefined;},ready(){this.$.table.tableColumns=[{title:'name',value:d=>d.name,},{title:'value',value:d=>{const gov=document.createElement('tr-ui-a-generic-object-view');gov.object=d.value;return gov;},}];},get metadata(){return this.metadata_;},set metadata(metadata){this.metadata_=metadata;this.$.table.tableRows=this.metadata_;this.$.table.rebuild();}});'use strict';Polymer({is:'tr-v-ui-preferred-display-unit',ready(){this.preferredTimeDisplayMode_=undefined;},attached(){tr.b.Unit.didPreferredTimeDisplayUnitChange();},detached(){tr.b.Unit.didPreferredTimeDisplayUnitChange();},get preferredTimeDisplayMode(){return this.preferredTimeDisplayMode_;},set preferredTimeDisplayMode(v){if(this.preferredTimeDisplayMode_===v)return;this.preferredTimeDisplayMode_=v;tr.b.Unit.didPreferredTimeDisplayUnitChange();}});'use strict';Polymer({is:'tr-ui-timeline-view',attached(){this.async(function(){this.trackViewContainer_=Polymer.dom(this).querySelector('#track_view_container');if(!this.trackViewContainer_){throw new Error('missing trackviewContainer');}});},ready(){this.tabIndex=0;this.titleEl_=this.$.title;this.leftControlsEl_=this.$.left_controls;this.rightControlsEl_=this.$.right_controls;this.collapsingControlsEl_=this.$.collapsing_controls;this.sidePanelContainer_=this.$.side_panel_container;this.brushingStateController_=new tr.c.BrushingStateController(this);this.findCtl_=this.$.view_find_control;this.findCtl_.controller=new tr.ui.FindController(this.brushingStateController_);this.scriptingCtl_=document.createElement('tr-ui-scripting-control');this.scriptingCtl_.controller=new tr.c.ScriptingController(this.brushingStateController_);this.sidePanelContainer_.brushingStateController=this.brushingStateController_;if(window.tr.metrics&&window.tr.metrics.sh&&window.tr.metrics.sh.SystemHealthMetric){this.railScoreSpan_=document.createElement('tr-metrics-ui-sh-system-health-span');Polymer.dom(this.rightControls).appendChild(this.railScoreSpan_);}else{this.railScoreSpan_=undefined;} 9388this.optionsDropdown_=this.$.view_options_dropdown;Polymer.dom(this.optionsDropdown_.iconElement).textContent='View Options';this.showFlowEvents_=false;Polymer.dom(this.optionsDropdown_).appendChild(tr.ui.b.createCheckBox(this,'showFlowEvents','tr.ui.TimelineView.showFlowEvents',false,'Flow events'));this.highlightVSync_=false;this.highlightVSyncCheckbox_=tr.ui.b.createCheckBox(this,'highlightVSync','tr.ui.TimelineView.highlightVSync',false,'Highlight VSync');Polymer.dom(this.optionsDropdown_).appendChild(this.highlightVSyncCheckbox_);this.initMetadataButton_();this.initConsoleButton_();this.initHelpButton_();Polymer.dom(this.collapsingControls).appendChild(this.scriptingCtl_);this.dragEl_=this.$.drag_handle;this.analysisEl_=this.$.analysis;this.analysisEl_.brushingStateController=this.brushingStateController_;this.addEventListener('requestSelectionChange',function(e){const sc=this.brushingStateController_;sc.changeSelectionFromRequestSelectionChangeEvent(e.selection);}.bind(this));this.onViewportChanged_=this.onViewportChanged_.bind(this);this.bindKeyListeners_();this.dragEl_.target=this.analysisEl_;},get globalMode(){return this.hotkeyController.globalMode;},set globalMode(globalMode){globalMode=!!globalMode;this.brushingStateController_.historyEnabled=globalMode;this.hotkeyController.globalMode=globalMode;},get hotkeyController(){return this.$.hkc;},updateDocumentFavicon(){let hue;if(!this.model){hue='blue';}else{hue=this.model.faviconHue;} 9389let faviconData=tr.ui.b.FaviconsByHue[hue];if(faviconData===undefined){faviconData=tr.ui.b.FaviconsByHue.blue;} 9390let link=Polymer.dom(document.head).querySelector('link[rel="shortcut icon"]');if(!link){link=document.createElement('link');link.rel='shortcut icon';Polymer.dom(document.head).appendChild(link);} 9391link.href=faviconData;},get showFlowEvents(){return this.showFlowEvents_;},set showFlowEvents(showFlowEvents){this.showFlowEvents_=showFlowEvents;if(!this.trackView_)return;this.trackView_.viewport.showFlowEvents=showFlowEvents;},get highlightVSync(){return this.highlightVSync_;},set highlightVSync(highlightVSync){this.highlightVSync_=highlightVSync;if(!this.trackView_)return;this.trackView_.viewport.highlightVSync=highlightVSync;},initHelpButton_(){const helpButtonEl=this.$.view_help_button;const dlg=new tr.ui.b.Overlay();dlg.title='Chrome Tracing Help';dlg.visible=false;dlg.appendChild(document.createElement('tr-ui-timeline-view-help-overlay'));function onClick(e){dlg.visible=!dlg.visible;e.stopPropagation();} 9392helpButtonEl.addEventListener('click',onClick.bind(this));},initConsoleButton_(){const toggleEl=this.$.view_console_button;function onClick(e){this.scriptingCtl_.toggleVisibility();e.stopPropagation();return false;} 9393toggleEl.addEventListener('click',onClick.bind(this));},initMetadataButton_(){const showEl=this.$.view_metadata_button;function onClick(e){const dlg=new tr.ui.b.Overlay();dlg.title='Metadata for trace';const metadataOverlay=document.createElement('tr-ui-timeline-view-metadata-overlay');metadataOverlay.metadata=this.model.metadata;Polymer.dom(dlg).appendChild(metadataOverlay);dlg.visible=true;e.stopPropagation();return false;} 9394showEl.addEventListener('click',onClick.bind(this));this.updateMetadataButtonVisibility_();},updateMetadataButtonVisibility_(){const showEl=this.$.view_metadata_button;showEl.style.display=(this.model&&this.model.metadata.length)?'':'none';},get leftControls(){return this.leftControlsEl_;},get rightControls(){return this.rightControlsEl_;},get collapsingControls(){return this.collapsingControlsEl_;},get viewTitle(){return Polymer.dom(this.titleEl_).textContent.substring(Polymer.dom(this.titleEl_).textContent.length-2);},set viewTitle(text){if(text===undefined){Polymer.dom(this.titleEl_).textContent='';this.titleEl_.hidden=true;return;} 9395this.titleEl_.hidden=false;Polymer.dom(this.titleEl_).textContent=text;},get model(){if(this.trackView_){return this.trackView_.model;} 9396return undefined;},set model(model){const modelInstanceChanged=model!==this.model;const modelValid=model&&!model.bounds.isEmpty;const importWarningsEl=Polymer.dom(this.root).querySelector('#import-warnings');Polymer.dom(importWarningsEl).textContent='';if(modelInstanceChanged){if(this.railScoreSpan_){this.railScoreSpan_.model=undefined;} 9397Polymer.dom(this.trackViewContainer_).textContent='';if(this.trackView_){this.trackView_.viewport.removeEventListener('change',this.onViewportChanged_);this.trackView_.brushingStateController=undefined;this.trackView_.detach();this.trackView_=undefined;} 9398this.brushingStateController_.modelWillChange();} 9399if(modelValid&&!this.trackView_){this.trackView_=document.createElement('tr-ui-timeline-track-view');this.trackView_.timelineView=this;this.trackView.brushingStateController=this.brushingStateController_;Polymer.dom(this.trackViewContainer_).appendChild(this.trackView_);this.trackView_.viewport.addEventListener('change',this.onViewportChanged_);} 9400if(modelValid){this.trackView_.model=model;this.trackView_.viewport.showFlowEvents=this.showFlowEvents;this.trackView_.viewport.highlightVSync=this.highlightVSync;if(this.railScoreSpan_){this.railScoreSpan_.model=model;} 9401this.$.display_unit.preferredTimeDisplayMode=model.intrinsicTimeUnit;} 9402if(model){model.importWarningsThatShouldBeShownToUser.forEach(function(importWarning){importWarningsEl.addMessage('Import Warning: '+importWarning.type+': '+ 9403importWarning.message);},this);} 9404if(modelInstanceChanged){this.updateMetadataButtonVisibility_();this.brushingStateController_.modelDidChange();this.onViewportChanged_();}},get brushingStateController(){return this.brushingStateController_;},get trackView(){return this.trackView_;},get settings(){if(!this.settings_){this.settings_=new tr.b.Settings();} 9405return this.settings_;},set focusElement(value){throw new Error('This is deprecated. Please set globalMode to true.');},bindKeyListeners_(){const hkc=this.hotkeyController;hkc.addHotKey(new tr.ui.b.HotKey({eventType:'keypress',keyCode:'`'.charCodeAt(0),useCapture:true,thisArg:this,callback(e){this.scriptingCtl_.toggleVisibility();if(!this.scriptingCtl_.hasFocus){this.focus();} 9406e.stopPropagation();}}));hkc.addHotKey(new tr.ui.b.HotKey({eventType:'keypress',keyCode:'/'.charCodeAt(0),useCapture:true,thisArg:this,callback(e){if(this.scriptingCtl_.hasFocus)return;if(this.findCtl_.hasFocus){this.focus();}else{this.findCtl_.focus();} 9407e.preventDefault();e.stopPropagation();}}));hkc.addHotKey(new tr.ui.b.HotKey({eventType:'keypress',keyCode:'?'.charCodeAt(0),useCapture:false,thisArg:this,callback(e){this.$.view_help_button.click();e.stopPropagation();}}));hkc.addHotKey(new tr.ui.b.HotKey({eventType:'keypress',keyCode:'v'.charCodeAt(0),useCapture:false,thisArg:this,callback(e){this.toggleHighlightVSync_();e.stopPropagation();}}));},onViewportChanged_(e){const spc=this.sidePanelContainer_;if(!this.trackView_){spc.rangeOfInterest.reset();return;} 9408const vr=this.trackView_.viewport.interestRange.asRangeObject();if(!spc.rangeOfInterest.equals(vr)){spc.rangeOfInterest=vr;} 9409if(this.railScoreSpan_&&this.model){this.railScoreSpan_.model=this.model;}},toggleHighlightVSync_(){this.highlightVSyncCheckbox_.checked=!this.highlightVSyncCheckbox_.checked;},setFindCtlText(string){this.findCtl_.setText(string);}});'use strict';tr.exportTo('tr.ui.b',function(){function Row(title,data,groupingKeyFuncs,rowStatsConstructor){this.title=title;this.data_=data;if(groupingKeyFuncs===undefined){groupingKeyFuncs=[];} 9410this.groupingKeyFuncs_=groupingKeyFuncs;this.rowStatsConstructor_=rowStatsConstructor;this.subRowsBuilt_=false;this.subRows_=undefined;this.rowStats_=undefined;} 9411Row.prototype={getCurrentGroupingKeyFunc_(){if(this.groupingKeyFuncs_.length===0)return undefined;return this.groupingKeyFuncs_[0];},get data(){return this.data_;},get rowStats(){if(this.rowStats_===undefined){this.rowStats_=new this.rowStatsConstructor_(this);} 9412return this.rowStats_;},rebuildSubRowsIfNeeded_(){if(this.subRowsBuilt_)return;this.subRowsBuilt_=true;const groupingKeyFunc=this.getCurrentGroupingKeyFunc_();if(groupingKeyFunc===undefined){this.subRows_=undefined;return;} 9413const dataByKey={};let hasValues=false;this.data_.forEach(function(datum){const key=groupingKeyFunc(datum);hasValues=hasValues||(key!==undefined);if(dataByKey[key]===undefined){dataByKey[key]=[];} 9414dataByKey[key].push(datum);});if(!hasValues){this.subRows_=undefined;return;} 9415this.subRows_=[];for(const key in dataByKey){const row=new Row(key,dataByKey[key],this.groupingKeyFuncs_.slice(1),this.rowStatsConstructor_);this.subRows_.push(row);}},get isExpanded(){return(this.subRows&&(this.subRows.length>0)&&(this.subRows.length<5));},get subRows(){this.rebuildSubRowsIfNeeded_();return this.subRows_;}};Polymer({is:'tr-ui-b-grouping-table',created(){this.dataToGroup_=undefined;this.groupBy_=undefined;this.rowStatsConstructor_=undefined;},get tableColumns(){return this.$.table.tableColumns;},set tableColumns(tableColumns){this.$.table.tableColumns=tableColumns;},get tableRows(){return this.$.table.tableRows;},get sortColumnIndex(){return this.$.table.sortColumnIndex;},set sortColumnIndex(sortColumnIndex){this.$.table.sortColumnIndex=sortColumnIndex;},get sortDescending(){return this.$.table.sortDescending;},set sortDescending(sortDescending){this.$.table.sortDescending=sortDescending;},get selectionMode(){return this.$.table.selectionMode;},set selectionMode(selectionMode){this.$.table.selectionMode=selectionMode;},get rowHighlightStyle(){return this.$.table.rowHighlightStyle;},set rowHighlightStyle(rowHighlightStyle){this.$.table.rowHighlightStyle=rowHighlightStyle;},get cellHighlightStyle(){return this.$.table.cellHighlightStyle;},set cellHighlightStyle(cellHighlightStyle){this.$.table.cellHighlightStyle=cellHighlightStyle;},get selectedColumnIndex(){return this.$.table.selectedColumnIndex;},set selectedColumnIndex(selectedColumnIndex){this.$.table.selectedColumnIndex=selectedColumnIndex;},get selectedTableRow(){return this.$.table.selectedTableRow;},set selectedTableRow(selectedTableRow){this.$.table.selectedTableRow=selectedTableRow;},get groupBy(){return this.groupBy_;},set groupBy(groupBy){this.groupBy_=groupBy;this.updateContents_();},get dataToGroup(){return this.dataToGroup_;},set dataToGroup(dataToGroup){this.dataToGroup_=dataToGroup;this.updateContents_();},get rowStatsConstructor(){return this.rowStatsConstructor_;},set rowStatsConstructor(rowStatsConstructor){this.rowStatsConstructor_=rowStatsConstructor;this.updateContents_();},rebuild(){this.$.table.rebuild();},updateContents_(){const groupBy=this.groupBy_||[];const dataToGroup=this.dataToGroup_||[];const rowStatsConstructor=this.rowStatsConstructor_||function(){};const superRow=new Row('',dataToGroup,groupBy,rowStatsConstructor);this.$.table.tableRows=superRow.subRows||[];}});return{};});'use strict';tr.exportTo('tr.ui.b',function(){const THIS_DOC=document.currentScript.ownerDocument;Polymer({is:'tr-ui-b-grouping-table-groupby-picker-group',created(){this.picker_=undefined;this.group_=undefined;},get picker(){return this.picker_;},set picker(picker){this.picker_=picker;},get group(){return this.group_;},set group(g){this.group_=g;this.$.label.textContent=g.label;},get enabled(){return this.$.enabled.checked;},set enabled(enabled){this.$.enabled.checked=enabled;if(!this.enabled){this.$.left.style.display='none';this.$.right.style.display='none';}},set isFirst(isFirst){this.$.left.style.display=(!this.enabled||isFirst)?'none':'inline';},set isLast(isLast){this.$.right.style.display=(!this.enabled||isLast)?'none':'inline';},moveLeft_(){this.picker.moveLeft_(this);},moveRight_(){this.picker.moveRight_(this);},onEnableChanged_(){if(!this.enabled){this.$.left.style.display='none';this.$.right.style.display='none';} 9416this.picker.onEnableChanged_(this);}});Polymer({is:'tr-ui-b-grouping-table-groupby-picker',created(){this.settingsKey_=undefined;},get settingsKey(){return this.settingsKey_;},set settingsKey(settingsKey){this.settingsKey_=settingsKey;if(this.$.container.children.length){this.restoreSetting_();}},restoreSetting_(){if(this.settingsKey_===undefined)return;this.currentGroupKeys=tr.b.Settings.get(this.settingsKey_,this.currentGroupKeys);},get possibleGroups(){return[...this.$.container.children].map(groupEl=>groupEl.group);},set possibleGroups(possibleGroups){Polymer.dom(this.$.container).textContent='';for(let i=0;i<possibleGroups.length;++i){const groupEl=document.createElement('tr-ui-b-grouping-table-groupby-picker-group');groupEl.picker=this;groupEl.group=possibleGroups[i];Polymer.dom(this.$.container).appendChild(groupEl);} 9417this.restoreSetting_();this.updateFirstLast_();},updateFirstLast_(){const groupEls=this.$.container.children;const enabledGroupEls=[...groupEls].filter(el=>el.enabled);for(let i=0;i<enabledGroupEls.length;++i){enabledGroupEls[i].isFirst=i===0;enabledGroupEls[i].isLast=i===enabledGroupEls.length-1;}},get currentGroupKeys(){return this.currentGroups.map(group=>group.key);},get currentGroups(){const groups=[];for(const groupEl of this.$.container.children){if(groupEl.enabled){groups.push(groupEl.group);}} 9418return groups;},set currentGroupKeys(newKeys){if(!tr.b.compareArrays(this.currentGroupKeys,newKeys,(x,y)=>x.localeCompare(y))){return;} 9419const possibleGroups=new Map();for(const group of this.possibleGroups){possibleGroups.set(group.key,group);} 9420const groupEls=this.$.container.children;let i=0;for(i=0;i<newKeys.length;++i){const group=possibleGroups.get(newKeys[i]);if(group===undefined){newKeys.splice(i,1);--i;continue;} 9421groupEls[i].group=group;groupEls[i].enabled=true;possibleGroups.delete(newKeys[i]);} 9422for(const group of possibleGroups.values()){groupEls[i].group=group;groupEls[i].enabled=false;++i;} 9423this.updateFirstLast_();this.onCurrentGroupsChanged_();},moveLeft_(groupEl){const reference=groupEl.previousSibling;Polymer.dom(this.$.container).removeChild(groupEl);Polymer.dom(this.$.container).insertBefore(groupEl,reference);this.updateFirstLast_();if(groupEl.enabled){this.onCurrentGroupsChanged_();}},moveRight_(groupEl){const reference=groupEl.nextSibling.nextSibling;Polymer.dom(this.$.container).removeChild(groupEl);if(reference){Polymer.dom(this.$.container).insertBefore(groupEl,reference);}else{Polymer.dom(this.$.container).appendChild(groupEl);} 9424this.updateFirstLast_();if(groupEl.enabled){this.onCurrentGroupsChanged_();}},onCurrentGroupsChanged_(){this.dispatchEvent(new tr.b.Event('current-groups-changed'));tr.b.Settings.set(this.settingsKey_,this.currentGroupKeys);},onEnableChanged_(groupEl){this.updateFirstLast_();this.onCurrentGroupsChanged_();}});return{};});'use strict';(function(){Polymer({is:'tr-ui-sp-file-size-stats-side-panel',behaviors:[tr.ui.behaviors.SidePanel],ready(){this.model_=undefined;this.selection_=new tr.model.EventSet();this.$.picker.settingsKey='tr-ui-sp-file-size-stats-side-panel-picker';this.$.picker.possibleGroups=[{key:'phase',label:'Event Type',dataFn(eventStat){return eventStat.phase;}},{key:'category',label:'Category',dataFn(eventStat){return eventStat.category;}},{key:'title',label:'Title',dataFn(eventStat){return eventStat.title;}}];if(this.$.picker.currentGroupKeys.length===0){this.$.picker.currentGroupKeys=['phase','title'];} 9425this.$.picker.addEventListener('current-groups-changed',this.updateContents_.bind(this));},get textLabel(){return'File Size Stats';},supportsModel(m){if(!m){return{supported:false,reason:'No stats were collected for this file.'};} 9426if(m.stats.allTraceEventStats.length===0){return{supported:false,reason:'No stats were collected for this file.'};} 9427return{supported:true};},get model(){return this.model_;},set model(model){this.model_=model;this.updateContents_();},get rangeOfInterest(){return this.rangeOfInterest_;},set rangeOfInterest(rangeOfInterest){this.rangeOfInterest_=rangeOfInterest;},get selection(){return this.selection_;},set selection(selection){this.selection_=selection;},createColumns_(stats){const columns=[{title:'Title',value(row){const titleEl=document.createElement('span');Polymer.dom(titleEl).textContent=row.title;titleEl.style.textOverflow='ellipsis';return titleEl;},cmp(a,b){return a.title.localeCompare(b.title);},width:'400px'},{title:'Num Events',align:tr.ui.b.TableFormat.ColumnAlignment.RIGHT,value(row){return row.rowStats.numEvents;},cmp(a,b){return a.rowStats.numEvents-b.rowStats.numEvents;},width:'80px'}];if(stats&&stats.hasEventSizesinBytes){columns.push({title:'Bytes',value(row){const value=new tr.b.Scalar(tr.b.Unit.byName.sizeInBytes,row.rowStats.totalEventSizeinBytes);const spanEl=tr.v.ui.createScalarSpan(value);return spanEl;},cmp(a,b){return a.rowStats.totalEventSizeinBytes- 9428b.rowStats.totalEventSizeinBytes;},width:'80px'});} 9429return columns;},updateContents_(){const table=this.$.table;const columns=this.createColumns_(this.model.stats);table.rowStatsConstructor=function ModelStatsRowStats(row){const sum=tr.b.math.Statistics.sum(row.data,function(x){return x.numEvents;});const totalEventSizeinBytes=tr.b.math.Statistics.sum(row.data,x=>x.totalEventSizeinBytes);return{numEvents:sum,totalEventSizeinBytes};};table.tableColumns=columns;table.sortColumnIndex=1;table.sortDescending=true;table.selectionMode=tr.ui.b.TableFormat.SelectionMode.ROW;table.groupBy=this.$.picker.currentGroups.map(function(group){return group.dataFn;});if(!this.model){table.dataToGroup=[];}else{table.dataToGroup=this.model.stats.allTraceEventStats;} 9430this.$.table.rebuild();}});tr.ui.side_panel.SidePanelRegistry.register(function(){return document.createElement('tr-ui-sp-file-size-stats-side-panel');});})();'use strict';tr.exportTo('tr.mre',function(){const FunctionRegistry={allFunctions_:[],allFunctionsByName_:{},get allFunctions(){return this.allFunctions_;},get allFunctionsByName(){return this.allFunctionsByName_;}};FunctionRegistry.getFunction=function(name){return this.allFunctionsByName_[name];};FunctionRegistry.register=function(func){if(func.name===''){throw new Error('Registered functions must not be anonymous');} 9431if(this.allFunctionsByName[func.name]!==undefined){throw new Error('Function named '+func.name+'is already registered.');} 9432this.allFunctionsByName[func.name]=func;this.allFunctions.push(func);};function ModuleToLoad(href,filename){if((href!==undefined)?(filename!==undefined):(filename===undefined)){throw new Error('ModuleToLoad must specify exactly one of href or '+'filename');} 9433this.href=href;this.filename=filename;} 9434ModuleToLoad.prototype={asDict(){if(this.href!==undefined){return{'href':this.href};} 9435return{'filename':this.filename};},toString(){if(this.href!==undefined){return'ModuleToLoad(href="'+this.href+'")';} 9436return'ModuleToLoad(filename="'+this.filename+'")';}};ModuleToLoad.fromDict=function(moduleDict){return new ModuleToLoad(moduleDict.href,moduleDict.filename);};function FunctionHandle(modulesToLoad,functionName,opt_options){if(!(modulesToLoad instanceof Array)){throw new Error('modulesToLoad in FunctionHandle must be an array');} 9437if(typeof(functionName)!=='string'){throw new Error('functionName in FunctionHandle must be a string');} 9438this.modulesToLoad=modulesToLoad;this.functionName=functionName;this.options_=opt_options;} 9439FunctionHandle.prototype={get options(){return this.options_;},asDict(){return{'modules_to_load':this.modulesToLoad.map(function(m){return m.asDict();}),'function_name':this.functionName,'options':this.options_};},asUserFriendlyString(){const parts=this.modulesToLoad.map(mtl=>mtl.filename);parts.push(this.functionName);parts.push(JSON.stringify(this.options_));return parts.join(',');},hasHrefs(){for(const module in this.modulesToLoad){if(this.modulesToLoad[module].href!==undefined){return true;}} 9440return false;},load(){if(this.hasHrefs()){const err=new Error('FunctionHandle named '+this.functionName+' specifies hrefs, which cannot be loaded.');err.name='FunctionLoadingError';throw err;} 9441for(const module in this.modulesToLoad){const filename=this.modulesToLoad[module].filename;try{HTMLImportsLoader.loadHTMLFile(filename);}catch(err){err.name='FunctionLoadingError';throw err;}} 9442const func=FunctionRegistry.getFunction(this.functionName);if(func===undefined){const err=new Error('No registered function named '+this.functionName);err.name='FunctionNotDefinedError';throw err;} 9443return func;},toString(){const modulesToLoadStr=this.modulesToLoad.map(function(module){return module.toString();});return'FunctionHandle(modulesToLoad=['+modulesToLoadStr+'], '+'functionName="'+this.functionName+'", options="'+ 9444JSON.stringify(this.options_)+'")';}};FunctionHandle.loadFromFilename_=function(filename){try{const numFunctionsBefore=FunctionRegistry.allFunctions.length;HTMLImportsLoader.loadHTMLFile(filename);}catch(err){err.name='FunctionLoadingError';throw err;} 9445const numFunctionsNow=FunctionRegistry.allFunctions.length;if(numFunctionsNow!==(numFunctionsBefore+1)){const err=new Error(filename+' didn\'t call FunctionRegistry.register');err.name='FunctionNotDefinedError';throw err;} 9446return FunctionRegistry.allFunctions[numFunctionsNow-1];};FunctionHandle.fromDict=function(handleDict){const options=handleDict.options;let modulesToLoad;if(handleDict.modules_to_load!==undefined){modulesToLoad=handleDict.modules_to_load.map(function(module){return ModuleToLoad.fromDict(module);});} 9447return new FunctionHandle(modulesToLoad,handleDict.function_name,options);};return{FunctionHandle,ModuleToLoad,FunctionRegistry,};});'use strict';tr.exportTo('tr.metrics',function(){function runMetrics(model,options){if(options===undefined){throw new Error('Options are required.');} 9448const metricNames=options.metrics;if(!metricNames){throw new Error('Metric names should be specified.');} 9449const histograms=new tr.v.HistogramSet();for(const metricName of metricNames){const metric=tr.metrics.MetricRegistry.findTypeInfoWithName(metricName);if(metric===undefined){throw new Error('"'+metricName+'" is not a registered metric.');} 9450metric.constructor(histograms,model,options);} 9451return histograms;} 9452function addTelemetryInfo(histograms,model){const telemetry=new tr.v.d.TelemetryInfo();for(const metadata of model.metadata){if(!metadata.value)continue;if(metadata.value.telemetry){telemetry.addInfo(metadata.value.telemetry);}} 9453histograms.addSharedDiagnostic(tr.v.d.TelemetryInfo.NAME,telemetry);} 9454function metricMapFunction(result,model,options){const histograms=runMetrics(model,options);addTelemetryInfo(histograms,model);result.addPair('histograms',histograms.asDicts());const scalarDicts=[];for(const value of histograms){for(const[statName,scalar]of value.statisticsScalars){scalarDicts.push({name:value.name+'_'+statName,numeric:scalar.asDict(),description:value.description,});}} 9455result.addPair('scalars',scalarDicts);} 9456tr.mre.FunctionRegistry.register(metricMapFunction);return{metricMapFunction,runMetrics,};});'use strict';tr.exportTo('tr.mre',function(){function Failure(job,functionHandleString,traceCanonicalUrl,failureTypeName,description,stack){this.job=job;this.functionHandleString=functionHandleString;this.traceCanonicalUrl=traceCanonicalUrl;this.failureTypeName=failureTypeName;this.description=description;this.stack=stack;} 9457Failure.prototype={asDict(){return{function_handle_string:this.functionHandleString,trace_canonical_url:this.traceCanonicalUrl,type:this.failureTypeName,description:this.description,stack:this.stack};}};Failure.fromDict=function(failureDict){return new Failure(undefined,failureDict.function_handle_string,failureDict.trace_canonical_url,failureDict.type,failureDict.description,failureDict.stack);};return{Failure,};});'use strict';tr.exportTo('tr.mre',function(){class MreResult{constructor(failures,pairs){if(failures===undefined){failures=[];} 9458if(pairs===undefined){pairs={};} 9459this.failures=failures;this.pairs=pairs;} 9460addFailure(failure){this.failures.push(failure);} 9461addPair(key,value){if(key in this.pairs){throw new Error('Key '+key+' already exists in result.');} 9462this.pairs[key]=value;} 9463asDict(){const d={pairs:this.pairs};if(this.failures){d.failures=this.failures.map(function(f){return f.asDict();});} 9464return d;} 9465hadFailures(){return this.failures.length>0;} 9466static fromDict(resultDict){const failures=(resultDict.failures!==undefined)?resultDict.failures.map(tr.mre.Failure.fromDict):undefined;const pairs=resultDict.pairs;return new MreResult(failures,pairs);}} 9467return{MreResult,};});'use strict';tr.exportTo('tr.ui',function(){class NullBrushingStateController extends tr.c.BrushingStateController{constructor(){super(undefined);this.parentController=undefined;} 9468dispatchChangeEvent_(){if(this.parentController)this.parentController.dispatchChangeEvent_();} 9469get model(){if(!this.parentController)return undefined;return this.parentController.model;} 9470get trackView(){if(!this.parentController)return undefined;return this.parentController.trackView;} 9471get viewport(){if(!this.parentController)return undefined;return this.parentController.viewport;} 9472get historyEnabled(){if(!this.parentController)return undefined;return this.parentController.historyEnabled;} 9473set historyEnabled(historyEnabled){if(this.parentController){this.parentController.historyEnabled=historyEnabled;}} 9474modelWillChange(){if(this.parentController)this.parentController.modelWillChange();} 9475modelDidChange(){if(this.parentController)this.parentController.modelDidChange();} 9476onUserInitiatedSelectionChange_(){if(this.parentController){this.parentController.onUserInitiatedSelectionChange_();}} 9477onPopState_(e){if(this.parentController)this.parentController.onPopState_(e);} 9478get selection(){if(!this.parentController)return undefined;return this.parentController.selection;} 9479get findMatches(){if(!this.parentController)return undefined;return this.parentController.findMatches;} 9480get selectionOfInterest(){if(!this.parentController)return undefined;return this.parentController.selectionOfInterest;} 9481get currentBrushingState(){if(!this.parentController)return undefined;return this.parentController.currentBrushingState;} 9482set currentBrushingState(newBrushingState){if(this.parentController){this.parentController.currentBrushingState=newBrushingState;}} 9483addAllEventsMatchingFilterToSelectionAsTask(filter,selection){if(this.parentController){this.parentController.addAllEventsMatchingFilterToSelectionAsTask(filter,selection);}} 9484findTextChangedTo(allPossibleMatches){if(this.parentController){this.parentController.findTextChangedTo(allPossibleMatches);}} 9485findFocusChangedTo(currentFocus){if(this.parentController){this.parentController.findFocusChangedTo(currentFocus);}} 9486findTextCleared(){if(this.parentController){this.parentController.findTextCleared();}} 9487uiStateFromString(string){if(this.parentController){this.parentController.uiStateFromString(string);}} 9488navToPosition(uiState,showNavLine){if(this.parentController){this.parentController.navToPosition(uiState,showNavLine);}} 9489changeSelectionFromTimeline(selection){if(this.parentController){this.parentController.changeSelectionFromTimeline(selection);}} 9490showScriptControlSelection(selection){if(this.parentController){this.parentController.showScriptControlSelection(selection);}} 9491changeSelectionFromRequestSelectionChangeEvent(selection){if(this.parentController){this.parentController.changeSelectionFromRequestSelectionChangeEvent(selection);}} 9492changeAnalysisViewRelatedEvents(eventSet){if(this.parentController&&(eventSet instanceof tr.model.EventSet)){this.parentController.changeAnalysisViewRelatedEvents(eventSet);}} 9493changeAnalysisLinkHoveredEvents(eventSet){if(this.parentController&&(eventSet instanceof tr.model.EventSet)){this.parentController.changeAnalysisLinkHoveredEvents(eventSet);}} 9494getViewSpecificBrushingState(viewId){if(this.parentController){this.parentController.getViewSpecificBrushingState(viewId);}} 9495changeViewSpecificBrushingState(viewId,newState){if(this.parentController){this.parentController.changeViewSpecificBrushingState(viewId,newState);}}} 9496return{NullBrushingStateController,};});'use strict';tr.exportTo('tr.v',function(){const CSV_ITERATION_INFO_NAMES=['benchmarkName','benchmarkStartString','label','osVersion','productVersion','storyDisplayName','storysetRepeatCounter',];class CSVBuilder{constructor(histograms){this.histograms_=histograms;this.table_=[];this.statisticsNames_=new Set();this.iterationInfoNames_=new Set();this.storyGroupingKeys_=new Set();} 9497build(){this.prepare_();this.buildHeader_();for(const hist of this.histograms_){const row=[hist.name,hist.unit.unitString];this.table_.push(row);const stats=hist.statisticsScalars;for(const name of this.statisticsNames_){row.push(stats.has(name)?stats.get(name).value:'');} 9498const iteration=tr.v.d.TelemetryInfo.getFromHistogram(hist);for(const name of this.iterationInfoNames_){if(iteration===undefined||iteration[name]===undefined){row.push('');}else{row.push(iteration[name]);}} 9499for(const key of this.storyGroupingKeys_){if(iteration===undefined||iteration.storyGroupingKeys.get(key)===undefined){row.push('');}else{row.push(iteration.storyGroupingKeys.get(key));}}}} 9500prepare_(){for(const hist of this.histograms_){for(const name of hist.statisticsNames){this.statisticsNames_.add(name);} 9501const iteration=tr.v.d.TelemetryInfo.getFromHistogram(hist);if(iteration===undefined)continue;for(const name of CSV_ITERATION_INFO_NAMES){if(iteration[name]){this.iterationInfoNames_.add(name);}} 9502for(const[key,value]of iteration.storyGroupingKeys){this.storyGroupingKeys_.add(key);}}} 9503buildHeader_(){const header=['name','unit'];for(const name of this.statisticsNames_){header.push(name);} 9504for(const name of this.iterationInfoNames_){header.push(name);} 9505for(const key of this.storyGroupingKeys_){header.push(key);} 9506this.table_.push(header);} 9507toString(){let str='';for(const row of this.table_){for(let i=0;i<row.length;++i){if(i>0){str+=',';} 9508let cell=''+row[i];if(cell.indexOf(',')>=0||cell.indexOf('"')>=0){cell='"'+cell.replace(/"/g,'""')+'"';} 9509str+=cell;} 9510str+='\n';} 9511return str;}} 9512return{CSVBuilder,};});'use strict';tr.exportTo('tr.v',function(){const getDisplayLabel=tr.v.HistogramSet.GROUPINGS.DISPLAY_LABEL.callback;const DEFAULT_POSSIBLE_GROUPS=[];DEFAULT_POSSIBLE_GROUPS.push(new tr.v.HistogramGrouping(tr.v.HistogramSet.GROUPINGS.HISTOGRAM_NAME.key,h=>h.shortName||h.name));for(const group of Object.values(tr.v.HistogramSet.GROUPINGS)){if(group!==tr.v.HistogramSet.GROUPINGS.DISPLAY_LABEL&&group!==tr.v.HistogramSet.GROUPINGS.HISTOGRAM_NAME){DEFAULT_POSSIBLE_GROUPS.push(group);}} 9513class HistogramParameterCollector{constructor(){this.statisticNames_=new Set(['avg']);this.labelsToStartTimes_=new Map();this.keysToGroupings_=new Map(DEFAULT_POSSIBLE_GROUPS.map(g=>[g.key,g]));this.keysToValues_=new Map(DEFAULT_POSSIBLE_GROUPS.map(g=>[g.key,new Set()]));this.keysToValues_.delete(tr.v.HistogramSet.GROUPINGS.HISTOGRAM_NAME.key);} 9514process(histograms){for(const hist of histograms){for(const statName of hist.statisticsNames){this.statisticNames_.add(statName);} 9515const telemetry=tr.v.d.TelemetryInfo.getFromHistogram(hist);let startTime=0;if(telemetry&&telemetry.benchmarkStart){startTime=telemetry.benchmarkStart.getTime();} 9516const displayLabel=getDisplayLabel(hist);if(this.labelsToStartTimes_.has(displayLabel)){startTime=Math.min(startTime,this.labelsToStartTimes_.get(displayLabel));} 9517this.labelsToStartTimes_.set(displayLabel,startTime);if(!telemetry)continue;for(const[groupingKey,values]of this.keysToValues_){const grouping=this.keysToGroupings_.get(groupingKey);const value=grouping.callback(hist);if(!value)continue;values.add(value);if(values.size>1){this.keysToValues_.delete(groupingKey);}} 9518for(const[key,value]of telemetry.storyGroupingKeys){const groupingKey='storyGroupingKey_'+key;if(this.keysToGroupings_.has(groupingKey))continue;this.keysToGroupings_.set(groupingKey,new tr.v.HistogramGrouping(groupingKey,tr.v.d.TelemetryInfo.makeStoryGroupingKeyLabelGetter(key)));this.keysToValues_.set(groupingKey,new Set([value]));}}} 9519get statisticNames(){return Array.from(this.statisticNames_);} 9520get labels(){const displayLabels=Array.from(this.labelsToStartTimes_.keys());displayLabels.sort((x,y)=>this.labelsToStartTimes_.get(x)-this.labelsToStartTimes_.get(y));return displayLabels;} 9521get possibleGroupings(){for(const[key,values]of this.keysToValues_){if(values.size>=2)continue;this.keysToGroupings_.delete(key);} 9522return Array.from(this.keysToGroupings_.values());}} 9523return{HistogramParameterCollector,};});'use strict';tr.exportTo('tr.v.ui',function(){Polymer({is:'tr-v-ui-histogram-set-controls',properties:{searchQuery:{type:String,value:'',observer:'onUserChange_',},showAll:{type:Boolean,value:false,observer:'onUserChange_',},referenceDisplayLabel:{type:String,value:'',observer:'onUserChange_',},displayStatisticName:{type:String,value:'',observer:'onUserChange_',},},created(){this.viewState_=undefined;this.rowListener_=this.onRowViewStateUpdate_.bind(this);this.baseStatisticNames_=[];this.isInOnViewStateUpdate_=false;},ready(){this.$.picker.addEventListener('current-groups-changed',this.onGroupsChanged_.bind(this));},get viewState(){return this.viewState_;},set viewState(vs){if(this.viewState_){throw new Error('viewState must be set exactly once.');} 9524this.viewState_=vs;this.viewState.addUpdateListener(this.onViewStateUpdate_.bind(this));},async onUserChange_(){if(!this.viewState)return;if(this.isInOnViewStateUpdate_)return;const marks=[];if(this.searchQuery!==this.viewState.searchQuery){marks.push(tr.b.Timing.mark('histogram-set-controls','search'));} 9525if(this.showAll!==this.viewState.showAll){marks.push(tr.b.Timing.mark('histogram-set-controls','showAll'));} 9526if(this.referenceDisplayLabel!==this.viewState.referenceDisplayLabel){marks.push(tr.b.Timing.mark('histogram-set-controls','referenceColumn'));} 9527if(this.displayStatisticName!==this.viewState.displayStatisticName){marks.push(tr.b.Timing.mark('histogram-set-controls','statistic'));} 9528let displayStatisticName=this.displayStatisticName;if(this.viewState.referenceDisplayLabel===''&&this.referenceDisplayLabel!==''&&this.baseStatisticNames.length){displayStatisticName=`${tr.v.DELTA}${this.displayStatisticName}`;} 9529if(this.referenceDisplayLabel===''&&this.viewState.referenceDisplayLabel!==''&&this.baseStatisticNames.length){const deltaIndex=displayStatisticName.indexOf(tr.v.DELTA);if(deltaIndex>=0){displayStatisticName=displayStatisticName.slice(deltaIndex+1);}else if(!this.baseStatisticNames.includes(displayStatisticName)){displayStatisticName='avg';}} 9530await this.viewState.update({searchQuery:this.searchQuery,showAll:this.showAll,referenceDisplayLabel:this.referenceDisplayLabel,displayStatisticName,});if(this.referenceDisplayLabel&&this.statisticNames.length===this.baseStatisticNames.length){this.statisticNames=this.baseStatisticNames.concat(tr.v.Histogram.getDeltaStatisticsNames(this.baseStatisticNames));}else if(!this.referenceDisplayLabel&&this.statisticNames.length>this.baseStatisticNames.length){this.statisticNames=this.baseStatisticNames;} 9531for(const mark of marks)mark.end();},onViewStateUpdate_(event){this.isInOnViewStateUpdate_=true;if(event.delta.searchQuery){this.searchQuery=this.viewState.searchQuery;} 9532if(event.delta.showAll)this.showAll=this.viewState.showAll;if(event.delta.displayStatisticName){this.displayStatisticName=this.viewState.displayStatisticName;} 9533if(event.delta.referenceDisplayLabel){this.referenceDisplayLabel=this.viewState.referenceDisplayLabel;} 9534if(event.delta.groupings){this.$.picker.currentGroupKeys=this.viewState.groupings.map(g=>g.key);} 9535if(event.delta.tableRowStates){for(const row of tr.v.ui.HistogramSetTableRowState.walkAll(this.viewState.tableRowStates.values())){row.addUpdateListener(this.rowListener_);} 9536const anyShowing=this.anyOverviewCharts_;this.$.hide_overview.style.display=anyShowing?'inline':'none';this.$.show_overview.style.display=anyShowing?'none':'inline';} 9537this.isInOnViewStateUpdate_=false;this.onUserChange_();},onRowViewStateUpdate_(event){if(event.delta.isOverviewed){const anyShowing=event.delta.isOverviewed.current||this.anyOverviewCharts_;this.$.hide_overview.style.display=anyShowing?'inline':'none';this.$.show_overview.style.display=anyShowing?'none':'inline';} 9538if(event.delta.subRows){for(const subRow of event.delta.subRows.previous){subRow.removeUpdateListener(this.rowListener_);} 9539for(const subRow of event.delta.subRows.current){subRow.addUpdateListener(this.rowListener_);}}},onGroupsChanged_(){if(this.$.picker.currentGroups.length===0&&this.$.picker.possibleGroups.length>0){this.$.picker.currentGroupKeys=[this.$.picker.possibleGroups[0].key];} 9540this.viewState.groupings=this.$.picker.currentGroups;},set showAllEnabled(enable){if(!enable)this.$.show_all.checked=true;this.$.show_all.disabled=!enable;},set possibleGroupings(groupings){this.$.picker.possibleGroups=groupings;this.$.picker.style.display=(groupings.length<2)?'none':'block';this.onGroupsChanged_();},set displayLabels(labels){this.$.reference_display_label.style.display=(labels.length<2)?'none':'inline';while(this.$.reference_display_label.children.length>1){this.$.reference_display_label.removeChild(this.$.reference_display_label.lastChild);} 9541for(const displayLabel of labels){const option=document.createElement('option');option.textContent=displayLabel;this.$.reference_display_label.appendChild(option);} 9542if(labels.includes(this.viewState.referenceDisplayLabel)){this.referenceDisplayLabel=this.viewState.referenceDisplayLabel;}else{this.viewState.referenceDisplayLabel='';}},get baseStatisticNames(){return this.baseStatisticNames_;},set baseStatisticNames(names){this.baseStatisticNames_=names;this.statisticNames=names;},get statisticNames(){return Array.from(this.$.statistic.options).map(o=>o.value);},set statisticNames(names){this.$.statistic.style.display=(names.length<2)?'none':'inline';while(this.$.statistic.children.length){this.$.statistic.removeChild(this.$.statistic.lastChild);} 9543for(const name of names){const option=document.createElement('option');option.textContent=name;this.$.statistic.appendChild(option);} 9544if(names.includes(this.viewState.displayStatisticName)){this.displayStatisticName=this.viewState.displayStatisticName;this.$.statistic.value=this.displayStatisticName;}else{this.viewState.displayStatisticName=names[0]||'';}},get anyOverviewCharts_(){for(const row of tr.v.ui.HistogramSetTableRowState.walkAll(this.viewState.tableRowStates.values())){if(row.isOverviewed)return true;} 9545return false;},async toggleOverviewLineCharts_(){const showOverviews=!this.anyOverviewCharts_;const mark=tr.b.Timing.mark('histogram-set-controls',(showOverviews?'show':'hide')+'OverviewCharts');for(const row of tr.v.ui.HistogramSetTableRowState.walkAll(this.viewState.tableRowStates.values())){await row.update({isOverviewed:showOverviews});} 9546this.$.hide_overview.style.display=showOverviews?'inline':'none';this.$.show_overview.style.display=showOverviews?'none':'inline';await tr.b.animationFrame();mark.end();},set helpHref(href){this.$.help.href=href;this.$.help.style.display='inline';},set feedbackHref(href){this.$.feedback.href=href;this.$.feedback.style.display='inline';},downloadCSV_(event){this.dispatchEvent(new tr.b.Event('download-csv'));}});return{};});'use strict';tr.exportTo('tr.v',function(){class HistogramSetHierarchy{constructor(name){this.name=name;this.description='';this.depth=0;this.subRows=[];this.columns=new Map();this.overviewDataRange_=undefined;this.mergeRelationshipsForColumn_=new Map();}*walk(){yield this;for(const row of this.subRows)yield*row.walk();} 9547static*walkAll(rootRows){for(const rootRow of rootRows)yield*rootRow.walk();} 9548static build(histogramArrayMap){const rootRows=[];HistogramSetHierarchy.buildInternal_(histogramArrayMap,[],rootRows);const histograms=new tr.v.HistogramSet();for(const row of HistogramSetHierarchy.walkAll(rootRows)){for(const hist of row.columns.values()){if(!(hist instanceof tr.v.Histogram))continue;histograms.addHistogram(hist);}} 9549histograms.deduplicateDiagnostics();for(const row of HistogramSetHierarchy.walkAll(rootRows)){for(const[name,hist]of row.columns){if(!(hist instanceof tr.v.Histogram))continue;if(!row.mergeRelationshipsForColumn_.get(name))continue;hist.diagnostics.mergeRelationships(hist);}} 9550for(const row of HistogramSetHierarchy.walkAll(rootRows)){if(row.subRows.length)continue;for(const hist of row.columns.values()){if(!(hist instanceof tr.v.Histogram))continue;const mergedFrom=hist.diagnostics.get(tr.v.MERGED_FROM_DIAGNOSTIC_KEY);if(mergedFrom!==undefined){for(const other of mergedFrom){other.diagnostics.delete(tr.v.MERGED_TO_DIAGNOSTIC_KEY);}}}} 9551for(const row of HistogramSetHierarchy.walkAll(rootRows)){row.maybeRebin_();} 9552return rootRows;} 9553maybeRebin_(){const dataRange=new tr.b.math.Range();for(const hist of this.columns.values()){if(!(hist instanceof tr.v.Histogram))continue;if(hist.allBins.length>1)return;if(hist.numValues===0)continue;dataRange.addValue(hist.min);dataRange.addValue(hist.max);} 9554dataRange.addValue(tr.b.math.lesserWholeNumber(dataRange.min));dataRange.addValue(tr.b.math.greaterWholeNumber(dataRange.max));if(dataRange.min===dataRange.max)return;const boundaries=tr.v.HistogramBinBoundaries.createLinear(dataRange.min,dataRange.max,tr.v.DEFAULT_REBINNED_COUNT);for(const[name,hist]of this.columns){if(!(hist instanceof tr.v.Histogram))continue;this.columns.set(name,hist.rebin(boundaries));}} 9555static mergeHistogramDownHierarchy_(histogram,hierarchy,columnName){let groupingPath=undefined;for(const row of hierarchy){if(groupingPath!==undefined){groupingPath.push(row.name);}else if(row.name===histogram.name){groupingPath=[];} 9556if(!row.description){row.description=histogram.description;} 9557const existing=row.columns.get(columnName);if(existing===undefined){const clone=histogram.clone();if(groupingPath!==undefined){new tr.v.d.GroupingPath(groupingPath).addToHistogram(clone);} 9558row.columns.set(columnName,clone);row.mergeRelationshipsForColumn_.set(columnName,true);continue;} 9559if(existing instanceof tr.v.HistogramSet){existing.addHistogram(histogram);continue;} 9560if(!existing.canAddHistogram(histogram)){const unmergeableHistograms=new tr.v.HistogramSet([histogram]);const mergedFrom=existing.diagnostics.get(tr.v.d.MERGED_FROM_DIAGNOSTIC_KEY);if(mergedFrom!==undefined){for(const origHist of mergedFrom){unmergeableHistograms.addHistogram(origHist);}} 9561row.columns.set(columnName,unmergeableHistograms);continue;} 9562if(existing.name!==histogram.name){row.mergeRelationshipsForColumn_.set(name,false);} 9563existing.addHistogram(histogram);}} 9564static buildInternal_(histogramArrayMap,hierarchy,rootRows){for(const[name,histograms]of histogramArrayMap){if(histograms instanceof Array){for(const histogram of histograms){HistogramSetHierarchy.mergeHistogramDownHierarchy_(histogram,hierarchy,name);}}else if(histograms instanceof Map){const row=new HistogramSetHierarchy(name);row.depth=hierarchy.length;hierarchy.push(row);HistogramSetHierarchy.buildInternal_(histograms,hierarchy,rootRows);hierarchy.pop();if(hierarchy.length===0){rootRows.push(row);}else{const parentRow=hierarchy[hierarchy.length-1];parentRow.subRows.push(row);}}}} 9565static filter(rows,histograms){const results=[];for(const row of rows){let filteredSubRows=[];if(row.subRows.length>0){filteredSubRows=HistogramSetHierarchy.filter(row.subRows,histograms);if(filteredSubRows.length===0)continue;}else{let found=false;for(const testHist of row.columns.values()){if(testHist instanceof tr.v.HistogramSet){for(const origHist of testHist){if(histograms.lookupHistogram(origHist.guid)!==undefined){found=true;break;}} 9566if(found)break;continue;} 9567if(!(testHist instanceof tr.v.Histogram)){throw new Error('Cells can only contain Histogram or HistogramSet');} 9568if(histograms.lookupHistogram(testHist.guid)!==undefined){found=true;break;} 9569const mergedFrom=testHist.diagnostics.get(tr.v.d.MERGED_FROM_DIAGNOSTIC_KEY);if(mergedFrom!==undefined){for(const origHist of mergedFrom){if(histograms.lookupHistogram(origHist.guid)!==undefined){found=true;break;}}} 9570if(found)break;} 9571if(!found)continue;} 9572const clone=new HistogramSetHierarchy(row.name);clone.description=row.description;clone.depth=row.depth;clone.subRows=filteredSubRows;clone.columns=row.columns;clone.overviewDataRange_=row.overviewDataRange_;results.push(clone);} 9573return results;} 9574get overviewDataRange(){if(this.overviewDataRange_===undefined){this.overviewDataRange_=new tr.b.math.Range();for(const[displayLabel,hist]of this.columns){if(hist instanceof tr.v.Histogram&&hist.average!==undefined){this.overviewDataRange_.addValue(hist.average);} 9575for(const subRow of this.subRows){const subHist=subRow.columns.get(displayLabel);if(!(subHist instanceof tr.v.Histogram))continue;if(subHist.average===undefined)continue;this.overviewDataRange_.addValue(subHist.average);}}} 9576return this.overviewDataRange_;}} 9577return{HistogramSetHierarchy,};});'use strict';tr.exportTo('tr.v.ui',function(){Polymer({is:'tr-v-ui-histogram-set-table-cell',created(){this.viewState_=undefined;this.rootListener_=this.onRootStateUpdate_.bind(this);this.row_=undefined;this.displayLabel_='';this.histogram_=undefined;this.histogramSpan_=undefined;this.overviewChart_=undefined;},ready(){this.addEventListener('click',this.onClick_.bind(this));},attached(){if(this.row){this.row.rootViewState.addUpdateListener(this.rootListener_);}},detached(){this.row.rootViewState.removeUpdateListener(this.rootListener_);},build(row,displayLabel,viewState){this.row_=row;this.displayLabel_=displayLabel;this.viewState_=viewState;this.histogram_=this.row.columns.get(displayLabel);if(this.viewState){this.viewState.addUpdateListener(this.onViewStateUpdate_.bind(this));} 9578this.row.viewState.addUpdateListener(this.onRowStateUpdate_.bind(this));if(this.isAttached){this.row.rootViewState.addUpdateListener(this.rootListener_);} 9579this.updateContents_();},get viewState(){return this.viewState_;},get row(){return this.row_;},get histogram(){return this.histogram_;},get referenceHistogram(){const referenceDisplayLabel=this.row.rootViewState.referenceDisplayLabel;if(!referenceDisplayLabel)return undefined;if(referenceDisplayLabel===this.displayLabel_)return undefined;return this.row.columns.get(referenceDisplayLabel);},get isHistogramOpen(){return(this.histogramSpan_!==undefined)&&(this.$.histogram.style.display==='block');},get brushedBinRange(){if(!this.isHistogramOpen)return new tr.b.math.Range();return this.histogramSpan_.brushedBinRange;},set brushedBinRange(r){if(this.histogramSpan_===undefined)return;this.histogramSpan_.brushedBinRange=r;},get mergeSampleDiagnostics(){if(!this.isHistogramOpen)return false;return this.histogramSpan_.mergeSampleDiagnostics;},set mergeSampleDiagnostics(m){if(this.histogramSpan_===undefined)return;this.histogramSpan_.mergeSampleDiagnostics=m;},set isHistogramOpen(open){if(!(this.histogram instanceof tr.v.Histogram)||(this.histogram.numValues===0)){return;} 9580this.$.scalar.style.display=open?'none':'flex';this.$.open_histogram.style.display=open?'none':'block';this.$.close_histogram.style.display=open?'block':'none';this.$.histogram.style.display=open?'block':'none';if(open&&this.histogramSpan_===undefined){this.histogramSpan_=document.createElement('tr-v-ui-histogram-span');this.$.histogram.appendChild(this.histogramSpan_);this.histogramSpan_.viewState=this.viewState;this.histogramSpan_.referenceHistogram=this.referenceHistogram;this.histogramSpan_.histogram=this.histogram;} 9581this.viewState.isOpen=open;},onViewStateUpdate_(event){if(event.delta.isOpen){this.isHistogramOpen=this.viewState.isOpen;}},onRowStateUpdate_(event){if(event.delta.isOverviewed===undefined)return;if(this.row.viewState.isOverviewed){this.showOverview();}else{this.hideOverview();}},onRootStateUpdate_(event){if(event.delta.displayStatisticName||event.delta.referenceDisplayLabel){this.updateContents_();}},onClick_(event){event.stopPropagation();},openHistogram_(){this.isHistogramOpen=true;tr.b.Timing.instant('histogram-set-table-cell','open');},closeHistogram_(){this.isHistogramOpen=false;tr.b.Timing.instant('histogram-set-table-cell','close');},updateContents_(){const isOpen=this.isHistogramOpen;this.$.empty.style.display='none';this.$.unmergeable.style.display='none';this.$.scalar.style.display='none';this.$.histogram.style.display='none';this.$.close_histogram.style.display='none';this.$.open_histogram.style.visibility='hidden';if(!this.histogram){this.$.missing.style.display='block';return;} 9582this.$.missing.style.display='none';if(this.histogram instanceof tr.v.HistogramSet){this.$.unmergeable.style.display='block';return;} 9583if(!(this.histogram instanceof tr.v.Histogram)){throw new Error('Invalid Histogram: '+this.histogram);} 9584if(this.histogram.numValues===0){this.$.empty.style.display='block';return;} 9585this.$.open_histogram.style.display='block';this.$.open_histogram.style.visibility='visible';this.$.scalar.style.display='flex';const referenceHistogram=this.referenceHistogram;if(this.histogramSpan_){this.histogramSpan_.referenceHistogram=referenceHistogram;} 9586if((referenceHistogram instanceof tr.v.Histogram)&&(this.histogram.unit===referenceHistogram.unit)&&(referenceHistogram.numValues>0)){this.$.scalar.significance=this.histogram.getDifferenceSignificance(referenceHistogram);} 9587const statName=this.histogram.getAvailableStatisticName(this.row.rootViewState.displayStatisticName,referenceHistogram);const statisticScalar=this.histogram.getStatisticScalar(statName,referenceHistogram);this.$.scalar.setValueAndUnit(statisticScalar.value,statisticScalar.unit);this.isHistogramOpen=isOpen;},showOverview(){this.$.overview_container.style.display='block';if(this.overviewChart_!==undefined)return;const data=[];let unitString;for(const subRow of this.row.subRows){const subHist=subRow.columns.get(this.displayLabel_);if(!(subHist instanceof tr.v.Histogram))continue;data.push({x:subRow.name,y:subHist.average});unitString=subHist.unit.unitString;} 9588if(data.length<2)return;this.overviewChart_=new tr.ui.b.NameLineChart();this.$.overview_container.appendChild(this.overviewChart_);this.overviewChart_.hideLegend=true;this.overviewChart_.yAxisLabel=unitString;this.overviewChart_.overrideDataRange=this.row.overviewDataRange;this.overviewChart_.data=data;},hideOverview(){this.$.overview_container.style.display='none';}});return{};});'use strict';tr.exportTo('tr.v.ui',function(){const NAME_COLUMN_WIDTH_PX=300;Polymer({is:'tr-v-ui-histogram-set-table-name-cell',created(){this.row_=undefined;this.overviewChart_=undefined;this.cellListener_=this.onCellStateUpdate_.bind(this);this.rootListener_=this.onRootStateUpdate_.bind(this);},attached(){if(this.row){this.row.rootViewState.addUpdateListener(this.rootListener_);}},detached(){this.row.rootViewState.removeUpdateListener(this.rootListener_);},get row(){return this.row_;},build(row){if(this.row_!==undefined){throw new Error('row must be set exactly once.');} 9589this.row_=row;this.row.viewState.addUpdateListener(this.onRowStateUpdate_.bind(this));this.constrainWidth=this.row.rootViewState.constrainNameColumn;if(this.isAttached){this.row.rootViewState.addUpdateListener(this.rootListener_);} 9590for(const cellState of this.row.viewState.cells.values()){cellState.addUpdateListener(this.cellListener_);} 9591Polymer.dom(this.$.name).textContent=this.row.name;this.title=this.row.name;if(this.row.description){this.title+='\n'+this.row.description;} 9592if(this.row.overviewDataRange.isEmpty||this.row.overviewDataRange.min===this.row.overviewDataRange.max){this.$.show_overview.style.display='none';} 9593let histogramCount=0;for(const cell of this.row.columns.values()){if(cell instanceof tr.v.Histogram&&cell.numValues>0){++histogramCount;}} 9594if(histogramCount<=1){this.$.open_histograms.style.display='none';}},set constrainWidth(constrain){this.$.name.style.maxWidth=constrain?(this.nameWidthPx+'px'):'none';},get nameWidthPx(){return NAME_COLUMN_WIDTH_PX-(16*this.row.depth);},get isOverflowing(){return this.$.name.style.maxWidth!=='none'&&this.$.name.getBoundingClientRect().width===this.nameWidthPx;},get isOverviewed(){return this.$.overview_container.style.display==='block';},set isOverviewed(isOverviewed){if(isOverviewed===this.isOverviewed)return;if(isOverviewed){this.showOverview_();}else{this.hideOverview_();}},hideOverview_(opt_event){this.$.overview_container.style.display='none';this.$.hide_overview.style.display='none';this.$.show_overview.style.display='block';if(opt_event!==undefined){opt_event.stopPropagation();tr.b.Timing.instant('histogram-set-table-name-cell','hideOverview');this.row.viewState.isOverviewed=this.isOverviewed;}},showOverview_(opt_event){this.$.overview_container.style.display='block';if(this.overviewChart_===undefined){const data=[];let unitString=undefined;for(const[displayLabel,hist]of this.row.columns){data.push({x:displayLabel,y:hist.average});unitString=hist.unit.unitString;} 9595if(data.length<2){return;} 9596this.overviewChart_=new tr.ui.b.NameLineChart();this.$.overview_container.appendChild(this.overviewChart_);this.overviewChart_.hideLegend=true;this.overviewChart_.yAxisLabel=unitString;this.overviewChart_.overrideDataRange=this.row.overviewDataRange;this.overviewChart_.data=data;} 9597this.$.hide_overview.style.display='block';this.$.show_overview.style.display='none';if(opt_event!==undefined){opt_event.stopPropagation();tr.b.Timing.instant('histogram-set-table-name-cell','showOverview');this.row.viewState.isOverviewed=this.isOverviewed;}},openHistograms_(event){event.stopPropagation();tr.b.Timing.instant('histogram-set-table-name-cell','openHistograms');for(const cell of this.row.cells.values()){cell.isHistogramOpen=true;} 9598this.$.close_histograms.style.display='block';this.$.open_histograms.style.display='none';},closeHistograms_(event){event.stopPropagation();tr.b.Timing.instant('histogram-set-table-name-cell','closeHistograms');for(const cell of this.row.cells.values()){cell.isHistogramOpen=false;} 9599this.$.open_histograms.style.display='block';this.$.close_histograms.style.display='none';},onRootStateUpdate_(event){if(event.delta.constrainNameColumn){this.constrainWidth=this.row.rootViewState.constrainNameColumn;}},onRowStateUpdate_(event){if(event.delta.isOverviewed){this.isOverviewed=this.row.viewState.isOverviewed;}},onCellStateUpdate_(event){if(!event.delta.isOpen)return;let cellCount=0;let openCellCount=0;for(const cell of this.row.cells.values()){if(!(cell.histogram instanceof tr.v.Histogram)||(cell.histogram.numValues===0)){continue;} 9600++cellCount;if(cell.isHistogramOpen)++openCellCount;} 9601if(cellCount<=1)return;const mostlyOpen=openCellCount>(cellCount/2);this.$.open_histograms.style.display=mostlyOpen?'none':'block';this.$.close_histograms.style.display=mostlyOpen?'block':'none';}});return{NAME_COLUMN_WIDTH_PX,};});'use strict';tr.exportTo('tr.v.ui',function(){class HistogramSetTableRow{constructor(hierarchy,baseTable,rootViewState){this.hierarchy_=hierarchy;this.baseTable_=baseTable;this.rootViewState_=rootViewState;this.viewState_=new tr.v.ui.HistogramSetTableRowState();this.viewState_.addUpdateListener(this.onViewStateUpdate_.bind(this));this.nameCell_=undefined;this.cells_=new Map();this.subRows_=[];for(const subHierarchy of hierarchy.subRows){const subRow=new HistogramSetTableRow(subHierarchy,baseTable,rootViewState);this.subRows_.push(subRow);this.viewState.subRows.set(subRow.name,subRow.viewState);} 9602for(const columnName of this.columns.keys()){this.viewState.cells.set(columnName,new tr.v.ui.HistogramSetTableCellState());}} 9603get name(){return this.hierarchy_.name;} 9604get depth(){return this.hierarchy_.depth;} 9605get description(){return this.hierarchy_.description;} 9606get columns(){return this.hierarchy_.columns;} 9607get overviewDataRange(){return this.hierarchy_.overviewDataRange;} 9608get rootViewState(){return this.rootViewState_;} 9609get cells(){return this.cells_;} 9610get subRows(){return this.subRows_;} 9611get viewState(){return this.viewState_;}*walk(){yield this;for(const row of this.subRows)yield*row.walk();} 9612static*walkAll(rootRows){for(const rootRow of rootRows)yield*rootRow.walk();} 9613get nameCell(){if(this.nameCell_===undefined){this.nameCell_=document.createElement('tr-v-ui-histogram-set-table-name-cell');this.nameCell_.build(this);} 9614return this.nameCell_;} 9615getCell(columnName){if(this.cells.has(columnName))return this.cells.get(columnName);const cell=document.createElement('tr-v-ui-histogram-set-table-cell');cell.build(this,columnName,this.viewState.cells.get(columnName));this.cells.set(columnName,cell);return cell;} 9616compareNames(other){return this.name.localeCompare(other.name);} 9617compareCells(other,displayLabel,referenceDisplayLabel){const cellA=this.columns.get(displayLabel);const cellB=other.columns.get(displayLabel);if(!(cellA instanceof tr.v.Histogram)||!(cellB instanceof tr.v.Histogram)){return undefined;} 9618let referenceCellA;let referenceCellB;if(referenceDisplayLabel&&referenceDisplayLabel!==displayLabel){referenceCellA=this.columns.get(referenceDisplayLabel);referenceCellB=other.columns.get(referenceDisplayLabel);} 9619const statisticA=cellA.getAvailableStatisticName(this.rootViewState.displayStatisticName,referenceCellA);const statisticB=cellB.getAvailableStatisticName(this.rootViewState.displayStatisticName,referenceCellB);const valueA=cellA.getStatisticScalar(statisticA,referenceCellA).value;const valueB=cellB.getStatisticScalar(statisticB,referenceCellB).value;return valueA-valueB;} 9620onViewStateUpdate_(event){if(event.delta.isExpanded){this.baseTable_.setExpandedForTableRow(this,this.viewState.isExpanded);} 9621if(event.delta.subRows){throw new Error('HistogramSetTableRow.subRows must not be reassigned.');} 9622if(event.delta.cells){for(const[displayLabel,cell]of this.cells){if(cell.viewState!==this.viewState.cells.get(displayLabel)){throw new Error('Only HistogramSetTableRow may update cells');}}}} 9623async restoreState(vs){await this.viewState.update({isExpanded:vs.isExpanded,isOverviewed:vs.isOverviewed,});for(const[displayLabel,cell]of this.cells){const previousState=vs.cells.get(displayLabel);if(!previousState)continue;await cell.viewState.updateFromViewState(previousState);} 9624for(const row of this.subRows){const previousState=vs.subRows.get(row.name);if(!previousState)continue;await row.restoreState(previousState);}}} 9625return{HistogramSetTableRow,};});'use strict';tr.exportTo('tr.v.ui',function(){const MIDLINE_HORIZONTAL_ELLIPSIS=String.fromCharCode(0x22ef);function escapeRegExp(str){return str.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,'\\$&');} 9626Polymer({is:'tr-v-ui-histogram-set-table',created(){this.viewState_=undefined;this.progress_=()=>Promise.resolve();this.nameColumnTitle_=undefined;this.displayLabels_=[];this.histograms_=undefined;this.sourceHistograms_=undefined;this.groupedHistograms_=undefined;this.hierarchies_=undefined;this.tableRows_=undefined;},ready(){this.$.table.zebra=true;this.addEventListener('sort-column-changed',this.onSortColumnChanged_.bind(this));this.addEventListener('requestSelectionChange',this.onRequestSelectionChange_.bind(this));this.addEventListener('row-expanded-changed',this.onRowExpandedChanged_.bind(this));},get viewState(){return this.viewState_;},set viewState(vs){if(this.viewState_){throw new Error('viewState must be set exactly once.');} 9627this.viewState_=vs;this.viewState.addUpdateListener(this.onViewStateUpdate_.bind(this));},get histograms(){return this.histograms_;},async build(histograms,sourceHistograms,displayLabels,opt_progress){this.histograms_=histograms;this.sourceHistograms_=sourceHistograms;this.groupedHistograms_=undefined;this.displayLabels_=displayLabels;if(opt_progress!==undefined)this.progress_=opt_progress;if(histograms.length===0){throw new Error('histogram-set-table requires non-empty HistogramSet.');} 9628await this.progress_('Building columns...');this.$.table.tableColumns=[{title:this.buildNameColumnTitle_(),value:row=>row.nameCell,cmp:(a,b)=>a.compareNames(b),}].concat(displayLabels.map(l=>this.buildColumn_(l)));tr.b.Timing.instant('histogram-set-table','columnCount',this.$.table.tableColumns.length);await this.updateContents_();this.fire('display-ready');this.progress_=()=>Promise.resolve();this.checkNameColumnOverflow_(tr.v.ui.HistogramSetTableRow.walkAll(this.$.table.tableRows));},buildNameColumnTitle_(){this.nameColumnTitle_=document.createElement('span');this.nameColumnTitle_.style.display='inline-flex';const nameEl=document.createElement('span');nameEl.textContent='Name';this.nameColumnTitle_.appendChild(nameEl);const toggleWidthEl=document.createElement('span');toggleWidthEl.style.fontWeight='bold';toggleWidthEl.style.background='#bbb';toggleWidthEl.style.color='#333';toggleWidthEl.style.padding='0px 3px';toggleWidthEl.style.marginRight='8px';toggleWidthEl.style.display='none';toggleWidthEl.textContent=MIDLINE_HORIZONTAL_ELLIPSIS;toggleWidthEl.addEventListener('click',this.toggleNameColumnWidth_.bind(this));this.nameColumnTitle_.appendChild(toggleWidthEl);return this.nameColumnTitle_;},toggleNameColumnWidth_(opt_event){this.viewState.update({constrainNameColumn:!this.viewState.constrainNameColumn,});if(opt_event!==undefined){opt_event.stopPropagation();opt_event.preventDefault();tr.b.Timing.instant('histogram-set-table','nameColumn'+ 9629(this.viewState.constrainNameColumn?'Constrained':'Unconstrained'));}},buildColumn_(displayLabel){const title=document.createElement('span');title.textContent=displayLabel;title.style.whiteSpace='pre';return{title,value:row=>row.getCell(displayLabel),cmp:(rowA,rowB)=>rowA.compareCells(rowB,displayLabel),};},async updateContents_(){if(this.groupedHistograms_===undefined){await this.progress_('Grouping Histograms...');this.groupHistograms_();} 9630if(this.hierarchies_===undefined){await this.progress_('Merging Histograms...');this.hierarchies_=tr.v.HistogramSetHierarchy.build(this.groupedHistograms_);this.tableRows_=undefined;} 9631const tableRowsDirty=this.tableRows_===undefined;const previousRowStates=this.viewState.tableRowStates;if(tableRowsDirty){await this.progress_('Filtering rows...');let filteredHistograms=this.viewState.showAll?this.histograms:this.sourceHistograms_;if(this.viewState.searchQuery){let query=undefined;try{query=new RegExp(this.viewState.searchQuery);}catch(e){} 9632if(query!==undefined){filteredHistograms=new tr.v.HistogramSet([...filteredHistograms].filter(hist=>hist.name.match(query)));}} 9633const filteredHierarchies=tr.v.HistogramSetHierarchy.filter(this.hierarchies_,filteredHistograms);this.tableRows_=filteredHierarchies.map(hierarchy=>new tr.v.ui.HistogramSetTableRow(hierarchy,this.$.table,this.viewState));tr.b.Timing.instant('histogram-set-table','rootRowCount',this.tableRows_.length);const namesToRowStates=new Map();for(const row of this.tableRows_){namesToRowStates.set(row.name,row.viewState);} 9634await this.viewState.update({tableRowStates:namesToRowStates});} 9635await this.progress_('Configuring table...');this.nameColumnTitle_.children[1].style.filter=this.viewState.constrainNameColumn?'invert(100%)':'';const referenceDisplayLabelIndex=this.displayLabels_.indexOf(this.viewState.referenceDisplayLabel);this.$.table.selectedTableColumnIndex=(referenceDisplayLabelIndex<0)?undefined:(1+referenceDisplayLabelIndex);this.$.table.sortColumnIndex=this.viewState.sortColumnIndex;this.$.table.sortDescending=this.viewState.sortDescending;if(tableRowsDirty){await this.progress_('Building DOM...');this.$.table.tableRows=this.tableRows_;for(const row of this.tableRows_){const previousState=previousRowStates.get(row.name);if(!previousState)continue;await row.restoreState(previousState);}} 9636this.$.table.rebuild();},async onRowExpandedChanged_(event){event.row.viewState.isExpanded=this.$.table.getExpandedForTableRow(event.row);tr.b.Timing.instant('histogram-set-table','row'+(event.row.viewState.isExpanded?'Expanded':'Collapsed'));if(this.nameColumnTitle_.children[1].style.display==='block')return;await tr.b.animationFrame();this.checkNameColumnOverflow_(event.row.subRows);},checkNameColumnOverflow_(rows){for(const row of rows){if(!row.nameCell.isOverflowing)continue;const[nameSpan,dots]=this.nameColumnTitle_.children;dots.style.display='block';const labelWidthPx=tr.v.ui.NAME_COLUMN_WIDTH_PX- 9637dots.getBoundingClientRect().width;nameSpan.style.width=labelWidthPx+'px';return;}},groupHistograms_(){const groupings=this.viewState.groupings.slice();groupings.push(tr.v.HistogramSet.GROUPINGS.DISPLAY_LABEL);function canSkipGrouping(grouping,groupedHistograms){if(groupedHistograms.size>1)return false;if(grouping.key===groupings[0].key)return false;if(grouping.key===tr.v.HistogramSet.GROUPINGS.DISPLAY_LABEL.key){return false;} 9638return true;} 9639this.groupedHistograms_=this.histograms.groupHistogramsRecursively(groupings,canSkipGrouping);this.hierarchies_=undefined;},async onViewStateUpdate_(event){if(this.histograms_===undefined)return;if(event.delta.groupings!==undefined){this.groupedHistograms_=undefined;} 9640if(event.delta.searchQuery!==undefined||event.delta.showAll!==undefined){this.tableRows_=undefined;} 9641if(event.delta.displayStatistic!==undefined&&this.$.table.sortColumnIndex>0){this.$.table.sortColumnIndex=undefined;} 9642if(event.delta.referenceDisplayLabel!==undefined||event.delta.displayStatisticName!==undefined){this.$.table.tableRows=this.$.table.tableRows;} 9643if(event.delta.tableRowStates){if(this.tableRows_.length!==this.viewState.tableRowStates.size){throw new Error('Only histogram-set-table may update tableRowStates');} 9644for(const row of this.tableRows_){if(this.viewState.tableRowStates.get(row.name)!==row.viewState){throw new Error('Only histogram-set-table may update tableRowStates');}}} 9645await this.updateContents_();},onSortColumnChanged_(event){tr.b.Timing.instant('histogram-set-table','sortColumn');this.viewState.update({sortColumnIndex:event.sortColumnIndex,sortDescending:event.sortDescending,});},onRequestSelectionChange_(event){if(event.selection instanceof tr.model.EventSet)return;event.stopPropagation();tr.b.Timing.instant('histogram-set-table','selectHistogramNames');let histogramNames=event.selection;histogramNames.sort();histogramNames=histogramNames.map(escapeRegExp).join('|');this.viewState.update({showAll:true,searchQuery:`^(${histogramNames})$`,});},get leafHistograms(){const histograms=new tr.v.HistogramSet();for(const row of 9646tr.v.ui.HistogramSetTableRow.walkAll(this.$.table.tableRows)){if(row.subRows.length)continue;for(const hist of this.columns.values()){if(!(hist instanceof tr.v.Histogram))continue;histograms.addHistogram(hist);}} 9647return histograms;}});return{MIDLINE_HORIZONTAL_ELLIPSIS,};});'use strict';tr.exportTo('tr.v.ui',function(){Polymer({is:'tr-v-ui-histogram-set-view',created(){this.brushingStateController_=new tr.ui.NullBrushingStateController();this.viewState_=new tr.v.ui.HistogramSetViewState();},ready(){this.$.table.viewState=this.viewState;this.$.controls.viewState=this.viewState;this.$.controls.addEventListener('download-csv',this.downloadCSV_.bind(this));},attached(){this.brushingStateController.parentController=tr.c.BrushingStateController.getControllerForElement(this.parentNode);},get brushingStateController(){return this.brushingStateController_;},get viewState(){return this.viewState_;},set helpHref(href){this.$.controls.helpHref=href;},set feedbackHref(href){this.$.controls.feedbackHref=href;},get histograms(){return this.$.table.histograms;},async build(histograms,opt_progress){const progress=opt_progress||(()=>Promise.resolve());if(histograms===undefined||histograms.length===0){this.$.container.style.display='none';this.$.zero.style.display='block';this.style.display='block';return;} 9648this.$.zero.style.display='none';this.$.container.style.display='block';this.$.container.style.maxHeight=(window.innerHeight-16)+'px';const buildMark=tr.b.Timing.mark('histogram-set-view','build');await progress('Finding important Histograms...');const sourceHistogramsMark=tr.b.Timing.mark('histogram-set-view','sourceHistograms');const sourceHistograms=histograms.sourceHistograms;sourceHistogramsMark.end();this.$.controls.showAllEnabled=(sourceHistograms.length!==histograms.length);await progress('Collecting parameters...');const collectParametersMark=tr.b.Timing.mark('histogram-set-view','collectParameters');const parameterCollector=new tr.v.HistogramParameterCollector();parameterCollector.process(histograms);this.$.controls.baseStatisticNames=parameterCollector.statisticNames;this.$.controls.possibleGroupings=parameterCollector.possibleGroupings;const displayLabels=parameterCollector.labels;this.$.controls.displayLabels=displayLabels;collectParametersMark.end();await this.$.table.build(histograms,sourceHistograms,displayLabels,progress);buildMark.end();},downloadCSV_(){const downloadCSVMark=tr.b.Timing.mark('histogram-set-view','downloadCSV');const anchor=document.createElement('a');const path=window.location.pathname.split('/');const basename=path[path.length-1].split('.')[0]||'histograms';anchor.download=basename+'.csv';const csv=new tr.v.CSVBuilder(this.$.table.leafHistograms);csv.build();const blob=new window.Blob([csv.toString()],{type:'text/csv'});anchor.href=window.URL.createObjectURL(blob);anchor.click();downloadCSVMark.end();}});return{};});'use strict';tr.exportTo('tr.ui',function(){Polymer({is:'tr-ui-sp-metrics-side-panel',behaviors:[tr.ui.behaviors.SidePanel],ready(){this.model_=undefined;this.rangeOfInterest_=undefined;this.metricLatenciesMs_=[];this.metrics_=[];tr.metrics.MetricRegistry.getAllRegisteredTypeInfos().forEach(function(m){if(m.constructor.name==='sampleMetric')return;this.metrics_.push({label:m.constructor.name,value:m.constructor.name});},this);this.settingsKey_='metrics-side-panel-metric-name';this.currentMetricName_='responsivenessMetric';const metricSelector=tr.ui.b.createSelector(this,'currentMetricName_',this.settingsKey_,this.currentMetricName_,this.metrics_);Polymer.dom(this.$.top_left_controls).appendChild(metricSelector);metricSelector.addEventListener('change',this.onMetricChange_.bind(this));this.currentMetricTypeInfo_=tr.metrics.MetricRegistry.findTypeInfoWithName(this.currentMetricName_);this.recomputeButton_=tr.ui.b.createButton('Recompute',this.onRecompute_,this);Polymer.dom(this.$.top_left_controls).appendChild(this.recomputeButton_);this.$.results.addEventListener('display-ready',()=>{this.$.results.style.display='';});},async build(model){this.model_=model;await this.updateContents_();},get metricLatencyMs(){return tr.b.math.Statistics.mean(this.metricLatenciesMs_);},onMetricChange_(){this.currentMetricTypeInfo_=tr.metrics.MetricRegistry.findTypeInfoWithName(this.currentMetricName_);this.metricLatenciesMs_=[];this.updateContents_();},onRecompute_(){this.updateContents_();},get textLabel(){return'Metrics';},supportsModel(m){if(!m){return{supported:false,reason:'No model available'};} 9649return{supported:true};},get model(){return this.model_;},set model(model){this.build(model);},get selection(){},set selection(_){},get rangeOfInterest(){return this.rangeOfInterest_;},set rangeOfInterest(range){this.rangeOfInterest_=range;if(this.currentMetricTypeInfo_&&this.currentMetricTypeInfo_.metadata.supportsRangeOfInterest){if((this.metricLatencyMs===undefined)||(this.metricLatencyMs<100)){this.updateContents_();}else{this.recomputeButton_.style.background='red';}}},async updateContents_(){Polymer.dom(this.$.error).textContent='';this.$.results.style.display='none';if(!this.model_){Polymer.dom(this.$.error).textContent='Missing model';return;} 9650const options={metrics:[this.currentMetricName_]};if(this.currentMetricTypeInfo_&&this.currentMetricTypeInfo_.metadata.supportsRangeOfInterest&&this.rangeOfInterest&&!this.rangeOfInterest.isEmpty){options.rangeOfInterest=this.rangeOfInterest;} 9651const startDate=new Date();let histograms;try{histograms=tr.metrics.runMetrics(this.model_,options);}catch(err){Polymer.dom(this.$.error).textContent=err.message;return;} 9652this.metricLatenciesMs_.push(new Date()-startDate);while(this.metricLatenciesMs_.length>20){this.metricLatenciesMs_.shift();} 9653this.recomputeButton_.style.background='';await this.$.results.build(histograms);}});tr.ui.side_panel.SidePanelRegistry.register(function(){return document.createElement('tr-ui-sp-metrics-side-panel');});return{};});'use strict';Polymer({is:'tr-ui-e-s-alerts-side-panel',behaviors:[tr.ui.behaviors.SidePanel],ready(){this.rangeOfInterest_=new tr.b.math.Range();this.selection_=undefined;},get model(){return this.model_;},set model(model){this.model_=model;this.updateContents_();},set selection(selection){},set rangeOfInterest(rangeOfInterest){},selectAlertsOfType(alertTypeString){const alertsOfType=this.model_.alerts.filter(function(alert){return alert.title===alertTypeString;});const event=new tr.model.RequestSelectionChangeEvent();event.selection=new tr.model.EventSet(alertsOfType);this.dispatchEvent(event);},alertsByType_(alerts){const alertsByType={};alerts.forEach(function(alert){if(!alertsByType[alert.title]){alertsByType[alert.title]=[];} 9654alertsByType[alert.title].push(alert);});return alertsByType;},alertsTableRows_(alertsByType){return Object.keys(alertsByType).map(function(key){return{alertType:key,count:alertsByType[key].length};});},alertsTableColumns_(){return[{title:'Alert type',value(row){return row.alertType;},width:'180px'},{title:'Count',width:'100%',value(row){return row.count;}}];},createAlertsTable_(alerts){const alertsByType=this.alertsByType_(alerts);const table=document.createElement('tr-ui-b-table');table.tableColumns=this.alertsTableColumns_();table.tableRows=this.alertsTableRows_(alertsByType);table.selectionMode=tr.ui.b.TableFormat.SelectionMode.ROW;table.addEventListener('selection-changed',function(e){const row=table.selectedTableRow;if(row){this.selectAlertsOfType(row.alertType);}}.bind(this));return table;},updateContents_(){Polymer.dom(this.$.result_area).textContent='';if(this.model_===undefined)return;const panel=this.createAlertsTable_(this.model_.alerts);Polymer.dom(this.$.result_area).appendChild(panel);},supportsModel(m){if(m===undefined){return{supported:false,reason:'Unknown tracing model'};}else if(m.alerts.length===0){return{supported:false,reason:'No alerts in tracing model'};} 9655return{supported:true};},get textLabel(){return'Alerts';}});tr.ui.side_panel.SidePanelRegistry.register(function(){return document.createElement('tr-ui-e-s-alerts-side-panel');}); 9656</script> 9657<!--CATAPULT_REV=NO_AUTO_UPDATE--> 9658</head> 9659<body> 9660 <tr-ui-timeline-view> 9661 <track-view-container id='track_view_container'></track-view-container> 9662 </tr-ui-timeline-view> 9663 9664 <script> 9665 'use strict'; 9666 var timelineViewEl; 9667 9668 function onLoad() { 9669 timelineViewEl = document.querySelector('tr-ui-timeline-view'); 9670 timelineViewEl.globalMode = true; 9671 9672 var traceDataEls = document.body.querySelectorAll('.trace-data'); 9673 var traces = []; 9674 for (var i = 0; i < traceDataEls.length; i++) { 9675 var traceText = traceDataEls[i].textContent; 9676 // Remove the leading newline. 9677 traceText = traceText.substring(1); 9678 traces.push(traceText); 9679 } 9680 9681 var m = new tr.Model(); 9682 var i = new tr.importer.Import(m); 9683 var p = i.importTracesWithProgressDialog(traces); 9684 p.then( 9685 function() { 9686 timelineViewEl.model = m; 9687 timelineViewEl.updateDocumentFavicon(); 9688 timelineViewEl.globalMode = true; 9689 timelineViewEl.viewTitle = 'Android System Trace'; 9690 }, 9691 function(err) { 9692 var overlay = new tr.ui.b.Overlay(); 9693 overlay.textContent = tr.b.normalizeException(err).message; 9694 overlay.title = 'Import error'; 9695 overlay.visible = true; 9696 }); 9697 } 9698 window.addEventListener('load', onLoad); 9699 </script> 9700<!-- BEGIN TRACE --> 9701 <script class="trace-data" type="application/text"> 9702PROCESS DUMP 9703USER PID PPID VSZ RSS WCHAN PC S NAME COMM 9704root 1 0 18956 2244 SyS_epoll_wait 5327b0 S init init 9705root 2 0 0 0 kthreadd 0 S [kthreadd] 2 9706root 3 2 0 0 smpboot_thread_fn 0 S [ksoftirqd/0] 3 9707root 5 2 0 0 worker_thread 0 S [kworker/0:0H] 5 9708root 6 2 0 0 diag_socket_read 0 S [kworker/u16:0] 6 9709root 7 2 0 0 rcu_gp_kthread 0 S [rcu_preempt] 7 9710root 8 2 0 0 rcu_gp_kthread 0 S [rcu_sched] 8 9711root 9 2 0 0 rcu_gp_kthread 0 S [rcu_bh] 9 9712root 10 2 0 0 rcu_nocb_kthread 0 S [rcuop/0] 1 9713root 11 2 0 0 rcu_nocb_kthread 0 S [rcuos/0] 1 9714root 12 2 0 0 rcu_nocb_kthread 0 S [rcuob/0] 1 9715root 13 2 0 0 smpboot_thread_fn 0 S [migration/0] 1 9716root 14 2 0 0 smpboot_thread_fn 0 S [watchdog/0] 1 9717root 15 2 0 0 smpboot_thread_fn 0 S [watchdog/1] 1 9718root 16 2 0 0 smpboot_thread_fn 0 S [migration/1] 1 9719root 17 2 0 0 smpboot_thread_fn 0 S [ksoftirqd/1] 1 9720root 19 2 0 0 worker_thread 0 S [kworker/1:0H] 1 9721root 20 2 0 0 rcu_nocb_kthread 0 S [rcuop/1] 2 9722root 21 2 0 0 rcu_nocb_kthread 0 S [rcuos/1] 2 9723root 22 2 0 0 rcu_nocb_kthread 0 S [rcuob/1] 2 9724root 23 2 0 0 smpboot_thread_fn 0 S [watchdog/2] 2 9725root 24 2 0 0 smpboot_thread_fn 0 S [migration/2] 2 9726root 25 2 0 0 smpboot_thread_fn 0 S [ksoftirqd/2] 2 9727root 27 2 0 0 worker_thread 0 S [kworker/2:0H] 2 9728root 28 2 0 0 rcu_nocb_kthread 0 S [rcuop/2] 2 9729root 29 2 0 0 rcu_nocb_kthread 0 S [rcuos/2] 2 9730root 30 2 0 0 rcu_nocb_kthread 0 S [rcuob/2] 3 9731root 31 2 0 0 smpboot_thread_fn 0 S [watchdog/3] 3 9732root 32 2 0 0 smpboot_thread_fn 0 S [migration/3] 3 9733root 33 2 0 0 smpboot_thread_fn 0 S [ksoftirqd/3] 3 9734root 35 2 0 0 worker_thread 0 S [kworker/3:0H] 3 9735root 36 2 0 0 rcu_nocb_kthread 0 S [rcuop/3] 3 9736root 37 2 0 0 rcu_nocb_kthread 0 S [rcuos/3] 3 9737root 38 2 0 0 rcu_nocb_kthread 0 S [rcuob/3] 3 9738root 39 2 0 0 smpboot_thread_fn 0 S [watchdog/4] 3 9739root 40 2 0 0 smpboot_thread_fn 0 S [migration/4] 4 9740root 41 2 0 0 smpboot_thread_fn 0 S [ksoftirqd/4] 4 9741root 43 2 0 0 worker_thread 0 S [kworker/4:0H] 4 9742root 44 2 0 0 rcu_nocb_kthread 0 S [rcuop/4] 4 9743root 45 2 0 0 rcu_nocb_kthread 0 S [rcuos/4] 4 9744root 46 2 0 0 rcu_nocb_kthread 0 S [rcuob/4] 4 9745root 47 2 0 0 smpboot_thread_fn 0 S [watchdog/5] 4 9746root 48 2 0 0 smpboot_thread_fn 0 S [migration/5] 4 9747root 49 2 0 0 smpboot_thread_fn 0 S [ksoftirqd/5] 4 9748root 51 2 0 0 worker_thread 0 S [kworker/5:0H] 5 9749root 52 2 0 0 rcu_nocb_kthread 0 S [rcuop/5] 5 9750root 53 2 0 0 rcu_nocb_kthread 0 S [rcuos/5] 5 9751root 54 2 0 0 rcu_nocb_kthread 0 S [rcuob/5] 5 9752root 55 2 0 0 smpboot_thread_fn 0 S [watchdog/6] 5 9753root 56 2 0 0 smpboot_thread_fn 0 S [migration/6] 5 9754root 57 2 0 0 smpboot_thread_fn 0 S [ksoftirqd/6] 5 9755root 59 2 0 0 worker_thread 0 S [kworker/6:0H] 5 9756root 60 2 0 0 rcu_nocb_kthread 0 S [rcuop/6] 6 9757root 61 2 0 0 rcu_nocb_kthread 0 S [rcuos/6] 6 9758root 62 2 0 0 rcu_nocb_kthread 0 S [rcuob/6] 6 9759root 63 2 0 0 smpboot_thread_fn 0 S [watchdog/7] 6 9760root 64 2 0 0 smpboot_thread_fn 0 S [migration/7] 6 9761root 65 2 0 0 smpboot_thread_fn 0 S [ksoftirqd/7] 6 9762root 67 2 0 0 worker_thread 0 S [kworker/7:0H] 6 9763root 68 2 0 0 rcu_nocb_kthread 0 S [rcuop/7] 6 9764root 69 2 0 0 rcu_nocb_kthread 0 S [rcuos/7] 6 9765root 70 2 0 0 rcu_nocb_kthread 0 S [rcuob/7] 7 9766root 71 2 0 0 rescuer_thread 0 S [netns] 7 9767root 72 2 0 0 rescuer_thread 0 S [perf] 7 9768root 73 2 0 0 rescuer_thread 0 S [smd_channel_clo] 7 9769root 74 2 0 0 kthread_worker_fn 0 S [dsps_smd_trans_] 7 9770root 75 2 0 0 kthread_worker_fn 0 S [lpass_smd_trans] 7 9771root 76 2 0 0 kthread_worker_fn 0 S [mpss_smd_trans_] 7 9772root 77 2 0 0 kthread_worker_fn 0 S [wcnss_smd_trans] 7 9773root 78 2 0 0 kthread_worker_fn 0 S [rpm_smd_trans_g] 7 9774root 79 2 0 0 rescuer_thread 0 S [ipa_usb_wq] 7 9775root 81 2 0 0 kthread_worker_fn 0 S [smem_native_mps] 8 9776root 82 2 0 0 kthread_worker_fn 0 S [mpss_smem_glink] 8 9777root 83 2 0 0 kthread_worker_fn 0 S [smem_native_lpa] 8 9778root 84 2 0 0 kthread_worker_fn 0 S [lpass_smem_glin] 8 9779root 85 2 0 0 kthread_worker_fn 0 S [smem_native_dsp] 8 9780root 86 2 0 0 kthread_worker_fn 0 S [dsps_smem_glink] 8 9781root 87 2 0 0 kthread_worker_fn 0 S [smem_native_rpm] 8 9782root 88 2 0 0 kthread_worker_fn 0 S [rpm_smem_glink_] 8 9783root 89 2 0 0 kthread_worker_fn 0 S [smem_native_sps] 8 9784root 90 2 0 0 kthread_worker_fn 0 S [spss_mailbox_gl] 9 9785root 91 2 0 0 watchdog_kthread 0 S [msm_watchdog] 9 9786root 92 2 0 0 rescuer_thread 0 S [deferwq] 9 9787root 94 2 0 0 irq_thread 0 S [irq/126-cpr3] 9 9788root 95 2 0 0 msm_mpm_work_fn 0 D [mpm] 9 9789root 96 2 0 0 diag_socket_read 0 S [kworker/u16:2] 9 9790root 97 2 0 0 watchdog 0 S [khungtaskd] 9 9791root 98 2 0 0 rescuer_thread 0 S [writeback] 9 9792root 99 2 0 0 kcompactd 0 S [kcompactd0] 9 9793root 100 2 0 0 rescuer_thread 0 S [crypto] 1 9794root 101 2 0 0 rescuer_thread 0 S [bioset] 1 9795root 102 2 0 0 rescuer_thread 0 S [kblockd] 1 9796root 103 2 0 0 rescuer_thread 0 S [md] 1 9797root 104 2 0 0 rescuer_thread 0 S [edac-poller] 1 9798root 105 2 0 0 ion_heap_deferred_free 0 S [system] 1 9799root 106 2 0 0 ion_heap_deferred_free 0 S [easel_mem] 1 9800root 107 2 0 0 rescuer_thread 0 S [devfreq_wq] 1 9801root 108 2 0 0 rescuer_thread 0 S [governor_msm_ad] 1 9802root 110 2 0 0 rescuer_thread 0 S [cfg80211] 1 9803root 111 2 0 0 irq_thread 0 S [irq/134-arm-smm] 1 9804root 112 2 0 0 rescuer_thread 0 S [ipa_power_mgmt] 1 9805root 113 2 0 0 rescuer_thread 0 S [transport_power] 1 9806root 114 2 0 0 rescuer_thread 0 S [ipa_rm_wq] 1 9807root 115 2 0 0 rescuer_thread 0 S [ipa_interrupt_w] 1 9808root 116 2 0 0 irq_thread 0 S [irq/135-arm-smm] 1 9809root 117 2 0 0 irq_thread 0 S [irq/136-arm-smm] 1 9810root 118 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 1 9811root 119 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 1 9812root 120 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 1 9813root 121 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 1 9814root 147 2 0 0 rescuer_thread 0 S [power_off_alarm] 1 9815root 148 2 0 0 kswapd 0 S [kswapd0] 1 9816root 149 2 0 0 rescuer_thread 0 S [vmstat] 1 9817root 150 2 0 0 fsnotify_mark_destroy 0 S [fsnotify_mark] 1 9818root 182 2 0 0 rescuer_thread 0 S [ad_calc_wq] 1 9819root 183 2 0 0 dsi_event_thread 0 D [mdss_dsi_event] 1 9820root 184 2 0 0 rescuer_thread 0 S [mdss_dsi_dba] 1 9821root 185 2 0 0 rescuer_thread 0 S [cwb_wq] 1 9822root 186 2 0 0 kthread_worker_fn 0 S [vsync_retire_wo] 1 9823root 187 2 0 0 rescuer_thread 0 S [cwb_wq] 1 9824root 189 2 0 0 rescuer_thread 0 S [glink_ssr_wq] 1 9825root 190 2 0 0 rescuer_thread 0 S [glink_lbsrv] 1 9826root 191 2 0 0 kthread_worker_fn 0 S [spi_wdsp] 1 9827root 192 2 0 0 kthread_worker_fn 0 S [wdsp_spi_glink_] 1 9828root 193 2 0 0 rescuer_thread 0 S [glink_xprt_wq] 1 9829root 194 2 0 0 rescuer_thread 0 S [IPCRTR_mpss_sme] 1 9830root 195 2 0 0 rescuer_thread 0 S [IPCRTR_lpass_sm] 1 9831root 196 2 0 0 rescuer_thread 0 S [IPCRTR_dsps_sme] 1 9832root 197 2 0 0 rescuer_thread 0 S [apr_driver] 1 9833root 198 2 0 0 rescuer_thread 0 S [glink_pkt_wq] 1 9834root 199 2 0 0 rescuer_thread 0 S [mem_share_svc] 1 9835root 200 2 0 0 rescuer_thread 0 S [qmi_hndl0000000] 2 9836root 201 2 0 0 rescuer_thread 0 S [msm_ipc_router] 2 9837root 202 2 0 0 irq_thread 0 S [irq/137-arm-smm] 2 9838root 203 2 0 0 rescuer_thread 0 S [qmi_svc_event_w] 2 9839root 204 2 0 0 rescuer_thread 0 S [servloc_wq] 2 9840root 205 2 0 0 kthread_worker_fn 0 S [tty_worker_thre] 2 9841root 206 2 0 0 kthread_worker_fn 0 S [tty_worker_thre] 2 9842root 207 2 0 0 kthread_worker_fn 0 S [tty_worker_thre] 2 9843root 208 2 0 0 kthread_worker_fn 0 S [tty_worker_thre] 2 9844root 209 2 0 0 rescuer_thread 0 S [k_hsuart] 2 9845root 210 2 0 0 kthread_worker_fn 0 S [msm_serial_hs_0] 2 9846root 211 2 0 0 kthread_worker_fn 0 S [msm_serial_hs_0] 2 9847root 212 2 0 0 add_hwgenerator_randomness 0 S [hwrng] 2 9848root 215 2 0 0 rescuer_thread 0 S [diag_real_time_] 2 9849root 216 2 0 0 rescuer_thread 0 S [diag_wq] 2 9850root 217 2 0 0 rescuer_thread 0 S [DIAG_USB_diag] 2 9851root 218 2 0 0 rescuer_thread 0 S [diag_cntl_wq] 2 9852root 219 2 0 0 rescuer_thread 0 S [diag_dci_wq] 2 9853root 220 2 0 0 rescuer_thread 0 S [DIAG_SMD_MODEM_] 2 9854root 221 2 0 0 rescuer_thread 0 S [DIAG_SMD_MODEM_] 2 9855root 222 2 0 0 rescuer_thread 0 S [DIAG_SMD_MODEM_] 2 9856root 223 2 0 0 rescuer_thread 0 S [DIAG_SMD_MODEM_] 2 9857root 224 2 0 0 rescuer_thread 0 S [DIAG_SMD_MODEM_] 2 9858root 225 2 0 0 rescuer_thread 0 S [DIAG_SMD_LPASS_] 2 9859root 226 2 0 0 rescuer_thread 0 S [DIAG_SMD_LPASS_] 2 9860root 227 2 0 0 rescuer_thread 0 S [DIAG_SMD_LPASS_] 2 9861root 228 2 0 0 rescuer_thread 0 S [DIAG_SMD_LPASS_] 2 9862root 229 2 0 0 rescuer_thread 0 S [DIAG_SMD_LPASS_] 2 9863root 230 2 0 0 rescuer_thread 0 S [DIAG_SMD_WCNSS_] 2 9864root 231 2 0 0 rescuer_thread 0 S [DIAG_SMD_WCNSS_] 2 9865root 232 2 0 0 rescuer_thread 0 S [DIAG_SMD_WCNSS_] 2 9866root 233 2 0 0 rescuer_thread 0 S [DIAG_SMD_WCNSS_] 2 9867root 234 2 0 0 rescuer_thread 0 S [DIAG_SMD_WCNSS_] 2 9868root 235 2 0 0 rescuer_thread 0 S [DIAG_SMD_SENSOR] 2 9869root 236 2 0 0 rescuer_thread 0 S [DIAG_SMD_SENSOR] 2 9870root 237 2 0 0 rescuer_thread 0 S [DIAG_SMD_SENSOR] 2 9871root 238 2 0 0 rescuer_thread 0 S [DIAG_SMD_SENSOR] 2 9872root 239 2 0 0 rescuer_thread 0 S [DIAG_SMD_SENSOR] 2 9873root 240 2 0 0 rescuer_thread 0 S [DIAG_SMD_DIAG_C] 2 9874root 241 2 0 0 rescuer_thread 0 S [DIAG_SMD_DIAG_D] 2 9875root 242 2 0 0 rescuer_thread 0 S [DIAG_SMD_DIAG_C] 2 9876root 243 2 0 0 rescuer_thread 0 S [DIAG_SMD_DIAG_D] 2 9877root 244 2 0 0 rescuer_thread 0 S [DIAG_SMD_DIAG_D] 2 9878root 245 2 0 0 rescuer_thread 0 S [DIAG_SMD_CDSP_C] 2 9879root 246 2 0 0 rescuer_thread 0 S [DIAG_SMD_CDSP_D] 2 9880root 247 2 0 0 rescuer_thread 0 S [DIAG_SMD_CDSP_C] 2 9881root 248 2 0 0 rescuer_thread 0 S [DIAG_SMD_CDSP_D] 2 9882root 249 2 0 0 rescuer_thread 0 S [DIAG_SMD_CDSP_D] 2 9883root 250 2 0 0 rescuer_thread 0 S [DIAG_SOCKMODEM_] 2 9884root 251 2 0 0 rescuer_thread 0 S [DIAG_SOCKMODEM_] 2 9885root 252 2 0 0 rescuer_thread 0 S [DIAG_SOCKMODEM_] 2 9886root 253 2 0 0 rescuer_thread 0 S [DIAG_SOCKMODEM_] 2 9887root 254 2 0 0 rescuer_thread 0 S [DIAG_SOCKMODEM_] 2 9888root 255 2 0 0 rescuer_thread 0 S [DIAG_SOCKLPASS_] 2 9889root 256 2 0 0 rescuer_thread 0 S [DIAG_SOCKLPASS_] 2 9890root 257 2 0 0 rescuer_thread 0 S [DIAG_SOCKLPASS_] 2 9891root 258 2 0 0 rescuer_thread 0 S [DIAG_SOCKLPASS_] 2 9892root 259 2 0 0 rescuer_thread 0 S [DIAG_SOCKLPASS_] 2 9893root 260 2 0 0 rescuer_thread 0 S [DIAG_SOCKWCNSS_] 2 9894root 261 2 0 0 rescuer_thread 0 S [DIAG_SOCKWCNSS_] 2 9895root 262 2 0 0 rescuer_thread 0 S [DIAG_SOCKWCNSS_] 2 9896root 263 2 0 0 rescuer_thread 0 S [DIAG_SOCKWCNSS_] 2 9897root 265 2 0 0 rescuer_thread 0 S [DIAG_SOCKWCNSS_] 2 9898root 266 2 0 0 rescuer_thread 0 S [DIAG_SOCKSENSOR] 2 9899root 267 2 0 0 rescuer_thread 0 S [DIAG_SOCKSENSOR] 2 9900root 268 2 0 0 rescuer_thread 0 S [DIAG_SOCKSENSOR] 2 9901root 269 2 0 0 rescuer_thread 0 S [DIAG_SOCKSENSOR] 2 9902root 270 2 0 0 rescuer_thread 0 S [DIAG_SOCKSENSOR] 2 9903root 271 2 0 0 rescuer_thread 0 S [DIAG_SOCKDIAG_C] 2 9904root 272 2 0 0 rescuer_thread 0 S [DIAG_SOCKDIAG_D] 2 9905root 273 2 0 0 rescuer_thread 0 S [DIAG_SOCKDIAG_C] 2 9906root 274 2 0 0 rescuer_thread 0 S [DIAG_SOCKDIAG_D] 2 9907root 275 2 0 0 rescuer_thread 0 S [DIAG_SOCKDIAG_D] 2 9908root 276 2 0 0 rescuer_thread 0 S [DIAG_SOCKCDSP_C] 2 9909root 277 2 0 0 rescuer_thread 0 S [DIAG_SOCKCDSP_D] 2 9910root 278 2 0 0 rescuer_thread 0 S [DIAG_SOCKCDSP_C] 2 9911root 279 2 0 0 rescuer_thread 0 S [DIAG_SOCKCDSP_D] 2 9912root 280 2 0 0 rescuer_thread 0 S [DIAG_SOCKCDSP_D] 2 9913root 281 2 0 0 rescuer_thread 0 S [DIAG_CNTL_SOCKE] 2 9914root 282 2 0 0 rescuer_thread 0 S [DIAG_GLINK_DIAG] 2 9915root 283 2 0 0 rescuer_thread 0 S [DIAG_GLINK_DIAG] 2 9916root 284 2 0 0 rescuer_thread 0 S [DIAG_GLINK_DIAG] 2 9917root 285 2 0 0 rescuer_thread 0 S [DIAG_GLINK_DIAG] 2 9918root 286 2 0 0 rescuer_thread 0 S [DIAG_GLINK_DIAG] 2 9919root 287 2 0 0 rescuer_thread 0 S [kgsl-workqueue] 2 9920root 288 2 0 0 rescuer_thread 0 S [kgsl-mementry] 2 9921root 289 2 0 0 kthread_worker_fn 0 S [kgsl_worker_thr] 2 9922root 290 2 0 0 rescuer_thread 0 S [kgsl-events] 2 9923root 291 2 0 0 rescuer_thread 0 S [kgsl_devfreq_wq] 2 9924root 292 2 0 0 rescuer_thread 0 S [bioset] 2 9925root 293 2 0 0 rescuer_thread 0 S [bioset] 2 9926root 294 2 0 0 rescuer_thread 0 S [bioset] 2 9927root 295 2 0 0 rescuer_thread 0 S [bioset] 2 9928root 296 2 0 0 rescuer_thread 0 S [bioset] 2 9929root 297 2 0 0 rescuer_thread 0 S [bioset] 2 9930root 298 2 0 0 rescuer_thread 0 S [bioset] 2 9931root 299 2 0 0 rescuer_thread 0 S [bioset] 2 9932root 300 2 0 0 rescuer_thread 0 S [bioset] 3 9933root 301 2 0 0 rescuer_thread 0 S [bioset] 3 9934root 302 2 0 0 rescuer_thread 0 S [bioset] 3 9935root 303 2 0 0 rescuer_thread 0 S [bioset] 3 9936root 304 2 0 0 rescuer_thread 0 S [bioset] 3 9937root 305 2 0 0 rescuer_thread 0 S [bioset] 3 9938root 307 2 0 0 rescuer_thread 0 S [bioset] 3 9939root 308 2 0 0 rescuer_thread 0 S [bioset] 3 9940root 309 2 0 0 rescuer_thread 0 S [bioset] 3 9941root 310 2 0 0 rescuer_thread 0 S [bioset] 3 9942root 311 2 0 0 rescuer_thread 0 S [bioset] 3 9943root 312 2 0 0 rescuer_thread 0 S [bioset] 3 9944root 313 2 0 0 rescuer_thread 0 S [bioset] 3 9945root 314 2 0 0 rescuer_thread 0 S [bioset] 3 9946root 315 2 0 0 rescuer_thread 0 S [bioset] 3 9947root 316 2 0 0 rescuer_thread 0 S [bioset] 3 9948root 317 2 0 0 rescuer_thread 0 S [bioset] 3 9949root 318 2 0 0 irq_thread 0 S [irq/286-soc:fp_] 3 9950root 319 2 0 0 rescuer_thread 0 S [memory_wq] 3 9951root 320 2 0 0 rescuer_thread 0 S [qcrypto_seq_res] 3 9952root 321 2 0 0 scsi_error_handler 0 S [scsi_eh_0] 3 9953root 322 2 0 0 rescuer_thread 0 S [scsi_tmf_0] 3 9954root 323 2 0 0 rescuer_thread 0 S [ufs_pm_qos_0] 3 9955root 324 2 0 0 rescuer_thread 0 S [ufs_clk_ungatin] 3 9956root 325 2 0 0 rescuer_thread 0 S [ufs_clkscaling_] 3 9957root 326 2 0 0 kthread_worker_fn 0 S [spi1] 3 9958root 327 2 0 0 kthread_worker_fn 0 S [spi2] 3 9959root 328 2 0 0 kthread_worker_fn 0 S [spi10] 3 9960root 329 2 0 0 rescuer_thread 0 S [bond0] 3 9961root 330 2 0 0 rescuer_thread 0 S [sharedmem_qmi_w] 3 9962root 331 2 0 0 rescuer_thread 0 S [qmi_hndl0000000] 3 9963root 335 2 0 0 rescuer_thread 0 S [uether] 3 9964root 336 2 0 0 rescuer_thread 0 S [k_ipa_usb] 3 9965root 341 2 0 0 irq_thread 0 S [irq/262-vl53l0_] 3 9966root 342 2 0 0 rescuer_thread 0 S [bioset] 3 9967root 343 2 0 0 rescuer_thread 0 S [bioset] 3 9968root 344 2 0 0 rescuer_thread 0 S [bioset] 3 9969root 345 2 0 0 rescuer_thread 0 S [bioset] 3 9970root 347 2 0 0 rescuer_thread 0 S [bioset] 3 9971root 348 2 0 0 rescuer_thread 0 S [bioset] 3 9972root 349 2 0 0 rescuer_thread 0 S [bioset] 3 9973root 350 2 0 0 rescuer_thread 0 S [bioset] 3 9974root 351 2 0 0 rescuer_thread 0 S [bioset] 3 9975root 355 2 0 0 rescuer_thread 0 S [msm_cci_wq] 3 9976root 356 2 0 0 rescuer_thread 0 S [msm_cci_wq] 3 9977root 357 2 0 0 rescuer_thread 0 S [msm_cpp_workque] 3 9978root 358 2 0 0 rescuer_thread 0 S [msm_vidc_worker] 3 9979root 359 2 0 0 rescuer_thread 0 S [pm_workerq_venu] 3 9980root 360 2 0 0 irq_thread 0 S [irq/158-arm-smm] 3 9981root 361 2 0 0 irq_thread 0 S [irq/159-arm-smm] 3 9982root 362 2 0 0 irq_thread 0 S [irq/160-arm-smm] 3 9983root 363 2 0 0 irq_thread 0 S [irq/161-arm-smm] 3 9984root 364 2 0 0 kthread_worker_fn 0 S [rot_commitq_0_0] 3 9985root 365 2 0 0 kthread_worker_fn 0 S [rot_commitq_0_1] 3 9986root 366 2 0 0 kthread_worker_fn 0 S [rot_doneq_0_0] 3 9987root 367 2 0 0 kthread_worker_fn 0 S [rot_doneq_0_1] 3 9988root 368 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 3 9989root 370 2 0 0 irq_thread 0 S [irq/500-chg-err] 3 9990root 371 2 0 0 irq_thread 0 S [irq/501-chg-sta] 3 9991root 372 2 0 0 irq_thread 0 S [irq/502-step-ch] 3 9992root 373 2 0 0 irq_thread 0 S [irq/503-step-ch] 3 9993root 374 2 0 0 irq_thread 0 S [irq/504-step-ch] 3 9994root 375 2 0 0 irq_thread 0 S [irq/505-otg-fai] 3 9995root 376 2 0 0 irq_thread 0 S [irq/506-otg-ove] 3 9996root 377 2 0 0 irq_thread 0 S [irq/507-otg-oc-] 3 9997root 378 2 0 0 irq_thread 0 S [irq/508-testmod] 3 9998root 379 2 0 0 irq_thread 0 S [irq/509-bat-tem] 3 9999root 380 2 0 0 irq_thread 0 S [irq/510-bat-ocp] 3 10000root 381 2 0 0 irq_thread 0 S [irq/511-bat-ov] 3 10001root 382 2 0 0 irq_thread 0 S [irq/512-bat-low] 3 10002root 383 2 0 0 irq_thread 0 S [irq/513-bat-the] 3 10003root 384 2 0 0 irq_thread 0 S [irq/514-bat-ter] 3 10004root 385 2 0 0 irq_thread 0 S [irq/515-usbin-c] 3 10005root 386 2 0 0 irq_thread 0 S [irq/516-usbin-l] 3 10006root 387 2 0 0 irq_thread 0 S [irq/517-usbin-u] 3 10007root 388 2 0 0 irq_thread 0 S [irq/518-usbin-o] 3 10008root 389 2 0 0 irq_thread 0 S [irq/519-usbin-p] 3 10009root 390 2 0 0 irq_thread 0 S [irq/520-usbin-s] 3 10010root 391 2 0 0 irq_thread 0 S [irq/521-usbin-i] 3 10011root 392 2 0 0 irq_thread 0 S [irq/522-type-c-] 3 10012root 393 2 0 0 irq_thread 0 S [irq/523-dcin-co] 3 10013root 394 2 0 0 irq_thread 0 S [irq/524-dcin-lt] 3 10014root 395 2 0 0 irq_thread 0 S [irq/525-dcin-uv] 3 10015root 396 2 0 0 irq_thread 0 S [irq/526-dcin-ov] 3 10016root 397 2 0 0 irq_thread 0 S [irq/527-dcin-pl] 3 10017root 398 2 0 0 irq_thread 0 S [irq/528-div2-en] 3 10018root 399 2 0 0 irq_thread 0 S [irq/529-dcin-ic] 3 10019root 400 2 0 0 irq_thread 0 S [irq/532-aicl-fa] 4 10020root 401 2 0 0 irq_thread 0 S [irq/533-aicl-do] 4 10021root 402 2 0 0 irq_thread 0 S [irq/534-high-du] 4 10022root 403 2 0 0 irq_thread 0 S [irq/535-input-c] 4 10023root 404 2 0 0 irq_thread 0 S [irq/536-tempera] 4 10024root 405 2 0 0 irq_thread 0 S [irq/537-switche] 4 10025root 406 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 4 10026root 407 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 4 10027root 409 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 4 10028root 410 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 4 10029root 411 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 4 10030root 412 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 4 10031root 413 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 4 10032root 414 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 4 10033root 415 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 4 10034root 416 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 4 10035root 417 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 4 10036root 418 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 4 10037root 419 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 4 10038root 420 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 4 10039root 421 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 4 10040root 422 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 4 10041root 423 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 4 10042root 424 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 4 10043root 425 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 4 10044root 426 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 4 10045root 427 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 4 10046root 428 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 4 10047root 429 2 0 0 irq_thread 0 S [irq/59-tsens_in] 4 10048root 430 2 0 0 irq_thread 0 S [irq/62-tsens_cr] 4 10049root 431 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 4 10050root 432 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 4 10051root 433 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 4 10052root 434 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 4 10053root 435 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 4 10054root 436 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 4 10055root 437 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 4 10056root 438 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 4 10057root 439 2 0 0 irq_thread 0 S [irq/63-tsens_in] 4 10058root 440 2 0 0 irq_thread 0 S [irq/64-tsens_cr] 4 10059root 441 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 4 10060root 442 2 0 0 irq_thread 0 S [irq/366-limits_] 4 10061root 443 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 4 10062root 444 2 0 0 irq_thread 0 S [irq/367-limits_] 4 10063root 445 2 0 0 rescuer_thread 0 S [dm_bufio_cache] 4 10064root 446 2 0 0 cpufreq_interactive_speedchange_task 0 S [cfinteractive] 4 10065root 447 2 0 0 irq_thread 0 S [irq/291-bcm1560] 4 10066root 448 2 0 0 irq_thread 0 S [irq/226-bcm1560] 4 10067root 449 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 4 10068root 451 2 0 0 irq_thread 0 S [irq/197-spdm_bw] 4 10069root 452 2 0 0 rescuer_thread 0 S [binder] 4 10070root 453 2 0 0 irq_thread 0 S [irq/144-arm-smm] 4 10071root 454 2 0 0 rescuer_thread 0 S [uaudio_svc] 4 10072root 455 2 0 0 rescuer_thread 0 S [qmi_hndl0000000] 4 10073root 456 2 0 0 rescuer_thread 0 S [ipv6_addrconf] 4 10074root 458 2 0 0 irq_thread 0 S [irq/574-adsp] 4 10075root 459 2 0 0 rescuer_thread 0 S [sysmon_wq] 4 10076root 460 2 0 0 irq_thread 0 S [irq/606-slpi] 4 10077root 461 2 0 0 irq_thread 0 S [irq/542-modem] 4 10078root 465 2 0 0 rescuer_thread 0 S [usb_bam_wq] 4 10079root 466 2 0 0 irq_thread 0 S [irq/19-sig-tx] 4 10080root 467 2 0 0 irq_thread 0 S [irq/20-sig-rx] 4 10081root 468 2 0 0 irq_thread 0 S [irq/22-msg-rx] 4 10082root 469 2 0 0 rescuer_thread 0 S [usbpd0] 4 10083root 470 2 0 0 rescuer_thread 0 S [usbpd0] 4 10084root 471 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 4 10085root 472 2 0 0 irq_thread 0 S [irq/734-soc-upd] 4 10086root 473 2 0 0 irq_thread 0 S [irq/735-soc-rea] 4 10087root 474 2 0 0 irq_thread 0 S [irq/736-bsoc-de] 4 10088root 475 2 0 0 irq_thread 0 S [irq/737-msoc-de] 4 10089root 476 2 0 0 irq_thread 0 S [irq/738-msoc-lo] 4 10090root 477 2 0 0 irq_thread 0 S [irq/739-msoc-em] 4 10091root 478 2 0 0 irq_thread 0 S [irq/740-msoc-hi] 4 10092root 479 2 0 0 irq_thread 0 S [irq/741-msoc-fu] 4 10093root 480 2 0 0 irq_thread 0 S [irq/742-vbatt-p] 4 10094root 481 2 0 0 irq_thread 0 S [irq/743-vbatt-l] 4 10095root 482 2 0 0 irq_thread 0 S [irq/744-esr-del] 4 10096root 483 2 0 0 irq_thread 0 S [irq/745-batt-mi] 4 10097root 484 2 0 0 irq_thread 0 S [irq/746-batt-te] 4 10098root 485 2 0 0 irq_thread 0 S [irq/747-ima-rdy] 4 10099root 486 2 0 0 irq_thread 0 S [irq/748-mem-xcp] 4 10100root 487 2 0 0 irq_thread 0 S [irq/749-dma-gra] 4 10101root 489 2 0 0 irq_thread 0 S [irq/54-hs_phy_i] 4 10102root 490 2 0 0 irq_thread 0 S [irq/55-ss_phy_i] 4 10103root 491 2 0 0 irq_thread 0 S [irq/56-msm_dwc3] 4 10104root 494 2 0 0 irq_thread 0 S [irq/36-ARM64 pr] 4 10105root 495 2 0 0 irq_thread 0 S [irq/37-ARM64 se] 4 10106root 496 2 0 0 irq_thread 0 S [irq/39-ARM64 pr] 4 10107root 497 2 0 0 irq_thread 0 S [irq/40-ARM64 se] 4 10108root 498 2 0 0 rescuer_thread 0 S [rq_stats] 4 10109root 499 2 0 0 irq_thread 0 S [irq/145-arm-smm] 4 10110root 500 2 0 0 irq_thread 0 S [irq/146-arm-smm] 5 10111root 501 2 0 0 irq_thread 0 S [irq/147-arm-smm] 5 10112root 502 2 0 0 irq_thread 0 S [irq/148-arm-smm] 5 10113root 503 2 0 0 irq_thread 0 S [irq/149-arm-smm] 5 10114root 504 2 0 0 irq_thread 0 S [irq/150-arm-smm] 5 10115root 505 2 0 0 irq_thread 0 S [irq/151-arm-smm] 5 10116root 506 2 0 0 irq_thread 0 S [irq/152-arm-smm] 5 10117root 507 2 0 0 kthread_worker_fn 0 S [set_state_work] 5 10118root 508 2 0 0 irq_thread 0 S [irq/227-mnh-rea] 5 10119root 510 2 0 0 irq_thread 0 S [irq/751-mnh_pci] 5 10120root 511 2 0 0 irq_thread 0 S [irq/752-mnh_pci] 5 10121root 512 2 0 0 irq_thread 0 S [irq/753-mnh_pci] 5 10122root 513 2 0 0 irq_thread 0 S [irq/754-mnh_pci] 5 10123root 514 2 0 0 irq_thread 0 S [irq/755-mnh_pci] 5 10124root 515 2 0 0 irq_thread 0 S [irq/758-mnh_pci] 5 10125root 516 2 0 0 irq_thread 0 S [irq/759-mnh_pci] 5 10126root 517 2 0 0 irq_thread 0 S [irq/128-arm-smm] 5 10127root 518 2 0 0 rescuer_thread 0 S [sb-1] 5 10128root 519 2 0 0 ngd_slim_rx_msgq_thread 0 S [ngd_rx_thread1] 5 10129root 520 2 0 0 ngd_notify_partners 0 S [ngd_notify_sl1] 5 10130root 521 2 0 0 rescuer_thread 0 S [sb-3] 5 10131root 522 2 0 0 ngd_slim_rx_msgq_thread 0 S [ngd_rx_thread3] 5 10132root 523 2 0 0 ngd_notify_partners 0 S [ngd_notify_sl3] 5 10133root 525 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 5 10134root 526 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 5 10135root 527 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 5 10136root 528 2 0 0 irq_thread 0 S [irq/66-lmh-inte] 5 10137root 529 2 0 0 irq_thread 0 S [irq/28-qpnp_fla] 5 10138root 530 2 0 0 irq_thread 0 S [irq/27-qpnp_fla] 5 10139root 531 2 0 0 irq_thread 0 S [irq/26-qpnp_fla] 5 10140root 532 2 0 0 worker_thread 0 S [kworker/6:1H] 5 10141root 533 2 0 0 worker_thread 0 S [kworker/5:1H] 5 10142root 534 2 0 0 worker_thread 0 S [kworker/7:1H] 5 10143root 535 2 0 0 rescuer_thread 0 S [ext4-rsv-conver] 5 10144root 536 2 0 0 worker_thread 0 S [kworker/4:1H] 5 10145root 537 2 0 0 kjournald2 0 S [jbd2/sdd3-8] 5 10146root 538 2 0 0 rescuer_thread 0 S [ext4-rsv-conver] 5 10147root 539 2 0 0 rescuer_thread 0 S [ext4-rsv-conver] 5 10148root 542 1 6760 772 do_sys_poll 54e580 S init init 10149root 543 1 6504 1068 do_sys_poll 54e580 S ueventd init 10150root 545 2 0 0 worker_thread 0 S [kworker/0:1H] 5 10151root 550 2 0 0 irq_thread 0 S [irq/760-synapti] 5 10152root 551 2 0 0 rescuer_thread 0 S [dsx_rebuild_wor] 5 10153root 552 2 0 0 rescuer_thread 0 S [dsx_exp_workque] 5 10154root 556 2 0 0 rescuer_thread 0 S [batt_timer] 5 10155system 566 1 12844 1752 do_wait 7bede320a8 S qseecomd qseecomd 10156root 567 2 0 0 kthread_worker_fn 0 S [sugov:0] 5 10157root 568 2 0 0 kthread_worker_fn 0 S [sugov:4] 5 10158system 570 1 2128484 4816 binder_ioctl_write_read 7428db1040 S hwservicemanager hwservicemanager 10159logd 571 1 32436 11280 SyS_rt_sigsuspend 7f4ccf3118 S logd logd 10160system 572 1 11568 1988 binder_ioctl_write_read 7092531040 S servicemanager servicemanager 10161system 573 1 12280 2032 binder_ioctl_write_read 769d032040 S vndservicemanager vndservicemanager 10162system 574 566 18848 628 SyS_rt_sigsuspend 7bede31118 S qseecomd qseecomd 10163root 584 2 0 0 kauditd_thread 0 S [kauditd] 5 10164root 586 1 14496 2612 binder_ioctl_write_read 7f49272040 S android.hardware.boot@1.0-service android.hardware.boot@1.0-service 10165system 587 1 15624 2752 binder_ioctl_write_read 7929071040 S android.hardware.gatekeeper@1.0-service-qti android.hardware.gatekeeper@1.0-service-qti 10166system 588 1 15884 2740 binder_ioctl_write_read 7496432040 S android.hardware.keyprimary@3.0-service-qti android.hardware.keyprimary@3.0-service-qti 10167system 589 1 2128880 2824 binder_ioctl_write_read 7aa5cf0040 S android.hardware.keyprimary@4.0-service android.hardware.keyprimary@4.0-service 10168system 591 1 2190076 20836 SyS_epoll_wait 7d3a2f0f50 S surfaceflinger surfaceflinger 10169system 593 1 47296 5936 binder_ioctl_write_read 79c60f0040 S android.hardware.graphics.composer@2.1-service android.hardware.graphics.composer@2.1-service 10170system 594 1 18484 2704 binder_ioctl_write_read 79f41b0040 S android.hardware.configstore@1.0-service android.hardware.configstore@1.0-service 10171system 595 1 22124 3160 binder_ioctl_write_read 7c5b5f3040 S android.hardware.graphics.allocator@2.0-service android.hardware.graphics.allocator@2.0-service 10172root 612 2 0 0 kjournald2 0 S [jbd2/sda45-8] 6 10173root 613 2 0 0 rescuer_thread 0 S [ext4-rsv-conver] 6 10174system 616 1 23496 1848 futex_wait_queue_me 6ff4460bb0 S time_daemon time_daemon 10175root 617 1 31600 4188 binder_ioctl_write_read 7c864f1040 S vold vold 10176root 619 2 0 0 __mdss_fb_display_thread 0 D [mdss_fb0] 6 10177root 635 2 0 0 irq_thread 0 S [irq/177-arm-smm] 6 10178root 636 2 0 0 irq_thread 0 S [irq/178-arm-smm] 6 10179root 642 2 0 0 rescuer_thread 0 S [dsps_IPCRTR] 6 10180root 643 2 0 0 rescuer_thread 0 S [fwu_workqueue] 6 10181root 647 2 0 0 rescuer_thread 0 S [lpass_IPCRTR] 6 10182root 648 2 0 0 rescuer_thread 0 S [qmi_hndl0000000] 6 10183root 663 2 0 0 worker_thread 0 S [kworker/2:1H] 6 10184root 671 2 0 0 diag_socket_read 0 S [kworker/u16:7] 6 10185root 672 2 0 0 rescuer_thread 0 S [qmi_hndl0000000] 6 10186root 673 2 0 0 kthread_worker_fn 0 S [msm_slim_qmi_cl] 6 10187root 674 2 0 0 kthread_worker_fn 0 S [msm_slim_qmi_cl] 6 10188root 675 2 0 0 rescuer_thread 0 S [qmi_hndl0000000] 6 10189root 676 2 0 0 rescuer_thread 0 S [qmi_hndl0000000] 6 10190root 678 2 0 0 irq_thread 0 S [irq/153-arm-smm] 6 10191root 685 1 2152164 4480 binder_ioctl_write_read 75b8931040 S netd netd 10192root 693 685 9800 1860 pipe_read 7dcd573a78 S iptables-restore iptables 10193root 694 685 9816 1976 pipe_read 7823af2a78 S ip6tables-restore ip6tables 10194root 702 1 4232768 64660 do_sys_poll 726d72f070 S zygote64 app_process64 10195root 703 1 1554860 51192 do_sys_poll f08df828 S zygote app_process32 10196root 704 2 0 0 rescuer_thread 0 S [cds_recovery_wo] 7 10197root 705 2 0 0 wlan_logging_thread 0 S [wlan_logging_th] 7 10198root 722 2 0 0 rescuer_thread 0 S [at_usb0] 7 10199root 723 2 0 0 rescuer_thread 0 S [at_usb1] 7 10200root 724 2 0 0 rescuer_thread 0 S [qdss] 7 10201root 729 1 14500 3000 SyS_epoll_wait 7e95172f50 S healthd healthd 10202root 730 1 97112 2512 SyS_rt_sigsuspend 7711df2118 S thermal-engine thermal-engine 10203system 731 1 14152 2980 binder_ioctl_write_read 6fc03b2040 S android.hidl.allocator@1.0-service android.hidl.allocator@1.0-service 10204system 732 1 27592 4032 binder_ioctl_write_read 7229ab0040 S vr_hwc vr_hwc 10205audioserver 733 1 33344 8496 binder_ioctl_write_read eb95c790 S android.hardware.audio@2.0-service android.hardware.audio@2.0-service 10206bluetooth 734 1 17192 2472 binder_ioctl_write_read 7c2982f040 S android.hardware.bluetooth@1.0-service android.hardware.bluetooth@1.0-service 10207root 735 2 0 0 irq_thread 0 S [irq/254-wcd9xxx] 7 10208cameraserver 736 1 175308 46572 binder_ioctl_write_read e8d17790 S android.hardware.camera.provider@2.4-service android.hardware.camera.provider@2.4-service 10209media 737 1 12964 2520 binder_ioctl_write_read f0d9d790 S android.hardware.cas@1.0-service android.hardware.cas@1.0-service 10210system 738 1 2126332 2824 binder_ioctl_write_read 7f79d33040 S android.hardware.contexthub@1.0-service android.hardware.contexthub@1.0-service 10211media 739 1 15068 2736 binder_ioctl_write_read ec95a790 S android.hardware.drm@1.0-service android.hardware.drm@1.0-service 10212media 740 1 16324 2440 binder_ioctl_write_read f2217790 S android.hardware.drm@1.0-service.widevine android.hardware.drm@1.0-service.widevine 10213media 741 1 25876 2876 binder_ioctl_write_read 7479870040 S android.hardware.drm@1.1-service.clearkey android.hardware.drm@1.1-service.clearkey 10214system 742 1 13928 2604 binder_ioctl_write_read 75110b1040 S android.hardware.dumpstate@1.0-service.wahoo android.hardware.dumpstate@1.0-service.wahoo 10215gps 743 1 41836 4768 binder_ioctl_write_read 75ac5f2040 S android.hardware.gnss@1.0-service-qti android.hardware.gnss@1.0-service-qti 10216system 744 1 14136 2804 SyS_epoll_wait 7323b71f50 S android.hardware.health@2.0-service.wahoo android.hardware.health@2.0-service.wahoo 10217system 745 1 14168 2608 binder_ioctl_write_read 75ac42f040 S android.hardware.light@2.0-service android.hardware.light@2.0-service 10218system 748 1 14168 2684 binder_ioctl_write_read 7947eb3040 S android.hardware.memtrack@1.0-service android.hardware.memtrack@1.0-service 10219system 756 1 19416 2728 binder_ioctl_write_read 718b570040 S android.hardware.neuralnetworks@1.0-service-hvx android.hardware.neuralnetworks@1.0-service-hvx 10220nfc 759 1 2125748 2668 binder_ioctl_write_read 7b6d2f3040 S android.hardware.nfc@1.0-service android.hardware.nfc@1.0-service 10221system 760 1 13908 2556 binder_ioctl_write_read 73fe2ef040 S android.hardware.oemlock@1.0-service android.hardware.oemlock@1.0-service 10222root 761 1 11256 1572 __skb_recv_datagram 71ff530ed8 S oemlock-bridge oemlock-bridge 10223system 773 1 18736 2916 binder_ioctl_write_read 7568871040 S android.hardware.power@1.2-service.wahoo-libperfmgr android.hardware.power@1.2-service.wahoo-libperfmgr 10224system 778 1 70168 3536 binder_ioctl_write_read 72b4db3040 S android.hardware.sensors@1.0-service android.hardware.sensors@1.0-service 10225root 787 1 19788 2784 binder_ioctl_write_read 77a0371040 S android.hardware.usb@1.1-service.wahoo android.hardware.usb@1.1-service.wahoo 10226system 793 1 14448 2576 binder_ioctl_write_read 72cb372040 S android.hardware.vibrator@1.2-service.wahoo android.hardware.vibrator@1.2-service.wahoo 10227system 802 1 13780 2532 binder_ioctl_write_read 7827330040 S android.hardware.vr@1.0-service.wahoo android.hardware.vr@1.0-service.wahoo 10228wifi 807 1 2126104 2508 binder_ioctl_write_read 713cc31040 S android.hardware.wifi.offload@1.0-service android.hardware.wifi.offload@1.0-service 10229wifi 812 1 17460 2632 binder_ioctl_write_read 7278a70040 S android.hardware.wifi@1.0-service android.hardware.wifi@1.0-service 10230ese 813 1 14848 2600 binder_ioctl_write_read 790a0b1040 S esed esed 10231root 816 1 11132 1964 do_sys_poll 78de52f070 S msm_irqbalance msm_irqbalance 10232system 819 1 28116 1948 do_sigtimedwait 72b45ef130 S pm-service pm-service 10233system 825 1 28184 1996 futex_wait_queue_me 7a3c15fbb0 S sensors.qcom sensors.qcom 10234nobody 827 1 50580 1952 do_select 7526bb3088 S rmt_storage rmt_storage 10235system 828 1 13780 1964 do_sys_poll 7f205f3070 S tftp_server tftp_server 10236system 829 1 17340 1808 hrtimer_nanosleep 70455b1958 S pd-mapper pd-mapper 10237audioserver 830 1 105732 12620 binder_ioctl_write_read f3d5e790 S audioserver audioserver 10238system 831 1 20132 3336 SyS_epoll_wait 7f62bf2f50 S bufferhubd bufferhubd 10239root 835 1 9948 1760 SyS_epoll_wait 79a1531f50 S lmkd lmkd 10240system 836 1 14796 2256 SyS_epoll_wait 74f1f31f50 S performanced performanced 10241system 837 1 22464 3316 binder_ioctl_write_read 7e55a32040 S thermalserviced thermalserviced 10242system 838 1 18656 2732 binder_ioctl_write_read 753d3b1040 S virtual_touchpad virtual_touchpad 10243root 854 2 0 0 do_freq_mitigation 0 S [msm_thermal:fre] 8 10244root 859 2 0 0 do_thermal_monitor 0 S [msm_thermal:the] 8 10245root 865 2 0 0 rescuer_thread 0 S [qmi_hndl0000000] 8 10246root 873 2 0 0 rescuer_thread 0 S [modem] 8 10247system 874 1 19824 1876 hrtimer_nanosleep 70e9230958 S pm-proxy pm-proxy 10248root 879 1 11132 1508 do_sys_poll 72e4732070 S subsystem_ramdump subsystem_ramdump 10249nobody 882 1 10724 1328 do_sys_poll 7c2e9f0070 S traced traced 10250nobody 883 1 10724 1392 do_sys_poll 7c38fb3070 S traced_probes traced_probes 10251media 884 1 15272 1488 do_sys_poll 71fb172070 S adsprpcd adsprpcd 10252system 885 1 16940 1780 do_select 7a5adf0088 S imsqmidaemon imsqmidaemon 10253radio 890 1 2136736 3352 SyS_epoll_wait 749d2eef50 S cnd cnd 10254root 892 2 0 0 worker_thread 0 S [kworker/3:1H] 8 10255radio 893 1 2224936 4944 __skb_recv_datagram 799ea71ed8 S netmgrd netmgrd 10256radio 897 1 14636 1528 futex_wait_queue_me 71ac21ebb0 S port-bridge port-bridge 10257radio 898 1 23196 2732 futex_wait_queue_me 6fc2adfbb0 S ipacm ipacm 10258radio 899 1 2131244 2176 do_select 77cb1f1088 S qti qti 10259cameraserver 900 1 41196 8408 binder_ioctl_write_read f4ad9790 S cameraserver cameraserver 10260drm 901 1 20448 4212 binder_ioctl_write_read f69e2790 S drmserver drmserver 10261incidentd 902 1 22208 3584 SyS_epoll_wait 74750b1f50 S incidentd incidentd 10262root 903 1 30680 5016 binder_ioctl_write_read 71da631040 S installd installd 10263keystore 904 1 2135744 4904 binder_ioctl_write_read 7810832040 S keystore keystore 10264media 905 1 12236 2696 binder_ioctl_write_read ec697790 S mediadrmserver mediadrmserver 10265mediaex 906 1 2188528 12028 binder_ioctl_write_read 7301372040 S media.extractor mediaextractor 10266media 907 1 2147172 7800 binder_ioctl_write_read 7b8eb2f040 S media.metrics mediametrics 10267media 908 1 81888 7948 binder_ioctl_write_read f16e1790 S mediaserver mediaserver 10268statsd 909 1 26740 4592 SyS_epoll_wait 79c772ff50 S statsd statsd 10269root 911 1 26400 6084 binder_ioctl_write_read 72667ef040 S storaged storaged 10270wifi 912 1 20180 3996 SyS_epoll_wait 7b337eff50 S wificond wificond 10271mediacodec 914 1 122448 21140 binder_ioctl_write_read ee31e790 S media.codec android.hardware.media.omx@1.0-service 10272radio 917 1 111948 10660 binder_ioctl_write_read 72b02b0040 S rild rild 10273system 920 1 2165108 11268 SyS_epoll_wait 764ad32f50 S folio_daemon folio_daemon 10274root 921 2 0 0 rescuer_thread 0 S [ipawq15] 9 10275root 922 2 0 0 rescuer_thread 0 S [iparepwq15] 9 10276system 923 1 28496 2728 do_sys_poll 78c99f1070 S cnss-daemon cnss-daemon 10277gps 924 1 14812 2316 SyS_rt_sigsuspend 7bf85f1118 S loc_launcher loc_launcher 10278system 925 1 18596 2924 do_sys_poll 700daef070 S chre chre 10279system 926 1 2134120 4416 binder_ioctl_write_read 78699b0040 S gatekeeperd gatekeeperd 10280root 927 1 20516 3176 binder_ioctl_write_read 705e8f2040 S perfprofd perfprofd 10281tombstoned 929 1 9636 1400 SyS_epoll_wait 7e365eff50 S tombstoned tombstoned 10282root 932 1 27424 4856 SyS_epoll_wait 7a3b232f50 S update_engine update_engine 10283system 935 1 19292 2624 binder_ioctl_write_read 75105b2040 S android.hardware.biometrics.fingerprint@2.1-service.fpc android.hardware.biometrics.fingerprint@2.1-service.fpc 10284root 938 2 0 0 rescuer_thread 0 S [ipawq48] 9 10285root 942 2 0 0 rescuer_thread 0 S [iparepwq48] 9 10286system 950 1 2138472 3920 do_select 7bd7070088 S imsdatadaemon imsdatadaemon 10287root 969 2 0 0 rescuer_thread 0 S [ipawq13] 9 10288root 985 2 0 0 rescuer_thread 0 S [iparepwq13] 9 10289root 1002 2 0 0 rescuer_thread 0 S [ipa_A7_svc] 1 10290root 1012 2 0 0 rescuer_thread 0 S [qmi_hndl0000000] 1 10291root 1016 2 0 0 rescuer_thread 0 S [clnt_req] 1 10292root 1017 2 0 0 rescuer_thread 0 S [clnt_req] 1 10293root 1021 2 0 0 rescuer_thread 0 S [clnt_resp] 1 10294root 1116 2 0 0 rescuer_thread 0 S [wdsp_glink_wq] 1 10295system 1151 702 4764184 273912 SyS_epoll_wait 726d72ef50 S system_server app_process64 10296root 1199 2 0 0 rescuer_thread 0 S [mpss_IPCRTR] 1 10297root 1201 2 0 0 rescuer_thread 0 S [qmi_hndl0000000] 1 10298root 1202 2 0 0 rescuer_thread 0 S [qmi_hndl0000000] 1 10299root 1219 2 0 0 irq_thread 0 S [irq/157-arm-smm] 1 10300root 1220 2 0 0 irq_thread 0 S [irq/162-arm-smm] 1 10301root 1246 2 0 0 rescuer_thread 0 S [qmi_hndl0000000] 1 10302root 1304 2 0 0 worker_thread 0 S [kworker/1:1H] 1 10303root 1305 2 0 0 rescuer_thread 0 S [qmi_hndl0000000] 1 10304root 1382 2 0 0 rescuer_thread 0 S [ipawq14] 1 10305root 1383 2 0 0 rescuer_thread 0 S [iparepwq14] 1 10306root 1384 2 0 0 rescuer_thread 0 S [ipawq49] 1 10307root 1385 2 0 0 rescuer_thread 0 S [iparepwq49] 1 10308radio 1452 702 3654372 39876 SyS_epoll_wait 726d72ef50 S com.google.modemservice app_process64 10309u0_a68 1469 702 3783096 117712 SyS_epoll_wait 726d72ef50 S com.android.systemui app_process64 10310u0_a98 1529 702 3777328 123412 SyS_epoll_wait 726d72ef50 S com.breel.wallpapers app_process64 10311gps 1536 924 2130620 2712 futex_wait_queue_me 7ed79a2bb0 S lowi-server lowi-server 10312gps 1538 924 29112 4408 __skb_recv_datagram 736d8b2ed8 S xtra-daemon xtra-daemon 10313radio 1554 702 3655740 41580 SyS_epoll_wait 726d72ef50 S com.qualcomm.qcrilmsgtunnel app_process64 10314system 1651 702 3663924 44380 SyS_epoll_wait 726d72ef50 S .dataservices app_process64 10315radio 1666 702 3655692 40728 SyS_epoll_wait 726d72ef50 S com.qualcomm.qti.telephonyservice app_process64 10316radio 1678 702 3731184 65024 SyS_epoll_wait 726d72ef50 S com.android.phone app_process64 10317u0_a24 1798 702 3661228 44472 SyS_epoll_wait 726d72ef50 S com.google.android.ext.services app_process64 10318root 2107 2 0 0 irq_thread 0 S [irq/35-1008000.] 2 10319nfc 2195 702 3678748 51548 SyS_epoll_wait 726d72ef50 S com.android.nfc app_process64 10320u0_a10 2213 702 3670936 50680 SyS_epoll_wait 726d72ef50 S com.google.intelligence.sense app_process64 10321radio 2224 702 3658520 45112 SyS_epoll_wait 726d72ef50 S com.android.ims.rcsservice app_process64 10322system 2243 702 3655528 38104 SyS_epoll_wait 726d72ef50 S com.google.SSRestartDetector app_process64 10323u0_a19 2279 702 3771824 105368 SyS_epoll_wait 726d72ef50 S com.google.android.apps.nexuslauncher app_process64 10324u0_a125 2305 702 3666628 45328 SyS_epoll_wait 726d72ef50 S com.google.vr.vrcore app_process64 10325u0_a56 2332 702 3674796 54092 SyS_epoll_wait 726d72ef50 S com.google.android.apps.pixelmigrate app_process64 10326u0_a58 2354 702 3670496 51884 SyS_epoll_wait 726d72ef50 S com.google.android.setupwizard app_process64 10327u0_a21 2371 703 983924 40268 SyS_epoll_wait f08df650 S com.google.android.apps.miphone.aiai app_process32 10328u0_a40 2462 702 3948032 112056 SyS_epoll_wait 726d72ef50 S com.google.android.gms app_process64 10329u0_a40 2484 702 3776084 92024 0 726d72f040 S com.google.android.gms.persistent app_process64 10330system 3993 702 3657372 38852 SyS_epoll_wait 726d72ef50 S com.qualcomm.telephony app_process64 10331root 4295 1 22620 1332 do_sys_poll 4ae5b0 S adbd adbd 10332root 15030 2 0 0 worker_thread 0 S [kworker/4:1] 1 10333u0_a55 16104 702 3655556 44592 SyS_epoll_wait 726d72ef50 S com.android.defcontainer app_process64 10334root 16505 2 0 0 0 0 R [kworker/u17:0] 1 10335root 18709 2 0 0 worker_thread 0 S [kworker/3:3] 1 10336root 19512 2 0 0 worker_thread 0 S [kworker/5:1] 1 10337u0_a30 21587 702 3658124 43108 SyS_epoll_wait 726d72ef50 S com.google.android.apps.turbo app_process64 10338u0_a75 21768 702 3657340 41228 binder_ioctl_write_read 726d72f040 R com.google.android.partnersetup app_process64 10339u0_a40 21787 702 3671796 45760 SyS_epoll_wait 726d72ef50 S com.google.process.gservices app_process64 10340root 23038 2 0 0 worker_thread 0 S [kworker/3:2] 2 10341root 23393 2 0 0 worker_thread 0 S [kworker/5:3] 2 10342root 24384 2 0 0 worker_thread 0 S [kworker/4:2] 2 10343root 24428 2 0 0 worker_thread 0 S [kworker/1:0] 2 10344root 24572 2 0 0 worker_thread 0 S [kworker/6:0] 2 10345u0_a47 24879 702 4318732 48896 SyS_epoll_wait 726d72ef50 S com.verizon.mips.services app_process64 10346root 24931 2 0 0 worker_thread 0 S [kworker/2:1] 2 10347root 25152 2 0 0 worker_thread 0 S [kworker/7:2] 2 10348root 25203 2 0 0 worker_thread 0 S [kworker/0:4] 2 10349root 25230 2 0 0 worker_thread 0 S [kworker/2:0] 2 10350root 25246 2 0 0 worker_thread 0 S [kworker/7:0] 2 10351root 25362 2 0 0 worker_thread 0 S [kworker/u16:4] 2 10352root 25366 2 0 0 worker_thread 0 S [kworker/0:2] 2 10353root 25390 2 0 0 worker_thread 0 S [kworker/1:2] 2 10354root 25518 2 0 0 worker_thread 0 S [kworker/u16:6] 2 10355root 25647 2 0 0 worker_thread 0 S [kworker/6:1] 2 10356root 25664 2 0 0 worker_thread 0 S [kworker/u16:1] 2 10357root 25796 2 0 0 worker_thread 0 S [kworker/0:1] 2 10358root 25814 2 0 0 worker_thread 0 S [kworker/u16:3] 2 10359root 25819 2 0 0 worker_thread 0 S [kworker/3:0] 2 10360root 25823 2 0 0 worker_thread 0 S [kworker/2:2] 2 10361root 25933 2 0 0 worker_thread 0 S [kworker/6:2] 2 10362root 25946 2 0 0 worker_thread 0 S [kworker/1:1] 2 10363root 25950 2 0 0 worker_thread 0 S [kworker/0:3] 2 10364root 25966 2 0 0 worker_thread 0 S [kworker/u16:5] 2 10365root 26081 2 0 0 worker_thread 0 S [kworker/2:3] 2 10366root 26106 2 0 0 worker_thread 0 S [kworker/4:0] 2 10367system 26142 702 3652332 39944 SyS_epoll_wait 726d72ef50 S com.android.keychain app_process64 10368u0_a46 26181 702 3660384 46416 SyS_epoll_wait 726d72ef50 S com.android.documentsui app_process64 10369u0_a8 26208 702 3654392 43232 SyS_epoll_wait 726d72ef50 S android.process.media app_process64 10370u0_a40 26343 702 3662144 44012 SyS_epoll_wait 726d72ef50 S com.google.process.gapps app_process64 10371root 26407 2 0 0 worker_thread 0 S [kworker/5:0] 2 10372u0_a72 26440 702 3663496 41172 SyS_epoll_wait 726d72ef50 S com.android.connectivity.metrics app_process64 10373root 26499 2 0 0 worker_thread 0 S [kworker/7:1] 2 10374root 26509 2 0 0 worker_thread 0 S [kworker/7:3] 2 10375radio 26510 702 3653256 40364 SyS_epoll_wait 726d72ef50 S com.google.android.connectivitymonitor app_process64 10376u0_a131 26648 702 3653188 38916 SyS_epoll_wait 726d72ef50 S com.android.printspooler app_process64 10377root 26706 2 0 0 worker_thread 0 S [kworker/1:3] 2 10378root 26729 4295 9284 1720 SyS_rt_sigsuspend 742baf3118 S sh sh 10379root 26732 26729 9284 808 SyS_rt_sigsuspend 742baf3118 S sh sh 10380root 26733 26732 11752 2200 0 745d633a78 R ps toybox 10381root 26739 4295 9284 1712 SyS_rt_sigsuspend 70fcfaf118 S sh sh 10382root 27902 2 0 0 worker_thread 0 S [kworker/u17:2] 2 10383u0_a64 32499 702 3690380 57548 SyS_epoll_wait 726d72ef50 S com.google.android.ims app_process64 10384USER PID TID CMD 10385root 1 1 init 10386root 2 2 kthreadd 10387root 3 3 ksoftirqd/0 10388root 5 5 kworker/0:0H 10389root 6 6 kworker/u16:0 10390root 7 7 rcu_preempt 10391root 8 8 rcu_sched 10392root 9 9 rcu_bh 10393root 10 10 rcuop/0 10394root 11 11 rcuos/0 10395root 12 12 rcuob/0 10396root 13 13 migration/0 10397root 14 14 watchdog/0 10398root 15 15 watchdog/1 10399root 16 16 migration/1 10400root 17 17 ksoftirqd/1 10401root 19 19 kworker/1:0H 10402root 20 20 rcuop/1 10403root 21 21 rcuos/1 10404root 22 22 rcuob/1 10405root 23 23 watchdog/2 10406root 24 24 migration/2 10407root 25 25 ksoftirqd/2 10408root 27 27 kworker/2:0H 10409root 28 28 rcuop/2 10410root 29 29 rcuos/2 10411root 30 30 rcuob/2 10412root 31 31 watchdog/3 10413root 32 32 migration/3 10414root 33 33 ksoftirqd/3 10415root 35 35 kworker/3:0H 10416root 36 36 rcuop/3 10417root 37 37 rcuos/3 10418root 38 38 rcuob/3 10419root 39 39 watchdog/4 10420root 40 40 migration/4 10421root 41 41 ksoftirqd/4 10422root 43 43 kworker/4:0H 10423root 44 44 rcuop/4 10424root 45 45 rcuos/4 10425root 46 46 rcuob/4 10426root 47 47 watchdog/5 10427root 48 48 migration/5 10428root 49 49 ksoftirqd/5 10429root 51 51 kworker/5:0H 10430root 52 52 rcuop/5 10431root 53 53 rcuos/5 10432root 54 54 rcuob/5 10433root 55 55 watchdog/6 10434root 56 56 migration/6 10435root 57 57 ksoftirqd/6 10436root 59 59 kworker/6:0H 10437root 60 60 rcuop/6 10438root 61 61 rcuos/6 10439root 62 62 rcuob/6 10440root 63 63 watchdog/7 10441root 64 64 migration/7 10442root 65 65 ksoftirqd/7 10443root 67 67 kworker/7:0H 10444root 68 68 rcuop/7 10445root 69 69 rcuos/7 10446root 70 70 rcuob/7 10447root 71 71 netns 10448root 72 72 perf 10449root 73 73 smd_channel_clo 10450root 74 74 dsps_smd_trans_ 10451root 75 75 lpass_smd_trans 10452root 76 76 mpss_smd_trans_ 10453root 77 77 wcnss_smd_trans 10454root 78 78 rpm_smd_trans_g 10455root 79 79 ipa_usb_wq 10456root 81 81 smem_native_mps 10457root 82 82 mpss_smem_glink 10458root 83 83 smem_native_lpa 10459root 84 84 lpass_smem_glin 10460root 85 85 smem_native_dsp 10461root 86 86 dsps_smem_glink 10462root 87 87 smem_native_rpm 10463root 88 88 rpm_smem_glink_ 10464root 89 89 smem_native_sps 10465root 90 90 spss_mailbox_gl 10466root 91 91 msm_watchdog 10467root 92 92 deferwq 10468root 94 94 irq/126-cpr3 10469root 95 95 mpm 10470root 96 96 kworker/u16:2 10471root 97 97 khungtaskd 10472root 98 98 writeback 10473root 99 99 kcompactd0 10474root 100 100 crypto 10475root 101 101 bioset 10476root 102 102 kblockd 10477root 103 103 md 10478root 104 104 edac-poller 10479root 105 105 system 10480root 106 106 easel_mem 10481root 107 107 devfreq_wq 10482root 108 108 governor_msm_ad 10483root 110 110 cfg80211 10484root 111 111 irq/134-arm-smm 10485root 112 112 ipa_power_mgmt 10486root 113 113 transport_power 10487root 114 114 ipa_rm_wq 10488root 115 115 ipa_interrupt_w 10489root 116 116 irq/135-arm-smm 10490root 117 117 irq/136-arm-smm 10491root 118 118 therm_core:noti 10492root 119 119 therm_core:noti 10493root 120 120 therm_core:noti 10494root 121 121 therm_core:noti 10495root 147 147 power_off_alarm 10496root 148 148 kswapd0 10497root 149 149 vmstat 10498root 150 150 fsnotify_mark 10499root 182 182 ad_calc_wq 10500root 183 183 mdss_dsi_event 10501root 184 184 mdss_dsi_dba 10502root 185 185 cwb_wq 10503root 186 186 vsync_retire_wo 10504root 187 187 cwb_wq 10505root 189 189 glink_ssr_wq 10506root 190 190 glink_lbsrv 10507root 191 191 spi_wdsp 10508root 192 192 wdsp_spi_glink_ 10509root 193 193 glink_xprt_wq 10510root 194 194 IPCRTR_mpss_sme 10511root 195 195 IPCRTR_lpass_sm 10512root 196 196 IPCRTR_dsps_sme 10513root 197 197 apr_driver 10514root 198 198 glink_pkt_wq 10515root 199 199 mem_share_svc 10516root 200 200 qmi_hndl0000000 10517root 201 201 msm_ipc_router 10518root 202 202 irq/137-arm-smm 10519root 203 203 qmi_svc_event_w 10520root 204 204 servloc_wq 10521root 205 205 tty_worker_thre 10522root 206 206 tty_worker_thre 10523root 207 207 tty_worker_thre 10524root 208 208 tty_worker_thre 10525root 209 209 k_hsuart 10526root 210 210 msm_serial_hs_0 10527root 211 211 msm_serial_hs_0 10528root 212 212 hwrng 10529root 215 215 diag_real_time_ 10530root 216 216 diag_wq 10531root 217 217 DIAG_USB_diag 10532root 218 218 diag_cntl_wq 10533root 219 219 diag_dci_wq 10534root 220 220 DIAG_SMD_MODEM_ 10535root 221 221 DIAG_SMD_MODEM_ 10536root 222 222 DIAG_SMD_MODEM_ 10537root 223 223 DIAG_SMD_MODEM_ 10538root 224 224 DIAG_SMD_MODEM_ 10539root 225 225 DIAG_SMD_LPASS_ 10540root 226 226 DIAG_SMD_LPASS_ 10541root 227 227 DIAG_SMD_LPASS_ 10542root 228 228 DIAG_SMD_LPASS_ 10543root 229 229 DIAG_SMD_LPASS_ 10544root 230 230 DIAG_SMD_WCNSS_ 10545root 231 231 DIAG_SMD_WCNSS_ 10546root 232 232 DIAG_SMD_WCNSS_ 10547root 233 233 DIAG_SMD_WCNSS_ 10548root 234 234 DIAG_SMD_WCNSS_ 10549root 235 235 DIAG_SMD_SENSOR 10550root 236 236 DIAG_SMD_SENSOR 10551root 237 237 DIAG_SMD_SENSOR 10552root 238 238 DIAG_SMD_SENSOR 10553root 239 239 DIAG_SMD_SENSOR 10554root 240 240 DIAG_SMD_DIAG_C 10555root 241 241 DIAG_SMD_DIAG_D 10556root 242 242 DIAG_SMD_DIAG_C 10557root 243 243 DIAG_SMD_DIAG_D 10558root 244 244 DIAG_SMD_DIAG_D 10559root 245 245 DIAG_SMD_CDSP_C 10560root 246 246 DIAG_SMD_CDSP_D 10561root 247 247 DIAG_SMD_CDSP_C 10562root 248 248 DIAG_SMD_CDSP_D 10563root 249 249 DIAG_SMD_CDSP_D 10564root 250 250 DIAG_SOCKMODEM_ 10565root 251 251 DIAG_SOCKMODEM_ 10566root 252 252 DIAG_SOCKMODEM_ 10567root 253 253 DIAG_SOCKMODEM_ 10568root 254 254 DIAG_SOCKMODEM_ 10569root 255 255 DIAG_SOCKLPASS_ 10570root 256 256 DIAG_SOCKLPASS_ 10571root 257 257 DIAG_SOCKLPASS_ 10572root 258 258 DIAG_SOCKLPASS_ 10573root 259 259 DIAG_SOCKLPASS_ 10574root 260 260 DIAG_SOCKWCNSS_ 10575root 261 261 DIAG_SOCKWCNSS_ 10576root 262 262 DIAG_SOCKWCNSS_ 10577root 263 263 DIAG_SOCKWCNSS_ 10578root 265 265 DIAG_SOCKWCNSS_ 10579root 266 266 DIAG_SOCKSENSOR 10580root 267 267 DIAG_SOCKSENSOR 10581root 268 268 DIAG_SOCKSENSOR 10582root 269 269 DIAG_SOCKSENSOR 10583root 270 270 DIAG_SOCKSENSOR 10584root 271 271 DIAG_SOCKDIAG_C 10585root 272 272 DIAG_SOCKDIAG_D 10586root 273 273 DIAG_SOCKDIAG_C 10587root 274 274 DIAG_SOCKDIAG_D 10588root 275 275 DIAG_SOCKDIAG_D 10589root 276 276 DIAG_SOCKCDSP_C 10590root 277 277 DIAG_SOCKCDSP_D 10591root 278 278 DIAG_SOCKCDSP_C 10592root 279 279 DIAG_SOCKCDSP_D 10593root 280 280 DIAG_SOCKCDSP_D 10594root 281 281 DIAG_CNTL_SOCKE 10595root 282 282 DIAG_GLINK_DIAG 10596root 283 283 DIAG_GLINK_DIAG 10597root 284 284 DIAG_GLINK_DIAG 10598root 285 285 DIAG_GLINK_DIAG 10599root 286 286 DIAG_GLINK_DIAG 10600root 287 287 kgsl-workqueue 10601root 288 288 kgsl-mementry 10602root 289 289 kgsl_worker_thr 10603root 290 290 kgsl-events 10604root 291 291 kgsl_devfreq_wq 10605root 292 292 bioset 10606root 293 293 bioset 10607root 294 294 bioset 10608root 295 295 bioset 10609root 296 296 bioset 10610root 297 297 bioset 10611root 298 298 bioset 10612root 299 299 bioset 10613root 300 300 bioset 10614root 301 301 bioset 10615root 302 302 bioset 10616root 303 303 bioset 10617root 304 304 bioset 10618root 305 305 bioset 10619root 307 307 bioset 10620root 308 308 bioset 10621root 309 309 bioset 10622root 310 310 bioset 10623root 311 311 bioset 10624root 312 312 bioset 10625root 313 313 bioset 10626root 314 314 bioset 10627root 315 315 bioset 10628root 316 316 bioset 10629root 317 317 bioset 10630root 318 318 irq/286-soc:fp_ 10631root 319 319 memory_wq 10632root 320 320 qcrypto_seq_res 10633root 321 321 scsi_eh_0 10634root 322 322 scsi_tmf_0 10635root 323 323 ufs_pm_qos_0 10636root 324 324 ufs_clk_ungatin 10637root 325 325 ufs_clkscaling_ 10638root 326 326 spi1 10639root 327 327 spi2 10640root 328 328 spi10 10641root 329 329 bond0 10642root 330 330 sharedmem_qmi_w 10643root 331 331 qmi_hndl0000000 10644root 335 335 uether 10645root 336 336 k_ipa_usb 10646root 341 341 irq/262-vl53l0_ 10647root 342 342 bioset 10648root 343 343 bioset 10649root 344 344 bioset 10650root 345 345 bioset 10651root 347 347 bioset 10652root 348 348 bioset 10653root 349 349 bioset 10654root 350 350 bioset 10655root 351 351 bioset 10656root 355 355 msm_cci_wq 10657root 356 356 msm_cci_wq 10658root 357 357 msm_cpp_workque 10659root 358 358 msm_vidc_worker 10660root 359 359 pm_workerq_venu 10661root 360 360 irq/158-arm-smm 10662root 361 361 irq/159-arm-smm 10663root 362 362 irq/160-arm-smm 10664root 363 363 irq/161-arm-smm 10665root 364 364 rot_commitq_0_0 10666root 365 365 rot_commitq_0_1 10667root 366 366 rot_doneq_0_0 10668root 367 367 rot_doneq_0_1 10669root 368 368 therm_core:noti 10670root 370 370 irq/500-chg-err 10671root 371 371 irq/501-chg-sta 10672root 372 372 irq/502-step-ch 10673root 373 373 irq/503-step-ch 10674root 374 374 irq/504-step-ch 10675root 375 375 irq/505-otg-fai 10676root 376 376 irq/506-otg-ove 10677root 377 377 irq/507-otg-oc- 10678root 378 378 irq/508-testmod 10679root 379 379 irq/509-bat-tem 10680root 380 380 irq/510-bat-ocp 10681root 381 381 irq/511-bat-ov 10682root 382 382 irq/512-bat-low 10683root 383 383 irq/513-bat-the 10684root 384 384 irq/514-bat-ter 10685root 385 385 irq/515-usbin-c 10686root 386 386 irq/516-usbin-l 10687root 387 387 irq/517-usbin-u 10688root 388 388 irq/518-usbin-o 10689root 389 389 irq/519-usbin-p 10690root 390 390 irq/520-usbin-s 10691root 391 391 irq/521-usbin-i 10692root 392 392 irq/522-type-c- 10693root 393 393 irq/523-dcin-co 10694root 394 394 irq/524-dcin-lt 10695root 395 395 irq/525-dcin-uv 10696root 396 396 irq/526-dcin-ov 10697root 397 397 irq/527-dcin-pl 10698root 398 398 irq/528-div2-en 10699root 399 399 irq/529-dcin-ic 10700root 400 400 irq/532-aicl-fa 10701root 401 401 irq/533-aicl-do 10702root 402 402 irq/534-high-du 10703root 403 403 irq/535-input-c 10704root 404 404 irq/536-tempera 10705root 405 405 irq/537-switche 10706root 406 406 therm_core:noti 10707root 407 407 therm_core:noti 10708root 409 409 therm_core:noti 10709root 410 410 therm_core:noti 10710root 411 411 therm_core:noti 10711root 412 412 therm_core:noti 10712root 413 413 therm_core:noti 10713root 414 414 therm_core:noti 10714root 415 415 therm_core:noti 10715root 416 416 therm_core:noti 10716root 417 417 therm_core:noti 10717root 418 418 therm_core:noti 10718root 419 419 therm_core:noti 10719root 420 420 therm_core:noti 10720root 421 421 therm_core:noti 10721root 422 422 therm_core:noti 10722root 423 423 therm_core:noti 10723root 424 424 therm_core:noti 10724root 425 425 therm_core:noti 10725root 426 426 therm_core:noti 10726root 427 427 therm_core:noti 10727root 428 428 therm_core:noti 10728root 429 429 irq/59-tsens_in 10729root 430 430 irq/62-tsens_cr 10730root 431 431 therm_core:noti 10731root 432 432 therm_core:noti 10732root 433 433 therm_core:noti 10733root 434 434 therm_core:noti 10734root 435 435 therm_core:noti 10735root 436 436 therm_core:noti 10736root 437 437 therm_core:noti 10737root 438 438 therm_core:noti 10738root 439 439 irq/63-tsens_in 10739root 440 440 irq/64-tsens_cr 10740root 441 441 therm_core:noti 10741root 442 442 irq/366-limits_ 10742root 443 443 therm_core:noti 10743root 444 444 irq/367-limits_ 10744root 445 445 dm_bufio_cache 10745root 446 446 cfinteractive 10746root 447 447 irq/291-bcm1560 10747root 448 448 irq/226-bcm1560 10748root 449 449 therm_core:noti 10749root 451 451 irq/197-spdm_bw 10750root 452 452 binder 10751root 453 453 irq/144-arm-smm 10752root 454 454 uaudio_svc 10753root 455 455 qmi_hndl0000000 10754root 456 456 ipv6_addrconf 10755root 458 458 irq/574-adsp 10756root 459 459 sysmon_wq 10757root 460 460 irq/606-slpi 10758root 461 461 irq/542-modem 10759root 465 465 usb_bam_wq 10760root 466 466 irq/19-sig-tx 10761root 467 467 irq/20-sig-rx 10762root 468 468 irq/22-msg-rx 10763root 469 469 usbpd0 10764root 470 470 usbpd0 10765root 471 471 therm_core:noti 10766root 472 472 irq/734-soc-upd 10767root 473 473 irq/735-soc-rea 10768root 474 474 irq/736-bsoc-de 10769root 475 475 irq/737-msoc-de 10770root 476 476 irq/738-msoc-lo 10771root 477 477 irq/739-msoc-em 10772root 478 478 irq/740-msoc-hi 10773root 479 479 irq/741-msoc-fu 10774root 480 480 irq/742-vbatt-p 10775root 481 481 irq/743-vbatt-l 10776root 482 482 irq/744-esr-del 10777root 483 483 irq/745-batt-mi 10778root 484 484 irq/746-batt-te 10779root 485 485 irq/747-ima-rdy 10780root 486 486 irq/748-mem-xcp 10781root 487 487 irq/749-dma-gra 10782root 489 489 irq/54-hs_phy_i 10783root 490 490 irq/55-ss_phy_i 10784root 491 491 irq/56-msm_dwc3 10785root 494 494 irq/36-ARM64 pr 10786root 495 495 irq/37-ARM64 se 10787root 496 496 irq/39-ARM64 pr 10788root 497 497 irq/40-ARM64 se 10789root 498 498 rq_stats 10790root 499 499 irq/145-arm-smm 10791root 500 500 irq/146-arm-smm 10792root 501 501 irq/147-arm-smm 10793root 502 502 irq/148-arm-smm 10794root 503 503 irq/149-arm-smm 10795root 504 504 irq/150-arm-smm 10796root 505 505 irq/151-arm-smm 10797root 506 506 irq/152-arm-smm 10798root 507 507 set_state_work 10799root 508 508 irq/227-mnh-rea 10800root 510 510 irq/751-mnh_pci 10801root 511 511 irq/752-mnh_pci 10802root 512 512 irq/753-mnh_pci 10803root 513 513 irq/754-mnh_pci 10804root 514 514 irq/755-mnh_pci 10805root 515 515 irq/758-mnh_pci 10806root 516 516 irq/759-mnh_pci 10807root 517 517 irq/128-arm-smm 10808root 518 518 sb-1 10809root 519 519 ngd_rx_thread1 10810root 520 520 ngd_notify_sl1 10811root 521 521 sb-3 10812root 522 522 ngd_rx_thread3 10813root 523 523 ngd_notify_sl3 10814root 525 525 therm_core:noti 10815root 526 526 therm_core:noti 10816root 527 527 therm_core:noti 10817root 528 528 irq/66-lmh-inte 10818root 529 529 irq/28-qpnp_fla 10819root 530 530 irq/27-qpnp_fla 10820root 531 531 irq/26-qpnp_fla 10821root 532 532 kworker/6:1H 10822root 533 533 kworker/5:1H 10823root 534 534 kworker/7:1H 10824root 535 535 ext4-rsv-conver 10825root 536 536 kworker/4:1H 10826root 537 537 jbd2/sdd3-8 10827root 538 538 ext4-rsv-conver 10828root 539 539 ext4-rsv-conver 10829root 542 542 init 10830root 543 543 ueventd 10831root 545 545 kworker/0:1H 10832root 550 550 irq/760-synapti 10833root 551 551 dsx_rebuild_wor 10834root 552 552 dsx_exp_workque 10835root 556 556 batt_timer 10836system 566 566 qseecomd 10837root 567 567 sugov:0 10838root 568 568 sugov:4 10839system 570 570 hwservicemanage 10840logd 571 571 logd 10841logd 571 576 logd.daemon 10842logd 571 581 logd.reader 10843logd 571 582 logd.writer 10844logd 571 583 logd.control 10845logd 571 602 logd.klogd 10846logd 571 603 logd.auditd 10847logd 571 974 logd.reader.per 10848system 572 572 servicemanager 10849system 573 573 vndservicemanag 10850system 574 574 qseecomd 10851system 574 575 qseecomd 10852system 574 577 qseecomd 10853system 574 578 qseecomd 10854system 574 579 qseecomd 10855system 574 580 qseecomd 10856root 584 584 kauditd 10857root 586 586 boot@1.0-servic 10858system 587 587 gatekeeper@1.0- 10859system 588 588 keyprimary@3.0-s 10860system 589 589 keyprimary@4.0-s 10861system 589 604 HwBinder:589_1 10862system 591 591 surfaceflinger 10863system 591 620 HwBinder:591_1 10864system 591 623 Binder:591_1 10865system 591 624 Binder:591_2 10866system 591 625 DispSync 10867system 591 626 appEventThread 10868system 591 627 sfEventThread 10869system 591 664 VrEvent 10870system 591 666 VrHwcPost 10871system 591 667 VrDispatch 10872system 591 668 surfaceflinger 10873system 591 1218 Binder:591_3 10874system 591 1671 Binder:591_4 10875system 591 1775 Binder:591_5 10876system 593 593 composer@2.1-se 10877system 593 608 Binder:593_1 10878system 593 609 Binder:593_2 10879system 593 634 SDM_EventThread 10880system 593 649 android.hardwar 10881system 593 651 HWC_UeventThrea 10882system 593 656 HwBinder:593_1 10883system 593 657 HwBinder:593_2 10884system 593 665 HwBinder:593_3 10885system 594 594 configstore@1.0 10886system 594 622 HwBinder:594_1 10887system 594 7100 HwBinder:594_2 10888system 595 595 allocator@2.0-s 10889system 595 610 HwBinder:595_1 10890system 595 1778 HwBinder:595_2 10891system 595 1779 HwBinder:595_3 10892root 612 612 jbd2/sda45-8 10893root 613 613 ext4-rsv-conver 10894system 616 616 time_daemon 10895system 616 629 time_daemon 10896system 616 630 time_daemon 10897system 616 631 time_daemon 10898system 616 632 time_daemon 10899system 616 633 time_daemon 10900system 616 1267 time_daemon 10901root 617 617 Binder:617_2 10902root 617 637 Binder:617_1 10903root 617 638 Binder:617_2 10904root 617 639 Binder:617_3 10905root 617 640 Binder:617_4 10906root 617 641 HwBinder:617_1 10907root 617 1439 Binder:617_5 10908root 619 619 mdss_fb0 10909root 635 635 irq/177-arm-smm 10910root 636 636 irq/178-arm-smm 10911root 642 642 dsps_IPCRTR 10912root 643 643 fwu_workqueue 10913root 647 647 lpass_IPCRTR 10914root 648 648 qmi_hndl0000000 10915root 663 663 kworker/2:1H 10916root 671 671 kworker/u16:7 10917root 672 672 qmi_hndl0000000 10918root 673 673 msm_slim_qmi_cl 10919root 674 674 msm_slim_qmi_cl 10920root 675 675 qmi_hndl0000000 10921root 676 676 qmi_hndl0000000 10922root 678 678 irq/153-arm-smm 10923root 685 685 Binder:685_2 10924root 685 695 netd 10925root 685 706 netd 10926root 685 707 netd 10927root 685 708 netd 10928root 685 709 netd 10929root 685 710 netd 10930root 685 711 netd 10931root 685 712 netd 10932root 685 713 netd 10933root 685 715 Binder:685_1 10934root 685 716 Binder:685_2 10935root 685 717 HwBinder:685_1 10936root 693 693 iptables-restor 10937root 694 694 ip6tables-resto 10938root 702 702 main 10939root 702 26649 ReferenceQueueD 10940root 702 26650 FinalizerDaemon 10941root 702 26651 FinalizerWatchd 10942root 702 26652 HeapTaskDaemon 10943root 703 703 main 10944root 703 26533 ReferenceQueueD 10945root 703 26534 FinalizerDaemon 10946root 703 26535 FinalizerWatchd 10947root 703 26536 HeapTaskDaemon 10948root 704 704 cds_recovery_wo 10949root 705 705 wlan_logging_th 10950root 722 722 at_usb0 10951root 723 723 at_usb1 10952root 724 724 qdss 10953root 729 729 healthd 10954root 730 730 thermal-engine 10955root 730 747 HwBinder:730_1 10956root 730 750 thermal-engine 10957root 730 753 thermal-engine 10958root 730 757 thermal-engine 10959root 730 758 thermal-engine 10960root 730 762 thermal-engine 10961root 730 763 thermal-engine 10962root 730 764 thermal-engine 10963root 730 766 thermal-engine 10964root 730 768 thermal-engine 10965root 730 769 thermal-engine 10966root 730 770 thermal-engine 10967root 730 771 thermal-engine 10968root 730 772 thermal-engine 10969root 730 774 thermal-engine 10970root 730 775 thermal-engine 10971root 730 776 thermal-engine 10972root 730 777 thermal-engine 10973root 730 779 thermal-engine 10974root 730 780 thermal-engine 10975root 730 782 thermal-engine 10976root 730 783 thermal-engine 10977root 730 784 thermal-engine 10978root 730 785 thermal-engine 10979root 730 786 thermal-engine 10980root 730 788 thermal-engine 10981root 730 789 thermal-engine 10982root 730 790 thermal-engine 10983root 730 791 thermal-engine 10984root 730 792 thermal-engine 10985root 730 794 thermal-engine 10986root 730 795 thermal-engine 10987root 730 796 thermal-engine 10988root 730 797 thermal-engine 10989root 730 798 thermal-engine 10990root 730 799 thermal-engine 10991root 730 800 thermal-engine 10992root 730 801 thermal-engine 10993root 730 803 thermal-engine 10994root 730 804 thermal-engine 10995root 730 805 thermal-engine 10996root 730 806 thermal-engine 10997root 730 808 thermal-engine 10998root 730 809 thermal-engine 10999root 730 810 thermal-engine 11000root 730 811 thermal-engine 11001root 730 814 thermal-engine 11002root 730 815 thermal-engine 11003root 730 817 thermal-engine 11004root 730 818 thermal-engine 11005root 730 820 thermal-engine 11006root 730 821 thermal-engine 11007root 730 822 thermal-engine 11008root 730 823 thermal-engine 11009root 730 824 thermal-engine 11010root 730 832 thermal-engine 11011root 730 833 thermal-engine 11012root 730 834 thermal-engine 11013root 730 839 thermal-engine 11014root 730 840 thermal-engine 11015root 730 841 thermal-engine 11016root 730 842 thermal-engine 11017root 730 843 thermal-engine 11018root 730 1244 thermal-engine 11019root 730 1245 thermal-engine 11020system 731 731 allocator@1.0-s 11021system 732 732 vr_hwc 11022system 732 765 Binder:732_1 11023system 732 767 HwBinder:732_1 11024system 732 781 Binder:732_2 11025audioserver 733 733 audio@2.0-servi 11026audioserver 733 1111 audio@2.0-servi 11027audioserver 733 1118 audio@2.0-servi 11028audioserver 733 1119 HwBinder:733_1 11029audioserver 733 1164 HwBinder:733_1 11030audioserver 733 1165 HwBinder:733_2 11031audioserver 733 1347 HwBinder:733_3 11032audioserver 733 2714 HwBinder:733_4 11033audioserver 733 2763 writer 11034audioserver 733 11695 HwBinder:733_5 11035bluetooth 734 734 bluetooth@1.0-s 11036bluetooth 734 746 HwBinder:734_1 11037root 735 735 irq/254-wcd9xxx 11038cameraserver 736 736 provider@2.4-se 11039cameraserver 736 1989 HwBinder:736_1 11040cameraserver 736 1999 CAM_imgTh 11041cameraserver 736 2000 CAM_imgTh 11042cameraserver 736 2001 CAM_imgTh 11043cameraserver 736 2002 CAM_imgTh 11044cameraserver 736 2003 CAM_imgTh 11045cameraserver 736 2004 CAM_imgTh 11046cameraserver 736 2005 CAM_imgTh 11047cameraserver 736 2006 CAM_imgTh 11048cameraserver 736 2007 CAM_imgTh 11049cameraserver 736 2008 CAM_imgTh 11050cameraserver 736 2009 CAM_imgTh 11051cameraserver 736 2010 CAM_imgTh 11052cameraserver 736 2011 CAM_imgTh 11053cameraserver 736 2012 CAM_imgTh 11054cameraserver 736 2013 CAM_imgTh 11055cameraserver 736 2014 CAM_imgTh 11056cameraserver 736 2015 CAM_imgTh 11057cameraserver 736 2016 CAM_imgTh 11058cameraserver 736 2017 CAM_imgTh 11059cameraserver 736 2018 CAM_imgTh 11060cameraserver 736 2030 android.hardwar 11061cameraserver 736 2048 CAM_gyro_sens 11062cameraserver 736 2101 HwBinder:736_1 11063cameraserver 736 14831 HwBinder:736_2 11064cameraserver 736 14832 HwBinder:736_3 11065cameraserver 736 14856 CAM_startsensor 11066cameraserver 736 14857 CAM_startsensor 11067cameraserver 736 21484 HwBinder:736_4 11068media 737 737 cas@1.0-service 11069media 737 23185 HwBinder:737_1 11070media 737 23186 HwBinder:737_2 11071system 738 738 contexthub@1.0- 11072system 738 754 android.hardwar 11073media 739 739 drm@1.0-service 11074media 739 846 HwBinder:739_1 11075media 739 23188 HwBinder:739_2 11076media 739 23190 HwBinder:739_3 11077media 740 740 drm@1.0-service 11078media 740 23189 HwBinder:740_1 11079media 740 23191 HwBinder:740_2 11080media 741 741 drm@1.1-service 11081media 741 23187 HwBinder:741_1 11082media 741 23192 HwBinder:741_2 11083media 741 23193 HwBinder:741_3 11084media 741 23194 HwBinder:741_4 11085system 742 742 dumpstate@1.0-s 11086gps 743 743 gnss@1.0-servic 11087gps 743 1563 Loc_hal 11088gps 743 1614 Loc_hal 11089gps 743 1617 Loc_hal 11090gps 743 1620 Loc_hal 11091gps 743 1630 Loc_hal 11092gps 743 1634 Loc_hal 11093gps 743 1635 Loc_hal 11094gps 743 1637 Loc_hal 11095gps 743 1638 Loc_hal 11096system 744 744 health@2.0-serv 11097system 745 745 light@2.0-servi 11098system 748 748 memtrack@1.0-se 11099system 756 756 neuralnetworks@ 11100system 756 23195 HwBinder:756_1 11101system 756 23196 HwBinder:756_2 11102nfc 759 759 nfc@1.0-service 11103system 760 760 oemlock@1.0-ser 11104root 761 761 oemlock-bridge 11105system 773 773 power@1.2-servi 11106system 773 844 NodeLooperThrea 11107system 773 845 android.hardwar 11108system 778 778 sensors@1.0-ser 11109system 778 857 android.hardwar 11110system 778 858 android.hardwar 11111system 778 863 android.hardwar 11112system 778 981 android.hardwar 11113system 778 983 android.hardwar 11114system 778 984 android.hardwar 11115system 778 989 android.hardwar 11116system 778 999 android.hardwar 11117system 778 1000 android.hardwar 11118system 778 1001 android.hardwar 11119system 778 1003 android.hardwar 11120system 778 1004 android.hardwar 11121system 778 1013 android.hardwar 11122system 778 1015 android.hardwar 11123system 778 1022 android.hardwar 11124system 778 1023 android.hardwar 11125system 778 1034 android.hardwar 11126system 778 1035 android.hardwar 11127system 778 1044 android.hardwar 11128system 778 1045 android.hardwar 11129system 778 1048 android.hardwar 11130system 778 1049 android.hardwar 11131system 778 1050 android.hardwar 11132system 778 1051 android.hardwar 11133system 778 1057 android.hardwar 11134system 778 1058 android.hardwar 11135system 778 1060 android.hardwar 11136system 778 1061 android.hardwar 11137system 778 1062 android.hardwar 11138system 778 1063 android.hardwar 11139system 778 1067 android.hardwar 11140system 778 1068 android.hardwar 11141system 778 1073 android.hardwar 11142system 778 1074 android.hardwar 11143system 778 1076 android.hardwar 11144system 778 1077 android.hardwar 11145system 778 1078 android.hardwar 11146system 778 1079 android.hardwar 11147system 778 1083 android.hardwar 11148system 778 1084 android.hardwar 11149system 778 1086 android.hardwar 11150system 778 1087 HwBinder:778_1 11151system 778 1308 sensors@1.0-ser 11152system 778 1309 sensors@1.0-ser 11153system 778 1310 sensors@1.0-ser 11154root 787 787 usb@1.1-service 11155root 787 957 HwBinder:787_1 11156root 787 966 usb@1.1-service 11157root 787 1355 usb@1.1-service 11158system 793 793 vibrator@1.2-se 11159system 802 802 vr@1.0-service. 11160wifi 807 807 offload@1.0-ser 11161wifi 807 855 android.hardwar 11162wifi 812 812 android.hardwar 11163ese 813 813 esed 11164root 816 816 msm_irqbalance 11165system 819 819 pm-service 11166system 819 851 POSIX timer 0 11167system 819 852 POSIX timer 1 11168system 819 853 POSIX timer 2 11169system 819 860 pm-service 11170system 819 861 Binder:819_1 11171system 819 866 Binder:819_2 11172system 819 949 Binder:819_3 11173system 819 960 Binder:819_4 11174system 825 825 sensors.qcom 11175system 825 856 sensors.qcom 11176system 825 864 sensors.qcom 11177system 825 868 sensors.qcom 11178system 825 875 sensors.qcom 11179system 825 876 sensors.qcom 11180system 825 877 sensors.qcom 11181system 825 878 sensors.qcom 11182system 825 880 sensors.qcom 11183system 825 881 sensors.qcom 11184system 825 979 sensors.qcom 11185system 825 980 sensors.qcom 11186nobody 827 827 rmt_storage 11187nobody 827 1205 rmt_storage 11188nobody 827 1206 rmt_storage 11189nobody 827 1207 rmt_storage 11190nobody 827 1208 rmt_storage 11191system 828 828 tftp_server 11192system 829 829 pd-mapper 11193system 829 862 pd-mapper 11194audioserver 830 830 audioserver 11195audioserver 830 977 HwBinder:830_1 11196audioserver 830 988 HwBinder:830_2 11197audioserver 830 1121 ApmTone 11198audioserver 830 1122 ApmAudio 11199audioserver 830 1123 ApmOutput 11200audioserver 830 1124 Binder:830_1 11201audioserver 830 1125 Binder:830_2 11202audioserver 830 1166 HwBinder:830_3 11203audioserver 830 1167 FastMixer 11204audioserver 830 1168 AudioOut_D 11205audioserver 830 1169 FastMixer 11206audioserver 830 1170 AudioOut_15 11207audioserver 830 1171 AudioOut_1D 11208audioserver 830 1172 FastMixer 11209audioserver 830 1173 AudioOut_25 11210audioserver 830 1174 AudioOut_2D 11211audioserver 830 1175 FastMixer 11212audioserver 830 1176 AudioOut_35 11213audioserver 830 1274 soundTrigger cb 11214audioserver 830 1488 Binder:830_3 11215audioserver 830 2212 Binder:830_4 11216audioserver 830 4011 Binder:830_5 11217audioserver 830 12424 Binder:830_6 11218audioserver 830 27475 Binder:830_7 11219audioserver 830 8696 Binder:830_8 11220audioserver 830 11301 Binder:830_9 11221audioserver 830 14272 Binder:830_A 11222audioserver 830 6771 Binder:830_B 11223audioserver 830 2083 Binder:830_C 11224system 831 831 bufferhubd 11225root 835 835 lmkd 11226system 836 836 performanced 11227system 837 837 thermalserviced 11228system 837 867 HwBinder:837_1 11229system 837 869 HwBinder:837_2 11230system 838 838 Binder:838_2 11231system 838 850 Binder:838_1 11232root 854 854 msm_thermal:fre 11233root 859 859 msm_thermal:the 11234root 865 865 qmi_hndl0000000 11235root 873 873 modem 11236system 874 874 pm-proxy 11237system 874 886 Binder:874_1 11238system 874 887 Binder:874_2 11239system 874 888 Binder:874_3 11240root 879 879 subsystem_ramdu 11241nobody 882 882 traced 11242nobody 883 883 traced_probes 11243media 884 884 adsprpcd 11244media 884 910 adsprpcd 11245media 884 913 adsprpcd 11246system 885 885 imsqmidaemon 11247system 885 894 imsqmidaemon 11248radio 890 890 cnd 11249radio 890 939 cnd 11250radio 890 946 HwBinder:890_1 11251radio 890 947 cnd 11252radio 890 1268 cnd 11253radio 890 1292 cnd 11254root 892 892 kworker/3:1H 11255radio 893 893 netmgrd 11256root 893 944 netmgrd 11257radio 893 965 netmgrd 11258radio 893 972 HwBinder:893_1 11259radio 893 1007 netmgrd 11260radio 893 1008 netmgrd 11261radio 893 1009 netmgrd 11262radio 893 1149 netmgrd 11263radio 893 1150 netmgrd 11264radio 893 1269 netmgrd 11265radio 893 1375 netmgrd 11266radio 893 1378 netmgrd 11267radio 893 1379 netmgrd 11268radio 893 1380 netmgrd 11269radio 893 1395 netmgrd 11270radio 893 1396 netmgrd 11271radio 893 1398 netmgrd 11272radio 893 1399 netmgrd 11273radio 893 1415 netmgrd 11274radio 893 1416 netmgrd 11275radio 893 1417 netmgrd 11276radio 893 1418 netmgrd 11277radio 893 1429 netmgrd 11278radio 893 1430 netmgrd 11279radio 893 1431 netmgrd 11280radio 893 1433 netmgrd 11281radio 893 1509 netmgrd 11282radio 893 1517 netmgrd 11283radio 893 1520 netmgrd 11284radio 893 1521 netmgrd 11285radio 893 1602 netmgrd 11286radio 893 1603 netmgrd 11287radio 893 1619 netmgrd 11288radio 893 1621 netmgrd 11289radio 893 1622 netmgrd 11290radio 893 1723 netmgrd 11291radio 893 1726 netmgrd 11292radio 893 1729 netmgrd 11293radio 893 1730 netmgrd 11294radio 893 1819 netmgrd 11295radio 893 1829 netmgrd 11296radio 893 1831 netmgrd 11297radio 893 1886 netmgrd 11298radio 893 1893 netmgrd 11299radio 893 1894 netmgrd 11300radio 893 1895 netmgrd 11301radio 893 1896 netmgrd 11302radio 893 1898 netmgrd 11303radio 893 1900 netmgrd 11304radio 893 1902 netmgrd 11305radio 893 1903 netmgrd 11306radio 893 1906 netmgrd 11307radio 893 1907 netmgrd 11308radio 893 1908 netmgrd 11309radio 893 1909 netmgrd 11310radio 893 1917 netmgrd 11311radio 893 1920 netmgrd 11312radio 893 1921 netmgrd 11313radio 893 1922 netmgrd 11314radio 893 1927 netmgrd 11315radio 893 1928 netmgrd 11316radio 893 1929 netmgrd 11317radio 893 1930 netmgrd 11318radio 893 1940 netmgrd 11319radio 893 1945 netmgrd 11320radio 893 1946 netmgrd 11321radio 893 1947 netmgrd 11322radio 893 1955 netmgrd 11323radio 893 1956 netmgrd 11324radio 893 1957 netmgrd 11325radio 893 1958 netmgrd 11326radio 893 1972 netmgrd 11327radio 893 1973 netmgrd 11328radio 893 1974 netmgrd 11329radio 893 1975 netmgrd 11330radio 893 1978 netmgrd 11331radio 893 1979 netmgrd 11332radio 893 1980 netmgrd 11333radio 893 1981 netmgrd 11334radio 897 897 port-bridge 11335radio 897 915 port-bridge 11336radio 897 916 port-bridge 11337radio 898 898 ipacm 11338radio 898 951 HwBinder:898_1 11339radio 898 952 ipacm 11340radio 898 953 netlink socket 11341radio 898 954 ipa driver ntfy 11342radio 899 899 qti 11343radio 899 928 qti 11344radio 899 3064 qti 11345radio 899 3065 qti 11346radio 899 3066 qti 11347cameraserver 900 900 cameraserver 11348cameraserver 900 1018 HwBinder:900_1 11349cameraserver 900 1043 HwBinder:900_2 11350cameraserver 900 2100 HwBinder:900_3 11351cameraserver 900 2102 Binder:900_1 11352cameraserver 900 2177 Binder:900_2 11353cameraserver 900 14917 Binder:900_3 11354cameraserver 900 14918 Binder:900_4 11355cameraserver 900 14976 Binder:900_5 11356cameraserver 900 20996 Binder:900_6 11357cameraserver 900 16659 Binder:900_7 11358cameraserver 900 22046 Binder:900_8 11359drm 901 901 drmserver 11360drm 901 1024 Binder:901_1 11361drm 901 8440 Binder:901_2 11362incidentd 902 902 Binder:902_2 11363incidentd 902 933 Binder:902_1 11364incidentd 902 936 Binder:902_3 11365root 903 903 Binder:903_2 11366root 903 931 Binder:903_1 11367root 903 1263 Binder:903_3 11368root 903 1287 Binder:903_4 11369root 903 1301 Binder:903_5 11370root 903 1354 Binder:903_6 11371root 903 5120 Binder:903_7 11372root 903 5197 Binder:903_8 11373root 903 5243 Binder:903_9 11374root 903 11678 Binder:903_A 11375root 903 12088 Binder:903_B 11376keystore 904 904 keystore 11377keystore 904 997 HwBinder:904_1 11378media 905 905 mediadrmserver 11379media 905 945 Binder:905_1 11380mediaex 906 906 mediaextractor 11381mediaex 906 1052 Binder:906_1 11382mediaex 906 1977 Binder:906_2 11383mediaex 906 3987 Binder:906_3 11384mediaex 906 1985 Binder:906_4 11385mediaex 906 14515 Binder:906_5 11386mediaex 906 26203 Binder:906_6 11387mediaex 906 12336 Binder:906_7 11388media 907 907 mediametrics 11389media 907 1053 Binder:907_1 11390media 907 14381 Binder:907_2 11391media 907 14382 Binder:907_3 11392media 908 908 mediaserver 11393media 908 1065 Binder:908_1 11394media 908 1518 HwBinder:908_1 11395media 908 1771 Binder:908_2 11396media 908 1772 Binder:908_3 11397media 908 2569 MediaClock 11398media 908 2570 NuPlayerDriver 11399media 908 2572 generic 11400media 908 2704 NuPlayerRendere 11401media 908 2705 NPDecoder 11402media 908 2706 NPDecoder-CL 11403media 908 18653 Binder:908_4 11404media 908 25126 Binder:908_5 11405media 908 28451 Binder:908_6 11406statsd 909 909 Binder:909_2 11407statsd 909 961 Binder:909_1 11408statsd 909 962 Binder:909_2 11409statsd 909 970 Binder:909_3 11410root 911 911 storaged 11411root 911 1036 storaged 11412root 911 1037 Binder:911_1 11413root 911 1038 HwBinder:911_1 11414wifi 912 912 wificond 11415mediacodec 914 914 omx@1.0-service 11416mediacodec 914 1064 Binder:914_1 11417mediacodec 914 1066 Binder:914_2 11418mediacodec 914 1090 HwBinder:914_1 11419mediacodec 914 1091 HwBinder:914_2 11420mediacodec 914 1875 HwBinder:914_2 11421mediacodec 914 1876 HwBinder:914_2 11422mediacodec 914 1970 HwBinder:914_3 11423mediacodec 914 2707 .vorbis.decoder 11424mediacodec 914 2708 OMXCallbackDisp 11425mediacodec 914 2764 HwBinder:914_4 11426mediacodec 914 27073 HwBinder:914_5 11427mediacodec 914 27076 HwBinder:914_6 11428mediacodec 914 27078 HwBinder:914_7 11429mediacodec 914 14333 HwBinder:914_8 11430mediacodec 914 14409 HwBinder:914_9 11431mediacodec 914 14511 HwBinder:914_A 11432mediacodec 914 6795 HwBinder:914_B 11433mediacodec 914 6858 HwBinder:914_C 11434mediacodec 914 14972 HwBinder:914_D 11435mediacodec 914 26212 HwBinder:914_E 11436mediacodec 914 32727 HwBinder:914_F 11437mediacodec 914 332 HwBinder:914_10 11438mediacodec 914 15944 HwBinder:914_11 11439mediacodec 914 15945 HwBinder:914_12 11440mediacodec 914 2823 HwBinder:914_13 11441radio 917 917 rild 11442radio 917 1046 rild 11443radio 917 1055 rild 11444radio 917 1210 Binder:917_1 11445radio 917 1213 rild 11446radio 917 1215 Binder:917_2 11447radio 917 1221 rild 11448radio 917 1222 rild 11449radio 917 1223 HwBinder:917_1 11450radio 917 1224 rild 11451radio 917 1225 rild 11452radio 917 1226 rild 11453radio 917 1228 rild 11454radio 917 1229 rild 11455radio 917 1230 rild 11456radio 917 1231 rild 11457radio 917 1321 rild 11458radio 917 1322 rild 11459radio 917 1323 rild 11460radio 917 1324 rild 11461radio 917 1325 rild 11462radio 917 1326 rild 11463radio 917 1329 rild 11464radio 917 1330 rild 11465radio 917 1332 rild 11466radio 917 1334 rild 11467radio 917 1336 rild 11468radio 917 1349 rild 11469radio 917 1351 rild 11470radio 917 1358 rild 11471radio 917 1360 rild 11472radio 917 1362 rild 11473radio 917 1363 rild 11474radio 917 1364 rild 11475radio 917 1366 rild 11476radio 917 1368 rild 11477radio 917 1369 rild 11478radio 917 1370 rild 11479radio 917 1371 rild 11480radio 917 1373 rild 11481radio 917 1374 rild 11482radio 917 1377 rild 11483system 920 920 folio_daemon 11484root 921 921 ipawq15 11485root 922 922 iparepwq15 11486system 923 923 cnss-daemon 11487system 923 963 cnss-daemon 11488system 923 964 cnss-daemon 11489system 923 1209 Binder:923_1 11490system 923 1212 cnss-daemon 11491system 923 1214 Binder:923_2 11492system 923 1307 cnss-daemon 11493system 923 3731 cnss-daemon 11494gps 924 924 loc_launcher 11495gps 924 955 loc_launcher 11496system 925 925 chre 11497system 925 968 chre 11498system 925 975 chre 11499system 925 976 chre 11500system 925 1189 chre 11501system 925 1190 chre 11502system 926 926 gatekeeperd 11503system 926 987 HwBinder:926_1 11504root 927 927 Binder:927_2 11505root 927 986 Binder:927_1 11506tombstoned 929 929 tombstoned 11507root 932 932 update_engine 11508root 932 1006 HwBinder:932_1 11509system 935 935 fingerprint@2.1 11510system 935 1136 android.hardwar 11511system 935 1137 android.hardwar 11512system 935 1139 HwBinder:935_1 11513root 938 938 ipawq48 11514root 942 942 iparepwq48 11515system 950 950 imsdatadaemon 11516system 950 1019 imsdatadaemon 11517system 950 1040 imsdatadaemon 11518system 950 1041 imsdatadaemon 11519system 950 1042 imsdatadaemon 11520system 950 1270 imsdatadaemon 11521system 950 1290 imsdatadaemon 11522root 969 969 ipawq13 11523root 985 985 iparepwq13 11524root 1002 1002 ipa_A7_svc 11525root 1012 1012 qmi_hndl0000000 11526root 1016 1016 clnt_req 11527root 1017 1017 clnt_req 11528root 1021 1021 clnt_resp 11529root 1116 1116 wdsp_glink_wq 11530system 1151 1151 system_server 11531system 1151 1156 Signal Catcher 11532system 1151 1157 ADB-JDWP Connec 11533system 1151 1158 ReferenceQueueD 11534system 1151 1159 FinalizerDaemon 11535system 1151 1160 FinalizerWatchd 11536system 1151 1161 HeapTaskDaemon 11537system 1151 1162 Binder:1151_1 11538system 1151 1163 Binder:1151_2 11539system 1151 1184 android.bg 11540system 1151 1185 ActivityManager 11541system 1151 1186 android.ui 11542system 1151 1187 ActivityManager 11543system 1151 1188 ActivityManager 11544system 1151 1193 batterystats-wo 11545system 1151 1194 HwBinder:1151_1 11546system 1151 1195 FileObserver 11547system 1151 1196 android.fg 11548system 1151 1197 android.io 11549system 1151 1198 android.display 11550system 1151 1200 CpuTracker 11551system 1151 1203 PowerManagerSer 11552system 1151 1204 BatteryStats_wa 11553system 1151 1216 PackageManager 11554system 1151 1217 PackageManager 11555system 1151 1266 PackageInstalle 11556system 1151 1277 android.anim 11557system 1151 1278 android.anim.lf 11558system 1151 1281 HealthServiceRe 11559system 1151 1282 SensorEventAckR 11560system 1151 1283 SensorService 11561system 1151 1284 AccountManagerS 11562system 1151 1285 SettingsProvide 11563system 1151 1286 AlarmManager 11564system 1151 1289 window_tracing 11565system 1151 1295 UEventObserver 11566system 1151 1296 HwBinder:1151_2 11567system 1151 1297 InputDispatcher 11568system 1151 1298 InputReader 11569system 1151 1299 NetworkWatchlis 11570system 1151 1302 StorageManagerS 11571system 1151 1311 NetdConnector 11572system 1151 1313 NetworkStats 11573system 1151 1314 NetworkPolicy 11574system 1151 1315 tworkPolicy.uid 11575system 1151 1316 WifiService 11576system 1151 1317 WifiStateMachin 11577system 1151 1319 WifiScanningSer 11578system 1151 1320 WifiP2pService 11579system 1151 1327 ConnectivitySer 11580system 1151 1331 roid.pacmanager 11581system 1151 1333 NsdService 11582system 1151 1335 mDnsConnector 11583system 1151 1337 notification-sq 11584system 1151 1339 ranker 11585system 1151 1340 onProviders.ECP 11586system 1151 1341 DeviceStorageMo 11587system 1151 1346 AudioService 11588system 1151 1348 Binder:1151_3 11589system 1151 1352 HwBinder:1151_3 11590system 1151 1356 ConnectivityThr 11591system 1151 1357 pool-3-thread-1 11592system 1151 1359 GraphicsStats-d 11593system 1151 1361 SliceManagerSer 11594system 1151 1365 CameraService_p 11595system 1151 1393 SyncHandler-0 11596system 1151 1397 wifiRttService 11597system 1151 1400 wifiAwareServic 11598system 1151 1402 EthernetService 11599system 1151 1403 TaskSnapshotPer 11600system 1151 1405 PhotonicModulat 11601system 1151 1409 LazyTaskWriterT 11602system 1151 1434 Binder:1151_4 11603system 1151 1435 UsbService host 11604system 1151 1436 Thread-3 11605system 1151 1440 SoundPool 11606system 1151 1441 SoundPoolThread 11607system 1151 1444 NetworkStatsObs 11608system 1151 1480 watchdog 11609system 1151 1516 EmergencyAfford 11610system 1151 1560 NetworkTimeUpda 11611system 1151 1604 Binder:1151_5 11612system 1151 1613 Binder:1151_6 11613system 1151 1618 Binder:1151_7 11614system 1151 1623 Binder:1151_8 11615system 1151 1624 Binder:1151_9 11616system 1151 1752 BluetoothRouteM 11617system 1151 1753 AudioPortEventH 11618system 1151 1756 uteStateMachine 11619system 1151 1757 CallAudioModeSt 11620system 1151 1840 queued-work-loo 11621system 1151 1990 HwBinder:1151_4 11622system 1151 2049 hidl_ssvc_poll 11623system 1151 2103 UsbDebuggingMan 11624system 1151 2173 backup 11625system 1151 2478 Binder:1151_A 11626system 1151 2566 Binder:1151_B 11627system 1151 2568 Binder:1151_C 11628system 1151 2620 Binder:1151_D 11629system 1151 2875 AsyncQueryWorke 11630system 1151 3041 Binder:1151_E 11631system 1151 3581 Binder:1151_F 11632system 1151 3619 Binder:1151_10 11633system 1151 3622 Binder:1151_11 11634system 1151 3754 Binder:1151_12 11635system 1151 4982 Binder:1151_13 11636system 1151 4983 Binder:1151_14 11637system 1151 6432 HwBinder:1151_5 11638system 1151 11249 RenderThread 11639system 1151 17881 Binder:1151_15 11640system 1151 25177 Binder:1151_16 11641system 1151 30445 Binder:1151_17 11642system 1151 6644 Binder:1151_18 11643system 1151 13171 Binder:1151_19 11644system 1151 27982 Binder:1151_1A 11645system 1151 1345 Binder:1151_1B 11646system 1151 13277 Binder:1151_1C 11647system 1151 14267 Binder:1151_1D 11648system 1151 26698 Binder:1151_1E 11649system 1151 26712 Binder:1151_1F 11650system 1151 28773 Binder:1151_20 11651system 1151 26478 pool-4-thread-2 11652root 1199 1199 mpss_IPCRTR 11653root 1201 1201 qmi_hndl0000000 11654root 1202 1202 qmi_hndl0000000 11655root 1219 1219 irq/157-arm-smm 11656root 1220 1220 irq/162-arm-smm 11657root 1246 1246 qmi_hndl0000000 11658root 1304 1304 kworker/1:1H 11659root 1305 1305 qmi_hndl0000000 11660root 1382 1382 ipawq14 11661root 1383 1383 iparepwq14 11662root 1384 1384 ipawq49 11663root 1385 1385 iparepwq49 11664radio 1452 1452 le.modemservice 11665radio 1452 1465 Jit thread pool 11666radio 1452 1467 Signal Catcher 11667radio 1452 1468 ADB-JDWP Connec 11668radio 1452 1470 ReferenceQueueD 11669radio 1452 1472 FinalizerDaemon 11670radio 1452 1474 FinalizerWatchd 11671radio 1452 1476 HeapTaskDaemon 11672radio 1452 1479 Binder:1452_1 11673radio 1452 1481 Binder:1452_2 11674radio 1452 1535 Profile Saver 11675radio 1452 1549 Binder:1452_3 11676radio 1452 1552 ModemService 11677radio 1452 1559 queued-work-loo 11678u0_a68 1469 1469 ndroid.systemui 11679u0_a68 1469 1482 Jit thread pool 11680u0_a68 1469 1483 Signal Catcher 11681u0_a68 1469 1484 ADB-JDWP Connec 11682u0_a68 1469 1486 ReferenceQueueD 11683u0_a68 1469 1487 FinalizerDaemon 11684u0_a68 1469 1489 FinalizerWatchd 11685u0_a68 1469 1490 HeapTaskDaemon 11686u0_a68 1469 1491 Binder:1469_1 11687u0_a68 1469 1492 Binder:1469_2 11688u0_a68 1469 1499 Binder:1469_3 11689u0_a68 1469 1734 smartspace-back 11690u0_a68 1469 1758 pool-1-thread-1 11691u0_a68 1469 1764 SoundPool 11692u0_a68 1469 1765 SoundPoolThread 11693u0_a68 1469 1774 Recents-HighRes 11694u0_a68 1469 1780 Recents-TaskRes 11695u0_a68 1469 1783 recents.fg 11696u0_a68 1469 1789 async_sensor 11697u0_a68 1469 1805 VolumeDialogCon 11698u0_a68 1469 1808 Binder:1469_4 11699u0_a68 1469 1820 SysUiBg 11700u0_a68 1469 1853 queued-work-loo 11701u0_a68 1469 1862 RenderThread 11702u0_a68 1469 1868 ConnectivityThr 11703u0_a68 1469 1869 WifiTracker{9ff 11704u0_a68 1469 1874 TimeTick 11705u0_a68 1469 1911 Keyboard 11706u0_a68 1469 1965 HwBinder:1469_1 11707u0_a68 1469 1971 pool-3-thread-1 11708u0_a68 1469 1995 Binder:1469_5 11709u0_a68 1469 2029 pool-4-thread-1 11710u0_a68 1469 2057 hwuiTask1 11711u0_a68 1469 2058 Thread-2 11712u0_a68 1469 5522 Binder:1469_6 11713u0_a68 1469 6051 FlashlightContr 11714u0_a68 1469 10844 Binder:1469_7 11715u0_a68 1469 10845 Binder:1469_8 11716u0_a68 1469 11688 Binder:1469_9 11717u0_a68 1469 31390 Binder:1469_A 11718u0_a68 1469 21670 Binder:1469_B 11719u0_a68 1469 12671 Binder:1469_C 11720u0_a98 1529 1529 reel.wallpapers 11721u0_a98 1529 1541 Jit thread pool 11722u0_a98 1529 1542 Signal Catcher 11723u0_a98 1529 1544 ADB-JDWP Connec 11724u0_a98 1529 1545 ReferenceQueueD 11725u0_a98 1529 1546 FinalizerDaemon 11726u0_a98 1529 1547 FinalizerWatchd 11727u0_a98 1529 1548 HeapTaskDaemon 11728u0_a98 1529 1550 Binder:1529_1 11729u0_a98 1529 1551 Binder:1529_2 11730u0_a98 1529 1553 Binder:1529_3 11731u0_a98 1529 1592 Profile Saver 11732u0_a98 1529 1852 HwBinder:1529_1 11733u0_a98 1529 1854 GLThread 36 11734u0_a98 1529 1857 SoundPool 11735u0_a98 1529 1858 SoundPoolThread 11736u0_a98 1529 1867 AsynchExecutor- 11737u0_a98 1529 9851 Binder:1529_4 11738gps 1536 1536 lowi-server 11739gps 1536 1579 lowi-server 11740gps 1536 1580 lowi-server 11741gps 1536 1581 lowi-server 11742gps 1536 1582 lowi-server 11743gps 1538 1538 xtra-daemon 11744gps 1538 1600 pcid-lo 11745gps 1538 1606 pcid-lo 11746gps 1538 1608 pcid-lo 11747gps 1538 1610 pcid-lo 11748gps 1538 1615 LocTime 11749gps 1538 1616 LocTime 11750radio 1554 1554 .qcrilmsgtunnel 11751radio 1554 1564 Jit thread pool 11752radio 1554 1565 Signal Catcher 11753radio 1554 1566 ADB-JDWP Connec 11754radio 1554 1567 ReferenceQueueD 11755radio 1554 1568 FinalizerDaemon 11756radio 1554 1569 FinalizerWatchd 11757radio 1554 1570 HeapTaskDaemon 11758radio 1554 1571 Binder:1554_1 11759radio 1554 1572 Binder:1554_2 11760radio 1554 1649 Binder:1554_3 11761radio 1554 1677 Profile Saver 11762radio 1554 1695 HwBinder:1554_1 11763radio 1554 1714 queued-work-loo 11764system 1651 1651 .dataservices 11765system 1651 1657 Jit thread pool 11766system 1651 1658 Signal Catcher 11767system 1651 1659 ADB-JDWP Connec 11768system 1651 1660 ReferenceQueueD 11769system 1651 1661 FinalizerDaemon 11770system 1651 1662 FinalizerWatchd 11771system 1651 1663 HeapTaskDaemon 11772system 1651 1664 Binder:1651_1 11773system 1651 1665 Binder:1651_2 11774system 1651 1673 Binder:1651_3 11775system 1651 1718 Profile Saver 11776system 1651 1721 cneservice_thre 11777system 1651 1724 CNEReceiver 11778system 1651 1728 ConnectivityThr 11779system 1651 1731 MainEventThread 11780system 1651 1733 HwBinder:1651_1 11781system 1651 4118 queued-work-loo 11782radio 1666 1666 elephonyservice 11783radio 1666 1674 Jit thread pool 11784radio 1666 1675 Signal Catcher 11785radio 1666 1676 ADB-JDWP Connec 11786radio 1666 1684 ReferenceQueueD 11787radio 1666 1685 FinalizerDaemon 11788radio 1666 1686 FinalizerWatchd 11789radio 1666 1687 HeapTaskDaemon 11790radio 1666 1688 Binder:1666_1 11791radio 1666 1698 Binder:1666_2 11792radio 1666 1722 Profile Saver 11793radio 1666 2502 Binder:1666_3 11794radio 1666 2504 HwBinder:1666_1 11795radio 1666 2511 queued-work-loo 11796radio 1678 1678 m.android.phone 11797radio 1678 1694 Jit thread pool 11798radio 1678 1696 Signal Catcher 11799radio 1678 1697 ADB-JDWP Connec 11800radio 1678 1699 ReferenceQueueD 11801radio 1678 1700 FinalizerDaemon 11802radio 1678 1702 FinalizerWatchd 11803radio 1678 1703 HeapTaskDaemon 11804radio 1678 1704 Binder:1678_1 11805radio 1678 1706 Binder:1678_2 11806radio 1678 1719 Binder:1678_3 11807radio 1678 1737 Profile Saver 11808radio 1678 1806 HwBinder:1678_1 11809radio 1678 1834 EuiccConnector 11810radio 1678 1837 android.bg 11811radio 1678 1846 queued-work-loo 11812radio 1678 1860 GsmCellBroadcas 11813radio 1678 1861 GsmInboundSmsHa 11814radio 1678 1863 CellBroadcastHa 11815radio 1678 1864 CdmaInboundSmsH 11816radio 1678 1865 CdmaServiceCate 11817radio 1678 1871 DcHandlerThread 11818radio 1678 1877 Binder:1678_4 11819radio 1678 1881 ImsServiceContr 11820radio 1678 1882 NetworkService 11821radio 1678 1883 DataService 11822radio 1678 1899 org.codeaurora. 11823radio 1678 1901 ImsConfigImplHa 11824radio 1678 1937 CellularNetwork 11825radio 1678 1938 CellularDataSer 11826radio 1678 1943 Binder:1678_5 11827radio 1678 2876 ervice.Executor 11828radio 1678 2877 ConnectivityThr 11829radio 1678 4600 AudioTrack 11830radio 1678 4650 Binder:1678_6 11831radio 1678 4900 Binder:1678_7 11832radio 1678 4927 Binder:1678_8 11833radio 1678 21050 Binder:1678_9 11834radio 1678 23491 Binder:1678_A 11835radio 1678 28470 Binder:1678_B 11836radio 1678 18161 Binder:1678_C 11837radio 1678 5303 Binder:1678_D 11838u0_a24 1798 1798 id.ext.services 11839u0_a24 1798 1807 Jit thread pool 11840u0_a24 1798 1809 Signal Catcher 11841u0_a24 1798 1810 ADB-JDWP Connec 11842u0_a24 1798 1814 ReferenceQueueD 11843u0_a24 1798 1815 FinalizerDaemon 11844u0_a24 1798 1816 FinalizerWatchd 11845u0_a24 1798 1817 HeapTaskDaemon 11846u0_a24 1798 1818 Binder:1798_1 11847u0_a24 1798 1827 Binder:1798_2 11848u0_a24 1798 1830 Binder:1798_3 11849u0_a24 1798 1833 Binder:1798_4 11850u0_a24 1798 1838 Profile Saver 11851u0_a24 1798 2218 queued-work-loo 11852root 2107 2107 irq/35-1008000. 11853nfc 2195 2195 com.android.nfc 11854nfc 2195 2200 Jit thread pool 11855nfc 2195 2202 Signal Catcher 11856nfc 2195 2203 ADB-JDWP Connec 11857nfc 2195 2204 ReferenceQueueD 11858nfc 2195 2205 FinalizerDaemon 11859nfc 2195 2206 FinalizerWatchd 11860nfc 2195 2207 HeapTaskDaemon 11861nfc 2195 2208 Binder:2195_1 11862nfc 2195 2209 Binder:2195_2 11863nfc 2195 2220 Profile Saver 11864nfc 2195 2422 HwBinder:2195_1 11865nfc 2195 4468 Binder:2195_3 11866nfc 2195 4821 queued-work-loo 11867nfc 2195 4837 Binder:2195_4 11868nfc 2195 5207 Binder:2195_5 11869nfc 2195 11202 Binder:2195_6 11870nfc 2195 13475 Binder:2195_7 11871nfc 2195 23492 Binder:2195_8 11872nfc 2195 8048 Binder:2195_9 11873nfc 2195 9264 Binder:2195_A 11874nfc 2195 21748 Binder:2195_B 11875nfc 2195 26117 AsyncTask #454 11876nfc 2195 26428 AsyncTask #455 11877u0_a10 2213 2213 elligence.sense 11878u0_a10 2213 2219 Jit thread pool 11879u0_a10 2213 2221 Signal Catcher 11880u0_a10 2213 2222 ADB-JDWP Connec 11881u0_a10 2213 2223 ReferenceQueueD 11882u0_a10 2213 2225 FinalizerDaemon 11883u0_a10 2213 2228 FinalizerWatchd 11884u0_a10 2213 2231 HeapTaskDaemon 11885u0_a10 2213 2233 Binder:2213_1 11886u0_a10 2213 2234 Binder:2213_2 11887u0_a10 2213 2249 Binder:2213_3 11888u0_a10 2213 2286 Profile Saver 11889u0_a10 2213 2364 GoogleApiHandle 11890u0_a10 2213 2400 superpacks-cont 11891u0_a10 2213 2432 Background #0 11892u0_a10 2213 2434 Background #1 11893u0_a10 2213 2458 GAC_Executor[0] 11894u0_a10 2213 3350 Binder:2213_4 11895u0_a10 2213 26442 Primes-1 11896u0_a10 2213 26752 Primes-2 11897radio 2224 2224 .ims.rcsservice 11898radio 2224 2235 Jit thread pool 11899radio 2224 2236 Signal Catcher 11900radio 2224 2237 ADB-JDWP Connec 11901radio 2224 2238 ReferenceQueueD 11902radio 2224 2239 FinalizerDaemon 11903radio 2224 2240 FinalizerWatchd 11904radio 2224 2241 HeapTaskDaemon 11905radio 2224 2244 Binder:2224_1 11906radio 2224 2255 Binder:2224_2 11907radio 2224 2260 Binder:2224_3 11908radio 2224 2292 Profile Saver 11909radio 2224 2349 Listener 11910radio 2224 2390 queued-work-loo 11911radio 2224 2830 EABServiceHandl 11912radio 2224 3513 Binder:2224_4 11913radio 2224 28094 Binder:2224_5 11914system 2243 2243 RestartDetector 11915system 2243 2251 Jit thread pool 11916system 2243 2253 Signal Catcher 11917system 2243 2254 ADB-JDWP Connec 11918system 2243 2256 ReferenceQueueD 11919system 2243 2257 FinalizerDaemon 11920system 2243 2258 FinalizerWatchd 11921system 2243 2259 HeapTaskDaemon 11922system 2243 2261 Binder:2243_1 11923system 2243 2264 Binder:2243_2 11924system 2243 2303 Profile Saver 11925system 2243 3040 Binder:2243_3 11926system 2243 3042 FileObserver 11927system 2243 3043 queued-work-loo 11928u0_a19 2279 2279 s.nexuslauncher 11929u0_a19 2279 2291 Jit thread pool 11930u0_a19 2279 2293 Signal Catcher 11931u0_a19 2279 2294 ADB-JDWP Connec 11932u0_a19 2279 2295 ReferenceQueueD 11933u0_a19 2279 2296 FinalizerDaemon 11934u0_a19 2279 2297 FinalizerWatchd 11935u0_a19 2279 2299 HeapTaskDaemon 11936u0_a19 2279 2302 Binder:2279_1 11937u0_a19 2279 2304 Binder:2279_2 11938u0_a19 2279 2325 Binder:2279_3 11939u0_a19 2279 2345 Profile Saver 11940u0_a19 2279 2352 launcher-loader 11941u0_a19 2279 2353 UiThreadHelper 11942u0_a19 2279 2379 GAC_Executor[0] 11943u0_a19 2279 2380 GoogleApiHandle 11944u0_a19 2279 2402 pool-1-thread-1 11945u0_a19 2279 2405 Recents-HighRes 11946u0_a19 2279 2406 Recents-TaskRes 11947u0_a19 2279 2408 pool-3-thread-1 11948u0_a19 2279 2431 qsb-experiments 11949u0_a19 2279 2456 magnifier pixel 11950u0_a19 2279 2477 smartspace-load 11951u0_a19 2279 2500 reflection-thre 11952u0_a19 2279 2505 GAC_Executor[1] 11953u0_a19 2279 2506 RenderThread 11954u0_a19 2279 2535 remote-ui 11955u0_a19 2279 2558 HwBinder:2279_1 11956u0_a19 2279 2578 file-logger 11957u0_a19 2279 2581 queued-work-loo 11958u0_a19 2279 10277 Binder:2279_4 11959u0_a19 2279 26790 Binder:2279_5 11960u0_a19 2279 4129 Binder:2279_6 11961u0_a125 2305 2305 oogle.vr.vrcore 11962u0_a125 2305 2311 Jit thread pool 11963u0_a125 2305 2312 Signal Catcher 11964u0_a125 2305 2315 ADB-JDWP Connec 11965u0_a125 2305 2318 ReferenceQueueD 11966u0_a125 2305 2320 FinalizerDaemon 11967u0_a125 2305 2321 FinalizerWatchd 11968u0_a125 2305 2322 HeapTaskDaemon 11969u0_a125 2305 2324 Binder:2305_1 11970u0_a125 2305 2326 Binder:2305_2 11971u0_a125 2305 2329 Binder:2305_3 11972u0_a125 2305 2377 Profile Saver 11973u0_a125 2305 2403 GAC_Executor[0] 11974u0_a125 2305 2411 GAC_Executor[1] 11975u0_a125 2305 2437 queued-work-loo 11976u0_a56 2332 2332 ps.pixelmigrate 11977u0_a56 2332 2338 Jit thread pool 11978u0_a56 2332 2339 Signal Catcher 11979u0_a56 2332 2340 ADB-JDWP Connec 11980u0_a56 2332 2341 ReferenceQueueD 11981u0_a56 2332 2342 FinalizerDaemon 11982u0_a56 2332 2343 FinalizerWatchd 11983u0_a56 2332 2344 HeapTaskDaemon 11984u0_a56 2332 2346 Binder:2332_1 11985u0_a56 2332 2358 Binder:2332_2 11986u0_a56 2332 2428 Profile Saver 11987u0_a56 2332 2472 pool-1-thread-1 11988u0_a56 2332 2544 queued-work-loo 11989u0_a56 2332 2695 Binder:2332_3 11990u0_a56 2332 3351 Binder:2332_4 11991u0_a58 2354 2354 oid.setupwizard 11992u0_a58 2354 2361 Jit thread pool 11993u0_a58 2354 2362 Signal Catcher 11994u0_a58 2354 2363 ADB-JDWP Connec 11995u0_a58 2354 2365 ReferenceQueueD 11996u0_a58 2354 2366 FinalizerDaemon 11997u0_a58 2354 2367 FinalizerWatchd 11998u0_a58 2354 2368 HeapTaskDaemon 11999u0_a58 2354 2369 Binder:2354_1 12000u0_a58 2354 2370 Binder:2354_2 12001u0_a58 2354 2401 Binder:2354_3 12002u0_a58 2354 2441 Profile Saver 12003u0_a58 2354 2516 GoogleApiHandle 12004u0_a58 2354 2522 queued-work-loo 12005u0_a58 2354 2543 ConnectivityThr 12006u0_a58 2354 2545 WifiTracker{1b5 12007u0_a58 2354 2760 Binder:2354_4 12008u0_a58 2354 3353 Binder:2354_5 12009u0_a21 2371 2371 ps.miphone.aiai 12010u0_a21 2371 2381 Jit thread pool 12011u0_a21 2371 2404 Signal Catcher 12012u0_a21 2371 2416 ADB-JDWP Connec 12013u0_a21 2371 2418 ReferenceQueueD 12014u0_a21 2371 2419 FinalizerDaemon 12015u0_a21 2371 2420 FinalizerWatchd 12016u0_a21 2371 2421 HeapTaskDaemon 12017u0_a21 2371 2429 Binder:2371_1 12018u0_a21 2371 2442 Binder:2371_2 12019u0_a21 2371 2444 Binder:2371_3 12020u0_a21 2371 2490 Profile Saver 12021u0_a40 2462 2462 gle.android.gms 12022u0_a40 2462 2482 Jit thread pool 12023u0_a40 2462 2483 Signal Catcher 12024u0_a40 2462 2493 ADB-JDWP Connec 12025u0_a40 2462 2494 ReferenceQueueD 12026u0_a40 2462 2495 FinalizerDaemon 12027u0_a40 2462 2496 FinalizerWatchd 12028u0_a40 2462 2497 HeapTaskDaemon 12029u0_a40 2462 2498 Binder:2462_1 12030u0_a40 2462 2499 Binder:2462_2 12031u0_a40 2462 2553 Profile Saver 12032u0_a40 2462 2633 FileObserver 12033u0_a40 2462 2655 GlobalDispatchi 12034u0_a40 2462 2660 GoogleApiHandle 12035u0_a40 2462 2673 Binder:2462_3 12036u0_a40 2462 2685 GlobalScheduler 12037u0_a40 2462 2806 Binder:2462_4 12038u0_a40 2462 2859 queued-work-loo 12039u0_a40 2462 2945 Binder:2462_5 12040u0_a40 2462 3690 Thread-12 12041u0_a40 2462 3691 Thread-13 12042u0_a40 2462 3693 Thread-14 12043u0_a40 2462 3694 Thread-15 12044u0_a40 2462 3695 Thread-16 12045u0_a40 2462 3736 Binder:2462_6 12046u0_a40 2462 3759 highpool[0] 12047u0_a40 2462 3767 highpool[1] 12048u0_a40 2462 3770 AdWorker(Defaul 12049u0_a40 2462 3771 AdWorker(Defaul 12050u0_a40 2462 3788 GAC_Executor[1] 12051u0_a40 2462 3789 Binder:2462_7 12052u0_a40 2462 3790 GAC_Executor[0] 12053u0_a40 2462 3807 ConnectivityThr 12054u0_a40 2462 3864 Binder:2462_8 12055u0_a40 2462 3871 highpool[2] 12056u0_a40 2462 3903 Binder:2462_9 12057u0_a40 2462 3968 Binder:2462_A 12058u0_a40 2462 4217 Binder:2462_B 12059u0_a40 2462 4358 Binder:2462_C 12060u0_a40 2462 4359 Binder:2462_D 12061u0_a40 2462 4652 Binder:2462_E 12062u0_a40 2462 4674 Binder:2462_F 12063u0_a40 2462 4907 highpool[3] 12064u0_a40 2462 4948 pool-60-thread- 12065u0_a40 2462 4949 pool-60-thread- 12066u0_a40 2462 4950 pool-60-thread- 12067u0_a40 2462 4951 pool-60-thread- 12068u0_a40 2462 4956 pool-61-thread- 12069u0_a40 2462 5163 Binder:2462_10 12070u0_a40 2462 15000 MediaTracker bu 12071u0_a40 2462 19659 lowpool[824] 12072u0_a40 2462 19930 lowpool[825] 12073u0_a40 2462 22554 lowpool[827] 12074u0_a40 2462 23272 lowpool[828] 12075u0_a40 2462 26147 peration loader 12076u0_a40 2462 26148 raService] idle 12077u0_a40 2462 26160 ERVICES_CHANGED 12078u0_a40 2462 26161 raService] idle 12079u0_a40 2462 26162 raService] idle 12080u0_a40 2462 26163 raService] idle 12081u0_a40 2462 26164 L_UPDATE_ACTION 12082u0_a40 2462 26165 raService] idle 12083u0_a40 2462 26166 raService] idle 12084u0_a40 2462 26172 AGE_MODULE_APKS 12085u0_a40 2462 26174 Measurement Wor 12086u0_a40 2462 26272 lowpool[829] 12087u0_a40 2462 26282 raService] idle 12088u0_a40 2462 26685 raService] idle 12089u0_a40 2462 26686 ERVICES_CHANGED 12090u0_a40 2462 26695 ERVICES_CHANGED 12091u0_a40 2462 26696 raService] idle 12092u0_a40 2462 26699 raService] idle 12093u0_a40 2462 26701 raService] idle 12094u0_a40 2484 2484 .gms.persistent 12095u0_a40 2484 2510 Jit thread pool 12096u0_a40 2484 2512 Signal Catcher 12097u0_a40 2484 2513 ADB-JDWP Connec 12098u0_a40 2484 2514 ReferenceQueueD 12099u0_a40 2484 2517 FinalizerDaemon 12100u0_a40 2484 2518 FinalizerWatchd 12101u0_a40 2484 2520 HeapTaskDaemon 12102u0_a40 2484 2521 Binder:2484_1 12103u0_a40 2484 2523 Binder:2484_2 12104u0_a40 2484 2548 Binder:2484_3 12105u0_a40 2484 2554 Profile Saver 12106u0_a40 2484 2624 Binder:2484_4 12107u0_a40 2484 2625 Binder:2484_5 12108u0_a40 2484 2627 FileObserver 12109u0_a40 2484 2652 GlobalDispatchi 12110u0_a40 2484 2663 GoogleApiHandle 12111u0_a40 2484 2668 GlobalScheduler 12112u0_a40 2484 2669 GAC_Executor[0] 12113u0_a40 2484 2671 FlpThread 12114u0_a40 2484 2677 queued-work-loo 12115u0_a40 2484 2681 GAC_Executor[1] 12116u0_a40 2484 2807 GeofencerStateM 12117u0_a40 2484 2808 RealContextHub 12118u0_a40 2484 2809 ConnectivityThr 12119u0_a40 2484 2810 highpool[0] 12120u0_a40 2484 2811 highpool[1] 12121u0_a40 2484 2812 highpool[2] 12122u0_a40 2484 2813 highpool[3] 12123u0_a40 2484 2814 GoogleLocationS 12124u0_a40 2484 2816 MSMuxTR-0 12125u0_a40 2484 3792 netscheduler-qu 12126u0_a40 2484 3801 Binder:2484_6 12127u0_a40 2484 3896 Binder:2484_7 12128u0_a40 2484 4204 Binder:2484_8 12129u0_a40 2484 4206 Binder:2484_9 12130u0_a40 2484 4244 Binder:2484_A 12131u0_a40 2484 4675 Binder:2484_B 12132u0_a40 2484 4676 Binder:2484_C 12133u0_a40 2484 4836 Binder:2484_D 12134u0_a40 2484 5240 Binder:2484_E 12135u0_a40 2484 5724 Binder:2484_F 12136u0_a40 2484 10811 Binder:2484_10 12137u0_a40 2484 21417 lowpool[412] 12138u0_a40 2484 17369 lowpool[755] 12139u0_a40 2484 23058 lowpool[761] 12140u0_a40 2484 25069 lowpool[763] 12141u0_a40 2484 25070 lowpool[764] 12142u0_a40 2484 26158 peration loader 12143u0_a40 2484 26168 raService] idle 12144u0_a40 2484 26169 raService] idle 12145u0_a40 2484 26170 raService] idle 12146u0_a40 2484 26171 raService] idle 12147u0_a40 2484 26630 lowpool[765] 12148u0_a40 2484 26631 lowpool[766] 12149system 3993 3993 lcomm.telephony 12150system 3993 3999 Jit thread pool 12151system 3993 4000 Signal Catcher 12152system 3993 4001 ADB-JDWP Connec 12153system 3993 4002 ReferenceQueueD 12154system 3993 4003 FinalizerDaemon 12155system 3993 4004 FinalizerWatchd 12156system 3993 4005 HeapTaskDaemon 12157system 3993 4006 Binder:3993_1 12158system 3993 4007 Binder:3993_2 12159system 3993 4010 Profile Saver 12160system 3993 4013 Binder:3993_3 12161system 3993 4014 Thread-2 12162system 3993 4015 CTSA Inject Thr 12163system 3993 4016 HwBinder:3993_1 12164system 3993 4023 queued-work-loo 12165root 4295 4295 adbd 12166root 4295 4296 usb ffs open 12167root 4295 4343 ->transport 12168root 4295 4344 <-transport 12169root 4295 26730 shell svc 26729 12170root 4295 26749 shell svc 26748 12171root 15030 15030 kworker/4:1 12172u0_a55 16104 16104 id.defcontainer 12173u0_a55 16104 16109 Jit thread pool 12174u0_a55 16104 16110 Signal Catcher 12175u0_a55 16104 16111 ADB-JDWP Connec 12176u0_a55 16104 16112 ReferenceQueueD 12177u0_a55 16104 16113 FinalizerDaemon 12178u0_a55 16104 16114 FinalizerWatchd 12179u0_a55 16104 16116 HeapTaskDaemon 12180u0_a55 16104 16117 Binder:16104_1 12181u0_a55 16104 16118 Binder:16104_2 12182u0_a55 16104 16133 Binder:16104_3 12183u0_a55 16104 16137 Profile Saver 12184u0_a55 16104 16149 queued-work-loo 12185u0_a55 16104 16614 Binder:16104_4 12186root 16505 16505 kworker/u17:0 12187root 18709 18709 kworker/3:3 12188root 19512 19512 kworker/5:1 12189u0_a30 21587 21587 roid.apps.turbo 12190u0_a30 21587 21592 Jit thread pool 12191u0_a30 21587 21593 Signal Catcher 12192u0_a30 21587 21594 ADB-JDWP Connec 12193u0_a30 21587 21595 ReferenceQueueD 12194u0_a30 21587 21596 FinalizerDaemon 12195u0_a30 21587 21597 FinalizerWatchd 12196u0_a30 21587 21598 HeapTaskDaemon 12197u0_a30 21587 21599 Binder:21587_1 12198u0_a30 21587 21600 Binder:21587_2 12199u0_a30 21587 21601 Binder:21587_3 12200u0_a30 21587 21602 Profile Saver 12201u0_a30 21587 22841 Primes-1 12202u0_a30 21587 23127 Primes-2 12203u0_a75 21768 21768 id.partnersetup 12204u0_a75 21768 21774 Jit thread pool 12205u0_a75 21768 21775 Signal Catcher 12206u0_a75 21768 21776 ADB-JDWP Connec 12207u0_a75 21768 21777 ReferenceQueueD 12208u0_a75 21768 21778 FinalizerDaemon 12209u0_a75 21768 21779 FinalizerWatchd 12210u0_a75 21768 21780 HeapTaskDaemon 12211u0_a75 21768 21781 Binder:21768_1 12212u0_a75 21768 21782 Binder:21768_2 12213u0_a75 21768 21783 Binder:21768_3 12214u0_a75 21768 21784 Profile Saver 12215u0_a75 21768 21804 queued-work-loo 12216u0_a75 21768 21807 Binder:21768_4 12217u0_a40 21787 21787 ocess.gservices 12218u0_a40 21787 21792 Jit thread pool 12219u0_a40 21787 21793 Signal Catcher 12220u0_a40 21787 21794 ADB-JDWP Connec 12221u0_a40 21787 21795 ReferenceQueueD 12222u0_a40 21787 21796 FinalizerDaemon 12223u0_a40 21787 21797 FinalizerWatchd 12224u0_a40 21787 21798 HeapTaskDaemon 12225u0_a40 21787 21799 Binder:21787_1 12226u0_a40 21787 21800 Binder:21787_2 12227u0_a40 21787 21801 Binder:21787_3 12228u0_a40 21787 21802 Profile Saver 12229u0_a40 21787 21806 Binder:21787_4 12230u0_a40 21787 22844 Binder:21787_5 12231u0_a40 21787 22845 Binder:21787_6 12232u0_a40 21787 22861 Binder:21787_7 12233u0_a40 21787 22973 Binder:21787_8 12234u0_a40 21787 23042 Binder:21787_9 12235u0_a40 21787 23044 Binder:21787_A 12236u0_a40 21787 23051 Binder:21787_B 12237u0_a40 21787 23109 Binder:21787_C 12238u0_a40 21787 23125 Binder:21787_D 12239u0_a40 21787 23126 Binder:21787_E 12240u0_a40 21787 23177 Binder:21787_F 12241u0_a40 21787 23184 Binder:21787_10 12242root 23038 23038 kworker/3:2 12243root 23393 23393 kworker/5:3 12244root 24384 24384 kworker/4:2 12245root 24428 24428 kworker/1:0 12246root 24572 24572 kworker/6:0 12247u0_a47 24879 24879 n.mips.services 12248u0_a47 24879 24891 Jit thread pool 12249u0_a47 24879 24892 Signal Catcher 12250u0_a47 24879 24893 ADB-JDWP Connec 12251u0_a47 24879 24894 ReferenceQueueD 12252u0_a47 24879 24895 FinalizerDaemon 12253u0_a47 24879 24896 FinalizerWatchd 12254u0_a47 24879 24897 HeapTaskDaemon 12255u0_a47 24879 24898 Binder:24879_1 12256u0_a47 24879 24899 Binder:24879_2 12257u0_a47 24879 24908 Profile Saver 12258u0_a47 24879 24912 queued-work-loo 12259u0_a47 24879 24914 Binder:24879_3 12260u0_a47 24879 26178 Binder:24879_4 12261root 24931 24931 kworker/2:1 12262root 25152 25152 kworker/7:2 12263root 25203 25203 kworker/0:4 12264root 25230 25230 kworker/2:0 12265root 25246 25246 kworker/7:0 12266root 25362 25362 kworker/u16:4 12267root 25366 25366 kworker/0:2 12268root 25390 25390 kworker/1:2 12269root 25518 25518 kworker/u16:6 12270root 25647 25647 kworker/6:1 12271root 25664 25664 kworker/u16:1 12272root 25796 25796 kworker/0:1 12273root 25814 25814 kworker/u16:3 12274root 25819 25819 kworker/3:0 12275root 25823 25823 kworker/2:2 12276root 25933 25933 kworker/6:2 12277root 25946 25946 kworker/1:1 12278root 25950 25950 kworker/0:3 12279root 25966 25966 kworker/u16:5 12280root 26081 26081 kworker/2:3 12281root 26106 26106 kworker/4:0 12282system 26142 26142 ndroid.keychain 12283system 26142 26149 Jit thread pool 12284system 26142 26150 Signal Catcher 12285system 26142 26151 ADB-JDWP Connec 12286system 26142 26152 ReferenceQueueD 12287system 26142 26153 FinalizerDaemon 12288system 26142 26154 FinalizerWatchd 12289system 26142 26155 HeapTaskDaemon 12290system 26142 26156 Binder:26142_1 12291system 26142 26157 Binder:26142_2 12292system 26142 26159 Binder:26142_3 12293system 26142 26176 queued-work-loo 12294u0_a46 26181 26181 oid.documentsui 12295u0_a46 26181 26186 Jit thread pool 12296u0_a46 26181 26187 Signal Catcher 12297u0_a46 26181 26188 ADB-JDWP Connec 12298u0_a46 26181 26189 ReferenceQueueD 12299u0_a46 26181 26190 FinalizerDaemon 12300u0_a46 26181 26191 FinalizerWatchd 12301u0_a46 26181 26192 HeapTaskDaemon 12302u0_a46 26181 26194 Binder:26181_1 12303u0_a46 26181 26195 Binder:26181_2 12304u0_a46 26181 26197 Profile Saver 12305u0_a46 26181 26201 AsyncTask #1 12306u0_a46 26181 26247 AsyncTask #2 12307u0_a46 26181 26263 AsyncTask #3 12308u0_a46 26181 26285 AsyncTask #4 12309u0_a46 26181 26606 Binder:26181_3 12310u0_a8 26208 26208 d.process.media 12311u0_a8 26208 26214 Jit thread pool 12312u0_a8 26208 26215 Signal Catcher 12313u0_a8 26208 26216 ADB-JDWP Connec 12314u0_a8 26208 26217 ReferenceQueueD 12315u0_a8 26208 26218 FinalizerDaemon 12316u0_a8 26208 26219 FinalizerWatchd 12317u0_a8 26208 26220 HeapTaskDaemon 12318u0_a8 26208 26221 Binder:26208_1 12319u0_a8 26208 26222 Binder:26208_2 12320u0_a8 26208 26237 Profile Saver 12321u0_a8 26208 26244 thumbs thread 12322u0_a8 26208 26250 sAsyncHandlerTh 12323u0_a40 26343 26343 e.process.gapps 12324u0_a40 26343 26348 Jit thread pool 12325u0_a40 26343 26349 Signal Catcher 12326u0_a40 26343 26350 ADB-JDWP Connec 12327u0_a40 26343 26351 ReferenceQueueD 12328u0_a40 26343 26352 FinalizerDaemon 12329u0_a40 26343 26353 FinalizerWatchd 12330u0_a40 26343 26354 HeapTaskDaemon 12331u0_a40 26343 26355 Binder:26343_1 12332u0_a40 26343 26356 Binder:26343_2 12333u0_a40 26343 26357 Binder:26343_3 12334u0_a40 26343 26358 Profile Saver 12335u0_a40 26343 26359 RefQueueWorker@ 12336u0_a40 26343 26360 Binder:26343_4 12337u0_a40 26343 26714 Binder:26343_5 12338root 26407 26407 kworker/5:0 12339u0_a72 26440 26440 ctivity.metrics 12340u0_a72 26440 26447 Jit thread pool 12341u0_a72 26440 26448 Signal Catcher 12342u0_a72 26440 26449 ADB-JDWP Connec 12343u0_a72 26440 26450 ReferenceQueueD 12344u0_a72 26440 26451 FinalizerDaemon 12345u0_a72 26440 26452 FinalizerWatchd 12346u0_a72 26440 26453 HeapTaskDaemon 12347u0_a72 26440 26454 Binder:26440_1 12348u0_a72 26440 26455 Binder:26440_2 12349u0_a72 26440 26456 Binder:26440_3 12350u0_a72 26440 26458 Profile Saver 12351u0_a72 26440 26459 AsyncTask #1 12352u0_a72 26440 26479 GAC_Executor[0] 12353u0_a72 26440 26710 AsyncTask #2 12354u0_a72 26440 26711 GAC_Executor[1] 12355root 26499 26499 kworker/7:1 12356root 26509 26509 kworker/7:3 12357radio 26510 26510 ectivitymonitor 12358radio 26510 26515 Jit thread pool 12359radio 26510 26516 Signal Catcher 12360radio 26510 26517 ADB-JDWP Connec 12361radio 26510 26518 ReferenceQueueD 12362radio 26510 26520 FinalizerDaemon 12363radio 26510 26521 FinalizerWatchd 12364radio 26510 26523 HeapTaskDaemon 12365radio 26510 26524 Binder:26510_1 12366radio 26510 26525 Binder:26510_2 12367radio 26510 26528 Profile Saver 12368radio 26510 26654 Binder:26510_3 12369u0_a131 26648 26648 id.printspooler 12370u0_a131 26648 26653 Jit thread pool 12371u0_a131 26648 26655 Signal Catcher 12372u0_a131 26648 26656 ADB-JDWP Connec 12373u0_a131 26648 26657 ReferenceQueueD 12374u0_a131 26648 26658 FinalizerDaemon 12375u0_a131 26648 26659 FinalizerWatchd 12376u0_a131 26648 26660 HeapTaskDaemon 12377u0_a131 26648 26661 Binder:26648_1 12378u0_a131 26648 26662 Binder:26648_2 12379u0_a131 26648 26664 Binder:26648_3 12380u0_a131 26648 26667 Profile Saver 12381root 26706 26706 kworker/1:3 12382root 26729 26729 sh 12383root 26732 26732 sh 12384root 26742 26742 ps 12385root 27902 27902 kworker/u17:2 12386u0_a64 32499 32499 gle.android.ims 12387u0_a64 32499 32506 Jit thread pool 12388u0_a64 32499 32507 Signal Catcher 12389u0_a64 32499 32508 ADB-JDWP Connec 12390u0_a64 32499 32509 ReferenceQueueD 12391u0_a64 32499 32510 FinalizerDaemon 12392u0_a64 32499 32511 FinalizerWatchd 12393u0_a64 32499 32512 HeapTaskDaemon 12394u0_a64 32499 32513 Binder:32499_1 12395u0_a64 32499 32514 Binder:32499_2 12396u0_a64 32499 32516 Binder:32499_3 12397u0_a64 32499 32551 Profile Saver 12398u0_a64 32499 32574 GoogleApiHandle 12399u0_a64 32499 32599 ConnectivityThr 12400u0_a64 32499 32619 queued-work-loo 12401u0_a64 32499 32626 GAC_Executor[0] 12402u0_a64 32499 450 Binder:32499_4 12403u0_a64 32499 669 Binder:32499_5 12404u0_a64 32499 9960 Primes-1 12405u0_a64 32499 10177 Binder:32499_6 12406u0_a64 32499 10181 Binder:32499_7 12407u0_a64 32499 10258 Primes-2 12408u0_a64 32499 10858 Binder:32499_8 12409u0_a64 32499 20615 Binder:32499_9 12410u0_a64 32499 20823 Binder:32499_A 12411u0_a64 32499 20963 Binder:32499_B 12412u0_a64 32499 23043 Binder:32499_C 12413u0_a64 32499 23049 Binder:32499_D 12414u0_a64 32499 23748 Binder:32499_E 12415u0_a64 32499 26433 AsyncTask #1541 12416u0_a64 32499 26475 AsyncTask #1542 12417u0_a64 32499 26476 AsyncTask #1543 12418u0_a64 32499 26537 AsyncTask #1544 12419u0_a64 32499 26615 Binder:32499_F 12420USER PID PPID VSZ RSS WCHAN PC S NAME COMM 12421root 1 0 18956 2108 SyS_epoll_wait 5327b0 S init init 12422root 2 0 0 0 kthreadd 0 S [kthreadd] 2 12423root 3 2 0 0 smpboot_thread_fn 0 S [ksoftirqd/0] 3 12424root 5 2 0 0 worker_thread 0 S [kworker/0:0H] 5 12425root 6 2 0 0 diag_socket_read 0 S [kworker/u16:0] 6 12426root 7 2 0 0 0 0 S [rcu_preempt] 7 12427root 8 2 0 0 rcu_gp_kthread 0 S [rcu_sched] 8 12428root 9 2 0 0 rcu_gp_kthread 0 S [rcu_bh] 9 12429root 10 2 0 0 rcu_nocb_kthread 0 S [rcuop/0] 1 12430root 11 2 0 0 rcu_nocb_kthread 0 S [rcuos/0] 1 12431root 12 2 0 0 rcu_nocb_kthread 0 S [rcuob/0] 1 12432root 13 2 0 0 smpboot_thread_fn 0 S [migration/0] 1 12433root 14 2 0 0 smpboot_thread_fn 0 S [watchdog/0] 1 12434root 15 2 0 0 smpboot_thread_fn 0 S [watchdog/1] 1 12435root 16 2 0 0 smpboot_thread_fn 0 S [migration/1] 1 12436root 17 2 0 0 smpboot_thread_fn 0 S [ksoftirqd/1] 1 12437root 19 2 0 0 worker_thread 0 S [kworker/1:0H] 1 12438root 20 2 0 0 rcu_nocb_kthread 0 S [rcuop/1] 2 12439root 21 2 0 0 rcu_nocb_kthread 0 S [rcuos/1] 2 12440root 22 2 0 0 rcu_nocb_kthread 0 S [rcuob/1] 2 12441root 23 2 0 0 smpboot_thread_fn 0 S [watchdog/2] 2 12442root 24 2 0 0 smpboot_thread_fn 0 S [migration/2] 2 12443root 25 2 0 0 smpboot_thread_fn 0 S [ksoftirqd/2] 2 12444root 27 2 0 0 worker_thread 0 S [kworker/2:0H] 2 12445root 28 2 0 0 rcu_nocb_kthread 0 S [rcuop/2] 2 12446root 29 2 0 0 rcu_nocb_kthread 0 S [rcuos/2] 2 12447root 30 2 0 0 rcu_nocb_kthread 0 S [rcuob/2] 3 12448root 31 2 0 0 smpboot_thread_fn 0 S [watchdog/3] 3 12449root 32 2 0 0 smpboot_thread_fn 0 S [migration/3] 3 12450root 33 2 0 0 smpboot_thread_fn 0 S [ksoftirqd/3] 3 12451root 35 2 0 0 worker_thread 0 S [kworker/3:0H] 3 12452root 36 2 0 0 rcu_nocb_kthread 0 S [rcuop/3] 3 12453root 37 2 0 0 rcu_nocb_kthread 0 S [rcuos/3] 3 12454root 38 2 0 0 rcu_nocb_kthread 0 S [rcuob/3] 3 12455root 39 2 0 0 smpboot_thread_fn 0 S [watchdog/4] 3 12456root 40 2 0 0 smpboot_thread_fn 0 S [migration/4] 4 12457root 41 2 0 0 smpboot_thread_fn 0 S [ksoftirqd/4] 4 12458root 43 2 0 0 worker_thread 0 S [kworker/4:0H] 4 12459root 44 2 0 0 rcu_nocb_kthread 0 S [rcuop/4] 4 12460root 45 2 0 0 rcu_nocb_kthread 0 S [rcuos/4] 4 12461root 46 2 0 0 rcu_nocb_kthread 0 S [rcuob/4] 4 12462root 47 2 0 0 smpboot_thread_fn 0 S [watchdog/5] 4 12463root 48 2 0 0 smpboot_thread_fn 0 S [migration/5] 4 12464root 49 2 0 0 smpboot_thread_fn 0 S [ksoftirqd/5] 4 12465root 51 2 0 0 worker_thread 0 S [kworker/5:0H] 5 12466root 52 2 0 0 rcu_nocb_kthread 0 S [rcuop/5] 5 12467root 53 2 0 0 rcu_nocb_kthread 0 S [rcuos/5] 5 12468root 54 2 0 0 rcu_nocb_kthread 0 S [rcuob/5] 5 12469root 55 2 0 0 smpboot_thread_fn 0 S [watchdog/6] 5 12470root 56 2 0 0 smpboot_thread_fn 0 S [migration/6] 5 12471root 57 2 0 0 smpboot_thread_fn 0 S [ksoftirqd/6] 5 12472root 59 2 0 0 worker_thread 0 S [kworker/6:0H] 5 12473root 60 2 0 0 rcu_nocb_kthread 0 S [rcuop/6] 6 12474root 61 2 0 0 rcu_nocb_kthread 0 S [rcuos/6] 6 12475root 62 2 0 0 rcu_nocb_kthread 0 S [rcuob/6] 6 12476root 63 2 0 0 smpboot_thread_fn 0 S [watchdog/7] 6 12477root 64 2 0 0 smpboot_thread_fn 0 S [migration/7] 6 12478root 65 2 0 0 smpboot_thread_fn 0 S [ksoftirqd/7] 6 12479root 67 2 0 0 worker_thread 0 S [kworker/7:0H] 6 12480root 68 2 0 0 rcu_nocb_kthread 0 S [rcuop/7] 6 12481root 69 2 0 0 rcu_nocb_kthread 0 S [rcuos/7] 6 12482root 70 2 0 0 rcu_nocb_kthread 0 S [rcuob/7] 7 12483root 71 2 0 0 rescuer_thread 0 S [netns] 7 12484root 72 2 0 0 rescuer_thread 0 S [perf] 7 12485root 73 2 0 0 rescuer_thread 0 S [smd_channel_clo] 7 12486root 74 2 0 0 kthread_worker_fn 0 S [dsps_smd_trans_] 7 12487root 75 2 0 0 kthread_worker_fn 0 S [lpass_smd_trans] 7 12488root 76 2 0 0 kthread_worker_fn 0 S [mpss_smd_trans_] 7 12489root 77 2 0 0 kthread_worker_fn 0 S [wcnss_smd_trans] 7 12490root 78 2 0 0 kthread_worker_fn 0 S [rpm_smd_trans_g] 7 12491root 79 2 0 0 rescuer_thread 0 S [ipa_usb_wq] 7 12492root 81 2 0 0 kthread_worker_fn 0 S [smem_native_mps] 8 12493root 82 2 0 0 kthread_worker_fn 0 S [mpss_smem_glink] 8 12494root 83 2 0 0 kthread_worker_fn 0 S [smem_native_lpa] 8 12495root 84 2 0 0 kthread_worker_fn 0 S [lpass_smem_glin] 8 12496root 85 2 0 0 kthread_worker_fn 0 S [smem_native_dsp] 8 12497root 86 2 0 0 kthread_worker_fn 0 S [dsps_smem_glink] 8 12498root 87 2 0 0 kthread_worker_fn 0 S [smem_native_rpm] 8 12499root 88 2 0 0 kthread_worker_fn 0 S [rpm_smem_glink_] 8 12500root 89 2 0 0 kthread_worker_fn 0 S [smem_native_sps] 8 12501root 90 2 0 0 kthread_worker_fn 0 S [spss_mailbox_gl] 9 12502root 91 2 0 0 watchdog_kthread 0 S [msm_watchdog] 9 12503root 92 2 0 0 rescuer_thread 0 S [deferwq] 9 12504root 94 2 0 0 irq_thread 0 S [irq/126-cpr3] 9 12505root 95 2 0 0 msm_mpm_work_fn 0 D [mpm] 9 12506root 96 2 0 0 diag_socket_read 0 S [kworker/u16:2] 9 12507root 97 2 0 0 watchdog 0 S [khungtaskd] 9 12508root 98 2 0 0 rescuer_thread 0 S [writeback] 9 12509root 99 2 0 0 kcompactd 0 S [kcompactd0] 9 12510root 100 2 0 0 rescuer_thread 0 S [crypto] 1 12511root 101 2 0 0 rescuer_thread 0 S [bioset] 1 12512root 102 2 0 0 rescuer_thread 0 S [kblockd] 1 12513root 103 2 0 0 rescuer_thread 0 S [md] 1 12514root 104 2 0 0 rescuer_thread 0 S [edac-poller] 1 12515root 105 2 0 0 ion_heap_deferred_free 0 S [system] 1 12516root 106 2 0 0 ion_heap_deferred_free 0 S [easel_mem] 1 12517root 107 2 0 0 rescuer_thread 0 S [devfreq_wq] 1 12518root 108 2 0 0 rescuer_thread 0 S [governor_msm_ad] 1 12519root 110 2 0 0 rescuer_thread 0 S [cfg80211] 1 12520root 111 2 0 0 irq_thread 0 S [irq/134-arm-smm] 1 12521root 112 2 0 0 rescuer_thread 0 S [ipa_power_mgmt] 1 12522root 113 2 0 0 rescuer_thread 0 S [transport_power] 1 12523root 114 2 0 0 rescuer_thread 0 S [ipa_rm_wq] 1 12524root 115 2 0 0 rescuer_thread 0 S [ipa_interrupt_w] 1 12525root 116 2 0 0 irq_thread 0 S [irq/135-arm-smm] 1 12526root 117 2 0 0 irq_thread 0 S [irq/136-arm-smm] 1 12527root 118 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 1 12528root 119 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 1 12529root 120 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 1 12530root 121 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 1 12531root 147 2 0 0 rescuer_thread 0 S [power_off_alarm] 1 12532root 148 2 0 0 kswapd 0 S [kswapd0] 1 12533root 149 2 0 0 rescuer_thread 0 S [vmstat] 1 12534root 150 2 0 0 fsnotify_mark_destroy 0 S [fsnotify_mark] 1 12535root 182 2 0 0 rescuer_thread 0 S [ad_calc_wq] 1 12536root 183 2 0 0 dsi_event_thread 0 D [mdss_dsi_event] 1 12537root 184 2 0 0 rescuer_thread 0 S [mdss_dsi_dba] 1 12538root 185 2 0 0 rescuer_thread 0 S [cwb_wq] 1 12539root 186 2 0 0 kthread_worker_fn 0 S [vsync_retire_wo] 1 12540root 187 2 0 0 rescuer_thread 0 S [cwb_wq] 1 12541root 189 2 0 0 rescuer_thread 0 S [glink_ssr_wq] 1 12542root 190 2 0 0 rescuer_thread 0 S [glink_lbsrv] 1 12543root 191 2 0 0 kthread_worker_fn 0 S [spi_wdsp] 1 12544root 192 2 0 0 kthread_worker_fn 0 S [wdsp_spi_glink_] 1 12545root 193 2 0 0 rescuer_thread 0 S [glink_xprt_wq] 1 12546root 194 2 0 0 rescuer_thread 0 S [IPCRTR_mpss_sme] 1 12547root 195 2 0 0 rescuer_thread 0 S [IPCRTR_lpass_sm] 1 12548root 196 2 0 0 rescuer_thread 0 S [IPCRTR_dsps_sme] 1 12549root 197 2 0 0 rescuer_thread 0 S [apr_driver] 1 12550root 198 2 0 0 rescuer_thread 0 S [glink_pkt_wq] 1 12551root 199 2 0 0 rescuer_thread 0 S [mem_share_svc] 1 12552root 200 2 0 0 rescuer_thread 0 S [qmi_hndl0000000] 2 12553root 201 2 0 0 rescuer_thread 0 S [msm_ipc_router] 2 12554root 202 2 0 0 irq_thread 0 S [irq/137-arm-smm] 2 12555root 203 2 0 0 rescuer_thread 0 S [qmi_svc_event_w] 2 12556root 204 2 0 0 rescuer_thread 0 S [servloc_wq] 2 12557root 205 2 0 0 kthread_worker_fn 0 S [tty_worker_thre] 2 12558root 206 2 0 0 kthread_worker_fn 0 S [tty_worker_thre] 2 12559root 207 2 0 0 kthread_worker_fn 0 S [tty_worker_thre] 2 12560root 208 2 0 0 kthread_worker_fn 0 S [tty_worker_thre] 2 12561root 209 2 0 0 rescuer_thread 0 S [k_hsuart] 2 12562root 210 2 0 0 kthread_worker_fn 0 S [msm_serial_hs_0] 2 12563root 211 2 0 0 kthread_worker_fn 0 S [msm_serial_hs_0] 2 12564root 212 2 0 0 add_hwgenerator_randomness 0 S [hwrng] 2 12565root 215 2 0 0 rescuer_thread 0 S [diag_real_time_] 2 12566root 216 2 0 0 rescuer_thread 0 S [diag_wq] 2 12567root 217 2 0 0 rescuer_thread 0 S [DIAG_USB_diag] 2 12568root 218 2 0 0 rescuer_thread 0 S [diag_cntl_wq] 2 12569root 219 2 0 0 rescuer_thread 0 S [diag_dci_wq] 2 12570root 220 2 0 0 rescuer_thread 0 S [DIAG_SMD_MODEM_] 2 12571root 221 2 0 0 rescuer_thread 0 S [DIAG_SMD_MODEM_] 2 12572root 222 2 0 0 rescuer_thread 0 S [DIAG_SMD_MODEM_] 2 12573root 223 2 0 0 rescuer_thread 0 S [DIAG_SMD_MODEM_] 2 12574root 224 2 0 0 rescuer_thread 0 S [DIAG_SMD_MODEM_] 2 12575root 225 2 0 0 rescuer_thread 0 S [DIAG_SMD_LPASS_] 2 12576root 226 2 0 0 rescuer_thread 0 S [DIAG_SMD_LPASS_] 2 12577root 227 2 0 0 rescuer_thread 0 S [DIAG_SMD_LPASS_] 2 12578root 228 2 0 0 rescuer_thread 0 S [DIAG_SMD_LPASS_] 2 12579root 229 2 0 0 rescuer_thread 0 S [DIAG_SMD_LPASS_] 2 12580root 230 2 0 0 rescuer_thread 0 S [DIAG_SMD_WCNSS_] 2 12581root 231 2 0 0 rescuer_thread 0 S [DIAG_SMD_WCNSS_] 2 12582root 232 2 0 0 rescuer_thread 0 S [DIAG_SMD_WCNSS_] 2 12583root 233 2 0 0 rescuer_thread 0 S [DIAG_SMD_WCNSS_] 2 12584root 234 2 0 0 rescuer_thread 0 S [DIAG_SMD_WCNSS_] 2 12585root 235 2 0 0 rescuer_thread 0 S [DIAG_SMD_SENSOR] 2 12586root 236 2 0 0 rescuer_thread 0 S [DIAG_SMD_SENSOR] 2 12587root 237 2 0 0 rescuer_thread 0 S [DIAG_SMD_SENSOR] 2 12588root 238 2 0 0 rescuer_thread 0 S [DIAG_SMD_SENSOR] 2 12589root 239 2 0 0 rescuer_thread 0 S [DIAG_SMD_SENSOR] 2 12590root 240 2 0 0 rescuer_thread 0 S [DIAG_SMD_DIAG_C] 2 12591root 241 2 0 0 rescuer_thread 0 S [DIAG_SMD_DIAG_D] 2 12592root 242 2 0 0 rescuer_thread 0 S [DIAG_SMD_DIAG_C] 2 12593root 243 2 0 0 rescuer_thread 0 S [DIAG_SMD_DIAG_D] 2 12594root 244 2 0 0 rescuer_thread 0 S [DIAG_SMD_DIAG_D] 2 12595root 245 2 0 0 rescuer_thread 0 S [DIAG_SMD_CDSP_C] 2 12596root 246 2 0 0 rescuer_thread 0 S [DIAG_SMD_CDSP_D] 2 12597root 247 2 0 0 rescuer_thread 0 S [DIAG_SMD_CDSP_C] 2 12598root 248 2 0 0 rescuer_thread 0 S [DIAG_SMD_CDSP_D] 2 12599root 249 2 0 0 rescuer_thread 0 S [DIAG_SMD_CDSP_D] 2 12600root 250 2 0 0 rescuer_thread 0 S [DIAG_SOCKMODEM_] 2 12601root 251 2 0 0 rescuer_thread 0 S [DIAG_SOCKMODEM_] 2 12602root 252 2 0 0 rescuer_thread 0 S [DIAG_SOCKMODEM_] 2 12603root 253 2 0 0 rescuer_thread 0 S [DIAG_SOCKMODEM_] 2 12604root 254 2 0 0 rescuer_thread 0 S [DIAG_SOCKMODEM_] 2 12605root 255 2 0 0 rescuer_thread 0 S [DIAG_SOCKLPASS_] 2 12606root 256 2 0 0 rescuer_thread 0 S [DIAG_SOCKLPASS_] 2 12607root 257 2 0 0 rescuer_thread 0 S [DIAG_SOCKLPASS_] 2 12608root 258 2 0 0 rescuer_thread 0 S [DIAG_SOCKLPASS_] 2 12609root 259 2 0 0 rescuer_thread 0 S [DIAG_SOCKLPASS_] 2 12610root 260 2 0 0 rescuer_thread 0 S [DIAG_SOCKWCNSS_] 2 12611root 261 2 0 0 rescuer_thread 0 S [DIAG_SOCKWCNSS_] 2 12612root 262 2 0 0 rescuer_thread 0 S [DIAG_SOCKWCNSS_] 2 12613root 263 2 0 0 rescuer_thread 0 S [DIAG_SOCKWCNSS_] 2 12614root 265 2 0 0 rescuer_thread 0 S [DIAG_SOCKWCNSS_] 2 12615root 266 2 0 0 rescuer_thread 0 S [DIAG_SOCKSENSOR] 2 12616root 267 2 0 0 rescuer_thread 0 S [DIAG_SOCKSENSOR] 2 12617root 268 2 0 0 rescuer_thread 0 S [DIAG_SOCKSENSOR] 2 12618root 269 2 0 0 rescuer_thread 0 S [DIAG_SOCKSENSOR] 2 12619root 270 2 0 0 rescuer_thread 0 S [DIAG_SOCKSENSOR] 2 12620root 271 2 0 0 rescuer_thread 0 S [DIAG_SOCKDIAG_C] 2 12621root 272 2 0 0 rescuer_thread 0 S [DIAG_SOCKDIAG_D] 2 12622root 273 2 0 0 rescuer_thread 0 S [DIAG_SOCKDIAG_C] 2 12623root 274 2 0 0 rescuer_thread 0 S [DIAG_SOCKDIAG_D] 2 12624root 275 2 0 0 rescuer_thread 0 S [DIAG_SOCKDIAG_D] 2 12625root 276 2 0 0 rescuer_thread 0 S [DIAG_SOCKCDSP_C] 2 12626root 277 2 0 0 rescuer_thread 0 S [DIAG_SOCKCDSP_D] 2 12627root 278 2 0 0 rescuer_thread 0 S [DIAG_SOCKCDSP_C] 2 12628root 279 2 0 0 rescuer_thread 0 S [DIAG_SOCKCDSP_D] 2 12629root 280 2 0 0 rescuer_thread 0 S [DIAG_SOCKCDSP_D] 2 12630root 281 2 0 0 rescuer_thread 0 S [DIAG_CNTL_SOCKE] 2 12631root 282 2 0 0 rescuer_thread 0 S [DIAG_GLINK_DIAG] 2 12632root 283 2 0 0 rescuer_thread 0 S [DIAG_GLINK_DIAG] 2 12633root 284 2 0 0 rescuer_thread 0 S [DIAG_GLINK_DIAG] 2 12634root 285 2 0 0 rescuer_thread 0 S [DIAG_GLINK_DIAG] 2 12635root 286 2 0 0 rescuer_thread 0 S [DIAG_GLINK_DIAG] 2 12636root 287 2 0 0 rescuer_thread 0 S [kgsl-workqueue] 2 12637root 288 2 0 0 rescuer_thread 0 S [kgsl-mementry] 2 12638root 289 2 0 0 kthread_worker_fn 0 S [kgsl_worker_thr] 2 12639root 290 2 0 0 rescuer_thread 0 S [kgsl-events] 2 12640root 291 2 0 0 rescuer_thread 0 S [kgsl_devfreq_wq] 2 12641root 292 2 0 0 rescuer_thread 0 S [bioset] 2 12642root 293 2 0 0 rescuer_thread 0 S [bioset] 2 12643root 294 2 0 0 rescuer_thread 0 S [bioset] 2 12644root 295 2 0 0 rescuer_thread 0 S [bioset] 2 12645root 296 2 0 0 rescuer_thread 0 S [bioset] 2 12646root 297 2 0 0 rescuer_thread 0 S [bioset] 2 12647root 298 2 0 0 rescuer_thread 0 S [bioset] 2 12648root 299 2 0 0 rescuer_thread 0 S [bioset] 2 12649root 300 2 0 0 rescuer_thread 0 S [bioset] 3 12650root 301 2 0 0 rescuer_thread 0 S [bioset] 3 12651root 302 2 0 0 rescuer_thread 0 S [bioset] 3 12652root 303 2 0 0 rescuer_thread 0 S [bioset] 3 12653root 304 2 0 0 rescuer_thread 0 S [bioset] 3 12654root 305 2 0 0 rescuer_thread 0 S [bioset] 3 12655root 307 2 0 0 rescuer_thread 0 S [bioset] 3 12656root 308 2 0 0 rescuer_thread 0 S [bioset] 3 12657root 309 2 0 0 rescuer_thread 0 S [bioset] 3 12658root 310 2 0 0 rescuer_thread 0 S [bioset] 3 12659root 311 2 0 0 rescuer_thread 0 S [bioset] 3 12660root 312 2 0 0 rescuer_thread 0 S [bioset] 3 12661root 313 2 0 0 rescuer_thread 0 S [bioset] 3 12662root 314 2 0 0 rescuer_thread 0 S [bioset] 3 12663root 315 2 0 0 rescuer_thread 0 S [bioset] 3 12664root 316 2 0 0 rescuer_thread 0 S [bioset] 3 12665root 317 2 0 0 rescuer_thread 0 S [bioset] 3 12666root 318 2 0 0 irq_thread 0 S [irq/286-soc:fp_] 3 12667root 319 2 0 0 rescuer_thread 0 S [memory_wq] 3 12668root 320 2 0 0 rescuer_thread 0 S [qcrypto_seq_res] 3 12669root 321 2 0 0 scsi_error_handler 0 S [scsi_eh_0] 3 12670root 322 2 0 0 rescuer_thread 0 S [scsi_tmf_0] 3 12671root 323 2 0 0 rescuer_thread 0 S [ufs_pm_qos_0] 3 12672root 324 2 0 0 rescuer_thread 0 S [ufs_clk_ungatin] 3 12673root 325 2 0 0 rescuer_thread 0 S [ufs_clkscaling_] 3 12674root 326 2 0 0 kthread_worker_fn 0 S [spi1] 3 12675root 327 2 0 0 kthread_worker_fn 0 S [spi2] 3 12676root 328 2 0 0 kthread_worker_fn 0 S [spi10] 3 12677root 329 2 0 0 rescuer_thread 0 S [bond0] 3 12678root 330 2 0 0 rescuer_thread 0 S [sharedmem_qmi_w] 3 12679root 331 2 0 0 rescuer_thread 0 S [qmi_hndl0000000] 3 12680root 335 2 0 0 rescuer_thread 0 S [uether] 3 12681root 336 2 0 0 rescuer_thread 0 S [k_ipa_usb] 3 12682root 341 2 0 0 irq_thread 0 S [irq/262-vl53l0_] 3 12683root 342 2 0 0 rescuer_thread 0 S [bioset] 3 12684root 343 2 0 0 rescuer_thread 0 S [bioset] 3 12685root 344 2 0 0 rescuer_thread 0 S [bioset] 3 12686root 345 2 0 0 rescuer_thread 0 S [bioset] 3 12687root 347 2 0 0 rescuer_thread 0 S [bioset] 3 12688root 348 2 0 0 rescuer_thread 0 S [bioset] 3 12689root 349 2 0 0 rescuer_thread 0 S [bioset] 3 12690root 350 2 0 0 rescuer_thread 0 S [bioset] 3 12691root 351 2 0 0 rescuer_thread 0 S [bioset] 3 12692root 355 2 0 0 rescuer_thread 0 S [msm_cci_wq] 3 12693root 356 2 0 0 rescuer_thread 0 S [msm_cci_wq] 3 12694root 357 2 0 0 rescuer_thread 0 S [msm_cpp_workque] 3 12695root 358 2 0 0 rescuer_thread 0 S [msm_vidc_worker] 3 12696root 359 2 0 0 rescuer_thread 0 S [pm_workerq_venu] 3 12697root 360 2 0 0 irq_thread 0 S [irq/158-arm-smm] 3 12698root 361 2 0 0 irq_thread 0 S [irq/159-arm-smm] 3 12699root 362 2 0 0 irq_thread 0 S [irq/160-arm-smm] 3 12700root 363 2 0 0 irq_thread 0 S [irq/161-arm-smm] 3 12701root 364 2 0 0 kthread_worker_fn 0 S [rot_commitq_0_0] 3 12702root 365 2 0 0 kthread_worker_fn 0 S [rot_commitq_0_1] 3 12703root 366 2 0 0 kthread_worker_fn 0 S [rot_doneq_0_0] 3 12704root 367 2 0 0 kthread_worker_fn 0 S [rot_doneq_0_1] 3 12705root 368 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 3 12706root 370 2 0 0 irq_thread 0 S [irq/500-chg-err] 3 12707root 371 2 0 0 irq_thread 0 S [irq/501-chg-sta] 3 12708root 372 2 0 0 irq_thread 0 S [irq/502-step-ch] 3 12709root 373 2 0 0 irq_thread 0 S [irq/503-step-ch] 3 12710root 374 2 0 0 irq_thread 0 S [irq/504-step-ch] 3 12711root 375 2 0 0 irq_thread 0 S [irq/505-otg-fai] 3 12712root 376 2 0 0 irq_thread 0 S [irq/506-otg-ove] 3 12713root 377 2 0 0 irq_thread 0 S [irq/507-otg-oc-] 3 12714root 378 2 0 0 irq_thread 0 S [irq/508-testmod] 3 12715root 379 2 0 0 irq_thread 0 S [irq/509-bat-tem] 3 12716root 380 2 0 0 irq_thread 0 S [irq/510-bat-ocp] 3 12717root 381 2 0 0 irq_thread 0 S [irq/511-bat-ov] 3 12718root 382 2 0 0 irq_thread 0 S [irq/512-bat-low] 3 12719root 383 2 0 0 irq_thread 0 S [irq/513-bat-the] 3 12720root 384 2 0 0 irq_thread 0 S [irq/514-bat-ter] 3 12721root 385 2 0 0 irq_thread 0 S [irq/515-usbin-c] 3 12722root 386 2 0 0 irq_thread 0 S [irq/516-usbin-l] 3 12723root 387 2 0 0 irq_thread 0 S [irq/517-usbin-u] 3 12724root 388 2 0 0 irq_thread 0 S [irq/518-usbin-o] 3 12725root 389 2 0 0 irq_thread 0 S [irq/519-usbin-p] 3 12726root 390 2 0 0 irq_thread 0 S [irq/520-usbin-s] 3 12727root 391 2 0 0 irq_thread 0 S [irq/521-usbin-i] 3 12728root 392 2 0 0 irq_thread 0 S [irq/522-type-c-] 3 12729root 393 2 0 0 irq_thread 0 S [irq/523-dcin-co] 3 12730root 394 2 0 0 irq_thread 0 S [irq/524-dcin-lt] 3 12731root 395 2 0 0 irq_thread 0 S [irq/525-dcin-uv] 3 12732root 396 2 0 0 irq_thread 0 S [irq/526-dcin-ov] 3 12733root 397 2 0 0 irq_thread 0 S [irq/527-dcin-pl] 3 12734root 398 2 0 0 irq_thread 0 S [irq/528-div2-en] 3 12735root 399 2 0 0 irq_thread 0 S [irq/529-dcin-ic] 3 12736root 400 2 0 0 irq_thread 0 S [irq/532-aicl-fa] 4 12737root 401 2 0 0 irq_thread 0 S [irq/533-aicl-do] 4 12738root 402 2 0 0 irq_thread 0 S [irq/534-high-du] 4 12739root 403 2 0 0 irq_thread 0 S [irq/535-input-c] 4 12740root 404 2 0 0 irq_thread 0 S [irq/536-tempera] 4 12741root 405 2 0 0 irq_thread 0 S [irq/537-switche] 4 12742root 406 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 4 12743root 407 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 4 12744root 409 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 4 12745root 410 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 4 12746root 411 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 4 12747root 412 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 4 12748root 413 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 4 12749root 414 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 4 12750root 415 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 4 12751root 416 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 4 12752root 417 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 4 12753root 418 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 4 12754root 419 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 4 12755root 420 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 4 12756root 421 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 4 12757root 422 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 4 12758root 423 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 4 12759root 424 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 4 12760root 425 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 4 12761root 426 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 4 12762root 427 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 4 12763root 428 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 4 12764root 429 2 0 0 irq_thread 0 S [irq/59-tsens_in] 4 12765root 430 2 0 0 irq_thread 0 S [irq/62-tsens_cr] 4 12766root 431 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 4 12767root 432 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 4 12768root 433 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 4 12769root 434 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 4 12770root 435 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 4 12771root 436 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 4 12772root 437 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 4 12773root 438 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 4 12774root 439 2 0 0 irq_thread 0 S [irq/63-tsens_in] 4 12775root 440 2 0 0 irq_thread 0 S [irq/64-tsens_cr] 4 12776root 441 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 4 12777root 442 2 0 0 irq_thread 0 S [irq/366-limits_] 4 12778root 443 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 4 12779root 444 2 0 0 irq_thread 0 S [irq/367-limits_] 4 12780root 445 2 0 0 rescuer_thread 0 S [dm_bufio_cache] 4 12781root 446 2 0 0 cpufreq_interactive_speedchange_task 0 S [cfinteractive] 4 12782root 447 2 0 0 irq_thread 0 S [irq/291-bcm1560] 4 12783root 448 2 0 0 irq_thread 0 S [irq/226-bcm1560] 4 12784root 449 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 4 12785root 451 2 0 0 irq_thread 0 S [irq/197-spdm_bw] 4 12786root 452 2 0 0 rescuer_thread 0 S [binder] 4 12787root 453 2 0 0 irq_thread 0 S [irq/144-arm-smm] 4 12788root 454 2 0 0 rescuer_thread 0 S [uaudio_svc] 4 12789root 455 2 0 0 rescuer_thread 0 S [qmi_hndl0000000] 4 12790root 456 2 0 0 rescuer_thread 0 S [ipv6_addrconf] 4 12791root 458 2 0 0 irq_thread 0 S [irq/574-adsp] 4 12792root 459 2 0 0 rescuer_thread 0 S [sysmon_wq] 4 12793root 460 2 0 0 irq_thread 0 S [irq/606-slpi] 4 12794root 461 2 0 0 irq_thread 0 S [irq/542-modem] 4 12795root 465 2 0 0 rescuer_thread 0 S [usb_bam_wq] 4 12796root 466 2 0 0 irq_thread 0 S [irq/19-sig-tx] 4 12797root 467 2 0 0 irq_thread 0 S [irq/20-sig-rx] 4 12798root 468 2 0 0 irq_thread 0 S [irq/22-msg-rx] 4 12799root 469 2 0 0 rescuer_thread 0 S [usbpd0] 4 12800root 470 2 0 0 rescuer_thread 0 S [usbpd0] 4 12801root 471 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 4 12802root 472 2 0 0 irq_thread 0 S [irq/734-soc-upd] 4 12803root 473 2 0 0 irq_thread 0 S [irq/735-soc-rea] 4 12804root 474 2 0 0 irq_thread 0 S [irq/736-bsoc-de] 4 12805root 475 2 0 0 irq_thread 0 S [irq/737-msoc-de] 4 12806root 476 2 0 0 irq_thread 0 S [irq/738-msoc-lo] 4 12807root 477 2 0 0 irq_thread 0 S [irq/739-msoc-em] 4 12808root 478 2 0 0 irq_thread 0 S [irq/740-msoc-hi] 4 12809root 479 2 0 0 irq_thread 0 S [irq/741-msoc-fu] 4 12810root 480 2 0 0 irq_thread 0 S [irq/742-vbatt-p] 4 12811root 481 2 0 0 irq_thread 0 S [irq/743-vbatt-l] 4 12812root 482 2 0 0 irq_thread 0 S [irq/744-esr-del] 4 12813root 483 2 0 0 irq_thread 0 S [irq/745-batt-mi] 4 12814root 484 2 0 0 irq_thread 0 S [irq/746-batt-te] 4 12815root 485 2 0 0 irq_thread 0 S [irq/747-ima-rdy] 4 12816root 486 2 0 0 irq_thread 0 S [irq/748-mem-xcp] 4 12817root 487 2 0 0 irq_thread 0 S [irq/749-dma-gra] 4 12818root 489 2 0 0 irq_thread 0 S [irq/54-hs_phy_i] 4 12819root 490 2 0 0 irq_thread 0 S [irq/55-ss_phy_i] 4 12820root 491 2 0 0 irq_thread 0 S [irq/56-msm_dwc3] 4 12821root 494 2 0 0 irq_thread 0 S [irq/36-ARM64 pr] 4 12822root 495 2 0 0 irq_thread 0 S [irq/37-ARM64 se] 4 12823root 496 2 0 0 irq_thread 0 S [irq/39-ARM64 pr] 4 12824root 497 2 0 0 irq_thread 0 S [irq/40-ARM64 se] 4 12825root 498 2 0 0 rescuer_thread 0 S [rq_stats] 4 12826root 499 2 0 0 irq_thread 0 S [irq/145-arm-smm] 4 12827root 500 2 0 0 irq_thread 0 S [irq/146-arm-smm] 5 12828root 501 2 0 0 irq_thread 0 S [irq/147-arm-smm] 5 12829root 502 2 0 0 irq_thread 0 S [irq/148-arm-smm] 5 12830root 503 2 0 0 irq_thread 0 S [irq/149-arm-smm] 5 12831root 504 2 0 0 irq_thread 0 S [irq/150-arm-smm] 5 12832root 505 2 0 0 irq_thread 0 S [irq/151-arm-smm] 5 12833root 506 2 0 0 irq_thread 0 S [irq/152-arm-smm] 5 12834root 507 2 0 0 kthread_worker_fn 0 S [set_state_work] 5 12835root 508 2 0 0 irq_thread 0 S [irq/227-mnh-rea] 5 12836root 510 2 0 0 irq_thread 0 S [irq/751-mnh_pci] 5 12837root 511 2 0 0 irq_thread 0 S [irq/752-mnh_pci] 5 12838root 512 2 0 0 irq_thread 0 S [irq/753-mnh_pci] 5 12839root 513 2 0 0 irq_thread 0 S [irq/754-mnh_pci] 5 12840root 514 2 0 0 irq_thread 0 S [irq/755-mnh_pci] 5 12841root 515 2 0 0 irq_thread 0 S [irq/758-mnh_pci] 5 12842root 516 2 0 0 irq_thread 0 S [irq/759-mnh_pci] 5 12843root 517 2 0 0 irq_thread 0 S [irq/128-arm-smm] 5 12844root 518 2 0 0 rescuer_thread 0 S [sb-1] 5 12845root 519 2 0 0 ngd_slim_rx_msgq_thread 0 S [ngd_rx_thread1] 5 12846root 520 2 0 0 ngd_notify_partners 0 S [ngd_notify_sl1] 5 12847root 521 2 0 0 rescuer_thread 0 S [sb-3] 5 12848root 522 2 0 0 ngd_slim_rx_msgq_thread 0 S [ngd_rx_thread3] 5 12849root 523 2 0 0 ngd_notify_partners 0 S [ngd_notify_sl3] 5 12850root 525 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 5 12851root 526 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 5 12852root 527 2 0 0 sensor_sysfs_notify 0 S [therm_core:noti] 5 12853root 528 2 0 0 irq_thread 0 S [irq/66-lmh-inte] 5 12854root 529 2 0 0 irq_thread 0 S [irq/28-qpnp_fla] 5 12855root 530 2 0 0 irq_thread 0 S [irq/27-qpnp_fla] 5 12856root 531 2 0 0 irq_thread 0 S [irq/26-qpnp_fla] 5 12857root 532 2 0 0 worker_thread 0 S [kworker/6:1H] 5 12858root 533 2 0 0 worker_thread 0 S [kworker/5:1H] 5 12859root 534 2 0 0 worker_thread 0 S [kworker/7:1H] 5 12860root 535 2 0 0 rescuer_thread 0 S [ext4-rsv-conver] 5 12861root 536 2 0 0 worker_thread 0 S [kworker/4:1H] 5 12862root 537 2 0 0 kjournald2 0 S [jbd2/sdd3-8] 5 12863root 538 2 0 0 rescuer_thread 0 S [ext4-rsv-conver] 5 12864root 539 2 0 0 rescuer_thread 0 S [ext4-rsv-conver] 5 12865root 542 1 6760 680 do_sys_poll 54e580 S init init 12866root 543 1 6504 976 do_sys_poll 54e580 S ueventd init 12867root 545 2 0 0 worker_thread 0 S [kworker/0:1H] 5 12868root 550 2 0 0 irq_thread 0 S [irq/760-synapti] 5 12869root 551 2 0 0 rescuer_thread 0 S [dsx_rebuild_wor] 5 12870root 552 2 0 0 rescuer_thread 0 S [dsx_exp_workque] 5 12871root 556 2 0 0 rescuer_thread 0 S [batt_timer] 5 12872system 566 1 12844 1724 do_wait 7bede320a8 S qseecomd qseecomd 12873root 567 2 0 0 kthread_worker_fn 0 S [sugov:0] 5 12874root 568 2 0 0 kthread_worker_fn 0 S [sugov:4] 5 12875system 570 1 2128484 4792 binder_ioctl_write_read 7428db1040 S hwservicemanager hwservicemanager 12876logd 571 1 32436 11256 SyS_rt_sigsuspend 7f4ccf3118 S logd logd 12877system 572 1 11568 1988 binder_ioctl_write_read 7092531040 S servicemanager servicemanager 12878system 573 1 12280 1840 binder_ioctl_write_read 769d032040 S vndservicemanager vndservicemanager 12879system 574 566 18848 596 SyS_rt_sigsuspend 7bede31118 S qseecomd qseecomd 12880root 584 2 0 0 kauditd_thread 0 S [kauditd] 5 12881root 586 1 14496 2604 binder_ioctl_write_read 7f49272040 S android.hardware.boot@1.0-service android.hardware.boot@1.0-service 12882system 587 1 15624 2592 binder_ioctl_write_read 7929071040 S android.hardware.gatekeeper@1.0-service-qti android.hardware.gatekeeper@1.0-service-qti 12883system 588 1 15884 2624 binder_ioctl_write_read 7496432040 S android.hardware.keyprimary@3.0-service-qti android.hardware.keyprimary@3.0-service-qti 12884system 589 1 2128880 2628 binder_ioctl_write_read 7aa5cf0040 S android.hardware.keyprimary@4.0-service android.hardware.keyprimary@4.0-service 12885system 591 1 2190084 20996 SyS_epoll_wait 7d3a2f0f50 S surfaceflinger surfaceflinger 12886system 593 1 47308 5784 binder_ioctl_write_read 79c60f0040 S android.hardware.graphics.composer@2.1-service android.hardware.graphics.composer@2.1-service 12887system 594 1 18484 2708 binder_ioctl_write_read 79f41b0040 S android.hardware.configstore@1.0-service android.hardware.configstore@1.0-service 12888system 595 1 22124 3156 binder_ioctl_write_read 7c5b5f3040 S android.hardware.graphics.allocator@2.0-service android.hardware.graphics.allocator@2.0-service 12889root 612 2 0 0 kjournald2 0 S [jbd2/sda45-8] 6 12890root 613 2 0 0 rescuer_thread 0 S [ext4-rsv-conver] 6 12891system 616 1 23496 1812 futex_wait_queue_me 6ff4460bb0 S time_daemon time_daemon 12892root 617 1 31600 4156 binder_ioctl_write_read 7c864f1040 S vold vold 12893root 619 2 0 0 __mdss_fb_display_thread 0 D [mdss_fb0] 6 12894root 635 2 0 0 irq_thread 0 S [irq/177-arm-smm] 6 12895root 636 2 0 0 irq_thread 0 S [irq/178-arm-smm] 6 12896root 642 2 0 0 rescuer_thread 0 S [dsps_IPCRTR] 6 12897root 643 2 0 0 rescuer_thread 0 S [fwu_workqueue] 6 12898root 647 2 0 0 rescuer_thread 0 S [lpass_IPCRTR] 6 12899root 648 2 0 0 rescuer_thread 0 S [qmi_hndl0000000] 6 12900root 663 2 0 0 worker_thread 0 S [kworker/2:1H] 6 12901root 671 2 0 0 diag_socket_read 0 S [kworker/u16:7] 6 12902root 672 2 0 0 rescuer_thread 0 S [qmi_hndl0000000] 6 12903root 673 2 0 0 kthread_worker_fn 0 S [msm_slim_qmi_cl] 6 12904root 674 2 0 0 kthread_worker_fn 0 S [msm_slim_qmi_cl] 6 12905root 675 2 0 0 rescuer_thread 0 S [qmi_hndl0000000] 6 12906root 676 2 0 0 rescuer_thread 0 S [qmi_hndl0000000] 6 12907root 678 2 0 0 irq_thread 0 S [irq/153-arm-smm] 6 12908root 685 1 2152164 4656 binder_ioctl_write_read 75b8931040 S netd netd 12909root 693 685 9800 1704 pipe_read 7dcd573a78 S iptables-restore iptables 12910root 694 685 9816 1816 pipe_read 7823af2a78 S ip6tables-restore ip6tables 12911root 702 1 4232768 64428 do_sys_poll 726d72f070 S zygote64 app_process64 12912root 703 1 1554860 50068 do_sys_poll f08df828 S zygote app_process32 12913root 704 2 0 0 rescuer_thread 0 S [cds_recovery_wo] 7 12914root 705 2 0 0 wlan_logging_thread 0 S [wlan_logging_th] 7 12915root 722 2 0 0 rescuer_thread 0 S [at_usb0] 7 12916root 723 2 0 0 rescuer_thread 0 S [at_usb1] 7 12917root 724 2 0 0 rescuer_thread 0 S [qdss] 7 12918root 729 1 14500 2980 SyS_epoll_wait 7e95172f50 S healthd healthd 12919root 730 1 97112 2464 SyS_rt_sigsuspend 7711df2118 S thermal-engine thermal-engine 12920system 731 1 14152 2980 binder_ioctl_write_read 6fc03b2040 S android.hidl.allocator@1.0-service android.hidl.allocator@1.0-service 12921system 732 1 27592 4004 binder_ioctl_write_read 7229ab0040 S vr_hwc vr_hwc 12922audioserver 733 1 33344 8364 binder_ioctl_write_read eb95c790 S android.hardware.audio@2.0-service android.hardware.audio@2.0-service 12923bluetooth 734 1 17192 2460 binder_ioctl_write_read 7c2982f040 S android.hardware.bluetooth@1.0-service android.hardware.bluetooth@1.0-service 12924root 735 2 0 0 irq_thread 0 S [irq/254-wcd9xxx] 7 12925cameraserver 736 1 175308 43668 binder_ioctl_write_read e8d17790 S android.hardware.camera.provider@2.4-service android.hardware.camera.provider@2.4-service 12926media 737 1 12964 2448 binder_ioctl_write_read f0d9d790 S android.hardware.cas@1.0-service android.hardware.cas@1.0-service 12927system 738 1 2126332 2808 binder_ioctl_write_read 7f79d33040 S android.hardware.contexthub@1.0-service android.hardware.contexthub@1.0-service 12928media 739 1 15068 2652 binder_ioctl_write_read ec95a790 S android.hardware.drm@1.0-service android.hardware.drm@1.0-service 12929media 740 1 16324 2352 binder_ioctl_write_read f2217790 S android.hardware.drm@1.0-service.widevine android.hardware.drm@1.0-service.widevine 12930media 741 1 25876 2636 binder_ioctl_write_read 7479870040 S android.hardware.drm@1.1-service.clearkey android.hardware.drm@1.1-service.clearkey 12931system 742 1 13928 2596 binder_ioctl_write_read 75110b1040 S android.hardware.dumpstate@1.0-service.wahoo android.hardware.dumpstate@1.0-service.wahoo 12932gps 743 1 41836 4144 binder_ioctl_write_read 75ac5f2040 S android.hardware.gnss@1.0-service-qti android.hardware.gnss@1.0-service-qti 12933system 744 1 14136 2792 SyS_epoll_wait 7323b71f50 S android.hardware.health@2.0-service.wahoo android.hardware.health@2.0-service.wahoo 12934system 745 1 14168 2600 binder_ioctl_write_read 75ac42f040 S android.hardware.light@2.0-service android.hardware.light@2.0-service 12935system 748 1 14168 2680 binder_ioctl_write_read 7947eb3040 S android.hardware.memtrack@1.0-service android.hardware.memtrack@1.0-service 12936system 756 1 80480 4308 binder_ioctl_write_read 718b570040 S android.hardware.neuralnetworks@1.0-service-hvx android.hardware.neuralnetworks@1.0-service-hvx 12937nfc 759 1 2125748 2652 binder_ioctl_write_read 7b6d2f3040 S android.hardware.nfc@1.0-service android.hardware.nfc@1.0-service 12938system 760 1 13908 2544 binder_ioctl_write_read 73fe2ef040 S android.hardware.oemlock@1.0-service android.hardware.oemlock@1.0-service 12939root 761 1 11256 1564 __skb_recv_datagram 71ff530ed8 S oemlock-bridge oemlock-bridge 12940system 773 1 18736 2896 binder_ioctl_write_read 7568871040 S android.hardware.power@1.2-service.wahoo-libperfmgr android.hardware.power@1.2-service.wahoo-libperfmgr 12941system 778 1 70168 3420 binder_ioctl_write_read 72b4db3040 S android.hardware.sensors@1.0-service android.hardware.sensors@1.0-service 12942root 787 1 19788 2760 binder_ioctl_write_read 77a0371040 S android.hardware.usb@1.1-service.wahoo android.hardware.usb@1.1-service.wahoo 12943system 793 1 14448 2560 binder_ioctl_write_read 72cb372040 S android.hardware.vibrator@1.2-service.wahoo android.hardware.vibrator@1.2-service.wahoo 12944system 802 1 13780 2524 binder_ioctl_write_read 7827330040 S android.hardware.vr@1.0-service.wahoo android.hardware.vr@1.0-service.wahoo 12945wifi 807 1 2126104 2596 binder_ioctl_write_read 713cc31040 S android.hardware.wifi.offload@1.0-service android.hardware.wifi.offload@1.0-service 12946wifi 812 1 17460 2600 binder_ioctl_write_read 7278a70040 S android.hardware.wifi@1.0-service android.hardware.wifi@1.0-service 12947ese 813 1 14848 2592 binder_ioctl_write_read 790a0b1040 S esed esed 12948root 816 1 11132 1964 do_sys_poll 78de52f070 S msm_irqbalance msm_irqbalance 12949system 819 1 28116 1848 do_sigtimedwait 72b45ef130 S pm-service pm-service 12950system 825 1 28184 1940 futex_wait_queue_me 7a3c15fbb0 S sensors.qcom sensors.qcom 12951nobody 827 1 50580 1940 do_select 7526bb3088 S rmt_storage rmt_storage 12952system 828 1 13780 1952 do_sys_poll 7f205f3070 S tftp_server tftp_server 12953system 829 1 17340 1772 hrtimer_nanosleep 70455b1958 S pd-mapper pd-mapper 12954audioserver 830 1 105732 12004 binder_ioctl_write_read f3d5e790 S audioserver audioserver 12955system 831 1 20132 3332 SyS_epoll_wait 7f62bf2f50 S bufferhubd bufferhubd 12956root 835 1 9948 1760 SyS_epoll_wait 79a1531f50 S lmkd lmkd 12957system 836 1 14796 2252 SyS_epoll_wait 74f1f31f50 S performanced performanced 12958system 837 1 22464 3296 binder_ioctl_write_read 7e55a32040 S thermalserviced thermalserviced 12959system 838 1 18656 2732 binder_ioctl_write_read 753d3b1040 S virtual_touchpad virtual_touchpad 12960root 854 2 0 0 do_freq_mitigation 0 S [msm_thermal:fre] 8 12961root 859 2 0 0 do_thermal_monitor 0 S [msm_thermal:the] 8 12962root 865 2 0 0 rescuer_thread 0 S [qmi_hndl0000000] 8 12963root 873 2 0 0 rescuer_thread 0 S [modem] 8 12964system 874 1 19824 1808 hrtimer_nanosleep 70e9230958 S pm-proxy pm-proxy 12965root 879 1 11132 1504 do_sys_poll 72e4732070 S subsystem_ramdump subsystem_ramdump 12966nobody 882 1 10724 1312 do_sys_poll 7c2e9f0070 S traced traced 12967nobody 883 1 10724 1376 do_sys_poll 7c38fb3070 S traced_probes traced_probes 12968media 884 1 15272 1476 do_sys_poll 71fb172070 S adsprpcd adsprpcd 12969system 885 1 16940 1752 do_select 7a5adf0088 S imsqmidaemon imsqmidaemon 12970radio 890 1 2136736 2944 SyS_epoll_wait 749d2eef50 S cnd cnd 12971root 892 2 0 0 worker_thread 0 S [kworker/3:1H] 8 12972radio 893 1 2224936 4084 __skb_recv_datagram 799ea71ed8 S netmgrd netmgrd 12973radio 897 1 14636 1504 futex_wait_queue_me 71ac21ebb0 S port-bridge port-bridge 12974radio 898 1 23196 2572 futex_wait_queue_me 6fc2adfbb0 S ipacm ipacm 12975radio 899 1 2131244 1928 do_select 77cb1f1088 S qti qti 12976cameraserver 900 1 41196 7776 binder_ioctl_write_read f4ad9790 S cameraserver cameraserver 12977drm 901 1 20448 3668 binder_ioctl_write_read f69e2790 S drmserver drmserver 12978incidentd 902 1 22208 3244 SyS_epoll_wait 74750b1f50 S incidentd incidentd 12979root 903 1 30680 4936 binder_ioctl_write_read 71da631040 S installd installd 12980keystore 904 1 2135744 4528 binder_ioctl_write_read 7810832040 S keystore keystore 12981media 905 1 12236 2412 binder_ioctl_write_read ec697790 S mediadrmserver mediadrmserver 12982mediaex 906 1 2188528 11032 binder_ioctl_write_read 7301372040 S media.extractor mediaextractor 12983media 907 1 2147172 7372 binder_ioctl_write_read 7b8eb2f040 S media.metrics mediametrics 12984media 908 1 81888 7112 binder_ioctl_write_read f16e1790 S mediaserver mediaserver 12985statsd 909 1 26740 4384 SyS_epoll_wait 79c772ff50 S statsd statsd 12986root 911 1 26400 6004 binder_ioctl_write_read 72667ef040 S storaged storaged 12987wifi 912 1 20180 3640 SyS_epoll_wait 7b337eff50 S wificond wificond 12988mediacodec 914 1 122448 11668 binder_ioctl_write_read ee31e790 S media.codec android.hardware.media.omx@1.0-service 12989radio 917 1 111948 10012 binder_ioctl_write_read 72b02b0040 S rild rild 12990system 920 1 2165108 10608 SyS_epoll_wait 764ad32f50 S folio_daemon folio_daemon 12991root 921 2 0 0 rescuer_thread 0 S [ipawq15] 9 12992root 922 2 0 0 rescuer_thread 0 S [iparepwq15] 9 12993system 923 1 28496 2004 do_sys_poll 78c99f1070 S cnss-daemon cnss-daemon 12994gps 924 1 14812 2000 SyS_rt_sigsuspend 7bf85f1118 S loc_launcher loc_launcher 12995system 925 1 18596 2720 do_sys_poll 700daef070 S chre chre 12996system 926 1 2134120 4260 binder_ioctl_write_read 78699b0040 S gatekeeperd gatekeeperd 12997root 927 1 20516 3032 binder_ioctl_write_read 705e8f2040 S perfprofd perfprofd 12998tombstoned 929 1 9636 1144 SyS_epoll_wait 7e365eff50 S tombstoned tombstoned 12999root 932 1 27424 4604 SyS_epoll_wait 7a3b232f50 S update_engine update_engine 13000system 935 1 19292 2540 binder_ioctl_write_read 75105b2040 S android.hardware.biometrics.fingerprint@2.1-service.fpc android.hardware.biometrics.fingerprint@2.1-service.fpc 13001root 938 2 0 0 rescuer_thread 0 S [ipawq48] 9 13002root 942 2 0 0 rescuer_thread 0 S [iparepwq48] 9 13003system 950 1 2138472 3232 do_select 7bd7070088 S imsdatadaemon imsdatadaemon 13004root 969 2 0 0 rescuer_thread 0 S [ipawq13] 9 13005root 985 2 0 0 rescuer_thread 0 S [iparepwq13] 9 13006root 1002 2 0 0 rescuer_thread 0 S [ipa_A7_svc] 1 13007root 1012 2 0 0 rescuer_thread 0 S [qmi_hndl0000000] 1 13008root 1016 2 0 0 rescuer_thread 0 S [clnt_req] 1 13009root 1017 2 0 0 rescuer_thread 0 S [clnt_req] 1 13010root 1021 2 0 0 rescuer_thread 0 S [clnt_resp] 1 13011root 1116 2 0 0 rescuer_thread 0 S [wdsp_glink_wq] 1 13012system 1151 702 4777040 279108 SyS_epoll_wait 726d72ef50 S system_server app_process64 13013root 1199 2 0 0 rescuer_thread 0 S [mpss_IPCRTR] 1 13014root 1201 2 0 0 rescuer_thread 0 S [qmi_hndl0000000] 1 13015root 1202 2 0 0 rescuer_thread 0 S [qmi_hndl0000000] 1 13016root 1219 2 0 0 irq_thread 0 S [irq/157-arm-smm] 1 13017root 1220 2 0 0 irq_thread 0 S [irq/162-arm-smm] 1 13018root 1246 2 0 0 rescuer_thread 0 S [qmi_hndl0000000] 1 13019root 1304 2 0 0 worker_thread 0 S [kworker/1:1H] 1 13020root 1305 2 0 0 rescuer_thread 0 S [qmi_hndl0000000] 1 13021root 1382 2 0 0 rescuer_thread 0 S [ipawq14] 1 13022root 1383 2 0 0 rescuer_thread 0 S [iparepwq14] 1 13023root 1384 2 0 0 rescuer_thread 0 S [ipawq49] 1 13024root 1385 2 0 0 rescuer_thread 0 S [iparepwq49] 1 13025radio 1452 702 3654372 39588 SyS_epoll_wait 726d72ef50 S com.google.modemservice app_process64 13026u0_a68 1469 702 3784488 107960 SyS_epoll_wait 726d72ef50 S com.android.systemui app_process64 13027u0_a98 1529 702 3776304 122116 SyS_epoll_wait 726d72ef50 S com.breel.wallpapers app_process64 13028gps 1536 924 2130620 2588 futex_wait_queue_me 7ed79a2bb0 S lowi-server lowi-server 13029gps 1538 924 29112 3884 __skb_recv_datagram 736d8b2ed8 S xtra-daemon xtra-daemon 13030radio 1554 702 3655740 41320 SyS_epoll_wait 726d72ef50 S com.qualcomm.qcrilmsgtunnel app_process64 13031system 1651 702 3663924 44044 SyS_epoll_wait 726d72ef50 S .dataservices app_process64 13032radio 1666 702 3655692 40460 SyS_epoll_wait 726d72ef50 S com.qualcomm.qti.telephonyservice app_process64 13033radio 1678 702 3731184 64404 SyS_epoll_wait 726d72ef50 S com.android.phone app_process64 13034u0_a24 1798 702 3661228 44208 SyS_epoll_wait 726d72ef50 S com.google.android.ext.services app_process64 13035root 2107 2 0 0 irq_thread 0 S [irq/35-1008000.] 2 13036nfc 2195 702 3678748 51572 SyS_epoll_wait 726d72ef50 S com.android.nfc app_process64 13037u0_a10 2213 702 3670936 49256 SyS_epoll_wait 726d72ef50 S com.google.intelligence.sense app_process64 13038radio 2224 702 3658520 44856 SyS_epoll_wait 726d72ef50 S com.android.ims.rcsservice app_process64 13039system 2243 702 3655528 37844 SyS_epoll_wait 726d72ef50 S com.google.SSRestartDetector app_process64 13040u0_a19 2279 702 3777816 109604 SyS_epoll_wait 726d72ef50 S com.google.android.apps.nexuslauncher app_process64 13041u0_a125 2305 702 3666628 45068 SyS_epoll_wait 726d72ef50 S com.google.vr.vrcore app_process64 13042u0_a56 2332 702 3674796 53836 SyS_epoll_wait 726d72ef50 S com.google.android.apps.pixelmigrate app_process64 13043u0_a58 2354 702 3670496 50224 SyS_epoll_wait 726d72ef50 S com.google.android.setupwizard app_process64 13044u0_a21 2371 703 983924 39124 SyS_epoll_wait f08df650 S com.google.android.apps.miphone.aiai app_process32 13045u0_a40 2462 702 3930224 103512 SyS_epoll_wait 726d72ef50 S com.google.android.gms app_process64 13046u0_a40 2484 702 3770604 91132 SyS_epoll_wait 726d72ef50 S com.google.android.gms.persistent app_process64 13047system 3993 702 3657372 38572 SyS_epoll_wait 726d72ef50 S com.qualcomm.telephony app_process64 13048root 4295 1 21564 1484 do_sys_poll 4ae5b0 S adbd adbd 13049root 15030 2 0 0 worker_thread 0 S [kworker/4:1] 1 13050u0_a55 16104 702 3656652 44524 SyS_epoll_wait 726d72ef50 S com.android.defcontainer app_process64 13051root 16505 2 0 0 worker_thread 0 S [kworker/u17:0] 1 13052root 18709 2 0 0 worker_thread 0 S [kworker/3:3] 1 13053root 19512 2 0 0 worker_thread 0 S [kworker/5:1] 1 13054u0_a30 21587 702 3658124 42968 SyS_epoll_wait 726d72ef50 S com.google.android.apps.turbo app_process64 13055u0_a75 21768 702 3657340 40988 SyS_epoll_wait 726d72ef50 S com.google.android.partnersetup app_process64 13056u0_a40 21787 702 3671796 45060 SyS_epoll_wait 726d72ef50 S com.google.process.gservices app_process64 13057root 23038 2 0 0 worker_thread 0 S [kworker/3:2] 2 13058root 23393 2 0 0 worker_thread 0 S [kworker/5:3] 2 13059root 24384 2 0 0 worker_thread 0 S [kworker/4:2] 2 13060root 24428 2 0 0 worker_thread 0 S [kworker/1:0] 2 13061root 24572 2 0 0 worker_thread 0 S [kworker/6:0] 2 13062u0_a47 24879 702 4319796 48404 SyS_epoll_wait 726d72ef50 S com.verizon.mips.services app_process64 13063root 24931 2 0 0 worker_thread 0 S [kworker/2:1] 2 13064root 25152 2 0 0 worker_thread 0 S [kworker/7:2] 2 13065root 25203 2 0 0 worker_thread 0 S [kworker/0:4] 2 13066root 25230 2 0 0 worker_thread 0 S [kworker/2:0] 2 13067root 25246 2 0 0 worker_thread 0 S [kworker/7:0] 2 13068root 25362 2 0 0 worker_thread 0 S [kworker/u16:4] 2 13069root 25366 2 0 0 worker_thread 0 S [kworker/0:2] 2 13070root 25390 2 0 0 worker_thread 0 S [kworker/1:2] 2 13071root 25518 2 0 0 worker_thread 0 S [kworker/u16:6] 2 13072root 25647 2 0 0 0 0 S [kworker/6:1] 2 13073root 25664 2 0 0 worker_thread 0 S [kworker/u16:1] 2 13074root 25796 2 0 0 worker_thread 0 S [kworker/0:1] 2 13075root 25814 2 0 0 worker_thread 0 S [kworker/u16:3] 2 13076root 25819 2 0 0 worker_thread 0 S [kworker/3:0] 2 13077root 25823 2 0 0 worker_thread 0 S [kworker/2:2] 2 13078root 25933 2 0 0 worker_thread 0 S [kworker/6:2] 2 13079root 25946 2 0 0 worker_thread 0 S [kworker/1:1] 2 13080root 25950 2 0 0 worker_thread 0 S [kworker/0:3] 2 13081root 25966 2 0 0 worker_thread 0 S [kworker/u16:5] 2 13082root 26081 2 0 0 worker_thread 0 S [kworker/2:3] 2 13083root 26106 2 0 0 worker_thread 0 S [kworker/4:0] 2 13084system 26142 702 3652332 39880 SyS_epoll_wait 726d72ef50 S com.android.keychain app_process64 13085u0_a46 26181 702 3660768 47288 SyS_epoll_wait 726d72ef50 S com.android.documentsui app_process64 13086u0_a8 26208 702 3655456 43208 SyS_epoll_wait 726d72ef50 S android.process.media app_process64 13087u0_a40 26343 702 3661288 44008 SyS_epoll_wait 726d72ef50 S com.google.process.gapps app_process64 13088root 26407 2 0 0 worker_thread 0 S [kworker/5:0] 2 13089u0_a72 26440 702 3663624 40964 SyS_epoll_wait 726d72ef50 S com.android.connectivity.metrics app_process64 13090root 26499 2 0 0 worker_thread 0 S [kworker/7:1] 2 13091root 26509 2 0 0 worker_thread 0 S [kworker/7:3] 2 13092radio 26510 702 3653384 40400 SyS_epoll_wait 726d72ef50 S com.google.android.connectivitymonitor app_process64 13093u0_a131 26648 702 3656444 38956 SyS_epoll_wait 726d72ef50 S com.android.printspooler app_process64 13094root 26706 2 0 0 worker_thread 0 S [kworker/1:3] 2 13095root 26771 2 0 0 worker_thread 0 S [kworker/u16:8] 2 13096u0_a45 26778 702 3667148 45288 SyS_epoll_wait 726d72ef50 S com.google.android.apps.work.oobconfig app_process64 13097root 26895 2 0 0 worker_thread 0 S [kworker/6:3] 2 13098root 26915 2 0 0 worker_thread 0 S [kworker/5:2] 2 13099u0_a4380 27030 702 3652696 39012 SyS_epoll_wait 726d72ef50 S com.google.android.apps.common.testing.services app_process64 13100root 27090 4295 9284 1716 SyS_rt_sigsuspend 7d477b3118 S sh sh 13101root 27092 27090 9284 804 SyS_rt_sigsuspend 7d477b3118 S sh sh 13102root 27093 27092 11752 2200 0 7018ab0a78 R ps toybox 13103root 27902 2 0 0 0 0 R [kworker/u17:2] 2 13104u0_a64 32499 702 3690380 57136 SyS_epoll_wait 726d72ef50 S com.google.android.ims app_process64 13105USER PID TID CMD 13106root 1 1 init 13107root 2 2 kthreadd 13108root 3 3 ksoftirqd/0 13109root 5 5 kworker/0:0H 13110root 6 6 kworker/u16:0 13111root 7 7 rcu_preempt 13112root 8 8 rcu_sched 13113root 9 9 rcu_bh 13114root 10 10 rcuop/0 13115root 11 11 rcuos/0 13116root 12 12 rcuob/0 13117root 13 13 migration/0 13118root 14 14 watchdog/0 13119root 15 15 watchdog/1 13120root 16 16 migration/1 13121root 17 17 ksoftirqd/1 13122root 19 19 kworker/1:0H 13123root 20 20 rcuop/1 13124root 21 21 rcuos/1 13125root 22 22 rcuob/1 13126root 23 23 watchdog/2 13127root 24 24 migration/2 13128root 25 25 ksoftirqd/2 13129root 27 27 kworker/2:0H 13130root 28 28 rcuop/2 13131root 29 29 rcuos/2 13132root 30 30 rcuob/2 13133root 31 31 watchdog/3 13134root 32 32 migration/3 13135root 33 33 ksoftirqd/3 13136root 35 35 kworker/3:0H 13137root 36 36 rcuop/3 13138root 37 37 rcuos/3 13139root 38 38 rcuob/3 13140root 39 39 watchdog/4 13141root 40 40 migration/4 13142root 41 41 ksoftirqd/4 13143root 43 43 kworker/4:0H 13144root 44 44 rcuop/4 13145root 45 45 rcuos/4 13146root 46 46 rcuob/4 13147root 47 47 watchdog/5 13148root 48 48 migration/5 13149root 49 49 ksoftirqd/5 13150root 51 51 kworker/5:0H 13151root 52 52 rcuop/5 13152root 53 53 rcuos/5 13153root 54 54 rcuob/5 13154root 55 55 watchdog/6 13155root 56 56 migration/6 13156root 57 57 ksoftirqd/6 13157root 59 59 kworker/6:0H 13158root 60 60 rcuop/6 13159root 61 61 rcuos/6 13160root 62 62 rcuob/6 13161root 63 63 watchdog/7 13162root 64 64 migration/7 13163root 65 65 ksoftirqd/7 13164root 67 67 kworker/7:0H 13165root 68 68 rcuop/7 13166root 69 69 rcuos/7 13167root 70 70 rcuob/7 13168root 71 71 netns 13169root 72 72 perf 13170root 73 73 smd_channel_clo 13171root 74 74 dsps_smd_trans_ 13172root 75 75 lpass_smd_trans 13173root 76 76 mpss_smd_trans_ 13174root 77 77 wcnss_smd_trans 13175root 78 78 rpm_smd_trans_g 13176root 79 79 ipa_usb_wq 13177root 81 81 smem_native_mps 13178root 82 82 mpss_smem_glink 13179root 83 83 smem_native_lpa 13180root 84 84 lpass_smem_glin 13181root 85 85 smem_native_dsp 13182root 86 86 dsps_smem_glink 13183root 87 87 smem_native_rpm 13184root 88 88 rpm_smem_glink_ 13185root 89 89 smem_native_sps 13186root 90 90 spss_mailbox_gl 13187root 91 91 msm_watchdog 13188root 92 92 deferwq 13189root 94 94 irq/126-cpr3 13190root 95 95 mpm 13191root 96 96 kworker/u16:2 13192root 97 97 khungtaskd 13193root 98 98 writeback 13194root 99 99 kcompactd0 13195root 100 100 crypto 13196root 101 101 bioset 13197root 102 102 kblockd 13198root 103 103 md 13199root 104 104 edac-poller 13200root 105 105 system 13201root 106 106 easel_mem 13202root 107 107 devfreq_wq 13203root 108 108 governor_msm_ad 13204root 110 110 cfg80211 13205root 111 111 irq/134-arm-smm 13206root 112 112 ipa_power_mgmt 13207root 113 113 transport_power 13208root 114 114 ipa_rm_wq 13209root 115 115 ipa_interrupt_w 13210root 116 116 irq/135-arm-smm 13211root 117 117 irq/136-arm-smm 13212root 118 118 therm_core:noti 13213root 119 119 therm_core:noti 13214root 120 120 therm_core:noti 13215root 121 121 therm_core:noti 13216root 147 147 power_off_alarm 13217root 148 148 kswapd0 13218root 149 149 vmstat 13219root 150 150 fsnotify_mark 13220root 182 182 ad_calc_wq 13221root 183 183 mdss_dsi_event 13222root 184 184 mdss_dsi_dba 13223root 185 185 cwb_wq 13224root 186 186 vsync_retire_wo 13225root 187 187 cwb_wq 13226root 189 189 glink_ssr_wq 13227root 190 190 glink_lbsrv 13228root 191 191 spi_wdsp 13229root 192 192 wdsp_spi_glink_ 13230root 193 193 glink_xprt_wq 13231root 194 194 IPCRTR_mpss_sme 13232root 195 195 IPCRTR_lpass_sm 13233root 196 196 IPCRTR_dsps_sme 13234root 197 197 apr_driver 13235root 198 198 glink_pkt_wq 13236root 199 199 mem_share_svc 13237root 200 200 qmi_hndl0000000 13238root 201 201 msm_ipc_router 13239root 202 202 irq/137-arm-smm 13240root 203 203 qmi_svc_event_w 13241root 204 204 servloc_wq 13242root 205 205 tty_worker_thre 13243root 206 206 tty_worker_thre 13244root 207 207 tty_worker_thre 13245root 208 208 tty_worker_thre 13246root 209 209 k_hsuart 13247root 210 210 msm_serial_hs_0 13248root 211 211 msm_serial_hs_0 13249root 212 212 hwrng 13250root 215 215 diag_real_time_ 13251root 216 216 diag_wq 13252root 217 217 DIAG_USB_diag 13253root 218 218 diag_cntl_wq 13254root 219 219 diag_dci_wq 13255root 220 220 DIAG_SMD_MODEM_ 13256root 221 221 DIAG_SMD_MODEM_ 13257root 222 222 DIAG_SMD_MODEM_ 13258root 223 223 DIAG_SMD_MODEM_ 13259root 224 224 DIAG_SMD_MODEM_ 13260root 225 225 DIAG_SMD_LPASS_ 13261root 226 226 DIAG_SMD_LPASS_ 13262root 227 227 DIAG_SMD_LPASS_ 13263root 228 228 DIAG_SMD_LPASS_ 13264root 229 229 DIAG_SMD_LPASS_ 13265root 230 230 DIAG_SMD_WCNSS_ 13266root 231 231 DIAG_SMD_WCNSS_ 13267root 232 232 DIAG_SMD_WCNSS_ 13268root 233 233 DIAG_SMD_WCNSS_ 13269root 234 234 DIAG_SMD_WCNSS_ 13270root 235 235 DIAG_SMD_SENSOR 13271root 236 236 DIAG_SMD_SENSOR 13272root 237 237 DIAG_SMD_SENSOR 13273root 238 238 DIAG_SMD_SENSOR 13274root 239 239 DIAG_SMD_SENSOR 13275root 240 240 DIAG_SMD_DIAG_C 13276root 241 241 DIAG_SMD_DIAG_D 13277root 242 242 DIAG_SMD_DIAG_C 13278root 243 243 DIAG_SMD_DIAG_D 13279root 244 244 DIAG_SMD_DIAG_D 13280root 245 245 DIAG_SMD_CDSP_C 13281root 246 246 DIAG_SMD_CDSP_D 13282root 247 247 DIAG_SMD_CDSP_C 13283root 248 248 DIAG_SMD_CDSP_D 13284root 249 249 DIAG_SMD_CDSP_D 13285root 250 250 DIAG_SOCKMODEM_ 13286root 251 251 DIAG_SOCKMODEM_ 13287root 252 252 DIAG_SOCKMODEM_ 13288root 253 253 DIAG_SOCKMODEM_ 13289root 254 254 DIAG_SOCKMODEM_ 13290root 255 255 DIAG_SOCKLPASS_ 13291root 256 256 DIAG_SOCKLPASS_ 13292root 257 257 DIAG_SOCKLPASS_ 13293root 258 258 DIAG_SOCKLPASS_ 13294root 259 259 DIAG_SOCKLPASS_ 13295root 260 260 DIAG_SOCKWCNSS_ 13296root 261 261 DIAG_SOCKWCNSS_ 13297root 262 262 DIAG_SOCKWCNSS_ 13298root 263 263 DIAG_SOCKWCNSS_ 13299root 265 265 DIAG_SOCKWCNSS_ 13300root 266 266 DIAG_SOCKSENSOR 13301root 267 267 DIAG_SOCKSENSOR 13302root 268 268 DIAG_SOCKSENSOR 13303root 269 269 DIAG_SOCKSENSOR 13304root 270 270 DIAG_SOCKSENSOR 13305root 271 271 DIAG_SOCKDIAG_C 13306root 272 272 DIAG_SOCKDIAG_D 13307root 273 273 DIAG_SOCKDIAG_C 13308root 274 274 DIAG_SOCKDIAG_D 13309root 275 275 DIAG_SOCKDIAG_D 13310root 276 276 DIAG_SOCKCDSP_C 13311root 277 277 DIAG_SOCKCDSP_D 13312root 278 278 DIAG_SOCKCDSP_C 13313root 279 279 DIAG_SOCKCDSP_D 13314root 280 280 DIAG_SOCKCDSP_D 13315root 281 281 DIAG_CNTL_SOCKE 13316root 282 282 DIAG_GLINK_DIAG 13317root 283 283 DIAG_GLINK_DIAG 13318root 284 284 DIAG_GLINK_DIAG 13319root 285 285 DIAG_GLINK_DIAG 13320root 286 286 DIAG_GLINK_DIAG 13321root 287 287 kgsl-workqueue 13322root 288 288 kgsl-mementry 13323root 289 289 kgsl_worker_thr 13324root 290 290 kgsl-events 13325root 291 291 kgsl_devfreq_wq 13326root 292 292 bioset 13327root 293 293 bioset 13328root 294 294 bioset 13329root 295 295 bioset 13330root 296 296 bioset 13331root 297 297 bioset 13332root 298 298 bioset 13333root 299 299 bioset 13334root 300 300 bioset 13335root 301 301 bioset 13336root 302 302 bioset 13337root 303 303 bioset 13338root 304 304 bioset 13339root 305 305 bioset 13340root 307 307 bioset 13341root 308 308 bioset 13342root 309 309 bioset 13343root 310 310 bioset 13344root 311 311 bioset 13345root 312 312 bioset 13346root 313 313 bioset 13347root 314 314 bioset 13348root 315 315 bioset 13349root 316 316 bioset 13350root 317 317 bioset 13351root 318 318 irq/286-soc:fp_ 13352root 319 319 memory_wq 13353root 320 320 qcrypto_seq_res 13354root 321 321 scsi_eh_0 13355root 322 322 scsi_tmf_0 13356root 323 323 ufs_pm_qos_0 13357root 324 324 ufs_clk_ungatin 13358root 325 325 ufs_clkscaling_ 13359root 326 326 spi1 13360root 327 327 spi2 13361root 328 328 spi10 13362root 329 329 bond0 13363root 330 330 sharedmem_qmi_w 13364root 331 331 qmi_hndl0000000 13365root 335 335 uether 13366root 336 336 k_ipa_usb 13367root 341 341 irq/262-vl53l0_ 13368root 342 342 bioset 13369root 343 343 bioset 13370root 344 344 bioset 13371root 345 345 bioset 13372root 347 347 bioset 13373root 348 348 bioset 13374root 349 349 bioset 13375root 350 350 bioset 13376root 351 351 bioset 13377root 355 355 msm_cci_wq 13378root 356 356 msm_cci_wq 13379root 357 357 msm_cpp_workque 13380root 358 358 msm_vidc_worker 13381root 359 359 pm_workerq_venu 13382root 360 360 irq/158-arm-smm 13383root 361 361 irq/159-arm-smm 13384root 362 362 irq/160-arm-smm 13385root 363 363 irq/161-arm-smm 13386root 364 364 rot_commitq_0_0 13387root 365 365 rot_commitq_0_1 13388root 366 366 rot_doneq_0_0 13389root 367 367 rot_doneq_0_1 13390root 368 368 therm_core:noti 13391root 370 370 irq/500-chg-err 13392root 371 371 irq/501-chg-sta 13393root 372 372 irq/502-step-ch 13394root 373 373 irq/503-step-ch 13395root 374 374 irq/504-step-ch 13396root 375 375 irq/505-otg-fai 13397root 376 376 irq/506-otg-ove 13398root 377 377 irq/507-otg-oc- 13399root 378 378 irq/508-testmod 13400root 379 379 irq/509-bat-tem 13401root 380 380 irq/510-bat-ocp 13402root 381 381 irq/511-bat-ov 13403root 382 382 irq/512-bat-low 13404root 383 383 irq/513-bat-the 13405root 384 384 irq/514-bat-ter 13406root 385 385 irq/515-usbin-c 13407root 386 386 irq/516-usbin-l 13408root 387 387 irq/517-usbin-u 13409root 388 388 irq/518-usbin-o 13410root 389 389 irq/519-usbin-p 13411root 390 390 irq/520-usbin-s 13412root 391 391 irq/521-usbin-i 13413root 392 392 irq/522-type-c- 13414root 393 393 irq/523-dcin-co 13415root 394 394 irq/524-dcin-lt 13416root 395 395 irq/525-dcin-uv 13417root 396 396 irq/526-dcin-ov 13418root 397 397 irq/527-dcin-pl 13419root 398 398 irq/528-div2-en 13420root 399 399 irq/529-dcin-ic 13421root 400 400 irq/532-aicl-fa 13422root 401 401 irq/533-aicl-do 13423root 402 402 irq/534-high-du 13424root 403 403 irq/535-input-c 13425root 404 404 irq/536-tempera 13426root 405 405 irq/537-switche 13427root 406 406 therm_core:noti 13428root 407 407 therm_core:noti 13429root 409 409 therm_core:noti 13430root 410 410 therm_core:noti 13431root 411 411 therm_core:noti 13432root 412 412 therm_core:noti 13433root 413 413 therm_core:noti 13434root 414 414 therm_core:noti 13435root 415 415 therm_core:noti 13436root 416 416 therm_core:noti 13437root 417 417 therm_core:noti 13438root 418 418 therm_core:noti 13439root 419 419 therm_core:noti 13440root 420 420 therm_core:noti 13441root 421 421 therm_core:noti 13442root 422 422 therm_core:noti 13443root 423 423 therm_core:noti 13444root 424 424 therm_core:noti 13445root 425 425 therm_core:noti 13446root 426 426 therm_core:noti 13447root 427 427 therm_core:noti 13448root 428 428 therm_core:noti 13449root 429 429 irq/59-tsens_in 13450root 430 430 irq/62-tsens_cr 13451root 431 431 therm_core:noti 13452root 432 432 therm_core:noti 13453root 433 433 therm_core:noti 13454root 434 434 therm_core:noti 13455root 435 435 therm_core:noti 13456root 436 436 therm_core:noti 13457root 437 437 therm_core:noti 13458root 438 438 therm_core:noti 13459root 439 439 irq/63-tsens_in 13460root 440 440 irq/64-tsens_cr 13461root 441 441 therm_core:noti 13462root 442 442 irq/366-limits_ 13463root 443 443 therm_core:noti 13464root 444 444 irq/367-limits_ 13465root 445 445 dm_bufio_cache 13466root 446 446 cfinteractive 13467root 447 447 irq/291-bcm1560 13468root 448 448 irq/226-bcm1560 13469root 449 449 therm_core:noti 13470root 451 451 irq/197-spdm_bw 13471root 452 452 binder 13472root 453 453 irq/144-arm-smm 13473root 454 454 uaudio_svc 13474root 455 455 qmi_hndl0000000 13475root 456 456 ipv6_addrconf 13476root 458 458 irq/574-adsp 13477root 459 459 sysmon_wq 13478root 460 460 irq/606-slpi 13479root 461 461 irq/542-modem 13480root 465 465 usb_bam_wq 13481root 466 466 irq/19-sig-tx 13482root 467 467 irq/20-sig-rx 13483root 468 468 irq/22-msg-rx 13484root 469 469 usbpd0 13485root 470 470 usbpd0 13486root 471 471 therm_core:noti 13487root 472 472 irq/734-soc-upd 13488root 473 473 irq/735-soc-rea 13489root 474 474 irq/736-bsoc-de 13490root 475 475 irq/737-msoc-de 13491root 476 476 irq/738-msoc-lo 13492root 477 477 irq/739-msoc-em 13493root 478 478 irq/740-msoc-hi 13494root 479 479 irq/741-msoc-fu 13495root 480 480 irq/742-vbatt-p 13496root 481 481 irq/743-vbatt-l 13497root 482 482 irq/744-esr-del 13498root 483 483 irq/745-batt-mi 13499root 484 484 irq/746-batt-te 13500root 485 485 irq/747-ima-rdy 13501root 486 486 irq/748-mem-xcp 13502root 487 487 irq/749-dma-gra 13503root 489 489 irq/54-hs_phy_i 13504root 490 490 irq/55-ss_phy_i 13505root 491 491 irq/56-msm_dwc3 13506root 494 494 irq/36-ARM64 pr 13507root 495 495 irq/37-ARM64 se 13508root 496 496 irq/39-ARM64 pr 13509root 497 497 irq/40-ARM64 se 13510root 498 498 rq_stats 13511root 499 499 irq/145-arm-smm 13512root 500 500 irq/146-arm-smm 13513root 501 501 irq/147-arm-smm 13514root 502 502 irq/148-arm-smm 13515root 503 503 irq/149-arm-smm 13516root 504 504 irq/150-arm-smm 13517root 505 505 irq/151-arm-smm 13518root 506 506 irq/152-arm-smm 13519root 507 507 set_state_work 13520root 508 508 irq/227-mnh-rea 13521root 510 510 irq/751-mnh_pci 13522root 511 511 irq/752-mnh_pci 13523root 512 512 irq/753-mnh_pci 13524root 513 513 irq/754-mnh_pci 13525root 514 514 irq/755-mnh_pci 13526root 515 515 irq/758-mnh_pci 13527root 516 516 irq/759-mnh_pci 13528root 517 517 irq/128-arm-smm 13529root 518 518 sb-1 13530root 519 519 ngd_rx_thread1 13531root 520 520 ngd_notify_sl1 13532root 521 521 sb-3 13533root 522 522 ngd_rx_thread3 13534root 523 523 ngd_notify_sl3 13535root 525 525 therm_core:noti 13536root 526 526 therm_core:noti 13537root 527 527 therm_core:noti 13538root 528 528 irq/66-lmh-inte 13539root 529 529 irq/28-qpnp_fla 13540root 530 530 irq/27-qpnp_fla 13541root 531 531 irq/26-qpnp_fla 13542root 532 532 kworker/6:1H 13543root 533 533 kworker/5:1H 13544root 534 534 kworker/7:1H 13545root 535 535 ext4-rsv-conver 13546root 536 536 kworker/4:1H 13547root 537 537 jbd2/sdd3-8 13548root 538 538 ext4-rsv-conver 13549root 539 539 ext4-rsv-conver 13550root 542 542 init 13551root 543 543 ueventd 13552root 545 545 kworker/0:1H 13553root 550 550 irq/760-synapti 13554root 551 551 dsx_rebuild_wor 13555root 552 552 dsx_exp_workque 13556root 556 556 batt_timer 13557system 566 566 qseecomd 13558root 567 567 sugov:0 13559root 568 568 sugov:4 13560system 570 570 hwservicemanage 13561logd 571 571 logd 13562logd 571 576 logd.daemon 13563logd 571 581 logd.reader 13564logd 571 582 logd.writer 13565logd 571 583 logd.control 13566logd 571 602 logd.klogd 13567logd 571 603 logd.auditd 13568logd 571 974 logd.reader.per 13569system 572 572 servicemanager 13570system 573 573 vndservicemanag 13571system 574 574 qseecomd 13572system 574 575 qseecomd 13573system 574 577 qseecomd 13574system 574 578 qseecomd 13575system 574 579 qseecomd 13576system 574 580 qseecomd 13577root 584 584 kauditd 13578root 586 586 boot@1.0-servic 13579system 587 587 gatekeeper@1.0- 13580system 588 588 keyprimary@3.0-s 13581system 589 589 keyprimary@4.0-s 13582system 589 604 HwBinder:589_1 13583system 591 591 surfaceflinger 13584system 591 620 HwBinder:591_1 13585system 591 623 Binder:591_1 13586system 591 624 Binder:591_2 13587system 591 625 DispSync 13588system 591 626 appEventThread 13589system 591 627 sfEventThread 13590system 591 664 VrEvent 13591system 591 666 VrHwcPost 13592system 591 667 VrDispatch 13593system 591 668 surfaceflinger 13594system 591 1218 Binder:591_3 13595system 591 1671 Binder:591_4 13596system 591 1775 Binder:591_5 13597system 593 593 composer@2.1-se 13598system 593 608 Binder:593_1 13599system 593 609 Binder:593_2 13600system 593 634 SDM_EventThread 13601system 593 649 android.hardwar 13602system 593 651 HWC_UeventThrea 13603system 593 656 HwBinder:593_1 13604system 593 657 HwBinder:593_2 13605system 593 665 HwBinder:593_3 13606system 594 594 configstore@1.0 13607system 594 622 HwBinder:594_1 13608system 594 7100 HwBinder:594_2 13609system 595 595 allocator@2.0-s 13610system 595 610 HwBinder:595_1 13611system 595 1778 HwBinder:595_2 13612system 595 1779 HwBinder:595_3 13613root 612 612 jbd2/sda45-8 13614root 613 613 ext4-rsv-conver 13615system 616 616 time_daemon 13616system 616 629 time_daemon 13617system 616 630 time_daemon 13618system 616 631 time_daemon 13619system 616 632 time_daemon 13620system 616 633 time_daemon 13621system 616 1267 time_daemon 13622root 617 617 Binder:617_2 13623root 617 637 Binder:617_1 13624root 617 638 Binder:617_2 13625root 617 639 Binder:617_3 13626root 617 640 Binder:617_4 13627root 617 641 HwBinder:617_1 13628root 617 1439 Binder:617_5 13629root 619 619 mdss_fb0 13630root 635 635 irq/177-arm-smm 13631root 636 636 irq/178-arm-smm 13632root 642 642 dsps_IPCRTR 13633root 643 643 fwu_workqueue 13634root 647 647 lpass_IPCRTR 13635root 648 648 qmi_hndl0000000 13636root 663 663 kworker/2:1H 13637root 671 671 kworker/u16:7 13638root 672 672 qmi_hndl0000000 13639root 673 673 msm_slim_qmi_cl 13640root 674 674 msm_slim_qmi_cl 13641root 675 675 qmi_hndl0000000 13642root 676 676 qmi_hndl0000000 13643root 678 678 irq/153-arm-smm 13644root 685 685 Binder:685_2 13645root 685 695 netd 13646root 685 706 netd 13647root 685 707 netd 13648root 685 708 netd 13649root 685 709 netd 13650root 685 710 netd 13651root 685 711 netd 13652root 685 712 netd 13653root 685 713 netd 13654root 685 715 Binder:685_1 13655root 685 716 Binder:685_2 13656root 685 717 HwBinder:685_1 13657root 693 693 iptables-restor 13658root 694 694 ip6tables-resto 13659root 702 702 main 13660root 702 27031 ReferenceQueueD 13661root 702 27032 FinalizerDaemon 13662root 702 27033 FinalizerWatchd 13663root 702 27034 HeapTaskDaemon 13664root 703 703 main 13665root 703 26533 ReferenceQueueD 13666root 703 26534 FinalizerDaemon 13667root 703 26535 FinalizerWatchd 13668root 703 26536 HeapTaskDaemon 13669root 704 704 cds_recovery_wo 13670root 705 705 wlan_logging_th 13671root 722 722 at_usb0 13672root 723 723 at_usb1 13673root 724 724 qdss 13674root 729 729 healthd 13675root 730 730 thermal-engine 13676root 730 747 HwBinder:730_1 13677root 730 750 thermal-engine 13678root 730 753 thermal-engine 13679root 730 757 thermal-engine 13680root 730 758 thermal-engine 13681root 730 762 thermal-engine 13682root 730 763 thermal-engine 13683root 730 764 thermal-engine 13684root 730 766 thermal-engine 13685root 730 768 thermal-engine 13686root 730 769 thermal-engine 13687root 730 770 thermal-engine 13688root 730 771 thermal-engine 13689root 730 772 thermal-engine 13690root 730 774 thermal-engine 13691root 730 775 thermal-engine 13692root 730 776 thermal-engine 13693root 730 777 thermal-engine 13694root 730 779 thermal-engine 13695root 730 780 thermal-engine 13696root 730 782 thermal-engine 13697root 730 783 thermal-engine 13698root 730 784 thermal-engine 13699root 730 785 thermal-engine 13700root 730 786 thermal-engine 13701root 730 788 thermal-engine 13702root 730 789 thermal-engine 13703root 730 790 thermal-engine 13704root 730 791 thermal-engine 13705root 730 792 thermal-engine 13706root 730 794 thermal-engine 13707root 730 795 thermal-engine 13708root 730 796 thermal-engine 13709root 730 797 thermal-engine 13710root 730 798 thermal-engine 13711root 730 799 thermal-engine 13712root 730 800 thermal-engine 13713root 730 801 thermal-engine 13714root 730 803 thermal-engine 13715root 730 804 thermal-engine 13716root 730 805 thermal-engine 13717root 730 806 thermal-engine 13718root 730 808 thermal-engine 13719root 730 809 thermal-engine 13720root 730 810 thermal-engine 13721root 730 811 thermal-engine 13722root 730 814 thermal-engine 13723root 730 815 thermal-engine 13724root 730 817 thermal-engine 13725root 730 818 thermal-engine 13726root 730 820 thermal-engine 13727root 730 821 thermal-engine 13728root 730 822 thermal-engine 13729root 730 823 thermal-engine 13730root 730 824 thermal-engine 13731root 730 832 thermal-engine 13732root 730 833 thermal-engine 13733root 730 834 thermal-engine 13734root 730 839 thermal-engine 13735root 730 840 thermal-engine 13736root 730 841 thermal-engine 13737root 730 842 thermal-engine 13738root 730 843 thermal-engine 13739root 730 1244 thermal-engine 13740root 730 1245 thermal-engine 13741system 731 731 allocator@1.0-s 13742system 732 732 vr_hwc 13743system 732 765 Binder:732_1 13744system 732 767 HwBinder:732_1 13745system 732 781 Binder:732_2 13746audioserver 733 733 audio@2.0-servi 13747audioserver 733 1111 audio@2.0-servi 13748audioserver 733 1118 audio@2.0-servi 13749audioserver 733 1119 HwBinder:733_1 13750audioserver 733 1164 HwBinder:733_1 13751audioserver 733 1165 HwBinder:733_2 13752audioserver 733 1347 HwBinder:733_3 13753audioserver 733 2714 HwBinder:733_4 13754audioserver 733 2763 writer 13755audioserver 733 11695 HwBinder:733_5 13756bluetooth 734 734 bluetooth@1.0-s 13757bluetooth 734 746 HwBinder:734_1 13758root 735 735 irq/254-wcd9xxx 13759cameraserver 736 736 provider@2.4-se 13760cameraserver 736 1989 HwBinder:736_1 13761cameraserver 736 1999 CAM_imgTh 13762cameraserver 736 2000 CAM_imgTh 13763cameraserver 736 2001 CAM_imgTh 13764cameraserver 736 2002 CAM_imgTh 13765cameraserver 736 2003 CAM_imgTh 13766cameraserver 736 2004 CAM_imgTh 13767cameraserver 736 2005 CAM_imgTh 13768cameraserver 736 2006 CAM_imgTh 13769cameraserver 736 2007 CAM_imgTh 13770cameraserver 736 2008 CAM_imgTh 13771cameraserver 736 2009 CAM_imgTh 13772cameraserver 736 2010 CAM_imgTh 13773cameraserver 736 2011 CAM_imgTh 13774cameraserver 736 2012 CAM_imgTh 13775cameraserver 736 2013 CAM_imgTh 13776cameraserver 736 2014 CAM_imgTh 13777cameraserver 736 2015 CAM_imgTh 13778cameraserver 736 2016 CAM_imgTh 13779cameraserver 736 2017 CAM_imgTh 13780cameraserver 736 2018 CAM_imgTh 13781cameraserver 736 2030 android.hardwar 13782cameraserver 736 2048 CAM_gyro_sens 13783cameraserver 736 2101 HwBinder:736_1 13784cameraserver 736 14831 HwBinder:736_2 13785cameraserver 736 14832 HwBinder:736_3 13786cameraserver 736 14856 CAM_startsensor 13787cameraserver 736 14857 CAM_startsensor 13788cameraserver 736 21484 HwBinder:736_4 13789media 737 737 cas@1.0-service 13790media 737 23185 HwBinder:737_1 13791media 737 23186 HwBinder:737_2 13792system 738 738 contexthub@1.0- 13793system 738 754 android.hardwar 13794media 739 739 drm@1.0-service 13795media 739 846 HwBinder:739_1 13796media 739 23188 HwBinder:739_2 13797media 739 23190 HwBinder:739_3 13798media 740 740 drm@1.0-service 13799media 740 23189 HwBinder:740_1 13800media 740 23191 HwBinder:740_2 13801media 741 741 drm@1.1-service 13802media 741 23187 HwBinder:741_1 13803media 741 23192 HwBinder:741_2 13804media 741 23193 HwBinder:741_3 13805media 741 23194 HwBinder:741_4 13806system 742 742 dumpstate@1.0-s 13807gps 743 743 gnss@1.0-servic 13808gps 743 1563 Loc_hal 13809gps 743 1614 Loc_hal 13810gps 743 1617 Loc_hal 13811gps 743 1620 Loc_hal 13812gps 743 1630 Loc_hal 13813gps 743 1634 Loc_hal 13814gps 743 1635 Loc_hal 13815gps 743 1637 Loc_hal 13816gps 743 1638 Loc_hal 13817system 744 744 health@2.0-serv 13818system 745 745 light@2.0-servi 13819system 748 748 memtrack@1.0-se 13820system 756 756 neuralnetworks@ 13821system 756 23195 HwBinder:756_1 13822system 756 23196 HwBinder:756_2 13823system 756 27056 HwBinder:756_2 13824system 756 27057 HwBinder:756_2 13825system 756 27059 HwBinder:756_3 13826nfc 759 759 nfc@1.0-service 13827system 760 760 oemlock@1.0-ser 13828root 761 761 oemlock-bridge 13829system 773 773 power@1.2-servi 13830system 773 844 NodeLooperThrea 13831system 773 845 android.hardwar 13832system 778 778 sensors@1.0-ser 13833system 778 857 android.hardwar 13834system 778 858 android.hardwar 13835system 778 863 android.hardwar 13836system 778 981 android.hardwar 13837system 778 983 android.hardwar 13838system 778 984 android.hardwar 13839system 778 989 android.hardwar 13840system 778 999 android.hardwar 13841system 778 1000 android.hardwar 13842system 778 1001 android.hardwar 13843system 778 1003 android.hardwar 13844system 778 1004 android.hardwar 13845system 778 1013 android.hardwar 13846system 778 1015 android.hardwar 13847system 778 1022 android.hardwar 13848system 778 1023 android.hardwar 13849system 778 1034 android.hardwar 13850system 778 1035 android.hardwar 13851system 778 1044 android.hardwar 13852system 778 1045 android.hardwar 13853system 778 1048 android.hardwar 13854system 778 1049 android.hardwar 13855system 778 1050 android.hardwar 13856system 778 1051 android.hardwar 13857system 778 1057 android.hardwar 13858system 778 1058 android.hardwar 13859system 778 1060 android.hardwar 13860system 778 1061 android.hardwar 13861system 778 1062 android.hardwar 13862system 778 1063 android.hardwar 13863system 778 1067 android.hardwar 13864system 778 1068 android.hardwar 13865system 778 1073 android.hardwar 13866system 778 1074 android.hardwar 13867system 778 1076 android.hardwar 13868system 778 1077 android.hardwar 13869system 778 1078 android.hardwar 13870system 778 1079 android.hardwar 13871system 778 1083 android.hardwar 13872system 778 1084 android.hardwar 13873system 778 1086 android.hardwar 13874system 778 1087 HwBinder:778_1 13875system 778 1308 sensors@1.0-ser 13876system 778 1309 sensors@1.0-ser 13877system 778 1310 sensors@1.0-ser 13878root 787 787 usb@1.1-service 13879root 787 957 HwBinder:787_1 13880root 787 966 usb@1.1-service 13881root 787 1355 usb@1.1-service 13882system 793 793 vibrator@1.2-se 13883system 802 802 vr@1.0-service. 13884wifi 807 807 offload@1.0-ser 13885wifi 807 855 android.hardwar 13886wifi 812 812 android.hardwar 13887ese 813 813 esed 13888root 816 816 msm_irqbalance 13889system 819 819 pm-service 13890system 819 851 POSIX timer 0 13891system 819 852 POSIX timer 1 13892system 819 853 POSIX timer 2 13893system 819 860 pm-service 13894system 819 861 Binder:819_1 13895system 819 866 Binder:819_2 13896system 819 949 Binder:819_3 13897system 819 960 Binder:819_4 13898system 825 825 sensors.qcom 13899system 825 856 sensors.qcom 13900system 825 864 sensors.qcom 13901system 825 868 sensors.qcom 13902system 825 875 sensors.qcom 13903system 825 876 sensors.qcom 13904system 825 877 sensors.qcom 13905system 825 878 sensors.qcom 13906system 825 880 sensors.qcom 13907system 825 881 sensors.qcom 13908system 825 979 sensors.qcom 13909system 825 980 sensors.qcom 13910nobody 827 827 rmt_storage 13911nobody 827 1205 rmt_storage 13912nobody 827 1206 rmt_storage 13913nobody 827 1207 rmt_storage 13914nobody 827 1208 rmt_storage 13915system 828 828 tftp_server 13916system 829 829 pd-mapper 13917system 829 862 pd-mapper 13918audioserver 830 830 audioserver 13919audioserver 830 977 HwBinder:830_1 13920audioserver 830 988 HwBinder:830_2 13921audioserver 830 1121 ApmTone 13922audioserver 830 1122 ApmAudio 13923audioserver 830 1123 ApmOutput 13924audioserver 830 1124 Binder:830_1 13925audioserver 830 1125 Binder:830_2 13926audioserver 830 1166 HwBinder:830_3 13927audioserver 830 1167 FastMixer 13928audioserver 830 1168 AudioOut_D 13929audioserver 830 1169 FastMixer 13930audioserver 830 1170 AudioOut_15 13931audioserver 830 1171 AudioOut_1D 13932audioserver 830 1172 FastMixer 13933audioserver 830 1173 AudioOut_25 13934audioserver 830 1174 AudioOut_2D 13935audioserver 830 1175 FastMixer 13936audioserver 830 1176 AudioOut_35 13937audioserver 830 1274 soundTrigger cb 13938audioserver 830 1488 Binder:830_3 13939audioserver 830 2212 Binder:830_4 13940audioserver 830 4011 Binder:830_5 13941audioserver 830 12424 Binder:830_6 13942audioserver 830 27475 Binder:830_7 13943audioserver 830 8696 Binder:830_8 13944audioserver 830 11301 Binder:830_9 13945audioserver 830 14272 Binder:830_A 13946audioserver 830 6771 Binder:830_B 13947audioserver 830 2083 Binder:830_C 13948system 831 831 bufferhubd 13949root 835 835 lmkd 13950system 836 836 performanced 13951system 837 837 thermalserviced 13952system 837 867 HwBinder:837_1 13953system 837 869 HwBinder:837_2 13954system 838 838 Binder:838_2 13955system 838 850 Binder:838_1 13956root 854 854 msm_thermal:fre 13957root 859 859 msm_thermal:the 13958root 865 865 qmi_hndl0000000 13959root 873 873 modem 13960system 874 874 pm-proxy 13961system 874 886 Binder:874_1 13962system 874 887 Binder:874_2 13963system 874 888 Binder:874_3 13964root 879 879 subsystem_ramdu 13965nobody 882 882 traced 13966nobody 883 883 traced_probes 13967media 884 884 adsprpcd 13968media 884 910 adsprpcd 13969media 884 913 adsprpcd 13970system 885 885 imsqmidaemon 13971system 885 894 imsqmidaemon 13972radio 890 890 cnd 13973radio 890 939 cnd 13974radio 890 946 HwBinder:890_1 13975radio 890 947 cnd 13976radio 890 1268 cnd 13977radio 890 1292 cnd 13978root 892 892 kworker/3:1H 13979radio 893 893 netmgrd 13980root 893 944 netmgrd 13981radio 893 965 netmgrd 13982radio 893 972 HwBinder:893_1 13983radio 893 1007 netmgrd 13984radio 893 1008 netmgrd 13985radio 893 1009 netmgrd 13986radio 893 1149 netmgrd 13987radio 893 1150 netmgrd 13988radio 893 1269 netmgrd 13989radio 893 1375 netmgrd 13990radio 893 1378 netmgrd 13991radio 893 1379 netmgrd 13992radio 893 1380 netmgrd 13993radio 893 1395 netmgrd 13994radio 893 1396 netmgrd 13995radio 893 1398 netmgrd 13996radio 893 1399 netmgrd 13997radio 893 1415 netmgrd 13998radio 893 1416 netmgrd 13999radio 893 1417 netmgrd 14000radio 893 1418 netmgrd 14001radio 893 1429 netmgrd 14002radio 893 1430 netmgrd 14003radio 893 1431 netmgrd 14004radio 893 1433 netmgrd 14005radio 893 1509 netmgrd 14006radio 893 1517 netmgrd 14007radio 893 1520 netmgrd 14008radio 893 1521 netmgrd 14009radio 893 1602 netmgrd 14010radio 893 1603 netmgrd 14011radio 893 1619 netmgrd 14012radio 893 1621 netmgrd 14013radio 893 1622 netmgrd 14014radio 893 1723 netmgrd 14015radio 893 1726 netmgrd 14016radio 893 1729 netmgrd 14017radio 893 1730 netmgrd 14018radio 893 1819 netmgrd 14019radio 893 1829 netmgrd 14020radio 893 1831 netmgrd 14021radio 893 1886 netmgrd 14022radio 893 1893 netmgrd 14023radio 893 1894 netmgrd 14024radio 893 1895 netmgrd 14025radio 893 1896 netmgrd 14026radio 893 1898 netmgrd 14027radio 893 1900 netmgrd 14028radio 893 1902 netmgrd 14029radio 893 1903 netmgrd 14030radio 893 1906 netmgrd 14031radio 893 1907 netmgrd 14032radio 893 1908 netmgrd 14033radio 893 1909 netmgrd 14034radio 893 1917 netmgrd 14035radio 893 1920 netmgrd 14036radio 893 1921 netmgrd 14037radio 893 1922 netmgrd 14038radio 893 1927 netmgrd 14039radio 893 1928 netmgrd 14040radio 893 1929 netmgrd 14041radio 893 1930 netmgrd 14042radio 893 1940 netmgrd 14043radio 893 1945 netmgrd 14044radio 893 1946 netmgrd 14045radio 893 1947 netmgrd 14046radio 893 1955 netmgrd 14047radio 893 1956 netmgrd 14048radio 893 1957 netmgrd 14049radio 893 1958 netmgrd 14050radio 893 1972 netmgrd 14051radio 893 1973 netmgrd 14052radio 893 1974 netmgrd 14053radio 893 1975 netmgrd 14054radio 893 1978 netmgrd 14055radio 893 1979 netmgrd 14056radio 893 1980 netmgrd 14057radio 893 1981 netmgrd 14058radio 897 897 port-bridge 14059radio 897 915 port-bridge 14060radio 897 916 port-bridge 14061radio 898 898 ipacm 14062radio 898 951 HwBinder:898_1 14063radio 898 952 ipacm 14064radio 898 953 netlink socket 14065radio 898 954 ipa driver ntfy 14066radio 899 899 qti 14067radio 899 928 qti 14068radio 899 3064 qti 14069radio 899 3065 qti 14070radio 899 3066 qti 14071cameraserver 900 900 cameraserver 14072cameraserver 900 1018 HwBinder:900_1 14073cameraserver 900 1043 HwBinder:900_2 14074cameraserver 900 2100 HwBinder:900_3 14075cameraserver 900 2102 Binder:900_1 14076cameraserver 900 2177 Binder:900_2 14077cameraserver 900 14917 Binder:900_3 14078cameraserver 900 14918 Binder:900_4 14079cameraserver 900 14976 Binder:900_5 14080cameraserver 900 20996 Binder:900_6 14081cameraserver 900 16659 Binder:900_7 14082cameraserver 900 22046 Binder:900_8 14083drm 901 901 drmserver 14084drm 901 1024 Binder:901_1 14085drm 901 8440 Binder:901_2 14086incidentd 902 902 Binder:902_2 14087incidentd 902 933 Binder:902_1 14088incidentd 902 936 Binder:902_3 14089root 903 903 Binder:903_2 14090root 903 931 Binder:903_1 14091root 903 1263 Binder:903_3 14092root 903 1287 Binder:903_4 14093root 903 1301 Binder:903_5 14094root 903 1354 Binder:903_6 14095root 903 5120 Binder:903_7 14096root 903 5197 Binder:903_8 14097root 903 5243 Binder:903_9 14098root 903 11678 Binder:903_A 14099root 903 12088 Binder:903_B 14100keystore 904 904 keystore 14101keystore 904 997 HwBinder:904_1 14102media 905 905 mediadrmserver 14103media 905 945 Binder:905_1 14104mediaex 906 906 mediaextractor 14105mediaex 906 1052 Binder:906_1 14106mediaex 906 1977 Binder:906_2 14107mediaex 906 3987 Binder:906_3 14108mediaex 906 1985 Binder:906_4 14109mediaex 906 14515 Binder:906_5 14110mediaex 906 26203 Binder:906_6 14111mediaex 906 12336 Binder:906_7 14112media 907 907 mediametrics 14113media 907 1053 Binder:907_1 14114media 907 14381 Binder:907_2 14115media 907 14382 Binder:907_3 14116media 908 908 mediaserver 14117media 908 1065 Binder:908_1 14118media 908 1518 HwBinder:908_1 14119media 908 1771 Binder:908_2 14120media 908 1772 Binder:908_3 14121media 908 2569 MediaClock 14122media 908 2570 NuPlayerDriver 14123media 908 2572 generic 14124media 908 2704 NuPlayerRendere 14125media 908 2705 NPDecoder 14126media 908 2706 NPDecoder-CL 14127media 908 18653 Binder:908_4 14128media 908 25126 Binder:908_5 14129media 908 28451 Binder:908_6 14130statsd 909 909 Binder:909_2 14131statsd 909 961 Binder:909_1 14132statsd 909 962 Binder:909_2 14133statsd 909 970 Binder:909_3 14134root 911 911 storaged 14135root 911 1036 storaged 14136root 911 1037 Binder:911_1 14137root 911 1038 HwBinder:911_1 14138wifi 912 912 wificond 14139mediacodec 914 914 omx@1.0-service 14140mediacodec 914 1064 Binder:914_1 14141mediacodec 914 1066 Binder:914_2 14142mediacodec 914 1090 HwBinder:914_1 14143mediacodec 914 1091 HwBinder:914_2 14144mediacodec 914 1875 HwBinder:914_2 14145mediacodec 914 1876 HwBinder:914_2 14146mediacodec 914 1970 HwBinder:914_3 14147mediacodec 914 2707 .vorbis.decoder 14148mediacodec 914 2708 OMXCallbackDisp 14149mediacodec 914 2764 HwBinder:914_4 14150mediacodec 914 27073 HwBinder:914_5 14151mediacodec 914 27076 HwBinder:914_6 14152mediacodec 914 27078 HwBinder:914_7 14153mediacodec 914 14333 HwBinder:914_8 14154mediacodec 914 14409 HwBinder:914_9 14155mediacodec 914 14511 HwBinder:914_A 14156mediacodec 914 6795 HwBinder:914_B 14157mediacodec 914 6858 HwBinder:914_C 14158mediacodec 914 14972 HwBinder:914_D 14159mediacodec 914 26212 HwBinder:914_E 14160mediacodec 914 32727 HwBinder:914_F 14161mediacodec 914 332 HwBinder:914_10 14162mediacodec 914 15944 HwBinder:914_11 14163mediacodec 914 15945 HwBinder:914_12 14164mediacodec 914 2823 HwBinder:914_13 14165radio 917 917 rild 14166radio 917 1046 rild 14167radio 917 1055 rild 14168radio 917 1210 Binder:917_1 14169radio 917 1213 rild 14170radio 917 1215 Binder:917_2 14171radio 917 1221 rild 14172radio 917 1222 rild 14173radio 917 1223 HwBinder:917_1 14174radio 917 1224 rild 14175radio 917 1225 rild 14176radio 917 1226 rild 14177radio 917 1228 rild 14178radio 917 1229 rild 14179radio 917 1230 rild 14180radio 917 1231 rild 14181radio 917 1321 rild 14182radio 917 1322 rild 14183radio 917 1323 rild 14184radio 917 1324 rild 14185radio 917 1325 rild 14186radio 917 1326 rild 14187radio 917 1329 rild 14188radio 917 1330 rild 14189radio 917 1332 rild 14190radio 917 1334 rild 14191radio 917 1336 rild 14192radio 917 1349 rild 14193radio 917 1351 rild 14194radio 917 1358 rild 14195radio 917 1360 rild 14196radio 917 1362 rild 14197radio 917 1363 rild 14198radio 917 1364 rild 14199radio 917 1366 rild 14200radio 917 1368 rild 14201radio 917 1369 rild 14202radio 917 1370 rild 14203radio 917 1371 rild 14204radio 917 1373 rild 14205radio 917 1374 rild 14206radio 917 1377 rild 14207system 920 920 folio_daemon 14208root 921 921 ipawq15 14209root 922 922 iparepwq15 14210system 923 923 cnss-daemon 14211system 923 963 cnss-daemon 14212system 923 964 cnss-daemon 14213system 923 1209 Binder:923_1 14214system 923 1212 cnss-daemon 14215system 923 1214 Binder:923_2 14216system 923 1307 cnss-daemon 14217system 923 3731 cnss-daemon 14218gps 924 924 loc_launcher 14219gps 924 955 loc_launcher 14220system 925 925 chre 14221system 925 968 chre 14222system 925 975 chre 14223system 925 976 chre 14224system 925 1189 chre 14225system 925 1190 chre 14226system 926 926 gatekeeperd 14227system 926 987 HwBinder:926_1 14228root 927 927 Binder:927_2 14229root 927 986 Binder:927_1 14230tombstoned 929 929 tombstoned 14231root 932 932 update_engine 14232root 932 1006 HwBinder:932_1 14233system 935 935 fingerprint@2.1 14234system 935 1136 android.hardwar 14235system 935 1137 android.hardwar 14236system 935 1139 HwBinder:935_1 14237root 938 938 ipawq48 14238root 942 942 iparepwq48 14239system 950 950 imsdatadaemon 14240system 950 1019 imsdatadaemon 14241system 950 1040 imsdatadaemon 14242system 950 1041 imsdatadaemon 14243system 950 1042 imsdatadaemon 14244system 950 1270 imsdatadaemon 14245system 950 1290 imsdatadaemon 14246root 969 969 ipawq13 14247root 985 985 iparepwq13 14248root 1002 1002 ipa_A7_svc 14249root 1012 1012 qmi_hndl0000000 14250root 1016 1016 clnt_req 14251root 1017 1017 clnt_req 14252root 1021 1021 clnt_resp 14253root 1116 1116 wdsp_glink_wq 14254system 1151 1151 system_server 14255system 1151 1156 Signal Catcher 14256system 1151 1157 ADB-JDWP Connec 14257system 1151 1158 ReferenceQueueD 14258system 1151 1159 FinalizerDaemon 14259system 1151 1160 FinalizerWatchd 14260system 1151 1161 HeapTaskDaemon 14261system 1151 1162 Binder:1151_1 14262system 1151 1163 Binder:1151_2 14263system 1151 1184 android.bg 14264system 1151 1185 ActivityManager 14265system 1151 1186 android.ui 14266system 1151 1187 ActivityManager 14267system 1151 1188 ActivityManager 14268system 1151 1193 batterystats-wo 14269system 1151 1194 HwBinder:1151_1 14270system 1151 1195 FileObserver 14271system 1151 1196 android.fg 14272system 1151 1197 android.io 14273system 1151 1198 android.display 14274system 1151 1200 CpuTracker 14275system 1151 1203 PowerManagerSer 14276system 1151 1204 BatteryStats_wa 14277system 1151 1216 PackageManager 14278system 1151 1217 PackageManager 14279system 1151 1266 PackageInstalle 14280system 1151 1277 android.anim 14281system 1151 1278 android.anim.lf 14282system 1151 1281 HealthServiceRe 14283system 1151 1282 SensorEventAckR 14284system 1151 1283 SensorService 14285system 1151 1284 AccountManagerS 14286system 1151 1285 SettingsProvide 14287system 1151 1286 AlarmManager 14288system 1151 1289 window_tracing 14289system 1151 1295 UEventObserver 14290system 1151 1296 HwBinder:1151_2 14291system 1151 1297 InputDispatcher 14292system 1151 1298 InputReader 14293system 1151 1299 NetworkWatchlis 14294system 1151 1302 StorageManagerS 14295system 1151 1311 NetdConnector 14296system 1151 1313 NetworkStats 14297system 1151 1314 NetworkPolicy 14298system 1151 1315 tworkPolicy.uid 14299system 1151 1316 WifiService 14300system 1151 1317 WifiStateMachin 14301system 1151 1319 WifiScanningSer 14302system 1151 1320 WifiP2pService 14303system 1151 1327 ConnectivitySer 14304system 1151 1331 roid.pacmanager 14305system 1151 1333 NsdService 14306system 1151 1335 mDnsConnector 14307system 1151 1337 notification-sq 14308system 1151 1339 ranker 14309system 1151 1340 onProviders.ECP 14310system 1151 1341 DeviceStorageMo 14311system 1151 1346 AudioService 14312system 1151 1348 Binder:1151_3 14313system 1151 1352 HwBinder:1151_3 14314system 1151 1356 ConnectivityThr 14315system 1151 1357 pool-3-thread-1 14316system 1151 1359 GraphicsStats-d 14317system 1151 1361 SliceManagerSer 14318system 1151 1365 CameraService_p 14319system 1151 1393 SyncHandler-0 14320system 1151 1397 wifiRttService 14321system 1151 1400 wifiAwareServic 14322system 1151 1402 EthernetService 14323system 1151 1403 TaskSnapshotPer 14324system 1151 1405 PhotonicModulat 14325system 1151 1409 LazyTaskWriterT 14326system 1151 1434 Binder:1151_4 14327system 1151 1435 UsbService host 14328system 1151 1436 Thread-3 14329system 1151 1440 SoundPool 14330system 1151 1441 SoundPoolThread 14331system 1151 1444 NetworkStatsObs 14332system 1151 1480 watchdog 14333system 1151 1516 EmergencyAfford 14334system 1151 1560 NetworkTimeUpda 14335system 1151 1604 Binder:1151_5 14336system 1151 1613 Binder:1151_6 14337system 1151 1618 Binder:1151_7 14338system 1151 1623 Binder:1151_8 14339system 1151 1624 Binder:1151_9 14340system 1151 1752 BluetoothRouteM 14341system 1151 1753 AudioPortEventH 14342system 1151 1756 uteStateMachine 14343system 1151 1757 CallAudioModeSt 14344system 1151 1840 queued-work-loo 14345system 1151 1990 HwBinder:1151_4 14346system 1151 2049 hidl_ssvc_poll 14347system 1151 2103 UsbDebuggingMan 14348system 1151 2173 backup 14349system 1151 2478 Binder:1151_A 14350system 1151 2566 Binder:1151_B 14351system 1151 2568 Binder:1151_C 14352system 1151 2620 Binder:1151_D 14353system 1151 2875 AsyncQueryWorke 14354system 1151 3041 Binder:1151_E 14355system 1151 3581 Binder:1151_F 14356system 1151 3619 Binder:1151_10 14357system 1151 3622 Binder:1151_11 14358system 1151 3754 Binder:1151_12 14359system 1151 4982 Binder:1151_13 14360system 1151 4983 Binder:1151_14 14361system 1151 6432 HwBinder:1151_5 14362system 1151 11249 RenderThread 14363system 1151 17881 Binder:1151_15 14364system 1151 25177 Binder:1151_16 14365system 1151 30445 Binder:1151_17 14366system 1151 6644 Binder:1151_18 14367system 1151 13171 Binder:1151_19 14368system 1151 27982 Binder:1151_1A 14369system 1151 1345 Binder:1151_1B 14370system 1151 13277 Binder:1151_1C 14371system 1151 14267 Binder:1151_1D 14372system 1151 26698 Binder:1151_1E 14373system 1151 26712 Binder:1151_1F 14374system 1151 28773 Binder:1151_20 14375system 1151 26478 pool-4-thread-2 14376system 1151 26776 AsyncTask #744 14377system 1151 27084 Instrumentation 14378root 1199 1199 mpss_IPCRTR 14379root 1201 1201 qmi_hndl0000000 14380root 1202 1202 qmi_hndl0000000 14381root 1219 1219 irq/157-arm-smm 14382root 1220 1220 irq/162-arm-smm 14383root 1246 1246 qmi_hndl0000000 14384root 1304 1304 kworker/1:1H 14385root 1305 1305 qmi_hndl0000000 14386root 1382 1382 ipawq14 14387root 1383 1383 iparepwq14 14388root 1384 1384 ipawq49 14389root 1385 1385 iparepwq49 14390radio 1452 1452 le.modemservice 14391radio 1452 1465 Jit thread pool 14392radio 1452 1467 Signal Catcher 14393radio 1452 1468 ADB-JDWP Connec 14394radio 1452 1470 ReferenceQueueD 14395radio 1452 1472 FinalizerDaemon 14396radio 1452 1474 FinalizerWatchd 14397radio 1452 1476 HeapTaskDaemon 14398radio 1452 1479 Binder:1452_1 14399radio 1452 1481 Binder:1452_2 14400radio 1452 1535 Profile Saver 14401radio 1452 1549 Binder:1452_3 14402radio 1452 1552 ModemService 14403radio 1452 1559 queued-work-loo 14404u0_a68 1469 1469 ndroid.systemui 14405u0_a68 1469 1482 Jit thread pool 14406u0_a68 1469 1483 Signal Catcher 14407u0_a68 1469 1484 ADB-JDWP Connec 14408u0_a68 1469 1486 ReferenceQueueD 14409u0_a68 1469 1487 FinalizerDaemon 14410u0_a68 1469 1489 FinalizerWatchd 14411u0_a68 1469 1490 HeapTaskDaemon 14412u0_a68 1469 1491 Binder:1469_1 14413u0_a68 1469 1492 Binder:1469_2 14414u0_a68 1469 1499 Binder:1469_3 14415u0_a68 1469 1734 smartspace-back 14416u0_a68 1469 1758 pool-1-thread-1 14417u0_a68 1469 1764 SoundPool 14418u0_a68 1469 1765 SoundPoolThread 14419u0_a68 1469 1774 Recents-HighRes 14420u0_a68 1469 1780 Recents-TaskRes 14421u0_a68 1469 1783 recents.fg 14422u0_a68 1469 1789 async_sensor 14423u0_a68 1469 1805 VolumeDialogCon 14424u0_a68 1469 1808 Binder:1469_4 14425u0_a68 1469 1820 SysUiBg 14426u0_a68 1469 1853 queued-work-loo 14427u0_a68 1469 1862 RenderThread 14428u0_a68 1469 1868 ConnectivityThr 14429u0_a68 1469 1869 WifiTracker{9ff 14430u0_a68 1469 1874 TimeTick 14431u0_a68 1469 1911 Keyboard 14432u0_a68 1469 1965 HwBinder:1469_1 14433u0_a68 1469 1971 pool-3-thread-1 14434u0_a68 1469 1995 Binder:1469_5 14435u0_a68 1469 2029 pool-4-thread-1 14436u0_a68 1469 2057 hwuiTask1 14437u0_a68 1469 2058 Thread-2 14438u0_a68 1469 5522 Binder:1469_6 14439u0_a68 1469 6051 FlashlightContr 14440u0_a68 1469 10844 Binder:1469_7 14441u0_a68 1469 10845 Binder:1469_8 14442u0_a68 1469 11688 Binder:1469_9 14443u0_a68 1469 31390 Binder:1469_A 14444u0_a68 1469 21670 Binder:1469_B 14445u0_a68 1469 12671 Binder:1469_C 14446u0_a98 1529 1529 reel.wallpapers 14447u0_a98 1529 1541 Jit thread pool 14448u0_a98 1529 1542 Signal Catcher 14449u0_a98 1529 1544 ADB-JDWP Connec 14450u0_a98 1529 1545 ReferenceQueueD 14451u0_a98 1529 1546 FinalizerDaemon 14452u0_a98 1529 1547 FinalizerWatchd 14453u0_a98 1529 1548 HeapTaskDaemon 14454u0_a98 1529 1550 Binder:1529_1 14455u0_a98 1529 1551 Binder:1529_2 14456u0_a98 1529 1553 Binder:1529_3 14457u0_a98 1529 1592 Profile Saver 14458u0_a98 1529 1852 HwBinder:1529_1 14459u0_a98 1529 1854 GLThread 36 14460u0_a98 1529 1857 SoundPool 14461u0_a98 1529 1858 SoundPoolThread 14462u0_a98 1529 1867 AsynchExecutor- 14463u0_a98 1529 9851 Binder:1529_4 14464gps 1536 1536 lowi-server 14465gps 1536 1579 lowi-server 14466gps 1536 1580 lowi-server 14467gps 1536 1581 lowi-server 14468gps 1536 1582 lowi-server 14469gps 1538 1538 xtra-daemon 14470gps 1538 1600 pcid-lo 14471gps 1538 1606 pcid-lo 14472gps 1538 1608 pcid-lo 14473gps 1538 1610 pcid-lo 14474gps 1538 1615 LocTime 14475gps 1538 1616 LocTime 14476radio 1554 1554 .qcrilmsgtunnel 14477radio 1554 1564 Jit thread pool 14478radio 1554 1565 Signal Catcher 14479radio 1554 1566 ADB-JDWP Connec 14480radio 1554 1567 ReferenceQueueD 14481radio 1554 1568 FinalizerDaemon 14482radio 1554 1569 FinalizerWatchd 14483radio 1554 1570 HeapTaskDaemon 14484radio 1554 1571 Binder:1554_1 14485radio 1554 1572 Binder:1554_2 14486radio 1554 1649 Binder:1554_3 14487radio 1554 1677 Profile Saver 14488radio 1554 1695 HwBinder:1554_1 14489radio 1554 1714 queued-work-loo 14490system 1651 1651 .dataservices 14491system 1651 1657 Jit thread pool 14492system 1651 1658 Signal Catcher 14493system 1651 1659 ADB-JDWP Connec 14494system 1651 1660 ReferenceQueueD 14495system 1651 1661 FinalizerDaemon 14496system 1651 1662 FinalizerWatchd 14497system 1651 1663 HeapTaskDaemon 14498system 1651 1664 Binder:1651_1 14499system 1651 1665 Binder:1651_2 14500system 1651 1673 Binder:1651_3 14501system 1651 1718 Profile Saver 14502system 1651 1721 cneservice_thre 14503system 1651 1724 CNEReceiver 14504system 1651 1728 ConnectivityThr 14505system 1651 1731 MainEventThread 14506system 1651 1733 HwBinder:1651_1 14507system 1651 4118 queued-work-loo 14508radio 1666 1666 elephonyservice 14509radio 1666 1674 Jit thread pool 14510radio 1666 1675 Signal Catcher 14511radio 1666 1676 ADB-JDWP Connec 14512radio 1666 1684 ReferenceQueueD 14513radio 1666 1685 FinalizerDaemon 14514radio 1666 1686 FinalizerWatchd 14515radio 1666 1687 HeapTaskDaemon 14516radio 1666 1688 Binder:1666_1 14517radio 1666 1698 Binder:1666_2 14518radio 1666 1722 Profile Saver 14519radio 1666 2502 Binder:1666_3 14520radio 1666 2504 HwBinder:1666_1 14521radio 1666 2511 queued-work-loo 14522radio 1678 1678 m.android.phone 14523radio 1678 1694 Jit thread pool 14524radio 1678 1696 Signal Catcher 14525radio 1678 1697 ADB-JDWP Connec 14526radio 1678 1699 ReferenceQueueD 14527radio 1678 1700 FinalizerDaemon 14528radio 1678 1702 FinalizerWatchd 14529radio 1678 1703 HeapTaskDaemon 14530radio 1678 1704 Binder:1678_1 14531radio 1678 1706 Binder:1678_2 14532radio 1678 1719 Binder:1678_3 14533radio 1678 1737 Profile Saver 14534radio 1678 1806 HwBinder:1678_1 14535radio 1678 1834 EuiccConnector 14536radio 1678 1837 android.bg 14537radio 1678 1846 queued-work-loo 14538radio 1678 1860 GsmCellBroadcas 14539radio 1678 1861 GsmInboundSmsHa 14540radio 1678 1863 CellBroadcastHa 14541radio 1678 1864 CdmaInboundSmsH 14542radio 1678 1865 CdmaServiceCate 14543radio 1678 1871 DcHandlerThread 14544radio 1678 1877 Binder:1678_4 14545radio 1678 1881 ImsServiceContr 14546radio 1678 1882 NetworkService 14547radio 1678 1883 DataService 14548radio 1678 1899 org.codeaurora. 14549radio 1678 1901 ImsConfigImplHa 14550radio 1678 1937 CellularNetwork 14551radio 1678 1938 CellularDataSer 14552radio 1678 1943 Binder:1678_5 14553radio 1678 2876 ervice.Executor 14554radio 1678 2877 ConnectivityThr 14555radio 1678 4600 AudioTrack 14556radio 1678 4650 Binder:1678_6 14557radio 1678 4900 Binder:1678_7 14558radio 1678 4927 Binder:1678_8 14559radio 1678 21050 Binder:1678_9 14560radio 1678 23491 Binder:1678_A 14561radio 1678 28470 Binder:1678_B 14562radio 1678 18161 Binder:1678_C 14563radio 1678 5303 Binder:1678_D 14564u0_a24 1798 1798 id.ext.services 14565u0_a24 1798 1807 Jit thread pool 14566u0_a24 1798 1809 Signal Catcher 14567u0_a24 1798 1810 ADB-JDWP Connec 14568u0_a24 1798 1814 ReferenceQueueD 14569u0_a24 1798 1815 FinalizerDaemon 14570u0_a24 1798 1816 FinalizerWatchd 14571u0_a24 1798 1817 HeapTaskDaemon 14572u0_a24 1798 1818 Binder:1798_1 14573u0_a24 1798 1827 Binder:1798_2 14574u0_a24 1798 1830 Binder:1798_3 14575u0_a24 1798 1833 Binder:1798_4 14576u0_a24 1798 1838 Profile Saver 14577u0_a24 1798 2218 queued-work-loo 14578root 2107 2107 irq/35-1008000. 14579nfc 2195 2195 com.android.nfc 14580nfc 2195 2200 Jit thread pool 14581nfc 2195 2202 Signal Catcher 14582nfc 2195 2203 ADB-JDWP Connec 14583nfc 2195 2204 ReferenceQueueD 14584nfc 2195 2205 FinalizerDaemon 14585nfc 2195 2206 FinalizerWatchd 14586nfc 2195 2207 HeapTaskDaemon 14587nfc 2195 2208 Binder:2195_1 14588nfc 2195 2209 Binder:2195_2 14589nfc 2195 2220 Profile Saver 14590nfc 2195 2422 HwBinder:2195_1 14591nfc 2195 4468 Binder:2195_3 14592nfc 2195 4821 queued-work-loo 14593nfc 2195 4837 Binder:2195_4 14594nfc 2195 5207 Binder:2195_5 14595nfc 2195 11202 Binder:2195_6 14596nfc 2195 13475 Binder:2195_7 14597nfc 2195 23492 Binder:2195_8 14598nfc 2195 8048 Binder:2195_9 14599nfc 2195 9264 Binder:2195_A 14600nfc 2195 21748 Binder:2195_B 14601nfc 2195 26117 AsyncTask #454 14602nfc 2195 26428 AsyncTask #455 14603u0_a10 2213 2213 elligence.sense 14604u0_a10 2213 2219 Jit thread pool 14605u0_a10 2213 2221 Signal Catcher 14606u0_a10 2213 2222 ADB-JDWP Connec 14607u0_a10 2213 2223 ReferenceQueueD 14608u0_a10 2213 2225 FinalizerDaemon 14609u0_a10 2213 2228 FinalizerWatchd 14610u0_a10 2213 2231 HeapTaskDaemon 14611u0_a10 2213 2233 Binder:2213_1 14612u0_a10 2213 2234 Binder:2213_2 14613u0_a10 2213 2249 Binder:2213_3 14614u0_a10 2213 2286 Profile Saver 14615u0_a10 2213 2364 GoogleApiHandle 14616u0_a10 2213 2400 superpacks-cont 14617u0_a10 2213 2432 Background #0 14618u0_a10 2213 2434 Background #1 14619u0_a10 2213 2458 GAC_Executor[0] 14620u0_a10 2213 3350 Binder:2213_4 14621u0_a10 2213 26442 Primes-1 14622u0_a10 2213 26752 Primes-2 14623radio 2224 2224 .ims.rcsservice 14624radio 2224 2235 Jit thread pool 14625radio 2224 2236 Signal Catcher 14626radio 2224 2237 ADB-JDWP Connec 14627radio 2224 2238 ReferenceQueueD 14628radio 2224 2239 FinalizerDaemon 14629radio 2224 2240 FinalizerWatchd 14630radio 2224 2241 HeapTaskDaemon 14631radio 2224 2244 Binder:2224_1 14632radio 2224 2255 Binder:2224_2 14633radio 2224 2260 Binder:2224_3 14634radio 2224 2292 Profile Saver 14635radio 2224 2349 Listener 14636radio 2224 2390 queued-work-loo 14637radio 2224 2830 EABServiceHandl 14638radio 2224 3513 Binder:2224_4 14639radio 2224 28094 Binder:2224_5 14640system 2243 2243 RestartDetector 14641system 2243 2251 Jit thread pool 14642system 2243 2253 Signal Catcher 14643system 2243 2254 ADB-JDWP Connec 14644system 2243 2256 ReferenceQueueD 14645system 2243 2257 FinalizerDaemon 14646system 2243 2258 FinalizerWatchd 14647system 2243 2259 HeapTaskDaemon 14648system 2243 2261 Binder:2243_1 14649system 2243 2264 Binder:2243_2 14650system 2243 2303 Profile Saver 14651system 2243 3040 Binder:2243_3 14652system 2243 3042 FileObserver 14653system 2243 3043 queued-work-loo 14654u0_a19 2279 2279 s.nexuslauncher 14655u0_a19 2279 2291 Jit thread pool 14656u0_a19 2279 2293 Signal Catcher 14657u0_a19 2279 2294 ADB-JDWP Connec 14658u0_a19 2279 2295 ReferenceQueueD 14659u0_a19 2279 2296 FinalizerDaemon 14660u0_a19 2279 2297 FinalizerWatchd 14661u0_a19 2279 2299 HeapTaskDaemon 14662u0_a19 2279 2302 Binder:2279_1 14663u0_a19 2279 2304 Binder:2279_2 14664u0_a19 2279 2325 Binder:2279_3 14665u0_a19 2279 2345 Profile Saver 14666u0_a19 2279 2352 launcher-loader 14667u0_a19 2279 2353 UiThreadHelper 14668u0_a19 2279 2379 GAC_Executor[0] 14669u0_a19 2279 2380 GoogleApiHandle 14670u0_a19 2279 2402 pool-1-thread-1 14671u0_a19 2279 2405 Recents-HighRes 14672u0_a19 2279 2406 Recents-TaskRes 14673u0_a19 2279 2408 pool-3-thread-1 14674u0_a19 2279 2431 qsb-experiments 14675u0_a19 2279 2456 magnifier pixel 14676u0_a19 2279 2477 smartspace-load 14677u0_a19 2279 2500 reflection-thre 14678u0_a19 2279 2505 GAC_Executor[1] 14679u0_a19 2279 2506 RenderThread 14680u0_a19 2279 2535 remote-ui 14681u0_a19 2279 2558 HwBinder:2279_1 14682u0_a19 2279 2578 file-logger 14683u0_a19 2279 2581 queued-work-loo 14684u0_a19 2279 10277 Binder:2279_4 14685u0_a19 2279 26790 Binder:2279_5 14686u0_a19 2279 4129 Binder:2279_6 14687u0_a125 2305 2305 oogle.vr.vrcore 14688u0_a125 2305 2311 Jit thread pool 14689u0_a125 2305 2312 Signal Catcher 14690u0_a125 2305 2315 ADB-JDWP Connec 14691u0_a125 2305 2318 ReferenceQueueD 14692u0_a125 2305 2320 FinalizerDaemon 14693u0_a125 2305 2321 FinalizerWatchd 14694u0_a125 2305 2322 HeapTaskDaemon 14695u0_a125 2305 2324 Binder:2305_1 14696u0_a125 2305 2326 Binder:2305_2 14697u0_a125 2305 2329 Binder:2305_3 14698u0_a125 2305 2377 Profile Saver 14699u0_a125 2305 2403 GAC_Executor[0] 14700u0_a125 2305 2411 GAC_Executor[1] 14701u0_a125 2305 2437 queued-work-loo 14702u0_a56 2332 2332 ps.pixelmigrate 14703u0_a56 2332 2338 Jit thread pool 14704u0_a56 2332 2339 Signal Catcher 14705u0_a56 2332 2340 ADB-JDWP Connec 14706u0_a56 2332 2341 ReferenceQueueD 14707u0_a56 2332 2342 FinalizerDaemon 14708u0_a56 2332 2343 FinalizerWatchd 14709u0_a56 2332 2344 HeapTaskDaemon 14710u0_a56 2332 2346 Binder:2332_1 14711u0_a56 2332 2358 Binder:2332_2 14712u0_a56 2332 2428 Profile Saver 14713u0_a56 2332 2472 pool-1-thread-1 14714u0_a56 2332 2544 queued-work-loo 14715u0_a56 2332 2695 Binder:2332_3 14716u0_a56 2332 3351 Binder:2332_4 14717u0_a58 2354 2354 oid.setupwizard 14718u0_a58 2354 2361 Jit thread pool 14719u0_a58 2354 2362 Signal Catcher 14720u0_a58 2354 2363 ADB-JDWP Connec 14721u0_a58 2354 2365 ReferenceQueueD 14722u0_a58 2354 2366 FinalizerDaemon 14723u0_a58 2354 2367 FinalizerWatchd 14724u0_a58 2354 2368 HeapTaskDaemon 14725u0_a58 2354 2369 Binder:2354_1 14726u0_a58 2354 2370 Binder:2354_2 14727u0_a58 2354 2401 Binder:2354_3 14728u0_a58 2354 2441 Profile Saver 14729u0_a58 2354 2516 GoogleApiHandle 14730u0_a58 2354 2522 queued-work-loo 14731u0_a58 2354 2543 ConnectivityThr 14732u0_a58 2354 2545 WifiTracker{1b5 14733u0_a58 2354 2760 Binder:2354_4 14734u0_a58 2354 3353 Binder:2354_5 14735u0_a21 2371 2371 ps.miphone.aiai 14736u0_a21 2371 2381 Jit thread pool 14737u0_a21 2371 2404 Signal Catcher 14738u0_a21 2371 2416 ADB-JDWP Connec 14739u0_a21 2371 2418 ReferenceQueueD 14740u0_a21 2371 2419 FinalizerDaemon 14741u0_a21 2371 2420 FinalizerWatchd 14742u0_a21 2371 2421 HeapTaskDaemon 14743u0_a21 2371 2429 Binder:2371_1 14744u0_a21 2371 2442 Binder:2371_2 14745u0_a21 2371 2444 Binder:2371_3 14746u0_a21 2371 2490 Profile Saver 14747u0_a40 2462 2462 gle.android.gms 14748u0_a40 2462 2482 Jit thread pool 14749u0_a40 2462 2483 Signal Catcher 14750u0_a40 2462 2493 ADB-JDWP Connec 14751u0_a40 2462 2494 ReferenceQueueD 14752u0_a40 2462 2495 FinalizerDaemon 14753u0_a40 2462 2496 FinalizerWatchd 14754u0_a40 2462 2497 HeapTaskDaemon 14755u0_a40 2462 2498 Binder:2462_1 14756u0_a40 2462 2499 Binder:2462_2 14757u0_a40 2462 2553 Profile Saver 14758u0_a40 2462 2633 FileObserver 14759u0_a40 2462 2655 GlobalDispatchi 14760u0_a40 2462 2660 GoogleApiHandle 14761u0_a40 2462 2673 Binder:2462_3 14762u0_a40 2462 2685 GlobalScheduler 14763u0_a40 2462 2806 Binder:2462_4 14764u0_a40 2462 2859 queued-work-loo 14765u0_a40 2462 2945 Binder:2462_5 14766u0_a40 2462 3690 Thread-12 14767u0_a40 2462 3691 Thread-13 14768u0_a40 2462 3693 Thread-14 14769u0_a40 2462 3694 Thread-15 14770u0_a40 2462 3695 Thread-16 14771u0_a40 2462 3736 Binder:2462_6 14772u0_a40 2462 3759 highpool[0] 14773u0_a40 2462 3767 highpool[1] 14774u0_a40 2462 3770 AdWorker(Defaul 14775u0_a40 2462 3771 AdWorker(Defaul 14776u0_a40 2462 3788 GAC_Executor[1] 14777u0_a40 2462 3789 Binder:2462_7 14778u0_a40 2462 3790 GAC_Executor[0] 14779u0_a40 2462 3807 ConnectivityThr 14780u0_a40 2462 3864 Binder:2462_8 14781u0_a40 2462 3871 highpool[2] 14782u0_a40 2462 3903 Binder:2462_9 14783u0_a40 2462 3968 Binder:2462_A 14784u0_a40 2462 4217 Binder:2462_B 14785u0_a40 2462 4358 Binder:2462_C 14786u0_a40 2462 4359 Binder:2462_D 14787u0_a40 2462 4652 Binder:2462_E 14788u0_a40 2462 4674 Binder:2462_F 14789u0_a40 2462 4907 highpool[3] 14790u0_a40 2462 4948 pool-60-thread- 14791u0_a40 2462 4949 pool-60-thread- 14792u0_a40 2462 4950 pool-60-thread- 14793u0_a40 2462 4951 pool-60-thread- 14794u0_a40 2462 4956 pool-61-thread- 14795u0_a40 2462 5163 Binder:2462_10 14796u0_a40 2462 15000 MediaTracker bu 14797u0_a40 2462 19930 lowpool[825] 14798u0_a40 2462 22554 lowpool[827] 14799u0_a40 2462 23272 lowpool[828] 14800u0_a40 2462 26147 peration loader 14801u0_a40 2462 26174 Measurement Wor 14802u0_a40 2462 26770 lowpool[830] 14803u0_a40 2462 26825 raService] idle 14804u0_a40 2462 26847 lowpool[831] 14805u0_a40 2462 26932 lowpool[832] 14806u0_a40 2484 2484 .gms.persistent 14807u0_a40 2484 2510 Jit thread pool 14808u0_a40 2484 2512 Signal Catcher 14809u0_a40 2484 2513 ADB-JDWP Connec 14810u0_a40 2484 2514 ReferenceQueueD 14811u0_a40 2484 2517 FinalizerDaemon 14812u0_a40 2484 2518 FinalizerWatchd 14813u0_a40 2484 2520 HeapTaskDaemon 14814u0_a40 2484 2521 Binder:2484_1 14815u0_a40 2484 2523 Binder:2484_2 14816u0_a40 2484 2548 Binder:2484_3 14817u0_a40 2484 2554 Profile Saver 14818u0_a40 2484 2624 Binder:2484_4 14819u0_a40 2484 2625 Binder:2484_5 14820u0_a40 2484 2627 FileObserver 14821u0_a40 2484 2652 GlobalDispatchi 14822u0_a40 2484 2663 GoogleApiHandle 14823u0_a40 2484 2668 GlobalScheduler 14824u0_a40 2484 2669 GAC_Executor[0] 14825u0_a40 2484 2671 FlpThread 14826u0_a40 2484 2677 queued-work-loo 14827u0_a40 2484 2681 GAC_Executor[1] 14828u0_a40 2484 2807 GeofencerStateM 14829u0_a40 2484 2808 RealContextHub 14830u0_a40 2484 2809 ConnectivityThr 14831u0_a40 2484 2810 highpool[0] 14832u0_a40 2484 2811 highpool[1] 14833u0_a40 2484 2812 highpool[2] 14834u0_a40 2484 2813 highpool[3] 14835u0_a40 2484 2814 GoogleLocationS 14836u0_a40 2484 2816 MSMuxTR-0 14837u0_a40 2484 3792 netscheduler-qu 14838u0_a40 2484 3801 Binder:2484_6 14839u0_a40 2484 3896 Binder:2484_7 14840u0_a40 2484 4204 Binder:2484_8 14841u0_a40 2484 4206 Binder:2484_9 14842u0_a40 2484 4244 Binder:2484_A 14843u0_a40 2484 4675 Binder:2484_B 14844u0_a40 2484 4676 Binder:2484_C 14845u0_a40 2484 4836 Binder:2484_D 14846u0_a40 2484 5240 Binder:2484_E 14847u0_a40 2484 5724 Binder:2484_F 14848u0_a40 2484 10811 Binder:2484_10 14849u0_a40 2484 21417 lowpool[412] 14850u0_a40 2484 17369 lowpool[755] 14851u0_a40 2484 23058 lowpool[761] 14852u0_a40 2484 25069 lowpool[763] 14853u0_a40 2484 26630 lowpool[765] 14854u0_a40 2484 26831 peration loader 14855u0_a40 2484 26894 raService] idle 14856system 3993 3993 lcomm.telephony 14857system 3993 3999 Jit thread pool 14858system 3993 4000 Signal Catcher 14859system 3993 4001 ADB-JDWP Connec 14860system 3993 4002 ReferenceQueueD 14861system 3993 4003 FinalizerDaemon 14862system 3993 4004 FinalizerWatchd 14863system 3993 4005 HeapTaskDaemon 14864system 3993 4006 Binder:3993_1 14865system 3993 4007 Binder:3993_2 14866system 3993 4010 Profile Saver 14867system 3993 4013 Binder:3993_3 14868system 3993 4014 Thread-2 14869system 3993 4015 CTSA Inject Thr 14870system 3993 4016 HwBinder:3993_1 14871system 3993 4023 queued-work-loo 14872root 4295 4295 adbd 14873root 4295 4296 usb ffs open 14874root 4295 4343 ->transport 14875root 4295 4344 <-transport 14876root 4295 27091 shell svc 27090 14877root 15030 15030 kworker/4:1 14878u0_a55 16104 16104 id.defcontainer 14879u0_a55 16104 16109 Jit thread pool 14880u0_a55 16104 16110 Signal Catcher 14881u0_a55 16104 16111 ADB-JDWP Connec 14882u0_a55 16104 16112 ReferenceQueueD 14883u0_a55 16104 16113 FinalizerDaemon 14884u0_a55 16104 16114 FinalizerWatchd 14885u0_a55 16104 16116 HeapTaskDaemon 14886u0_a55 16104 16117 Binder:16104_1 14887u0_a55 16104 16118 Binder:16104_2 14888u0_a55 16104 16133 Binder:16104_3 14889u0_a55 16104 16137 Profile Saver 14890u0_a55 16104 16149 queued-work-loo 14891u0_a55 16104 16614 Binder:16104_4 14892u0_a55 16104 26801 IntentService[D 14893root 16505 16505 kworker/u17:0 14894root 18709 18709 kworker/3:3 14895root 19512 19512 kworker/5:1 14896u0_a30 21587 21587 roid.apps.turbo 14897u0_a30 21587 21592 Jit thread pool 14898u0_a30 21587 21593 Signal Catcher 14899u0_a30 21587 21594 ADB-JDWP Connec 14900u0_a30 21587 21595 ReferenceQueueD 14901u0_a30 21587 21596 FinalizerDaemon 14902u0_a30 21587 21597 FinalizerWatchd 14903u0_a30 21587 21598 HeapTaskDaemon 14904u0_a30 21587 21599 Binder:21587_1 14905u0_a30 21587 21600 Binder:21587_2 14906u0_a30 21587 21601 Binder:21587_3 14907u0_a30 21587 21602 Profile Saver 14908u0_a30 21587 22841 Primes-1 14909u0_a30 21587 23127 Primes-2 14910u0_a75 21768 21768 id.partnersetup 14911u0_a75 21768 21774 Jit thread pool 14912u0_a75 21768 21775 Signal Catcher 14913u0_a75 21768 21776 ADB-JDWP Connec 14914u0_a75 21768 21777 ReferenceQueueD 14915u0_a75 21768 21778 FinalizerDaemon 14916u0_a75 21768 21779 FinalizerWatchd 14917u0_a75 21768 21780 HeapTaskDaemon 14918u0_a75 21768 21781 Binder:21768_1 14919u0_a75 21768 21782 Binder:21768_2 14920u0_a75 21768 21783 Binder:21768_3 14921u0_a75 21768 21784 Profile Saver 14922u0_a75 21768 21804 queued-work-loo 14923u0_a75 21768 21807 Binder:21768_4 14924u0_a40 21787 21787 ocess.gservices 14925u0_a40 21787 21792 Jit thread pool 14926u0_a40 21787 21793 Signal Catcher 14927u0_a40 21787 21794 ADB-JDWP Connec 14928u0_a40 21787 21795 ReferenceQueueD 14929u0_a40 21787 21796 FinalizerDaemon 14930u0_a40 21787 21797 FinalizerWatchd 14931u0_a40 21787 21798 HeapTaskDaemon 14932u0_a40 21787 21799 Binder:21787_1 14933u0_a40 21787 21800 Binder:21787_2 14934u0_a40 21787 21801 Binder:21787_3 14935u0_a40 21787 21802 Profile Saver 14936u0_a40 21787 21806 Binder:21787_4 14937u0_a40 21787 22844 Binder:21787_5 14938u0_a40 21787 22845 Binder:21787_6 14939u0_a40 21787 22861 Binder:21787_7 14940u0_a40 21787 22973 Binder:21787_8 14941u0_a40 21787 23042 Binder:21787_9 14942u0_a40 21787 23044 Binder:21787_A 14943u0_a40 21787 23051 Binder:21787_B 14944u0_a40 21787 23109 Binder:21787_C 14945u0_a40 21787 23125 Binder:21787_D 14946u0_a40 21787 23126 Binder:21787_E 14947u0_a40 21787 23177 Binder:21787_F 14948u0_a40 21787 23184 Binder:21787_10 14949root 23038 23038 kworker/3:2 14950root 23393 23393 kworker/5:3 14951root 24384 24384 kworker/4:2 14952root 24428 24428 kworker/1:0 14953root 24572 24572 kworker/6:0 14954u0_a47 24879 24879 n.mips.services 14955u0_a47 24879 24891 Jit thread pool 14956u0_a47 24879 24892 Signal Catcher 14957u0_a47 24879 24893 ADB-JDWP Connec 14958u0_a47 24879 24894 ReferenceQueueD 14959u0_a47 24879 24895 FinalizerDaemon 14960u0_a47 24879 24896 FinalizerWatchd 14961u0_a47 24879 24897 HeapTaskDaemon 14962u0_a47 24879 24898 Binder:24879_1 14963u0_a47 24879 24899 Binder:24879_2 14964u0_a47 24879 24908 Profile Saver 14965u0_a47 24879 24912 queued-work-loo 14966u0_a47 24879 24914 Binder:24879_3 14967u0_a47 24879 26178 Binder:24879_4 14968u0_a47 24879 26804 Binder:24879_5 14969root 24931 24931 kworker/2:1 14970root 25152 25152 kworker/7:2 14971root 25203 25203 kworker/0:4 14972root 25230 25230 kworker/2:0 14973root 25246 25246 kworker/7:0 14974root 25362 25362 kworker/u16:4 14975root 25366 25366 kworker/0:2 14976root 25390 25390 kworker/1:2 14977root 25518 25518 kworker/u16:6 14978root 25647 25647 kworker/6:1 14979root 25664 25664 kworker/u16:1 14980root 25796 25796 kworker/0:1 14981root 25814 25814 kworker/u16:3 14982root 25819 25819 kworker/3:0 14983root 25823 25823 kworker/2:2 14984root 25933 25933 kworker/6:2 14985root 25946 25946 kworker/1:1 14986root 25950 25950 kworker/0:3 14987root 25966 25966 kworker/u16:5 14988root 26081 26081 kworker/2:3 14989root 26106 26106 kworker/4:0 14990system 26142 26142 ndroid.keychain 14991system 26142 26149 Jit thread pool 14992system 26142 26150 Signal Catcher 14993system 26142 26151 ADB-JDWP Connec 14994system 26142 26152 ReferenceQueueD 14995system 26142 26153 FinalizerDaemon 14996system 26142 26154 FinalizerWatchd 14997system 26142 26155 HeapTaskDaemon 14998system 26142 26156 Binder:26142_1 14999system 26142 26157 Binder:26142_2 15000system 26142 26159 Binder:26142_3 15001system 26142 26176 queued-work-loo 15002u0_a46 26181 26181 oid.documentsui 15003u0_a46 26181 26186 Jit thread pool 15004u0_a46 26181 26187 Signal Catcher 15005u0_a46 26181 26188 ADB-JDWP Connec 15006u0_a46 26181 26189 ReferenceQueueD 15007u0_a46 26181 26190 FinalizerDaemon 15008u0_a46 26181 26191 FinalizerWatchd 15009u0_a46 26181 26192 HeapTaskDaemon 15010u0_a46 26181 26194 Binder:26181_1 15011u0_a46 26181 26195 Binder:26181_2 15012u0_a46 26181 26197 Profile Saver 15013u0_a46 26181 26201 AsyncTask #1 15014u0_a46 26181 26247 AsyncTask #2 15015u0_a46 26181 26263 AsyncTask #3 15016u0_a46 26181 26285 AsyncTask #4 15017u0_a46 26181 26606 Binder:26181_3 15018u0_a8 26208 26208 d.process.media 15019u0_a8 26208 26214 Jit thread pool 15020u0_a8 26208 26215 Signal Catcher 15021u0_a8 26208 26216 ADB-JDWP Connec 15022u0_a8 26208 26217 ReferenceQueueD 15023u0_a8 26208 26218 FinalizerDaemon 15024u0_a8 26208 26219 FinalizerWatchd 15025u0_a8 26208 26220 HeapTaskDaemon 15026u0_a8 26208 26221 Binder:26208_1 15027u0_a8 26208 26222 Binder:26208_2 15028u0_a8 26208 26237 Profile Saver 15029u0_a8 26208 26244 thumbs thread 15030u0_a8 26208 26250 sAsyncHandlerTh 15031u0_a8 26208 26806 Binder:26208_3 15032u0_a40 26343 26343 e.process.gapps 15033u0_a40 26343 26348 Jit thread pool 15034u0_a40 26343 26349 Signal Catcher 15035u0_a40 26343 26350 ADB-JDWP Connec 15036u0_a40 26343 26351 ReferenceQueueD 15037u0_a40 26343 26352 FinalizerDaemon 15038u0_a40 26343 26353 FinalizerWatchd 15039u0_a40 26343 26354 HeapTaskDaemon 15040u0_a40 26343 26355 Binder:26343_1 15041u0_a40 26343 26356 Binder:26343_2 15042u0_a40 26343 26357 Binder:26343_3 15043u0_a40 26343 26358 Profile Saver 15044u0_a40 26343 26359 RefQueueWorker@ 15045u0_a40 26343 26360 Binder:26343_4 15046u0_a40 26343 26714 Binder:26343_5 15047u0_a40 26343 26805 Binder:26343_6 15048root 26407 26407 kworker/5:0 15049u0_a72 26440 26440 ctivity.metrics 15050u0_a72 26440 26447 Jit thread pool 15051u0_a72 26440 26448 Signal Catcher 15052u0_a72 26440 26449 ADB-JDWP Connec 15053u0_a72 26440 26450 ReferenceQueueD 15054u0_a72 26440 26451 FinalizerDaemon 15055u0_a72 26440 26452 FinalizerWatchd 15056u0_a72 26440 26453 HeapTaskDaemon 15057u0_a72 26440 26454 Binder:26440_1 15058u0_a72 26440 26455 Binder:26440_2 15059u0_a72 26440 26456 Binder:26440_3 15060u0_a72 26440 26458 Profile Saver 15061u0_a72 26440 26459 AsyncTask #1 15062u0_a72 26440 26479 GAC_Executor[0] 15063u0_a72 26440 26710 AsyncTask #2 15064u0_a72 26440 26711 GAC_Executor[1] 15065root 26499 26499 kworker/7:1 15066root 26509 26509 kworker/7:3 15067radio 26510 26510 ectivitymonitor 15068radio 26510 26515 Jit thread pool 15069radio 26510 26516 Signal Catcher 15070radio 26510 26517 ADB-JDWP Connec 15071radio 26510 26518 ReferenceQueueD 15072radio 26510 26520 FinalizerDaemon 15073radio 26510 26521 FinalizerWatchd 15074radio 26510 26523 HeapTaskDaemon 15075radio 26510 26524 Binder:26510_1 15076radio 26510 26525 Binder:26510_2 15077radio 26510 26528 Profile Saver 15078radio 26510 26654 Binder:26510_3 15079u0_a131 26648 26648 id.printspooler 15080u0_a131 26648 26653 Jit thread pool 15081u0_a131 26648 26655 Signal Catcher 15082u0_a131 26648 26656 ADB-JDWP Connec 15083u0_a131 26648 26657 ReferenceQueueD 15084u0_a131 26648 26658 FinalizerDaemon 15085u0_a131 26648 26659 FinalizerWatchd 15086u0_a131 26648 26660 HeapTaskDaemon 15087u0_a131 26648 26661 Binder:26648_1 15088u0_a131 26648 26662 Binder:26648_2 15089u0_a131 26648 26664 Binder:26648_3 15090u0_a131 26648 26667 Profile Saver 15091u0_a131 26648 26773 AsyncTask #1 15092u0_a131 26648 26774 Binder:26648_4 15093u0_a131 26648 26775 queued-work-loo 15094root 26706 26706 kworker/1:3 15095root 26771 26771 kworker/u16:8 15096u0_a45 26778 26778 .work.oobconfig 15097u0_a45 26778 26783 Jit thread pool 15098u0_a45 26778 26784 Signal Catcher 15099u0_a45 26778 26785 ADB-JDWP Connec 15100u0_a45 26778 26786 ReferenceQueueD 15101u0_a45 26778 26787 FinalizerDaemon 15102u0_a45 26778 26788 FinalizerWatchd 15103u0_a45 26778 26789 HeapTaskDaemon 15104u0_a45 26778 26791 Binder:26778_1 15105u0_a45 26778 26792 Binder:26778_2 15106u0_a45 26778 26793 Binder:26778_3 15107u0_a45 26778 26794 Profile Saver 15108u0_a45 26778 26796 measurement-1 15109u0_a45 26778 26797 queued-work-loo 15110u0_a45 26778 26800 AsyncTask #1 15111root 26895 26895 kworker/6:3 15112root 26915 26915 kworker/5:2 15113u0_a4380 27030 27030 esting.services 15114u0_a4380 27030 27035 Jit thread pool 15115u0_a4380 27030 27036 Signal Catcher 15116u0_a4380 27030 27037 ADB-JDWP Connec 15117u0_a4380 27030 27038 ReferenceQueueD 15118u0_a4380 27030 27039 FinalizerDaemon 15119u0_a4380 27030 27040 FinalizerWatchd 15120u0_a4380 27030 27041 HeapTaskDaemon 15121u0_a4380 27030 27042 Binder:27030_1 15122u0_a4380 27030 27043 Binder:27030_2 15123u0_a4380 27030 27044 Profile Saver 15124root 27090 27090 sh 15125root 27092 27092 sh 15126root 27094 27094 ps 15127root 27902 27902 kworker/u17:2 15128u0_a64 32499 32499 gle.android.ims 15129u0_a64 32499 32506 Jit thread pool 15130u0_a64 32499 32507 Signal Catcher 15131u0_a64 32499 32508 ADB-JDWP Connec 15132u0_a64 32499 32509 ReferenceQueueD 15133u0_a64 32499 32510 FinalizerDaemon 15134u0_a64 32499 32511 FinalizerWatchd 15135u0_a64 32499 32512 HeapTaskDaemon 15136u0_a64 32499 32513 Binder:32499_1 15137u0_a64 32499 32514 Binder:32499_2 15138u0_a64 32499 32516 Binder:32499_3 15139u0_a64 32499 32551 Profile Saver 15140u0_a64 32499 32574 GoogleApiHandle 15141u0_a64 32499 32599 ConnectivityThr 15142u0_a64 32499 32619 queued-work-loo 15143u0_a64 32499 32626 GAC_Executor[0] 15144u0_a64 32499 450 Binder:32499_4 15145u0_a64 32499 669 Binder:32499_5 15146u0_a64 32499 9960 Primes-1 15147u0_a64 32499 10177 Binder:32499_6 15148u0_a64 32499 10181 Binder:32499_7 15149u0_a64 32499 10258 Primes-2 15150u0_a64 32499 10858 Binder:32499_8 15151u0_a64 32499 20615 Binder:32499_9 15152u0_a64 32499 20823 Binder:32499_A 15153u0_a64 32499 20963 Binder:32499_B 15154u0_a64 32499 23043 Binder:32499_C 15155u0_a64 32499 23049 Binder:32499_D 15156u0_a64 32499 23748 Binder:32499_E 15157u0_a64 32499 26433 AsyncTask #1541 15158u0_a64 32499 26475 AsyncTask #1542 15159u0_a64 32499 26476 AsyncTask #1543 15160u0_a64 32499 26537 AsyncTask #1544 15161u0_a64 32499 26615 Binder:32499_F 15162 </script> 15163 <script class="trace-data" type="application/text"> 15164# tracer: nop 15165# 15166# entries-in-buffer/entries-written: 12215/12215 #P:8 15167# 15168# _-----=> irqs-off 15169# / _----=> need-resched 15170# | / _---=> hardirq/softirq 15171# || / _--=> preempt-depth 15172# ||| / delay 15173# TASK-PID TGID CPU# |||| TIMESTAMP FUNCTION 15174# | | | | |||| | | 15175 atrace-26769 (26769) [005] ...1 1034700.742666: tracing_mark_write: trace_event_clock_sync: parent_ts=1034700.750000 15176 atrace-26769 (26769) [005] ...1 1034700.742671: tracing_mark_write: trace_event_clock_sync: realtime_ts=1535717317366 15177 surfaceflinger-591 ( 591) [001] ...1 1034700.747177: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 15178 composer@2.1-s-593 ( 593) [000] ...1 1034700.747358: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 15179 composer@2.1-s-593 ( 593) [000] ...1 1034700.747419: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 15180 composer@2.1-s-593 ( 593) [000] ...1 1034700.747439: tracing_mark_write: B|593|HWDevice::Commit:: 15181 composer@2.1-s-593 ( 593) [000] ...1 1034700.747557: tracing_mark_write: E|593 15182 composer@2.1-s-593 ( 593) [000] ...1 1034700.747584: tracing_mark_write: E|593 15183 composer@2.1-s-593 ( 593) [000] ...1 1034700.747614: tracing_mark_write: E|593 15184 surfaceflinger-591 ( 591) [001] ...1 1034700.747699: tracing_mark_write: E|591 15185 sensors@1.0-se-778 ( 778) [007] ...1 1034700.751232: tracing_mark_write: E|778 15186 SensorService-1283 ( 1151) [002] ...1 1034700.751306: tracing_mark_write: E|1151 15187 SensorService-1283 ( 1151) [002] ...1 1034700.751380: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 15188 sensors@1.0-se-778 ( 778) [007] ...1 1034700.751429: tracing_mark_write: B|778|HIDL::ISensors::poll::server 15189 sensors@1.0-se-778 ( 778) [005] ...1 1034700.770547: tracing_mark_write: E|778 15190 SensorService-1283 ( 1151) [002] ...1 1034700.770623: tracing_mark_write: E|1151 15191 SensorService-1283 ( 1151) [002] ...1 1034700.770690: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 15192 sensors@1.0-se-778 ( 778) [005] ...1 1034700.770747: tracing_mark_write: B|778|HIDL::ISensors::poll::server 15193 surfaceflinger-591 ( 591) [002] ...1 1034700.780777: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 15194 composer@2.1-s-593 ( 593) [000] ...1 1034700.780889: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 15195 composer@2.1-s-593 ( 593) [000] ...1 1034700.780950: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 15196 composer@2.1-s-593 ( 593) [000] ...1 1034700.780969: tracing_mark_write: B|593|HWDevice::Commit:: 15197 composer@2.1-s-593 ( 593) [000] ...1 1034700.781077: tracing_mark_write: E|593 15198 composer@2.1-s-593 ( 593) [000] ...1 1034700.781102: tracing_mark_write: E|593 15199 composer@2.1-s-593 ( 593) [000] ...1 1034700.781130: tracing_mark_write: E|593 15200 surfaceflinger-591 ( 591) [003] ...1 1034700.781209: tracing_mark_write: E|591 15201 sensors@1.0-se-778 ( 778) [006] ...1 1034700.789886: tracing_mark_write: E|778 15202 SensorService-1283 ( 1151) [002] ...1 1034700.789972: tracing_mark_write: E|1151 15203 SensorService-1283 ( 1151) [002] ...1 1034700.790041: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 15204 sensors@1.0-se-778 ( 778) [006] ...1 1034700.790101: tracing_mark_write: B|778|HIDL::ISensors::poll::server 15205 sensors@1.0-se-778 ( 778) [006] ...1 1034700.809091: tracing_mark_write: E|778 15206 SensorService-1283 ( 1151) [002] ...1 1034700.809191: tracing_mark_write: E|1151 15207 SensorService-1283 ( 1151) [002] ...1 1034700.809264: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 15208 sensors@1.0-se-778 ( 778) [006] ...1 1034700.809379: tracing_mark_write: B|778|HIDL::ISensors::poll::server 15209 sensors@1.0-se-778 ( 778) [006] ...1 1034700.828355: tracing_mark_write: E|778 15210 SensorService-1283 ( 1151) [002] ...1 1034700.828448: tracing_mark_write: E|1151 15211 SensorService-1283 ( 1151) [002] ...1 1034700.828532: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 15212 sensors@1.0-se-778 ( 778) [006] ...1 1034700.828620: tracing_mark_write: B|778|HIDL::ISensors::poll::server 15213 surfaceflinger-591 ( 591) [002] ...1 1034700.831115: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 15214 composer@2.1-s-593 ( 593) [000] ...1 1034700.831256: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 15215 composer@2.1-s-593 ( 593) [000] ...1 1034700.831317: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 15216 composer@2.1-s-593 ( 593) [000] ...1 1034700.831336: tracing_mark_write: B|593|HWDevice::Commit:: 15217 composer@2.1-s-593 ( 593) [000] ...1 1034700.831441: tracing_mark_write: E|593 15218 composer@2.1-s-593 ( 593) [000] ...1 1034700.831465: tracing_mark_write: E|593 15219 composer@2.1-s-593 ( 593) [000] ...1 1034700.831493: tracing_mark_write: E|593 15220 surfaceflinger-591 ( 591) [001] ...1 1034700.831569: tracing_mark_write: E|591 15221 sensors@1.0-se-778 ( 778) [006] ...1 1034700.847992: tracing_mark_write: E|778 15222 SensorService-1283 ( 1151) [002] ...1 1034700.848113: tracing_mark_write: E|1151 15223 SensorService-1283 ( 1151) [002] ...1 1034700.848226: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 15224 sensors@1.0-se-778 ( 778) [006] ...1 1034700.848361: tracing_mark_write: B|778|HIDL::ISensors::poll::server 15225 surfaceflinger-591 ( 591) [000] ...1 1034700.864832: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 15226 composer@2.1-s-593 ( 593) [001] ...1 1034700.865026: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 15227 composer@2.1-s-593 ( 593) [001] ...1 1034700.865105: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 15228 composer@2.1-s-593 ( 593) [001] ...1 1034700.865127: tracing_mark_write: B|593|HWDevice::Commit:: 15229 composer@2.1-s-593 ( 593) [001] ...1 1034700.865254: tracing_mark_write: E|593 15230 composer@2.1-s-593 ( 593) [001] ...1 1034700.865283: tracing_mark_write: E|593 15231 composer@2.1-s-593 ( 593) [001] ...1 1034700.865318: tracing_mark_write: E|593 15232 surfaceflinger-591 ( 591) [000] ...1 1034700.865403: tracing_mark_write: E|591 15233 sensors@1.0-se-778 ( 778) [005] ...1 1034700.867121: tracing_mark_write: E|778 15234 SensorService-1283 ( 1151) [001] ...1 1034700.867289: tracing_mark_write: E|1151 15235 SensorService-1283 ( 1151) [001] ...1 1034700.867380: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 15236 sensors@1.0-se-778 ( 778) [005] ...1 1034700.867517: tracing_mark_write: B|778|HIDL::ISensors::poll::server 15237 sensors@1.0-se-778 ( 778) [005] ...1 1034700.886523: tracing_mark_write: E|778 15238 SensorService-1283 ( 1151) [000] ...1 1034700.886756: tracing_mark_write: E|1151 15239 SensorService-1283 ( 1151) [000] ...1 1034700.886855: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 15240 sensors@1.0-se-778 ( 778) [005] ...1 1034700.886999: tracing_mark_write: B|778|HIDL::ISensors::poll::server 15241 sensors@1.0-se-778 ( 778) [005] ...1 1034700.905600: tracing_mark_write: E|778 15242 SensorService-1283 ( 1151) [000] ...1 1034700.905722: tracing_mark_write: E|1151 15243 SensorService-1283 ( 1151) [000] ...1 1034700.905825: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 15244 sensors@1.0-se-778 ( 778) [005] ...1 1034700.905938: tracing_mark_write: B|778|HIDL::ISensors::poll::server 15245 surfaceflinger-591 ( 591) [000] ...1 1034700.915180: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 15246 composer@2.1-s-593 ( 593) [001] ...1 1034700.915348: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 15247 composer@2.1-s-593 ( 593) [001] ...1 1034700.915433: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 15248 composer@2.1-s-593 ( 593) [001] ...1 1034700.915457: tracing_mark_write: B|593|HWDevice::Commit:: 15249 composer@2.1-s-593 ( 593) [001] ...1 1034700.915636: tracing_mark_write: E|593 15250 composer@2.1-s-593 ( 593) [001] ...1 1034700.915667: tracing_mark_write: E|593 15251 composer@2.1-s-593 ( 593) [001] ...1 1034700.915703: tracing_mark_write: E|593 15252 surfaceflinger-591 ( 591) [000] ...1 1034700.915793: tracing_mark_write: E|591 15253 sensors@1.0-se-778 ( 778) [005] ...1 1034700.924825: tracing_mark_write: E|778 15254 SensorService-1283 ( 1151) [000] ...1 1034700.924961: tracing_mark_write: E|1151 15255 SensorService-1283 ( 1151) [000] ...1 1034700.925071: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 15256 sensors@1.0-se-778 ( 778) [005] ...1 1034700.925231: tracing_mark_write: B|778|HIDL::ISensors::poll::server 15257 sensors@1.0-se-778 ( 778) [005] ...1 1034700.944016: tracing_mark_write: E|778 15258 SensorService-1283 ( 1151) [000] ...1 1034700.944176: tracing_mark_write: E|1151 15259 SensorService-1283 ( 1151) [000] ...1 1034700.944301: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 15260 sensors@1.0-se-778 ( 778) [005] ...1 1034700.944435: tracing_mark_write: B|778|HIDL::ISensors::poll::server 15261 surfaceflinger-591 ( 591) [003] ...1 1034700.948787: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 15262 composer@2.1-s-593 ( 593) [001] ...1 1034700.948966: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 15263 composer@2.1-s-593 ( 593) [001] ...1 1034700.949049: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 15264 composer@2.1-s-593 ( 593) [001] ...1 1034700.949074: tracing_mark_write: B|593|HWDevice::Commit:: 15265 composer@2.1-s-593 ( 593) [001] ...1 1034700.949214: tracing_mark_write: E|593 15266 composer@2.1-s-593 ( 593) [001] ...1 1034700.949248: tracing_mark_write: E|593 15267 composer@2.1-s-593 ( 593) [001] ...1 1034700.949285: tracing_mark_write: E|593 15268 surfaceflinger-591 ( 591) [003] ...1 1034700.949390: tracing_mark_write: E|591 15269 sensors@1.0-se-778 ( 778) [004] ...1 1034700.963554: tracing_mark_write: E|778 15270 SensorService-1283 ( 1151) [000] ...1 1034700.963723: tracing_mark_write: E|1151 15271 SensorService-1283 ( 1151) [000] ...1 1034700.963836: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 15272 sensors@1.0-se-778 ( 778) [004] ...1 1034700.964014: tracing_mark_write: B|778|HIDL::ISensors::poll::server 15273 sensors@1.0-se-778 ( 778) [006] ...1 1034700.982663: tracing_mark_write: E|778 15274 SensorService-1283 ( 1151) [000] ...1 1034700.982834: tracing_mark_write: E|1151 15275 SensorService-1283 ( 1151) [000] ...1 1034700.982939: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 15276 sensors@1.0-se-778 ( 778) [006] ...1 1034700.983097: tracing_mark_write: B|778|HIDL::ISensors::poll::server 15277 surfaceflinger-591 ( 591) [002] ...1 1034700.999028: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 15278 composer@2.1-s-593 ( 593) [001] ...1 1034700.999209: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 15279 composer@2.1-s-593 ( 593) [001] ...1 1034700.999285: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 15280 composer@2.1-s-593 ( 593) [001] ...1 1034700.999309: tracing_mark_write: B|593|HWDevice::Commit:: 15281 composer@2.1-s-593 ( 593) [001] ...1 1034700.999439: tracing_mark_write: E|593 15282 composer@2.1-s-593 ( 593) [001] ...1 1034700.999468: tracing_mark_write: E|593 15283 composer@2.1-s-593 ( 593) [001] ...1 1034700.999501: tracing_mark_write: E|593 15284 surfaceflinger-591 ( 591) [003] ...1 1034700.999587: tracing_mark_write: E|591 15285 sensors@1.0-se-778 ( 778) [006] ...1 1034701.002199: tracing_mark_write: E|778 15286 SensorService-1283 ( 1151) [000] ...1 1034701.002346: tracing_mark_write: E|1151 15287 SensorService-1283 ( 1151) [000] ...1 1034701.002502: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 15288 sensors@1.0-se-778 ( 778) [006] ...1 1034701.002823: tracing_mark_write: B|778|HIDL::ISensors::poll::server 15289 sensors@1.0-se-778 ( 778) [004] ...1 1034701.021074: tracing_mark_write: E|778 15290 SensorService-1283 ( 1151) [000] ...1 1034701.021200: tracing_mark_write: E|1151 15291 SensorService-1283 ( 1151) [000] ...1 1034701.021290: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 15292 sensors@1.0-se-778 ( 778) [004] ...1 1034701.021397: tracing_mark_write: B|778|HIDL::ISensors::poll::server 15293 surfaceflinger-591 ( 591) [002] ...1 1034701.032575: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 15294 composer@2.1-s-593 ( 593) [001] ...1 1034701.032744: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 15295 composer@2.1-s-593 ( 593) [001] ...1 1034701.032821: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 15296 composer@2.1-s-593 ( 593) [001] ...1 1034701.032844: tracing_mark_write: B|593|HWDevice::Commit:: 15297 composer@2.1-s-593 ( 593) [001] ...1 1034701.032970: tracing_mark_write: E|593 15298 composer@2.1-s-593 ( 593) [001] ...1 1034701.033001: tracing_mark_write: E|593 15299 composer@2.1-s-593 ( 593) [001] ...1 1034701.033038: tracing_mark_write: E|593 15300 surfaceflinger-591 ( 591) [003] ...1 1034701.033137: tracing_mark_write: E|591 15301 sensors@1.0-se-778 ( 778) [005] ...1 1034701.040324: tracing_mark_write: E|778 15302 SensorService-1283 ( 1151) [000] ...1 1034701.040460: tracing_mark_write: E|1151 15303 SensorService-1283 ( 1151) [000] ...1 1034701.040556: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 15304 sensors@1.0-se-778 ( 778) [005] ...1 1034701.040663: tracing_mark_write: B|778|HIDL::ISensors::poll::server 15305 sensors@1.0-se-778 ( 778) [005] ...1 1034701.061155: tracing_mark_write: E|778 15306 SensorService-1283 ( 1151) [000] ...1 1034701.061291: tracing_mark_write: E|1151 15307 SensorService-1283 ( 1151) [000] ...1 1034701.061384: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 15308 sensors@1.0-se-778 ( 778) [005] ...1 1034701.061515: tracing_mark_write: B|778|HIDL::ISensors::poll::server 15309 sensors@1.0-se-778 ( 778) [005] ...1 1034701.079090: tracing_mark_write: E|778 15310 SensorService-1283 ( 1151) [000] ...1 1034701.079233: tracing_mark_write: E|1151 15311 SensorService-1283 ( 1151) [000] ...1 1034701.079339: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 15312 sensors@1.0-se-778 ( 778) [005] ...1 1034701.079466: tracing_mark_write: B|778|HIDL::ISensors::poll::server 15313 surfaceflinger-591 ( 591) [003] ...1 1034701.082933: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 15314 composer@2.1-s-593 ( 593) [001] ...1 1034701.083108: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 15315 composer@2.1-s-593 ( 593) [001] ...1 1034701.083188: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 15316 composer@2.1-s-593 ( 593) [001] ...1 1034701.083270: tracing_mark_write: B|593|HWDevice::Commit:: 15317 composer@2.1-s-593 ( 593) [001] ...1 1034701.083412: tracing_mark_write: E|593 15318 composer@2.1-s-593 ( 593) [001] ...1 1034701.083446: tracing_mark_write: E|593 15319 composer@2.1-s-593 ( 593) [001] ...1 1034701.083484: tracing_mark_write: E|593 15320 surfaceflinger-591 ( 591) [003] ...1 1034701.083582: tracing_mark_write: E|591 15321 sensors@1.0-se-778 ( 778) [006] ...1 1034701.098061: tracing_mark_write: E|778 15322 SensorService-1283 ( 1151) [000] ...1 1034701.098200: tracing_mark_write: E|1151 15323 SensorService-1283 ( 1151) [000] ...1 1034701.098287: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 15324 sensors@1.0-se-778 ( 778) [006] ...1 1034701.098403: tracing_mark_write: B|778|HIDL::ISensors::poll::server 15325 sensors@1.0-se-778 ( 778) [006] ...1 1034701.117296: tracing_mark_write: E|778 15326 SensorService-1283 ( 1151) [000] ...1 1034701.117418: tracing_mark_write: E|1151 15327 SensorService-1283 ( 1151) [000] ...1 1034701.117513: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 15328 sensors@1.0-se-778 ( 778) [006] ...1 1034701.117612: tracing_mark_write: B|778|HIDL::ISensors::poll::server 15329 surfaceflinger-591 ( 591) [003] ...1 1034701.133318: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 15330 composer@2.1-s-593 ( 593) [001] ...1 1034701.133472: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 15331 composer@2.1-s-593 ( 593) [001] ...1 1034701.133552: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 15332 composer@2.1-s-593 ( 593) [001] ...1 1034701.133575: tracing_mark_write: B|593|HWDevice::Commit:: 15333 composer@2.1-s-593 ( 593) [001] ...1 1034701.133703: tracing_mark_write: E|593 15334 composer@2.1-s-593 ( 593) [001] ...1 1034701.133734: tracing_mark_write: E|593 15335 composer@2.1-s-593 ( 593) [001] ...1 1034701.133768: tracing_mark_write: E|593 15336 surfaceflinger-591 ( 591) [003] ...1 1034701.133865: tracing_mark_write: E|591 15337 sensors@1.0-se-778 ( 778) [007] ...1 1034701.136531: tracing_mark_write: E|778 15338 SensorService-1283 ( 1151) [000] ...1 1034701.136692: tracing_mark_write: E|1151 15339 SensorService-1283 ( 1151) [000] ...1 1034701.136783: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 15340 sensors@1.0-se-778 ( 778) [007] ...1 1034701.136867: tracing_mark_write: B|778|HIDL::ISensors::poll::server 15341 sensors@1.0-se-778 ( 778) [007] ...1 1034701.155886: tracing_mark_write: E|778 15342 SensorService-1283 ( 1151) [000] ...1 1034701.156028: tracing_mark_write: E|1151 15343 SensorService-1283 ( 1151) [000] ...1 1034701.156147: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 15344 HwBinder:778_1-1087 ( 778) [004] ...1 1034701.156275: tracing_mark_write: B|778|HIDL::ISensors::poll::server 15345 surfaceflinger-591 ( 591) [002] ...1 1034701.166951: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 15346 composer@2.1-s-593 ( 593) [001] ...1 1034701.167098: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 15347 composer@2.1-s-593 ( 593) [001] ...1 1034701.167173: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 15348 composer@2.1-s-593 ( 593) [001] ...1 1034701.167196: tracing_mark_write: B|593|HWDevice::Commit:: 15349 composer@2.1-s-593 ( 593) [001] ...1 1034701.167318: tracing_mark_write: E|593 15350 composer@2.1-s-593 ( 593) [001] ...1 1034701.167346: tracing_mark_write: E|593 15351 composer@2.1-s-593 ( 593) [001] ...1 1034701.167379: tracing_mark_write: E|593 15352 surfaceflinger-591 ( 591) [003] ...1 1034701.167471: tracing_mark_write: E|591 15353 HwBinder:778_1-1087 ( 778) [002] ...1 1034701.175102: tracing_mark_write: E|778 15354 SensorService-1283 ( 1151) [000] ...1 1034701.175218: tracing_mark_write: E|1151 15355 SensorService-1283 ( 1151) [000] ...1 1034701.175316: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 15356 HwBinder:778_1-1087 ( 778) [002] ...1 1034701.175379: tracing_mark_write: B|778|HIDL::ISensors::poll::server 15357 HwBinder:778_1-1087 ( 778) [003] ...1 1034701.194295: tracing_mark_write: E|778 15358 SensorService-1283 ( 1151) [000] ...1 1034701.194421: tracing_mark_write: E|1151 15359 SensorService-1283 ( 1151) [000] ...1 1034701.194516: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 15360 HwBinder:778_1-1087 ( 778) [003] ...1 1034701.194578: tracing_mark_write: B|778|HIDL::ISensors::poll::server 15361 HwBinder:778_1-1087 ( 778) [002] ...1 1034701.214050: tracing_mark_write: E|778 15362 SensorService-1283 ( 1151) [000] ...1 1034701.214154: tracing_mark_write: E|1151 15363 SensorService-1283 ( 1151) [000] ...1 1034701.214247: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 15364 HwBinder:778_1-1087 ( 778) [002] ...1 1034701.214307: tracing_mark_write: B|778|HIDL::ISensors::poll::server 15365 surfaceflinger-591 ( 591) [002] ...1 1034701.217129: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 15366 composer@2.1-s-593 ( 593) [001] ...1 1034701.217269: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 15367 composer@2.1-s-593 ( 593) [001] ...1 1034701.217340: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 15368 composer@2.1-s-593 ( 593) [001] ...1 1034701.217359: tracing_mark_write: B|593|HWDevice::Commit:: 15369 composer@2.1-s-593 ( 593) [001] ...1 1034701.217464: tracing_mark_write: E|593 15370 composer@2.1-s-593 ( 593) [001] ...1 1034701.217489: tracing_mark_write: E|593 15371 composer@2.1-s-593 ( 593) [001] ...1 1034701.217518: tracing_mark_write: E|593 15372 surfaceflinger-591 ( 591) [003] ...1 1034701.217591: tracing_mark_write: E|591 15373 HwBinder:778_1-1087 ( 778) [001] ...1 1034701.232711: tracing_mark_write: E|778 15374 SensorService-1283 ( 1151) [000] ...1 1034701.232803: tracing_mark_write: E|1151 15375 SensorService-1283 ( 1151) [000] ...1 1034701.232883: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 15376 HwBinder:778_1-1087 ( 778) [001] ...1 1034701.232941: tracing_mark_write: B|778|HIDL::ISensors::poll::server 15377 surfaceflinger-591 ( 591) [000] ...1 1034701.250615: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 15378 composer@2.1-s-593 ( 593) [001] ...1 1034701.250738: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 15379 composer@2.1-s-593 ( 593) [001] ...1 1034701.250803: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 15380 composer@2.1-s-593 ( 593) [001] ...1 1034701.250823: tracing_mark_write: B|593|HWDevice::Commit:: 15381 composer@2.1-s-593 ( 593) [001] ...1 1034701.250928: tracing_mark_write: E|593 15382 composer@2.1-s-593 ( 593) [001] ...1 1034701.250953: tracing_mark_write: E|593 15383 composer@2.1-s-593 ( 593) [001] ...1 1034701.250990: tracing_mark_write: E|593 15384 surfaceflinger-591 ( 591) [000] ...1 1034701.251064: tracing_mark_write: E|591 15385 HwBinder:778_1-1087 ( 778) [000] ...1 1034701.252140: tracing_mark_write: E|778 15386 SensorService-1283 ( 1151) [003] ...1 1034701.252225: tracing_mark_write: E|1151 15387 SensorService-1283 ( 1151) [003] ...1 1034701.252297: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 15388 HwBinder:778_1-1087 ( 778) [000] ...1 1034701.252349: tracing_mark_write: B|778|HIDL::ISensors::poll::server 15389 HwBinder:778_1-1087 ( 778) [001] ...1 1034701.271515: tracing_mark_write: E|778 15390 SensorService-1283 ( 1151) [003] ...1 1034701.271610: tracing_mark_write: E|1151 15391 SensorService-1283 ( 1151) [003] ...1 1034701.271697: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 15392 HwBinder:778_1-1087 ( 778) [001] ...1 1034701.271759: tracing_mark_write: B|778|HIDL::ISensors::poll::server 15393 HwBinder:778_1-1087 ( 778) [002] ...1 1034701.290612: tracing_mark_write: E|778 15394 SensorService-1283 ( 1151) [003] ...1 1034701.290719: tracing_mark_write: E|1151 15395 SensorService-1283 ( 1151) [003] ...1 1034701.290822: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 15396 HwBinder:778_1-1087 ( 778) [002] ...1 1034701.290887: tracing_mark_write: B|778|HIDL::ISensors::poll::server 15397 surfaceflinger-591 ( 591) [000] ...1 1034701.301072: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 15398 composer@2.1-s-593 ( 593) [001] ...1 1034701.301240: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 15399 composer@2.1-s-593 ( 593) [001] ...1 1034701.301318: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 15400 composer@2.1-s-593 ( 593) [001] ...1 1034701.301340: tracing_mark_write: B|593|HWDevice::Commit:: 15401 composer@2.1-s-593 ( 593) [001] ...1 1034701.301461: tracing_mark_write: E|593 15402 composer@2.1-s-593 ( 593) [001] ...1 1034701.301488: tracing_mark_write: E|593 15403 composer@2.1-s-593 ( 593) [001] ...1 1034701.301521: tracing_mark_write: E|593 15404 surfaceflinger-591 ( 591) [000] ...1 1034701.301600: tracing_mark_write: E|591 15405 HwBinder:778_1-1087 ( 778) [002] ...1 1034701.309826: tracing_mark_write: E|778 15406 SensorService-1283 ( 1151) [003] ...1 1034701.309964: tracing_mark_write: E|1151 15407 SensorService-1283 ( 1151) [003] ...1 1034701.310055: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 15408 HwBinder:778_1-1087 ( 778) [002] ...1 1034701.310116: tracing_mark_write: B|778|HIDL::ISensors::poll::server 15409 HwBinder:778_1-1087 ( 778) [003] ...1 1034701.329014: tracing_mark_write: E|778 15410 SensorService-1283 ( 1151) [002] ...1 1034701.329126: tracing_mark_write: E|1151 15411 SensorService-1283 ( 1151) [002] ...1 1034701.329220: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 15412 HwBinder:778_1-1087 ( 778) [003] ...1 1034701.329285: tracing_mark_write: B|778|HIDL::ISensors::poll::server 15413 surfaceflinger-591 ( 591) [000] ...1 1034701.334621: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 15414 composer@2.1-s-593 ( 593) [001] ...1 1034701.334810: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 15415 composer@2.1-s-593 ( 593) [001] ...1 1034701.334886: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 15416 composer@2.1-s-593 ( 593) [001] ...1 1034701.334909: tracing_mark_write: B|593|HWDevice::Commit:: 15417 composer@2.1-s-593 ( 593) [001] ...1 1034701.335033: tracing_mark_write: E|593 15418 composer@2.1-s-593 ( 593) [001] ...1 1034701.335064: tracing_mark_write: E|593 15419 composer@2.1-s-593 ( 593) [001] ...1 1034701.335098: tracing_mark_write: E|593 15420 surfaceflinger-591 ( 591) [000] ...1 1034701.335189: tracing_mark_write: E|591 15421 HwBinder:778_1-1087 ( 778) [001] ...1 1034701.348248: tracing_mark_write: E|778 15422 SensorService-1283 ( 1151) [002] ...1 1034701.348348: tracing_mark_write: E|1151 15423 SensorService-1283 ( 1151) [002] ...1 1034701.348439: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 15424 HwBinder:778_1-1087 ( 778) [001] ...1 1034701.348501: tracing_mark_write: B|778|HIDL::ISensors::poll::server 15425 HwBinder:778_1-1087 ( 778) [002] ...1 1034701.367632: tracing_mark_write: E|778 15426 SensorService-1283 ( 1151) [006] ...1 1034701.367775: tracing_mark_write: E|1151 15427 SensorService-1283 ( 1151) [006] ...1 1034701.367880: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 15428 HwBinder:778_1-1087 ( 778) [002] ...1 1034701.367974: tracing_mark_write: B|778|HIDL::ISensors::poll::server 15429 surfaceflinger-591 ( 591) [003] ...1 1034701.384979: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 15430 composer@2.1-s-593 ( 593) [001] ...1 1034701.385125: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 15431 composer@2.1-s-593 ( 593) [001] ...1 1034701.385202: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 15432 composer@2.1-s-593 ( 593) [001] ...1 1034701.385230: tracing_mark_write: B|593|HWDevice::Commit:: 15433 composer@2.1-s-593 ( 593) [001] ...1 1034701.385358: tracing_mark_write: E|593 15434 composer@2.1-s-593 ( 593) [001] ...1 1034701.385388: tracing_mark_write: E|593 15435 composer@2.1-s-593 ( 593) [001] ...1 1034701.385474: tracing_mark_write: E|593 15436 surfaceflinger-591 ( 591) [003] ...1 1034701.385563: tracing_mark_write: E|591 15437 HwBinder:778_1-1087 ( 778) [005] ...1 1034701.386835: tracing_mark_write: E|778 15438 SensorService-1283 ( 1151) [006] ...1 1034701.387005: tracing_mark_write: E|1151 15439 SensorService-1283 ( 1151) [006] ...1 1034701.387156: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 15440 HwBinder:778_1-1087 ( 778) [005] ...1 1034701.387286: tracing_mark_write: B|778|HIDL::ISensors::poll::server 15441 HwBinder:778_1-1087 ( 778) [003] ...1 1034701.405993: tracing_mark_write: E|778 15442 SensorService-1283 ( 1151) [006] ...1 1034701.406111: tracing_mark_write: E|1151 15443 SensorService-1283 ( 1151) [006] ...1 1034701.406221: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 15444 HwBinder:778_1-1087 ( 778) [003] ...1 1034701.406301: tracing_mark_write: B|778|HIDL::ISensors::poll::server 15445 surfaceflinger-591 ( 591) [002] ...1 1034701.418503: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 15446 composer@2.1-s-593 ( 593) [001] ...1 1034701.418668: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 15447 composer@2.1-s-593 ( 593) [001] ...1 1034701.418746: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 15448 composer@2.1-s-593 ( 593) [001] ...1 1034701.418772: tracing_mark_write: B|593|HWDevice::Commit:: 15449 composer@2.1-s-593 ( 593) [001] ...1 1034701.418901: tracing_mark_write: E|593 15450 composer@2.1-s-593 ( 593) [001] ...1 1034701.418931: tracing_mark_write: E|593 15451 composer@2.1-s-593 ( 593) [001] ...1 1034701.418965: tracing_mark_write: E|593 15452 surfaceflinger-591 ( 591) [003] ...1 1034701.419056: tracing_mark_write: E|591 15453 HwBinder:778_1-1087 ( 778) [001] ...1 1034701.425459: tracing_mark_write: E|778 15454 SensorService-1283 ( 1151) [006] ...1 1034701.425664: tracing_mark_write: E|1151 15455 SensorService-1283 ( 1151) [006] ...1 1034701.425786: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 15456 HwBinder:778_1-1087 ( 778) [001] ...1 1034701.425882: tracing_mark_write: B|778|HIDL::ISensors::poll::server 15457 HwBinder:778_1-1087 ( 778) [002] ...1 1034701.444540: tracing_mark_write: E|778 15458 SensorService-1283 ( 1151) [006] ...1 1034701.444663: tracing_mark_write: E|1151 15459 SensorService-1283 ( 1151) [006] ...1 1034701.444759: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 15460 HwBinder:778_1-1087 ( 778) [002] ...1 1034701.444841: tracing_mark_write: B|778|HIDL::ISensors::poll::server 15461 surfaceflinger-591 ( 591) [002] ...1 1034701.452056: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 15462 composer@2.1-s-593 ( 593) [001] ...1 1034701.452205: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 15463 composer@2.1-s-593 ( 593) [001] ...1 1034701.452282: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 15464 composer@2.1-s-593 ( 593) [001] ...1 1034701.452303: tracing_mark_write: B|593|HWDevice::Commit:: 15465 composer@2.1-s-593 ( 593) [001] ...1 1034701.452433: tracing_mark_write: E|593 15466 composer@2.1-s-593 ( 593) [001] ...1 1034701.452461: tracing_mark_write: E|593 15467 composer@2.1-s-593 ( 593) [001] ...1 1034701.452504: tracing_mark_write: E|593 15468 surfaceflinger-591 ( 591) [003] ...1 1034701.452592: tracing_mark_write: E|591 15469 HwBinder:778_1-1087 ( 778) [002] ...1 1034701.463825: tracing_mark_write: E|778 15470 SensorService-1283 ( 1151) [006] ...1 1034701.463944: tracing_mark_write: E|1151 15471 SensorService-1283 ( 1151) [006] ...1 1034701.464041: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 15472 HwBinder:778_1-1087 ( 778) [002] ...1 1034701.464123: tracing_mark_write: B|778|HIDL::ISensors::poll::server 15473 HwBinder:778_1-1087 ( 778) [002] ...1 1034701.483062: tracing_mark_write: E|778 15474 SensorService-1283 ( 1151) [006] ...1 1034701.483176: tracing_mark_write: E|1151 15475 SensorService-1283 ( 1151) [006] ...1 1034701.483328: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 15476 HwBinder:778_1-1087 ( 778) [002] ...1 1034701.483408: tracing_mark_write: B|778|HIDL::ISensors::poll::server 15477 HwBinder:778_1-1087 ( 778) [001] ...1 1034701.502223: tracing_mark_write: E|778 15478 SensorService-1283 ( 1151) [006] ...1 1034701.502371: tracing_mark_write: E|1151 15479 surfaceflinger-591 ( 591) [000] ...1 1034701.502374: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 15480 composer@2.1-s-593 ( 593) [001] ...1 1034701.502511: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 15481 SensorService-1283 ( 1151) [006] ...1 1034701.502511: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 15482 composer@2.1-s-593 ( 593) [001] ...1 1034701.502586: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 15483 composer@2.1-s-593 ( 593) [001] ...1 1034701.502608: tracing_mark_write: B|593|HWDevice::Commit:: 15484 HwBinder:778_1-1087 ( 778) [000] ...1 1034701.502621: tracing_mark_write: B|778|HIDL::ISensors::poll::server 15485 composer@2.1-s-593 ( 593) [001] ...1 1034701.502733: tracing_mark_write: E|593 15486 composer@2.1-s-593 ( 593) [001] ...1 1034701.502763: tracing_mark_write: E|593 15487 composer@2.1-s-593 ( 593) [001] ...1 1034701.502794: tracing_mark_write: E|593 15488 surfaceflinger-591 ( 591) [000] ...1 1034701.502874: tracing_mark_write: E|591 15489 HwBinder:778_1-1087 ( 778) [000] ...1 1034701.521717: tracing_mark_write: E|778 15490 SensorService-1283 ( 1151) [006] ...1 1034701.521814: tracing_mark_write: E|1151 15491 SensorService-1283 ( 1151) [006] ...1 1034701.521903: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 15492 HwBinder:778_1-1087 ( 778) [000] ...1 1034701.521981: tracing_mark_write: B|778|HIDL::ISensors::poll::server 15493 surfaceflinger-591 ( 591) [000] ...1 1034701.535898: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 15494 composer@2.1-s-593 ( 593) [001] ...1 1034701.536035: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 15495 composer@2.1-s-593 ( 593) [001] ...1 1034701.536113: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 15496 composer@2.1-s-593 ( 593) [001] ...1 1034701.536135: tracing_mark_write: B|593|HWDevice::Commit:: 15497 composer@2.1-s-593 ( 593) [001] ...1 1034701.536252: tracing_mark_write: E|593 15498 composer@2.1-s-593 ( 593) [001] ...1 1034701.536281: tracing_mark_write: E|593 15499 composer@2.1-s-593 ( 593) [001] ...1 1034701.536314: tracing_mark_write: E|593 15500 surfaceflinger-591 ( 591) [000] ...1 1034701.536390: tracing_mark_write: E|591 15501 HwBinder:778_1-1087 ( 778) [001] ...1 1034701.540815: tracing_mark_write: E|778 15502 SensorService-1283 ( 1151) [006] ...1 1034701.540911: tracing_mark_write: E|1151 15503 SensorService-1283 ( 1151) [006] ...1 1034701.541013: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 15504 HwBinder:778_1-1087 ( 778) [001] ...1 1034701.541087: tracing_mark_write: B|778|HIDL::ISensors::poll::server 15505 HwBinder:778_1-1087 ( 778) [001] ...1 1034701.561092: tracing_mark_write: E|778 15506 SensorService-1283 ( 1151) [006] ...1 1034701.561281: tracing_mark_write: E|1151 15507 SensorService-1283 ( 1151) [006] ...1 1034701.561452: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 15508 HwBinder:778_1-1087 ( 778) [001] ...1 1034701.561585: tracing_mark_write: B|778|HIDL::ISensors::poll::server 15509 HwBinder:778_1-1087 ( 778) [001] ...1 1034701.579523: tracing_mark_write: E|778 15510 SensorService-1283 ( 1151) [006] ...1 1034701.579654: tracing_mark_write: E|1151 15511 SensorService-1283 ( 1151) [006] ...1 1034701.579764: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 15512 HwBinder:778_1-1087 ( 778) [001] ...1 1034701.579918: tracing_mark_write: B|778|HIDL::ISensors::poll::server 15513 surfaceflinger-591 ( 591) [002] ...1 1034701.586800: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 15514 composer@2.1-s-593 ( 593) [001] ...1 1034701.587083: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 15515 composer@2.1-s-593 ( 593) [001] ...1 1034701.587239: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 15516 composer@2.1-s-593 ( 593) [001] ...1 1034701.587287: tracing_mark_write: B|593|HWDevice::Commit:: 15517 composer@2.1-s-593 ( 593) [001] ...1 1034701.587537: tracing_mark_write: E|593 15518 composer@2.1-s-593 ( 593) [001] ...1 1034701.587595: tracing_mark_write: E|593 15519 composer@2.1-s-593 ( 593) [001] ...1 1034701.587665: tracing_mark_write: E|593 15520 surfaceflinger-591 ( 591) [000] ...1 1034701.587839: tracing_mark_write: E|591 15521 HwBinder:778_1-1087 ( 778) [000] ...1 1034701.599066: tracing_mark_write: E|778 15522 SensorService-1283 ( 1151) [006] ...1 1034701.599234: tracing_mark_write: E|1151 15523 SensorService-1283 ( 1151) [006] ...1 1034701.599372: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 15524 sensors@1.0-se-778 ( 778) [007] ...1 1034701.599562: tracing_mark_write: B|778|HIDL::ISensors::poll::server 15525 sensors@1.0-se-778 ( 778) [007] ...1 1034701.618240: tracing_mark_write: E|778 15526 SensorService-1283 ( 1151) [006] ...1 1034701.618378: tracing_mark_write: E|1151 15527 SensorService-1283 ( 1151) [006] ...1 1034701.618521: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 15528 sensors@1.0-se-778 ( 778) [007] ...1 1034701.618652: tracing_mark_write: B|778|HIDL::ISensors::poll::server 15529 surfaceflinger-591 ( 591) [001] ...1 1034701.637024: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 15530 composer@2.1-s-593 ( 593) [000] ...1 1034701.637326: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 15531 sensors@1.0-se-778 ( 778) [007] ...1 1034701.637327: tracing_mark_write: E|778 15532 SensorService-1283 ( 1151) [006] ...1 1034701.637455: tracing_mark_write: E|1151 15533 composer@2.1-s-593 ( 593) [000] ...1 1034701.637486: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 15534 composer@2.1-s-593 ( 593) [000] ...1 1034701.637530: tracing_mark_write: B|593|HWDevice::Commit:: 15535 SensorService-1283 ( 1151) [006] ...1 1034701.637586: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 15536 sensors@1.0-se-778 ( 778) [007] ...1 1034701.637722: tracing_mark_write: B|778|HIDL::ISensors::poll::server 15537 composer@2.1-s-593 ( 593) [000] ...1 1034701.637779: tracing_mark_write: E|593 15538 composer@2.1-s-593 ( 593) [000] ...1 1034701.637834: tracing_mark_write: E|593 15539 composer@2.1-s-593 ( 593) [000] ...1 1034701.637899: tracing_mark_write: E|593 15540 surfaceflinger-591 ( 591) [001] ...1 1034701.638065: tracing_mark_write: E|591 15541 sensors@1.0-se-778 ( 778) [007] ...1 1034701.656855: tracing_mark_write: E|778 15542 SensorService-1283 ( 1151) [006] ...1 1034701.657055: tracing_mark_write: E|1151 15543 SensorService-1283 ( 1151) [006] ...1 1034701.657239: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 15544 sensors@1.0-se-778 ( 778) [007] ...1 1034701.657401: tracing_mark_write: B|778|HIDL::ISensors::poll::server 15545 surfaceflinger-591 ( 591) [000] ...1 1034701.670575: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 15546 composer@2.1-s-593 ( 593) [001] ...1 1034701.670830: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 15547 composer@2.1-s-593 ( 593) [001] ...1 1034701.670952: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 15548 composer@2.1-s-593 ( 593) [001] ...1 1034701.670988: tracing_mark_write: B|593|HWDevice::Commit:: 15549 composer@2.1-s-593 ( 593) [001] ...1 1034701.671183: tracing_mark_write: E|593 15550 composer@2.1-s-593 ( 593) [001] ...1 1034701.671229: tracing_mark_write: E|593 15551 composer@2.1-s-593 ( 593) [001] ...1 1034701.671281: tracing_mark_write: E|593 15552 surfaceflinger-591 ( 591) [000] ...1 1034701.671423: tracing_mark_write: E|591 15553 sensors@1.0-se-778 ( 778) [007] ...1 1034701.675900: tracing_mark_write: E|778 15554 SensorService-1283 ( 1151) [006] ...1 1034701.676074: tracing_mark_write: E|1151 15555 SensorService-1283 ( 1151) [006] ...1 1034701.676207: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 15556 sensors@1.0-se-778 ( 778) [007] ...1 1034701.676331: tracing_mark_write: B|778|HIDL::ISensors::poll::server 15557 sensors@1.0-se-778 ( 778) [007] ...1 1034701.695124: tracing_mark_write: E|778 15558 SensorService-1283 ( 1151) [006] ...1 1034701.695233: tracing_mark_write: E|1151 15559 SensorService-1283 ( 1151) [006] ...1 1034701.695338: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 15560 sensors@1.0-se-778 ( 778) [007] ...1 1034701.695451: tracing_mark_write: B|778|HIDL::ISensors::poll::server 15561 sensors@1.0-se-778 ( 778) [007] ...1 1034701.714327: tracing_mark_write: E|778 15562 SensorService-1283 ( 1151) [006] ...1 1034701.714431: tracing_mark_write: E|1151 15563 SensorService-1283 ( 1151) [006] ...1 1034701.714518: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 15564 sensors@1.0-se-778 ( 778) [007] ...1 1034701.714630: tracing_mark_write: B|778|HIDL::ISensors::poll::server 15565 surfaceflinger-591 ( 591) [000] ...1 1034701.720806: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 15566 composer@2.1-s-593 ( 593) [001] ...1 1034701.721044: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 15567 composer@2.1-s-593 ( 593) [001] ...1 1034701.721163: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 15568 composer@2.1-s-593 ( 593) [001] ...1 1034701.721197: tracing_mark_write: B|593|HWDevice::Commit:: 15569 composer@2.1-s-593 ( 593) [001] ...1 1034701.721379: tracing_mark_write: E|593 15570 composer@2.1-s-593 ( 593) [001] ...1 1034701.721424: tracing_mark_write: E|593 15571 composer@2.1-s-593 ( 593) [001] ...1 1034701.721473: tracing_mark_write: E|593 15572 surfaceflinger-591 ( 591) [000] ...1 1034701.721594: tracing_mark_write: E|591 15573 sensors@1.0-se-778 ( 778) [007] ...1 1034701.733502: tracing_mark_write: E|778 15574 SensorService-1283 ( 1151) [006] ...1 1034701.733600: tracing_mark_write: E|1151 15575 SensorService-1283 ( 1151) [006] ...1 1034701.733720: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 15576 sensors@1.0-se-778 ( 778) [007] ...1 1034701.733830: tracing_mark_write: B|778|HIDL::ISensors::poll::server 15577 sensors@1.0-se-778 ( 778) [007] ...1 1034701.752879: tracing_mark_write: E|778 15578 SensorService-1283 ( 1151) [006] ...1 1034701.752983: tracing_mark_write: E|1151 15579 SensorService-1283 ( 1151) [006] ...1 1034701.753070: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 15580 sensors@1.0-se-778 ( 778) [007] ...1 1034701.753181: tracing_mark_write: B|778|HIDL::ISensors::poll::server 15581 surfaceflinger-591 ( 591) [001] ...1 1034701.754422: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 15582 composer@2.1-s-593 ( 593) [000] ...1 1034701.754710: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 15583 composer@2.1-s-593 ( 593) [000] ...1 1034701.754839: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 15584 composer@2.1-s-593 ( 593) [000] ...1 1034701.754875: tracing_mark_write: B|593|HWDevice::Commit:: 15585 composer@2.1-s-593 ( 593) [000] ...1 1034701.755068: tracing_mark_write: E|593 15586 composer@2.1-s-593 ( 593) [000] ...1 1034701.755113: tracing_mark_write: E|593 15587 composer@2.1-s-593 ( 593) [000] ...1 1034701.755164: tracing_mark_write: E|593 15588 surfaceflinger-591 ( 591) [001] ...1 1034701.755293: tracing_mark_write: E|591 15589 sensors@1.0-se-778 ( 778) [007] ...1 1034701.772093: tracing_mark_write: E|778 15590 SensorService-1283 ( 1151) [006] ...1 1034701.772196: tracing_mark_write: E|1151 15591 SensorService-1283 ( 1151) [006] ...1 1034701.772305: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 15592 sensors@1.0-se-778 ( 778) [007] ...1 1034701.772416: tracing_mark_write: B|778|HIDL::ISensors::poll::server 15593 sensors@1.0-se-778 ( 778) [007] ...1 1034701.791205: tracing_mark_write: E|778 15594 SensorService-1283 ( 1151) [006] ...1 1034701.791308: tracing_mark_write: E|1151 15595 SensorService-1283 ( 1151) [006] ...1 1034701.791412: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 15596 sensors@1.0-se-778 ( 778) [007] ...1 1034701.791526: tracing_mark_write: B|778|HIDL::ISensors::poll::server 15597 surfaceflinger-591 ( 591) [002] ...1 1034701.804741: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 15598 composer@2.1-s-593 ( 593) [000] ...1 1034701.804979: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 15599 composer@2.1-s-593 ( 593) [000] ...1 1034701.805100: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 15600 composer@2.1-s-593 ( 593) [000] ...1 1034701.805134: tracing_mark_write: B|593|HWDevice::Commit:: 15601 composer@2.1-s-593 ( 593) [000] ...1 1034701.805311: tracing_mark_write: E|593 15602 composer@2.1-s-593 ( 593) [000] ...1 1034701.805356: tracing_mark_write: E|593 15603 composer@2.1-s-593 ( 593) [000] ...1 1034701.805404: tracing_mark_write: E|593 15604 surfaceflinger-591 ( 591) [001] ...1 1034701.805541: tracing_mark_write: E|591 15605 sensors@1.0-se-778 ( 778) [007] ...1 1034701.810530: tracing_mark_write: E|778 15606 SensorService-1283 ( 1151) [006] ...1 1034701.810628: tracing_mark_write: E|1151 15607 SensorService-1283 ( 1151) [006] ...1 1034701.810721: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 15608 sensors@1.0-se-778 ( 778) [007] ...1 1034701.810807: tracing_mark_write: B|778|HIDL::ISensors::poll::server 15609 sensors@1.0-se-778 ( 778) [007] ...1 1034701.830285: tracing_mark_write: E|778 15610 SensorService-1283 ( 1151) [006] ...1 1034701.830383: tracing_mark_write: E|1151 15611 SensorService-1283 ( 1151) [006] ...1 1034701.830488: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 15612 sensors@1.0-se-778 ( 778) [007] ...1 1034701.830565: tracing_mark_write: B|778|HIDL::ISensors::poll::server 15613 surfaceflinger-591 ( 591) [002] ...1 1034701.838279: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 15614 composer@2.1-s-593 ( 593) [000] ...1 1034701.838523: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 15615 composer@2.1-s-593 ( 593) [000] ...1 1034701.838658: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 15616 composer@2.1-s-593 ( 593) [000] ...1 1034701.838696: tracing_mark_write: B|593|HWDevice::Commit:: 15617 composer@2.1-s-593 ( 593) [000] ...1 1034701.838902: tracing_mark_write: E|593 15618 composer@2.1-s-593 ( 593) [000] ...1 1034701.838951: tracing_mark_write: E|593 15619 composer@2.1-s-593 ( 593) [000] ...1 1034701.839004: tracing_mark_write: E|593 15620 surfaceflinger-591 ( 591) [001] ...1 1034701.839151: tracing_mark_write: E|591 15621 sensors@1.0-se-778 ( 778) [007] ...1 1034701.849065: tracing_mark_write: E|778 15622 SensorService-1283 ( 1151) [006] ...1 1034701.849208: tracing_mark_write: E|1151 15623 SensorService-1283 ( 1151) [006] ...1 1034701.849354: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 15624 sensors@1.0-se-778 ( 778) [007] ...1 1034701.849501: tracing_mark_write: B|778|HIDL::ISensors::poll::server 15625 sensors@1.0-se-778 ( 778) [007] ...1 1034701.868353: tracing_mark_write: E|778 15626 SensorService-1283 ( 1151) [006] ...1 1034701.868481: tracing_mark_write: E|1151 15627 SensorService-1283 ( 1151) [006] ...1 1034701.868584: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 15628 sensors@1.0-se-778 ( 778) [007] ...1 1034701.868679: tracing_mark_write: B|778|HIDL::ISensors::poll::server 15629 sensors@1.0-se-778 ( 778) [007] ...1 1034701.887473: tracing_mark_write: E|778 15630 SensorService-1283 ( 1151) [006] ...1 1034701.887604: tracing_mark_write: E|1151 15631 SensorService-1283 ( 1151) [006] ...1 1034701.887749: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 15632 sensors@1.0-se-778 ( 778) [007] ...1 1034701.887858: tracing_mark_write: B|778|HIDL::ISensors::poll::server 15633 surfaceflinger-591 ( 591) [000] ...1 1034701.888640: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 15634 composer@2.1-s-593 ( 593) [001] ...1 1034701.888882: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 15635 composer@2.1-s-593 ( 593) [001] ...1 1034701.889004: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 15636 composer@2.1-s-593 ( 593) [001] ...1 1034701.889039: tracing_mark_write: B|593|HWDevice::Commit:: 15637 composer@2.1-s-593 ( 593) [001] ...1 1034701.889233: tracing_mark_write: E|593 15638 composer@2.1-s-593 ( 593) [001] ...1 1034701.889280: tracing_mark_write: E|593 15639 composer@2.1-s-593 ( 593) [001] ...1 1034701.889333: tracing_mark_write: E|593 15640 surfaceflinger-591 ( 591) [000] ...1 1034701.889457: tracing_mark_write: E|591 15641 sensors@1.0-se-778 ( 778) [007] ...1 1034701.906848: tracing_mark_write: E|778 15642 SensorService-1283 ( 1151) [006] ...1 1034701.906979: tracing_mark_write: E|1151 15643 SensorService-1283 ( 1151) [006] ...1 1034701.907115: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 15644 sensors@1.0-se-778 ( 778) [007] ...1 1034701.907242: tracing_mark_write: B|778|HIDL::ISensors::poll::server 15645 sensors@1.0-se-778 ( 778) [007] ...1 1034701.925954: tracing_mark_write: E|778 15646 SensorService-1283 ( 1151) [006] ...1 1034701.926101: tracing_mark_write: E|1151 15647 SensorService-1283 ( 1151) [006] ...1 1034701.926283: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 15648 sensors@1.0-se-778 ( 778) [007] ...1 1034701.926443: tracing_mark_write: B|778|HIDL::ISensors::poll::server 15649 surfaceflinger-591 ( 591) [002] ...1 1034701.939056: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 15650 composer@2.1-s-593 ( 593) [001] ...1 1034701.939311: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 15651 composer@2.1-s-593 ( 593) [001] ...1 1034701.939437: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 15652 composer@2.1-s-593 ( 593) [001] ...1 1034701.939471: tracing_mark_write: B|593|HWDevice::Commit:: 15653 composer@2.1-s-593 ( 593) [001] ...1 1034701.939662: tracing_mark_write: E|593 15654 composer@2.1-s-593 ( 593) [001] ...1 1034701.939707: tracing_mark_write: E|593 15655 composer@2.1-s-593 ( 593) [001] ...1 1034701.939759: tracing_mark_write: E|593 15656 surfaceflinger-591 ( 591) [000] ...1 1034701.939955: tracing_mark_write: E|591 15657 sensors@1.0-se-778 ( 778) [007] ...1 1034701.945403: tracing_mark_write: E|778 15658 SensorService-1283 ( 1151) [006] ...1 1034701.945542: tracing_mark_write: E|1151 15659 SensorService-1283 ( 1151) [006] ...1 1034701.945712: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 15660 sensors@1.0-se-778 ( 778) [007] ...1 1034701.945849: tracing_mark_write: B|778|HIDL::ISensors::poll::server 15661 sensors@1.0-se-778 ( 778) [007] ...1 1034701.965198: tracing_mark_write: E|778 15662 SensorService-1283 ( 1151) [006] ...1 1034701.965328: tracing_mark_write: E|1151 15663 SensorService-1283 ( 1151) [006] ...1 1034701.965489: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 15664 sensors@1.0-se-778 ( 778) [007] ...1 1034701.965619: tracing_mark_write: B|778|HIDL::ISensors::poll::server 15665 surfaceflinger-591 ( 591) [002] ...1 1034701.972617: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 15666 composer@2.1-s-593 ( 593) [001] ...1 1034701.972862: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 15667 composer@2.1-s-593 ( 593) [001] ...1 1034701.972980: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 15668 composer@2.1-s-593 ( 593) [001] ...1 1034701.973016: tracing_mark_write: B|593|HWDevice::Commit:: 15669 composer@2.1-s-593 ( 593) [001] ...1 1034701.973251: tracing_mark_write: E|593 15670 composer@2.1-s-593 ( 593) [001] ...1 1034701.973301: tracing_mark_write: E|593 15671 composer@2.1-s-593 ( 593) [001] ...1 1034701.973354: tracing_mark_write: E|593 15672 surfaceflinger-591 ( 591) [003] ...1 1034701.973503: tracing_mark_write: E|591 15673 sensors@1.0-se-778 ( 778) [007] ...1 1034701.983812: tracing_mark_write: E|778 15674 SensorService-1283 ( 1151) [006] ...1 1034701.983944: tracing_mark_write: E|1151 15675 SensorService-1283 ( 1151) [006] ...1 1034701.984099: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 15676 sensors@1.0-se-778 ( 778) [007] ...1 1034701.984230: tracing_mark_write: B|778|HIDL::ISensors::poll::server 15677 sensors@1.0-se-778 ( 778) [007] ...1 1034702.003062: tracing_mark_write: E|778 15678 SensorService-1283 ( 1151) [006] ...1 1034702.003188: tracing_mark_write: E|1151 15679 SensorService-1283 ( 1151) [006] ...1 1034702.003404: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 15680 sensors@1.0-se-778 ( 778) [007] ...1 1034702.003537: tracing_mark_write: B|778|HIDL::ISensors::poll::server 15681 sensors@1.0-se-778 ( 778) [007] ...1 1034702.022281: tracing_mark_write: E|778 15682 SensorService-1283 ( 1151) [006] ...1 1034702.022418: tracing_mark_write: E|1151 15683 SensorService-1283 ( 1151) [006] ...1 1034702.022583: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 15684 sensors@1.0-se-778 ( 778) [007] ...1 1034702.022714: tracing_mark_write: B|778|HIDL::ISensors::poll::server 15685 surfaceflinger-591 ( 591) [002] ...1 1034702.022978: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 15686 composer@2.1-s-593 ( 593) [001] ...1 1034702.023288: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 15687 composer@2.1-s-593 ( 593) [001] ...1 1034702.023419: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 15688 composer@2.1-s-593 ( 593) [001] ...1 1034702.023457: tracing_mark_write: B|593|HWDevice::Commit:: 15689 composer@2.1-s-593 ( 593) [001] ...1 1034702.023658: tracing_mark_write: E|593 15690 composer@2.1-s-593 ( 593) [001] ...1 1034702.023708: tracing_mark_write: E|593 15691 composer@2.1-s-593 ( 593) [001] ...1 1034702.023762: tracing_mark_write: E|593 15692 surfaceflinger-591 ( 591) [000] ...1 1034702.023923: tracing_mark_write: E|591 15693 sensors@1.0-se-778 ( 778) [007] ...1 1034702.041588: tracing_mark_write: E|778 15694 SensorService-1283 ( 1151) [006] ...1 1034702.041723: tracing_mark_write: E|1151 15695 SensorService-1283 ( 1151) [006] ...1 1034702.041889: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 15696 sensors@1.0-se-778 ( 778) [007] ...1 1034702.042019: tracing_mark_write: B|778|HIDL::ISensors::poll::server 15697 surfaceflinger-591 ( 591) [002] ...1 1034702.056630: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 15698 composer@2.1-s-593 ( 593) [001] ...1 1034702.056874: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 15699 composer@2.1-s-593 ( 593) [001] ...1 1034702.056997: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 15700 composer@2.1-s-593 ( 593) [001] ...1 1034702.057032: tracing_mark_write: B|593|HWDevice::Commit:: 15701 composer@2.1-s-593 ( 593) [001] ...1 1034702.057219: tracing_mark_write: E|593 15702 composer@2.1-s-593 ( 593) [001] ...1 1034702.057262: tracing_mark_write: E|593 15703 composer@2.1-s-593 ( 593) [001] ...1 1034702.057312: tracing_mark_write: E|593 15704 surfaceflinger-591 ( 591) [000] ...1 1034702.057447: tracing_mark_write: E|591 15705 sensors@1.0-se-778 ( 778) [007] ...1 1034702.061158: tracing_mark_write: E|778 15706 SensorService-1283 ( 1151) [006] ...1 1034702.061289: tracing_mark_write: E|1151 15707 SensorService-1283 ( 1151) [006] ...1 1034702.061409: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 15708 sensors@1.0-se-778 ( 778) [007] ...1 1034702.061537: tracing_mark_write: B|778|HIDL::ISensors::poll::server 15709 sensors@1.0-se-778 ( 778) [007] ...1 1034702.080140: tracing_mark_write: E|778 15710 SensorService-1283 ( 1151) [006] ...1 1034702.080262: tracing_mark_write: E|1151 15711 SensorService-1283 ( 1151) [006] ...1 1034702.080421: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 15712 sensors@1.0-se-778 ( 778) [007] ...1 1034702.080548: tracing_mark_write: B|778|HIDL::ISensors::poll::server 15713 sensors@1.0-se-778 ( 778) [007] ...1 1034702.099303: tracing_mark_write: E|778 15714 SensorService-1283 ( 1151) [006] ...1 1034702.099433: tracing_mark_write: E|1151 15715 SensorService-1283 ( 1151) [006] ...1 1034702.099597: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 15716 sensors@1.0-se-778 ( 778) [007] ...1 1034702.099725: tracing_mark_write: B|778|HIDL::ISensors::poll::server 15717 surfaceflinger-591 ( 591) [002] ...1 1034702.106865: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 15718 composer@2.1-s-593 ( 593) [001] ...1 1034702.107110: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 15719 composer@2.1-s-593 ( 593) [001] ...1 1034702.107232: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 15720 composer@2.1-s-593 ( 593) [001] ...1 1034702.107266: tracing_mark_write: B|593|HWDevice::Commit:: 15721 composer@2.1-s-593 ( 593) [001] ...1 1034702.107452: tracing_mark_write: E|593 15722 composer@2.1-s-593 ( 593) [001] ...1 1034702.107497: tracing_mark_write: E|593 15723 composer@2.1-s-593 ( 593) [001] ...1 1034702.107548: tracing_mark_write: E|593 15724 surfaceflinger-591 ( 591) [000] ...1 1034702.107676: tracing_mark_write: E|591 15725 sensors@1.0-se-778 ( 778) [007] ...1 1034702.118544: tracing_mark_write: E|778 15726 SensorService-1283 ( 1151) [006] ...1 1034702.118667: tracing_mark_write: E|1151 15727 SensorService-1283 ( 1151) [006] ...1 1034702.118877: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 15728 sensors@1.0-se-778 ( 778) [007] ...1 1034702.119005: tracing_mark_write: B|778|HIDL::ISensors::poll::server 15729 sensors@1.0-se-778 ( 778) [007] ...1 1034702.137784: tracing_mark_write: E|778 15730 SensorService-1283 ( 1151) [006] ...1 1034702.137930: tracing_mark_write: E|1151 15731 SensorService-1283 ( 1151) [006] ...1 1034702.138046: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 15732 sensors@1.0-se-778 ( 778) [007] ...1 1034702.138177: tracing_mark_write: B|778|HIDL::ISensors::poll::server 15733 sensors@1.0-se-778 ( 778) [007] ...1 1034702.157333: tracing_mark_write: E|778 15734 SensorService-1283 ( 1151) [006] ...1 1034702.157478: tracing_mark_write: E|1151 15735 surfaceflinger-591 ( 591) [000] ...1 1034702.157608: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 15736 SensorService-1283 ( 1151) [006] ...1 1034702.157660: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 15737 sensors@1.0-se-778 ( 778) [007] ...1 1034702.157795: tracing_mark_write: B|778|HIDL::ISensors::poll::server 15738 composer@2.1-s-593 ( 593) [001] ...1 1034702.157952: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 15739 composer@2.1-s-593 ( 593) [001] ...1 1034702.158119: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 15740 composer@2.1-s-593 ( 593) [001] ...1 1034702.158171: tracing_mark_write: B|593|HWDevice::Commit:: 15741 composer@2.1-s-593 ( 593) [001] ...1 1034702.158427: tracing_mark_write: E|593 15742 composer@2.1-s-593 ( 593) [001] ...1 1034702.158491: tracing_mark_write: E|593 15743 composer@2.1-s-593 ( 593) [001] ...1 1034702.158556: tracing_mark_write: E|593 15744 surfaceflinger-591 ( 591) [000] ...1 1034702.158714: tracing_mark_write: E|591 15745 sensors@1.0-se-778 ( 778) [007] ...1 1034702.176462: tracing_mark_write: E|778 15746 SensorService-1283 ( 1151) [006] ...1 1034702.176658: tracing_mark_write: E|1151 15747 SensorService-1283 ( 1151) [006] ...1 1034702.176821: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 15748 sensors@1.0-se-778 ( 778) [007] ...1 1034702.176957: tracing_mark_write: B|778|HIDL::ISensors::poll::server 15749 surfaceflinger-591 ( 591) [002] ...1 1034702.190767: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 15750 composer@2.1-s-593 ( 593) [001] ...1 1034702.191050: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 15751 composer@2.1-s-593 ( 593) [001] ...1 1034702.191190: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 15752 composer@2.1-s-593 ( 593) [001] ...1 1034702.191231: tracing_mark_write: B|593|HWDevice::Commit:: 15753 composer@2.1-s-593 ( 593) [001] ...1 1034702.191456: tracing_mark_write: E|593 15754 composer@2.1-s-593 ( 593) [001] ...1 1034702.191510: tracing_mark_write: E|593 15755 composer@2.1-s-593 ( 593) [001] ...1 1034702.191568: tracing_mark_write: E|593 15756 surfaceflinger-591 ( 591) [003] ...1 1034702.191727: tracing_mark_write: E|591 15757 sensors@1.0-se-778 ( 778) [007] ...1 1034702.195651: tracing_mark_write: E|778 15758 SensorService-1283 ( 1151) [006] ...1 1034702.195808: tracing_mark_write: E|1151 15759 SensorService-1283 ( 1151) [006] ...1 1034702.195994: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 15760 sensors@1.0-se-778 ( 778) [007] ...1 1034702.196133: tracing_mark_write: B|778|HIDL::ISensors::poll::server 15761 sensors@1.0-se-778 ( 778) [007] ...1 1034702.214964: tracing_mark_write: E|778 15762 SensorService-1283 ( 1151) [006] ...1 1034702.215099: tracing_mark_write: E|1151 15763 SensorService-1283 ( 1151) [006] ...1 1034702.215231: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 15764 sensors@1.0-se-778 ( 778) [007] ...1 1034702.215362: tracing_mark_write: B|778|HIDL::ISensors::poll::server 15765 sensors@1.0-se-778 ( 778) [007] ...1 1034702.234101: tracing_mark_write: E|778 15766 SensorService-1283 ( 1151) [006] ...1 1034702.234249: tracing_mark_write: E|1151 15767 SensorService-1283 ( 1151) [006] ...1 1034702.234397: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 15768 sensors@1.0-se-778 ( 778) [007] ...1 1034702.234537: tracing_mark_write: B|778|HIDL::ISensors::poll::server 15769 surfaceflinger-591 ( 591) [000] ...1 1034702.241152: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 15770 composer@2.1-s-593 ( 593) [001] ...1 1034702.241476: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 15771 composer@2.1-s-593 ( 593) [001] ...1 1034702.241627: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 15772 composer@2.1-s-593 ( 593) [001] ...1 1034702.241671: tracing_mark_write: B|593|HWDevice::Commit:: 15773 composer@2.1-s-593 ( 593) [001] ...1 1034702.241910: tracing_mark_write: E|593 15774 composer@2.1-s-593 ( 593) [001] ...1 1034702.241968: tracing_mark_write: E|593 15775 composer@2.1-s-593 ( 593) [001] ...1 1034702.242033: tracing_mark_write: E|593 15776 surfaceflinger-591 ( 591) [000] ...1 1034702.242200: tracing_mark_write: E|591 15777 sensors@1.0-se-778 ( 778) [007] ...1 1034702.253333: tracing_mark_write: E|778 15778 SensorService-1283 ( 1151) [006] ...1 1034702.253460: tracing_mark_write: E|1151 15779 SensorService-1283 ( 1151) [006] ...1 1034702.253595: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 15780 sensors@1.0-se-778 ( 778) [007] ...1 1034702.253730: tracing_mark_write: B|778|HIDL::ISensors::poll::server 15781 sensors@1.0-se-778 ( 778) [007] ...1 1034702.272683: tracing_mark_write: E|778 15782 SensorService-1283 ( 1151) [006] ...1 1034702.272819: tracing_mark_write: E|1151 15783 SensorService-1283 ( 1151) [006] ...1 1034702.273009: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 15784 sensors@1.0-se-778 ( 778) [007] ...1 1034702.273153: tracing_mark_write: B|778|HIDL::ISensors::poll::server 15785 surfaceflinger-591 ( 591) [003] ...1 1034702.274682: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 15786 composer@2.1-s-593 ( 593) [001] ...1 1034702.274974: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 15787 composer@2.1-s-593 ( 593) [001] ...1 1034702.275108: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 15788 composer@2.1-s-593 ( 593) [001] ...1 1034702.275147: tracing_mark_write: B|593|HWDevice::Commit:: 15789 composer@2.1-s-593 ( 593) [001] ...1 1034702.275365: tracing_mark_write: E|593 15790 composer@2.1-s-593 ( 593) [001] ...1 1034702.275415: tracing_mark_write: E|593 15791 composer@2.1-s-593 ( 593) [001] ...1 1034702.275473: tracing_mark_write: E|593 15792 surfaceflinger-591 ( 591) [003] ...1 1034702.275631: tracing_mark_write: E|591 15793 sensors@1.0-se-778 ( 778) [007] ...1 1034702.291903: tracing_mark_write: E|778 15794 SensorService-1283 ( 1151) [006] ...1 1034702.292021: tracing_mark_write: E|1151 15795 SensorService-1283 ( 1151) [006] ...1 1034702.292157: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 15796 sensors@1.0-se-778 ( 778) [007] ...1 1034702.292294: tracing_mark_write: B|778|HIDL::ISensors::poll::server 15797 health@2.0-ser-744 ( 744) [001] ...1 1034702.305794: tracing_mark_write: B|744|HIDL::IHealthInfoCallback::healthInfoChanged::client 15798 health@2.0-ser-744 ( 744) [001] ...1 1034702.305942: tracing_mark_write: E|744 15799 health@2.0-ser-744 ( 744) [001] ...1 1034702.305955: tracing_mark_write: B|744|HIDL::IHealthInfoCallback::healthInfoChanged::client 15800 health@2.0-ser-744 ( 744) [001] ...1 1034702.306020: tracing_mark_write: E|744 15801 HwBinder:911_1-1038 ( 911) [000] ...1 1034702.306689: tracing_mark_write: B|911|HIDL::IHealthInfoCallback::healthInfoChanged::server 15802 HwBinder:911_1-1038 ( 911) [000] ...1 1034702.306699: tracing_mark_write: E|911 15803 sensors@1.0-se-778 ( 778) [007] ...1 1034702.311343: tracing_mark_write: E|778 15804 SensorService-1283 ( 1151) [006] ...1 1034702.311504: tracing_mark_write: E|1151 15805 SensorService-1283 ( 1151) [006] ...1 1034702.311659: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 15806 sensors@1.0-se-778 ( 778) [007] ...1 1034702.311814: tracing_mark_write: B|778|HIDL::ISensors::poll::server 15807 surfaceflinger-591 ( 591) [000] ...1 1034702.324599: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 15808 composer@2.1-s-593 ( 593) [001] ...1 1034702.324784: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 15809 composer@2.1-s-593 ( 593) [001] ...1 1034702.324867: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 15810 composer@2.1-s-593 ( 593) [001] ...1 1034702.324892: tracing_mark_write: B|593|HWDevice::Commit:: 15811 composer@2.1-s-593 ( 593) [001] ...1 1034702.325026: tracing_mark_write: E|593 15812 composer@2.1-s-593 ( 593) [001] ...1 1034702.325058: tracing_mark_write: E|593 15813 composer@2.1-s-593 ( 593) [001] ...1 1034702.325097: tracing_mark_write: E|593 15814 surfaceflinger-591 ( 591) [000] ...1 1034702.325191: tracing_mark_write: E|591 15815 sensors@1.0-se-778 ( 778) [007] ...1 1034702.330435: tracing_mark_write: E|778 15816 SensorService-1283 ( 1151) [006] ...1 1034702.330580: tracing_mark_write: E|1151 15817 SensorService-1283 ( 1151) [006] ...1 1034702.330735: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 15818 sensors@1.0-se-778 ( 778) [007] ...1 1034702.330874: tracing_mark_write: B|778|HIDL::ISensors::poll::server 15819 surfaceflinger-591 ( 591) [000] ...1 1034702.341288: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 15820 composer@2.1-s-593 ( 593) [001] ...1 1034702.341441: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 15821 composer@2.1-s-593 ( 593) [001] ...1 1034702.341517: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 15822 composer@2.1-s-593 ( 593) [001] ...1 1034702.341528: tracing_mark_write: E|593 15823 composer@2.1-s-593 ( 593) [001] ...1 1034702.341532: tracing_mark_write: B|593|HWCSession::ValidateDisplay:: 15824 composer@2.1-s-593 ( 593) [001] ...1 1034702.341831: tracing_mark_write: B|593|HWDevice::Validate:: 15825 composer@2.1-s-593 ( 593) [001] ...1 1034702.341910: tracing_mark_write: E|593 15826 composer@2.1-s-593 ( 593) [001] ...1 1034702.341931: tracing_mark_write: E|593 15827 composer@2.1-s-593 ( 593) [001] ...1 1034702.341955: tracing_mark_write: E|593 15828 surfaceflinger-591 ( 591) [000] ...1 1034702.342027: tracing_mark_write: E|591 15829 surfaceflinger-591 ( 591) [000] ...1 1034702.342101: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 15830 composer@2.1-s-593 ( 593) [001] ...1 1034702.342142: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 15831 composer@2.1-s-593 ( 593) [001] ...1 1034702.342151: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 15832 composer@2.1-s-593 ( 593) [001] ...1 1034702.342163: tracing_mark_write: B|593|HWDevice::Commit:: 15833 composer@2.1-s-593 ( 593) [001] ...1 1034702.342263: tracing_mark_write: E|593 15834 composer@2.1-s-593 ( 593) [001] ...1 1034702.342283: tracing_mark_write: E|593 15835 composer@2.1-s-593 ( 593) [001] ...1 1034702.342305: tracing_mark_write: E|593 15836 surfaceflinger-591 ( 591) [000] ...1 1034702.342351: tracing_mark_write: E|591 15837 sensors@1.0-se-778 ( 778) [007] ...1 1034702.349642: tracing_mark_write: E|778 15838 SensorService-1283 ( 1151) [006] ...1 1034702.349808: tracing_mark_write: E|1151 15839 SensorService-1283 ( 1151) [006] ...1 1034702.350083: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 15840 sensors@1.0-se-778 ( 778) [007] ...1 1034702.350215: tracing_mark_write: B|778|HIDL::ISensors::poll::server 15841 surfaceflinger-591 ( 591) [000] ...1 1034702.359027: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 15842 composer@2.1-s-593 ( 593) [001] ...1 1034702.359405: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 15843 composer@2.1-s-593 ( 593) [001] ...1 1034702.359653: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 15844 composer@2.1-s-593 ( 593) [001] ...1 1034702.359691: tracing_mark_write: E|593 15845 composer@2.1-s-593 ( 593) [001] ...1 1034702.359704: tracing_mark_write: B|593|HWCSession::ValidateDisplay:: 15846 composer@2.1-s-593 ( 593) [001] ...1 1034702.360807: tracing_mark_write: B|593|HWDevice::Validate:: 15847 composer@2.1-s-593 ( 593) [001] ...1 1034702.360949: tracing_mark_write: E|593 15848 composer@2.1-s-593 ( 593) [001] ...1 1034702.360984: tracing_mark_write: E|593 15849 composer@2.1-s-593 ( 593) [001] ...1 1034702.361023: tracing_mark_write: E|593 15850 surfaceflinger-591 ( 591) [000] ...1 1034702.361135: tracing_mark_write: E|591 15851 surfaceflinger-591 ( 591) [000] ...1 1034702.361280: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 15852 composer@2.1-s-593 ( 593) [001] ...1 1034702.361347: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 15853 composer@2.1-s-593 ( 593) [001] ...1 1034702.361364: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 15854 composer@2.1-s-593 ( 593) [001] ...1 1034702.361385: tracing_mark_write: B|593|HWDevice::Commit:: 15855 composer@2.1-s-593 ( 593) [001] ...1 1034702.361547: tracing_mark_write: E|593 15856 composer@2.1-s-593 ( 593) [001] ...1 1034702.361580: tracing_mark_write: E|593 15857 composer@2.1-s-593 ( 593) [001] ...1 1034702.361615: tracing_mark_write: E|593 15858 surfaceflinger-591 ( 591) [000] ...1 1034702.361681: tracing_mark_write: E|591 15859 sensors@1.0-se-778 ( 778) [005] ...1 1034702.368750: tracing_mark_write: E|778 15860 SensorService-1283 ( 1151) [006] ...1 1034702.368888: tracing_mark_write: E|1151 15861 SensorService-1283 ( 1151) [006] ...1 1034702.369014: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 15862 sensors@1.0-se-778 ( 778) [005] ...1 1034702.369127: tracing_mark_write: B|778|HIDL::ISensors::poll::server 15863 surfaceflinger-591 ( 591) [003] ...1 1034702.375212: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 15864 composer@2.1-s-593 ( 593) [001] ...1 1034702.375442: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 15865 composer@2.1-s-593 ( 593) [001] ...1 1034702.375550: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 15866 composer@2.1-s-593 ( 593) [001] ...1 1034702.375567: tracing_mark_write: E|593 15867 composer@2.1-s-593 ( 593) [001] ...1 1034702.375573: tracing_mark_write: B|593|HWCSession::ValidateDisplay:: 15868 composer@2.1-s-593 ( 593) [001] ...1 1034702.376003: tracing_mark_write: B|593|HWDevice::Validate:: 15869 composer@2.1-s-593 ( 593) [001] ...1 1034702.376117: tracing_mark_write: E|593 15870 composer@2.1-s-593 ( 593) [001] ...1 1034702.376149: tracing_mark_write: E|593 15871 composer@2.1-s-593 ( 593) [001] ...1 1034702.376182: tracing_mark_write: E|593 15872 surfaceflinger-591 ( 591) [003] ...1 1034702.376295: tracing_mark_write: E|591 15873 surfaceflinger-591 ( 591) [003] ...1 1034702.376419: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 15874 composer@2.1-s-593 ( 593) [001] ...1 1034702.376496: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 15875 composer@2.1-s-593 ( 593) [001] ...1 1034702.376512: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 15876 composer@2.1-s-593 ( 593) [001] ...1 1034702.376601: tracing_mark_write: B|593|HWDevice::Commit:: 15877 composer@2.1-s-593 ( 593) [001] ...1 1034702.376771: tracing_mark_write: E|593 15878 composer@2.1-s-593 ( 593) [001] ...1 1034702.376809: tracing_mark_write: E|593 15879 composer@2.1-s-593 ( 593) [001] ...1 1034702.376848: tracing_mark_write: E|593 15880 surfaceflinger-591 ( 591) [003] ...1 1034702.376925: tracing_mark_write: E|591 15881 sensors@1.0-se-778 ( 778) [005] ...1 1034702.388062: tracing_mark_write: E|778 15882 SensorService-1283 ( 1151) [006] ...1 1034702.388149: tracing_mark_write: E|1151 15883 SensorService-1283 ( 1151) [006] ...1 1034702.388236: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 15884 sensors@1.0-se-778 ( 778) [005] ...1 1034702.388312: tracing_mark_write: B|778|HIDL::ISensors::poll::server 15885 sensors@1.0-se-778 ( 778) [005] ...1 1034702.407260: tracing_mark_write: E|778 15886 SensorService-1283 ( 1151) [006] ...1 1034702.407381: tracing_mark_write: E|1151 15887 SensorService-1283 ( 1151) [006] ...1 1034702.407492: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 15888 sensors@1.0-se-778 ( 778) [005] ...1 1034702.407627: tracing_mark_write: B|778|HIDL::ISensors::poll::server 15889 surfaceflinger-591 ( 591) [002] ...1 1034702.408667: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 15890 composer@2.1-s-593 ( 593) [001] ...1 1034702.408873: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 15891 composer@2.1-s-593 ( 593) [001] ...1 1034702.408984: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 15892 composer@2.1-s-593 ( 593) [001] ...1 1034702.409017: tracing_mark_write: B|593|HWDevice::Commit:: 15893 composer@2.1-s-593 ( 593) [001] ...1 1034702.409183: tracing_mark_write: E|593 15894 composer@2.1-s-593 ( 593) [001] ...1 1034702.409226: tracing_mark_write: E|593 15895 composer@2.1-s-593 ( 593) [001] ...1 1034702.409272: tracing_mark_write: E|593 15896 surfaceflinger-591 ( 591) [000] ...1 1034702.409412: tracing_mark_write: E|591 15897 sensors@1.0-se-778 ( 778) [005] ...1 1034702.426772: tracing_mark_write: E|778 15898 SensorService-1283 ( 1151) [006] ...1 1034702.426912: tracing_mark_write: E|1151 15899 SensorService-1283 ( 1151) [006] ...1 1034702.427049: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 15900 sensors@1.0-se-778 ( 778) [005] ...1 1034702.427194: tracing_mark_write: B|778|HIDL::ISensors::poll::server 15901 sensors@1.0-se-778 ( 778) [005] ...1 1034702.446043: tracing_mark_write: E|778 15902 SensorService-1283 ( 1151) [006] ...1 1034702.446198: tracing_mark_write: E|1151 15903 SensorService-1283 ( 1151) [006] ...1 1034702.446350: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 15904 sensors@1.0-se-778 ( 778) [005] ...1 1034702.446643: tracing_mark_write: B|778|HIDL::ISensors::poll::server 15905 surfaceflinger-591 ( 591) [003] ...1 1034702.459472: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 15906 composer@2.1-s-593 ( 593) [001] ...1 1034702.459850: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 15907 composer@2.1-s-593 ( 593) [001] ...1 1034702.460057: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 15908 composer@2.1-s-593 ( 593) [001] ...1 1034702.460107: tracing_mark_write: B|593|HWDevice::Commit:: 15909 composer@2.1-s-593 ( 593) [001] ...1 1034702.460358: tracing_mark_write: E|593 15910 composer@2.1-s-593 ( 593) [001] ...1 1034702.460426: tracing_mark_write: E|593 15911 composer@2.1-s-593 ( 593) [001] ...1 1034702.460500: tracing_mark_write: E|593 15912 surfaceflinger-591 ( 591) [003] ...1 1034702.460685: tracing_mark_write: E|591 15913 sensors@1.0-se-778 ( 778) [005] ...1 1034702.465190: tracing_mark_write: E|778 15914 SensorService-1283 ( 1151) [006] ...1 1034702.465330: tracing_mark_write: E|1151 15915 SensorService-1283 ( 1151) [006] ...1 1034702.465468: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 15916 sensors@1.0-se-778 ( 778) [005] ...1 1034702.465607: tracing_mark_write: B|778|HIDL::ISensors::poll::server 15917 sensors@1.0-se-778 ( 778) [005] ...1 1034702.484379: tracing_mark_write: E|778 15918 SensorService-1283 ( 1151) [006] ...1 1034702.484547: tracing_mark_write: E|1151 15919 SensorService-1283 ( 1151) [006] ...1 1034702.484730: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 15920 sensors@1.0-se-778 ( 778) [005] ...1 1034702.484873: tracing_mark_write: B|778|HIDL::ISensors::poll::server 15921 surfaceflinger-591 ( 591) [000] ...1 1034702.492650: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 15922 composer@2.1-s-593 ( 593) [001] ...1 1034702.492881: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 15923 composer@2.1-s-593 ( 593) [001] ...1 1034702.493004: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 15924 composer@2.1-s-593 ( 593) [001] ...1 1034702.493039: tracing_mark_write: B|593|HWDevice::Commit:: 15925 composer@2.1-s-593 ( 593) [001] ...1 1034702.493275: tracing_mark_write: E|593 15926 composer@2.1-s-593 ( 593) [001] ...1 1034702.493320: tracing_mark_write: E|593 15927 composer@2.1-s-593 ( 593) [001] ...1 1034702.493372: tracing_mark_write: E|593 15928 surfaceflinger-591 ( 591) [000] ...1 1034702.493491: tracing_mark_write: E|591 15929 sensors@1.0-se-778 ( 778) [005] ...1 1034702.503604: tracing_mark_write: E|778 15930 SensorService-1283 ( 1151) [006] ...1 1034702.503751: tracing_mark_write: E|1151 15931 SensorService-1283 ( 1151) [006] ...1 1034702.503879: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 15932 sensors@1.0-se-778 ( 778) [005] ...1 1034702.504003: tracing_mark_write: B|778|HIDL::ISensors::poll::server 15933 sensors@1.0-se-778 ( 778) [005] ...1 1034702.522830: tracing_mark_write: E|778 15934 SensorService-1283 ( 1151) [006] ...1 1034702.522945: tracing_mark_write: E|1151 15935 SensorService-1283 ( 1151) [006] ...1 1034702.523065: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 15936 sensors@1.0-se-778 ( 778) [005] ...1 1034702.523173: tracing_mark_write: B|778|HIDL::ISensors::poll::server 15937 sensors@1.0-se-778 ( 778) [005] ...1 1034702.542190: tracing_mark_write: E|778 15938 SensorService-1283 ( 1151) [006] ...1 1034702.542367: tracing_mark_write: E|1151 15939 SensorService-1283 ( 1151) [006] ...1 1034702.542563: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 15940 sensors@1.0-se-778 ( 778) [005] ...1 1034702.542716: tracing_mark_write: B|778|HIDL::ISensors::poll::server 15941 surfaceflinger-591 ( 591) [003] ...1 1034702.543272: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 15942 composer@2.1-s-593 ( 593) [001] ...1 1034702.543585: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 15943 composer@2.1-s-593 ( 593) [001] ...1 1034702.543744: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 15944 composer@2.1-s-593 ( 593) [001] ...1 1034702.543791: tracing_mark_write: B|593|HWDevice::Commit:: 15945 composer@2.1-s-593 ( 593) [001] ...1 1034702.544034: tracing_mark_write: E|593 15946 composer@2.1-s-593 ( 593) [001] ...1 1034702.544092: tracing_mark_write: E|593 15947 composer@2.1-s-593 ( 593) [001] ...1 1034702.544155: tracing_mark_write: E|593 15948 surfaceflinger-591 ( 591) [003] ...1 1034702.544325: tracing_mark_write: E|591 15949 sensors@1.0-se-778 ( 778) [005] ...1 1034702.561472: tracing_mark_write: E|778 15950 SensorService-1283 ( 1151) [006] ...1 1034702.561618: tracing_mark_write: E|1151 15951 SensorService-1283 ( 1151) [006] ...1 1034702.561784: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 15952 sensors@1.0-se-778 ( 778) [005] ...1 1034702.561924: tracing_mark_write: B|778|HIDL::ISensors::poll::server 15953 surfaceflinger-591 ( 591) [001] ...1 1034702.576412: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 15954 composer@2.1-s-593 ( 593) [000] ...1 1034702.576642: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 15955 composer@2.1-s-593 ( 593) [000] ...1 1034702.576735: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 15956 composer@2.1-s-593 ( 593) [000] ...1 1034702.576763: tracing_mark_write: B|593|HWDevice::Commit:: 15957 composer@2.1-s-593 ( 593) [000] ...1 1034702.576910: tracing_mark_write: E|593 15958 composer@2.1-s-593 ( 593) [000] ...1 1034702.576946: tracing_mark_write: E|593 15959 composer@2.1-s-593 ( 593) [000] ...1 1034702.576988: tracing_mark_write: E|593 15960 surfaceflinger-591 ( 591) [001] ...1 1034702.577102: tracing_mark_write: E|591 15961 sensors@1.0-se-778 ( 778) [005] ...1 1034702.580718: tracing_mark_write: E|778 15962 SensorService-1283 ( 1151) [006] ...1 1034702.580887: tracing_mark_write: E|1151 15963 SensorService-1283 ( 1151) [006] ...1 1034702.581130: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 15964 sensors@1.0-se-778 ( 778) [005] ...1 1034702.581273: tracing_mark_write: B|778|HIDL::ISensors::poll::server 15965 sensors@1.0-se-778 ( 778) [005] ...1 1034702.599805: tracing_mark_write: E|778 15966 SensorService-1283 ( 1151) [006] ...1 1034702.599959: tracing_mark_write: E|1151 15967 SensorService-1283 ( 1151) [006] ...1 1034702.600084: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 15968 sensors@1.0-se-778 ( 778) [005] ...1 1034702.600222: tracing_mark_write: B|778|HIDL::ISensors::poll::server 15969 sensors@1.0-se-778 ( 778) [005] ...1 1034702.619285: tracing_mark_write: E|778 15970 SensorService-1283 ( 1151) [006] ...1 1034702.619426: tracing_mark_write: E|1151 15971 SensorService-1283 ( 1151) [006] ...1 1034702.619588: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 15972 sensors@1.0-se-778 ( 778) [005] ...1 1034702.619733: tracing_mark_write: B|778|HIDL::ISensors::poll::server 15973 surfaceflinger-591 ( 591) [002] ...1 1034702.627017: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 15974 composer@2.1-s-593 ( 593) [000] ...1 1034702.627304: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 15975 composer@2.1-s-593 ( 593) [000] ...1 1034702.627434: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 15976 composer@2.1-s-593 ( 593) [000] ...1 1034702.627473: tracing_mark_write: B|593|HWDevice::Commit:: 15977 composer@2.1-s-593 ( 593) [000] ...1 1034702.627672: tracing_mark_write: E|593 15978 composer@2.1-s-593 ( 593) [000] ...1 1034702.627723: tracing_mark_write: E|593 15979 composer@2.1-s-593 ( 593) [000] ...1 1034702.627778: tracing_mark_write: E|593 15980 surfaceflinger-591 ( 591) [001] ...1 1034702.627951: tracing_mark_write: E|591 15981 sensors@1.0-se-778 ( 778) [005] ...1 1034702.638353: tracing_mark_write: E|778 15982 SensorService-1283 ( 1151) [006] ...1 1034702.638460: tracing_mark_write: E|1151 15983 SensorService-1283 ( 1151) [006] ...1 1034702.638591: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 15984 sensors@1.0-se-778 ( 778) [005] ...1 1034702.638696: tracing_mark_write: B|778|HIDL::ISensors::poll::server 15985 sensors@1.0-se-778 ( 778) [005] ...1 1034702.659227: tracing_mark_write: E|778 15986 SensorService-1283 ( 1151) [006] ...1 1034702.659403: tracing_mark_write: E|1151 15987 SensorService-1283 ( 1151) [006] ...1 1034702.659612: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 15988 sensors@1.0-se-778 ( 778) [005] ...1 1034702.659769: tracing_mark_write: B|778|HIDL::ISensors::poll::server 15989 sensors@1.0-se-778 ( 778) [005] ...1 1034702.677022: tracing_mark_write: E|778 15990 SensorService-1283 ( 1151) [006] ...1 1034702.677164: tracing_mark_write: E|1151 15991 SensorService-1283 ( 1151) [006] ...1 1034702.677324: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 15992 sensors@1.0-se-778 ( 778) [005] ...1 1034702.677463: tracing_mark_write: B|778|HIDL::ISensors::poll::server 15993 surfaceflinger-591 ( 591) [002] ...1 1034702.677766: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 15994 composer@2.1-s-593 ( 593) [000] ...1 1034702.678079: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 15995 composer@2.1-s-593 ( 593) [000] ...1 1034702.678241: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 15996 composer@2.1-s-593 ( 593) [000] ...1 1034702.678287: tracing_mark_write: B|593|HWDevice::Commit:: 15997 composer@2.1-s-593 ( 593) [000] ...1 1034702.678518: tracing_mark_write: E|593 15998 composer@2.1-s-593 ( 593) [000] ...1 1034702.678583: tracing_mark_write: E|593 15999 composer@2.1-s-593 ( 593) [000] ...1 1034702.678647: tracing_mark_write: E|593 16000 surfaceflinger-591 ( 591) [001] ...1 1034702.678838: tracing_mark_write: E|591 16001 sensors@1.0-se-778 ( 778) [005] ...1 1034702.696127: tracing_mark_write: E|778 16002 SensorService-1283 ( 1151) [006] ...1 1034702.696252: tracing_mark_write: E|1151 16003 SensorService-1283 ( 1151) [006] ...1 1034702.696367: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 16004 sensors@1.0-se-778 ( 778) [005] ...1 1034702.696500: tracing_mark_write: B|778|HIDL::ISensors::poll::server 16005 surfaceflinger-591 ( 591) [000] ...1 1034702.711384: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 16006 composer@2.1-s-593 ( 593) [001] ...1 1034702.711730: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 16007 composer@2.1-s-593 ( 593) [001] ...1 1034702.711903: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 16008 composer@2.1-s-593 ( 593) [001] ...1 1034702.711952: tracing_mark_write: B|593|HWDevice::Commit:: 16009 composer@2.1-s-593 ( 593) [001] ...1 1034702.712216: tracing_mark_write: E|593 16010 composer@2.1-s-593 ( 593) [001] ...1 1034702.712281: tracing_mark_write: E|593 16011 composer@2.1-s-593 ( 593) [001] ...1 1034702.712354: tracing_mark_write: E|593 16012 surfaceflinger-591 ( 591) [000] ...1 1034702.712550: tracing_mark_write: E|591 16013 sensors@1.0-se-778 ( 778) [007] ...1 1034702.715506: tracing_mark_write: E|778 16014 SensorService-1283 ( 1151) [006] ...1 1034702.715670: tracing_mark_write: E|1151 16015 SensorService-1283 ( 1151) [006] ...1 1034702.715816: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 16016 sensors@1.0-se-778 ( 778) [007] ...1 1034702.715962: tracing_mark_write: B|778|HIDL::ISensors::poll::server 16017 sensors@1.0-se-778 ( 778) [007] ...1 1034702.734620: tracing_mark_write: E|778 16018 SensorService-1283 ( 1151) [006] ...1 1034702.734751: tracing_mark_write: E|1151 16019 SensorService-1283 ( 1151) [006] ...1 1034702.734916: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 16020 sensors@1.0-se-778 ( 778) [007] ...1 1034702.735070: tracing_mark_write: B|778|HIDL::ISensors::poll::server 16021 sensors@1.0-se-778 ( 778) [007] ...1 1034702.754086: tracing_mark_write: E|778 16022 SensorService-1283 ( 1151) [006] ...1 1034702.754231: tracing_mark_write: E|1151 16023 SensorService-1283 ( 1151) [006] ...1 1034702.754405: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 16024 sensors@1.0-se-778 ( 778) [007] ...1 1034702.754554: tracing_mark_write: B|778|HIDL::ISensors::poll::server 16025 surfaceflinger-591 ( 591) [002] ...1 1034702.761369: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 16026 composer@2.1-s-593 ( 593) [001] ...1 1034702.761658: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 16027 composer@2.1-s-593 ( 593) [001] ...1 1034702.761806: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 16028 composer@2.1-s-593 ( 593) [001] ...1 1034702.761851: tracing_mark_write: B|593|HWDevice::Commit:: 16029 composer@2.1-s-593 ( 593) [001] ...1 1034702.762077: tracing_mark_write: E|593 16030 composer@2.1-s-593 ( 593) [001] ...1 1034702.762131: tracing_mark_write: E|593 16031 composer@2.1-s-593 ( 593) [001] ...1 1034702.762190: tracing_mark_write: E|593 16032 surfaceflinger-591 ( 591) [000] ...1 1034702.762359: tracing_mark_write: E|591 16033 sensors@1.0-se-778 ( 778) [007] ...1 1034702.773301: tracing_mark_write: E|778 16034 SensorService-1283 ( 1151) [006] ...1 1034702.773474: tracing_mark_write: E|1151 16035 SensorService-1283 ( 1151) [006] ...1 1034702.773636: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 16036 sensors@1.0-se-778 ( 778) [007] ...1 1034702.773783: tracing_mark_write: B|778|HIDL::ISensors::poll::server 16037 sensors@1.0-se-778 ( 778) [007] ...1 1034702.792568: tracing_mark_write: E|778 16038 SensorService-1283 ( 1151) [006] ...1 1034702.792736: tracing_mark_write: E|1151 16039 SensorService-1283 ( 1151) [006] ...1 1034702.792919: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 16040 sensors@1.0-se-778 ( 778) [007] ...1 1034702.793062: tracing_mark_write: B|778|HIDL::ISensors::poll::server 16041 surfaceflinger-591 ( 591) [000] ...1 1034702.794798: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 16042 composer@2.1-s-593 ( 593) [001] ...1 1034702.795047: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 16043 composer@2.1-s-593 ( 593) [001] ...1 1034702.795179: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 16044 composer@2.1-s-593 ( 593) [001] ...1 1034702.795219: tracing_mark_write: B|593|HWDevice::Commit:: 16045 composer@2.1-s-593 ( 593) [001] ...1 1034702.795424: tracing_mark_write: E|593 16046 composer@2.1-s-593 ( 593) [001] ...1 1034702.795475: tracing_mark_write: E|593 16047 composer@2.1-s-593 ( 593) [001] ...1 1034702.795531: tracing_mark_write: E|593 16048 surfaceflinger-591 ( 591) [000] ...1 1034702.795675: tracing_mark_write: E|591 16049 sensors@1.0-se-778 ( 778) [007] ...1 1034702.811788: tracing_mark_write: E|778 16050 SensorService-1283 ( 1151) [006] ...1 1034702.811939: tracing_mark_write: E|1151 16051 SensorService-1283 ( 1151) [006] ...1 1034702.812073: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 16052 sensors@1.0-se-778 ( 778) [007] ...1 1034702.812215: tracing_mark_write: B|778|HIDL::ISensors::poll::server 16053 sensors@1.0-se-778 ( 778) [007] ...1 1034702.830872: tracing_mark_write: E|778 16054 SensorService-1283 ( 1151) [006] ...1 1034702.831039: tracing_mark_write: E|1151 16055 SensorService-1283 ( 1151) [006] ...1 1034702.831192: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 16056 sensors@1.0-se-778 ( 778) [007] ...1 1034702.831335: tracing_mark_write: B|778|HIDL::ISensors::poll::server 16057 surfaceflinger-591 ( 591) [000] ...1 1034702.845120: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 16058 composer@2.1-s-593 ( 593) [001] ...1 1034702.845359: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 16059 composer@2.1-s-593 ( 593) [001] ...1 1034702.845476: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 16060 composer@2.1-s-593 ( 593) [001] ...1 1034702.845512: tracing_mark_write: B|593|HWDevice::Commit:: 16061 composer@2.1-s-593 ( 593) [001] ...1 1034702.845694: tracing_mark_write: E|593 16062 composer@2.1-s-593 ( 593) [001] ...1 1034702.845736: tracing_mark_write: E|593 16063 composer@2.1-s-593 ( 593) [001] ...1 1034702.845785: tracing_mark_write: E|593 16064 surfaceflinger-591 ( 591) [000] ...1 1034702.845900: tracing_mark_write: E|591 16065 sensors@1.0-se-778 ( 778) [004] ...1 1034702.850337: tracing_mark_write: E|778 16066 SensorService-1283 ( 1151) [006] ...1 1034702.850492: tracing_mark_write: E|1151 16067 SensorService-1283 ( 1151) [006] ...1 1034702.850656: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 16068 sensors@1.0-se-778 ( 778) [004] ...1 1034702.850796: tracing_mark_write: B|778|HIDL::ISensors::poll::server 16069 sensors@1.0-se-778 ( 778) [004] ...1 1034702.869511: tracing_mark_write: E|778 16070 SensorService-1283 ( 1151) [006] ...1 1034702.869638: tracing_mark_write: E|1151 16071 SensorService-1283 ( 1151) [006] ...1 1034702.869804: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 16072 sensors@1.0-se-778 ( 778) [004] ...1 1034702.870001: tracing_mark_write: B|778|HIDL::ISensors::poll::server 16073 surfaceflinger-591 ( 591) [001] ...1 1034702.878789: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 16074 composer@2.1-s-593 ( 593) [000] ...1 1034702.879088: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 16075 composer@2.1-s-593 ( 593) [000] ...1 1034702.879233: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 16076 composer@2.1-s-593 ( 593) [000] ...1 1034702.879276: tracing_mark_write: B|593|HWDevice::Commit:: 16077 composer@2.1-s-593 ( 593) [000] ...1 1034702.879494: tracing_mark_write: E|593 16078 composer@2.1-s-593 ( 593) [000] ...1 1034702.879551: tracing_mark_write: E|593 16079 composer@2.1-s-593 ( 593) [000] ...1 1034702.879615: tracing_mark_write: E|593 16080 surfaceflinger-591 ( 591) [001] ...1 1034702.879790: tracing_mark_write: E|591 16081 sensors@1.0-se-778 ( 778) [004] ...1 1034702.888764: tracing_mark_write: E|778 16082 SensorService-1283 ( 1151) [006] ...1 1034702.888920: tracing_mark_write: E|1151 16083 SensorService-1283 ( 1151) [006] ...1 1034702.889114: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 16084 sensors@1.0-se-778 ( 778) [004] ...1 1034702.889256: tracing_mark_write: B|778|HIDL::ISensors::poll::server 16085 sensors@1.0-se-778 ( 778) [004] ...1 1034702.907889: tracing_mark_write: E|778 16086 SensorService-1283 ( 1151) [006] ...1 1034702.908025: tracing_mark_write: E|1151 16087 SensorService-1283 ( 1151) [006] ...1 1034702.908185: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 16088 sensors@1.0-se-778 ( 778) [004] ...1 1034702.908318: tracing_mark_write: B|778|HIDL::ISensors::poll::server 16089 sensors@1.0-se-778 ( 778) [007] ...1 1034702.927499: tracing_mark_write: E|778 16090 SensorService-1283 ( 1151) [006] ...1 1034702.927658: tracing_mark_write: E|1151 16091 SensorService-1283 ( 1151) [006] ...1 1034702.927806: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 16092 sensors@1.0-se-778 ( 778) [007] ...1 1034702.927951: tracing_mark_write: B|778|HIDL::ISensors::poll::server 16093 surfaceflinger-591 ( 591) [000] ...1 1034702.929010: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 16094 composer@2.1-s-593 ( 593) [001] ...1 1034702.929257: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 16095 composer@2.1-s-593 ( 593) [001] ...1 1034702.929393: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 16096 composer@2.1-s-593 ( 593) [001] ...1 1034702.929432: tracing_mark_write: B|593|HWDevice::Commit:: 16097 composer@2.1-s-593 ( 593) [001] ...1 1034702.929646: tracing_mark_write: E|593 16098 composer@2.1-s-593 ( 593) [001] ...1 1034702.929697: tracing_mark_write: E|593 16099 composer@2.1-s-593 ( 593) [001] ...1 1034702.929752: tracing_mark_write: E|593 16100 surfaceflinger-591 ( 591) [000] ...1 1034702.929930: tracing_mark_write: E|591 16101 sensors@1.0-se-778 ( 778) [007] ...1 1034702.946409: tracing_mark_write: E|778 16102 SensorService-1283 ( 1151) [006] ...1 1034702.946606: tracing_mark_write: E|1151 16103 SensorService-1283 ( 1151) [006] ...1 1034702.946794: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 16104 sensors@1.0-se-778 ( 778) [007] ...1 1034702.946935: tracing_mark_write: B|778|HIDL::ISensors::poll::server 16105 sensors@1.0-se-778 ( 778) [007] ...1 1034702.965694: tracing_mark_write: E|778 16106 SensorService-1283 ( 1151) [006] ...1 1034702.965840: tracing_mark_write: E|1151 16107 SensorService-1283 ( 1151) [006] ...1 1034702.965987: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 16108 sensors@1.0-se-778 ( 778) [007] ...1 1034702.966131: tracing_mark_write: B|778|HIDL::ISensors::poll::server 16109 surfaceflinger-591 ( 591) [002] ...1 1034702.979768: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 16110 composer@2.1-s-593 ( 593) [001] ...1 1034702.980163: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 16111 composer@2.1-s-593 ( 593) [001] ...1 1034702.980328: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 16112 composer@2.1-s-593 ( 593) [001] ...1 1034702.980377: tracing_mark_write: B|593|HWDevice::Commit:: 16113 composer@2.1-s-593 ( 593) [001] ...1 1034702.980637: tracing_mark_write: E|593 16114 composer@2.1-s-593 ( 593) [001] ...1 1034702.980701: tracing_mark_write: E|593 16115 composer@2.1-s-593 ( 593) [001] ...1 1034702.980768: tracing_mark_write: E|593 16116 surfaceflinger-591 ( 591) [000] ...1 1034702.980973: tracing_mark_write: E|591 16117 sensors@1.0-se-778 ( 778) [007] ...1 1034702.985010: tracing_mark_write: E|778 16118 SensorService-1283 ( 1151) [006] ...1 1034702.985143: tracing_mark_write: E|1151 16119 SensorService-1283 ( 1151) [006] ...1 1034702.985274: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 16120 sensors@1.0-se-778 ( 778) [007] ...1 1034702.985409: tracing_mark_write: B|778|HIDL::ISensors::poll::server 16121 sensors@1.0-se-778 ( 778) [007] ...1 1034703.004384: tracing_mark_write: E|778 16122 SensorService-1283 ( 1151) [006] ...1 1034703.004546: tracing_mark_write: E|1151 16123 SensorService-1283 ( 1151) [006] ...1 1034703.004725: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 16124 sensors@1.0-se-778 ( 778) [007] ...1 1034703.004872: tracing_mark_write: B|778|HIDL::ISensors::poll::server 16125 surfaceflinger-591 ( 591) [003] ...1 1034703.012985: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 16126 composer@2.1-s-593 ( 593) [001] ...1 1034703.013299: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 16127 composer@2.1-s-593 ( 593) [001] ...1 1034703.013442: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 16128 composer@2.1-s-593 ( 593) [001] ...1 1034703.013481: tracing_mark_write: B|593|HWDevice::Commit:: 16129 composer@2.1-s-593 ( 593) [001] ...1 1034703.013702: tracing_mark_write: E|593 16130 composer@2.1-s-593 ( 593) [001] ...1 1034703.013754: tracing_mark_write: E|593 16131 composer@2.1-s-593 ( 593) [001] ...1 1034703.013812: tracing_mark_write: E|593 16132 surfaceflinger-591 ( 591) [003] ...1 1034703.013955: tracing_mark_write: E|591 16133 sensors@1.0-se-778 ( 778) [007] ...1 1034703.023513: tracing_mark_write: E|778 16134 SensorService-1283 ( 1151) [006] ...1 1034703.023647: tracing_mark_write: E|1151 16135 SensorService-1283 ( 1151) [006] ...1 1034703.023772: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 16136 sensors@1.0-se-778 ( 778) [007] ...1 1034703.023909: tracing_mark_write: B|778|HIDL::ISensors::poll::server 16137 sensors@1.0-se-778 ( 778) [007] ...1 1034703.042546: tracing_mark_write: E|778 16138 SensorService-1283 ( 1151) [006] ...1 1034703.042649: tracing_mark_write: E|1151 16139 SensorService-1283 ( 1151) [006] ...1 1034703.042747: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 16140 sensors@1.0-se-778 ( 778) [007] ...1 1034703.042846: tracing_mark_write: B|778|HIDL::ISensors::poll::server 16141 sensors@1.0-se-778 ( 778) [007] ...1 1034703.062046: tracing_mark_write: E|778 16142 SensorService-1283 ( 1151) [006] ...1 1034703.062219: tracing_mark_write: E|1151 16143 SensorService-1283 ( 1151) [006] ...1 1034703.062408: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 16144 sensors@1.0-se-778 ( 778) [007] ...1 1034703.062545: tracing_mark_write: B|778|HIDL::ISensors::poll::server 16145 surfaceflinger-591 ( 591) [001] ...1 1034703.063123: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 16146 composer@2.1-s-593 ( 593) [000] ...1 1034703.063382: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 16147 composer@2.1-s-593 ( 593) [000] ...1 1034703.063493: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 16148 composer@2.1-s-593 ( 593) [000] ...1 1034703.063526: tracing_mark_write: B|593|HWDevice::Commit:: 16149 composer@2.1-s-593 ( 593) [000] ...1 1034703.063700: tracing_mark_write: E|593 16150 composer@2.1-s-593 ( 593) [000] ...1 1034703.063742: tracing_mark_write: E|593 16151 composer@2.1-s-593 ( 593) [000] ...1 1034703.063789: tracing_mark_write: E|593 16152 surfaceflinger-591 ( 591) [001] ...1 1034703.063900: tracing_mark_write: E|591 16153 sensors@1.0-se-778 ( 778) [007] ...1 1034703.081185: tracing_mark_write: E|778 16154 SensorService-1283 ( 1151) [006] ...1 1034703.081308: tracing_mark_write: E|1151 16155 SensorService-1283 ( 1151) [006] ...1 1034703.081460: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 16156 sensors@1.0-se-778 ( 778) [007] ...1 1034703.081583: tracing_mark_write: B|778|HIDL::ISensors::poll::server 16157 surfaceflinger-591 ( 591) [000] ...1 1034703.096731: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 16158 composer@2.1-s-593 ( 593) [001] ...1 1034703.096973: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 16159 composer@2.1-s-593 ( 593) [001] ...1 1034703.097082: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 16160 composer@2.1-s-593 ( 593) [001] ...1 1034703.097115: tracing_mark_write: B|593|HWDevice::Commit:: 16161 composer@2.1-s-593 ( 593) [001] ...1 1034703.097291: tracing_mark_write: E|593 16162 composer@2.1-s-593 ( 593) [001] ...1 1034703.097333: tracing_mark_write: E|593 16163 composer@2.1-s-593 ( 593) [001] ...1 1034703.097381: tracing_mark_write: E|593 16164 surfaceflinger-591 ( 591) [000] ...1 1034703.097497: tracing_mark_write: E|591 16165 sensors@1.0-se-778 ( 778) [007] ...1 1034703.100754: tracing_mark_write: E|778 16166 SensorService-1283 ( 1151) [006] ...1 1034703.100933: tracing_mark_write: E|1151 16167 SensorService-1283 ( 1151) [006] ...1 1034703.101150: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 16168 sensors@1.0-se-778 ( 778) [007] ...1 1034703.101304: tracing_mark_write: B|778|HIDL::ISensors::poll::server 16169 sensors@1.0-se-778 ( 778) [005] ...1 1034703.119798: tracing_mark_write: E|778 16170 SensorService-1283 ( 1151) [006] ...1 1034703.119981: tracing_mark_write: E|1151 16171 SensorService-1283 ( 1151) [006] ...1 1034703.120111: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 16172 sensors@1.0-se-778 ( 778) [005] ...1 1034703.120259: tracing_mark_write: B|778|HIDL::ISensors::poll::server 16173 sensors@1.0-se-778 ( 778) [005] ...1 1034703.139138: tracing_mark_write: E|778 16174 SensorService-1283 ( 1151) [006] ...1 1034703.139342: tracing_mark_write: E|1151 16175 SensorService-1283 ( 1151) [006] ...1 1034703.139527: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 16176 HwBinder:778_1-1087 ( 778) [000] ...1 1034703.139742: tracing_mark_write: B|778|HIDL::ISensors::poll::server 16177 surfaceflinger-591 ( 591) [001] ...1 1034703.147234: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 16178 composer@2.1-s-593 ( 593) [000] ...1 1034703.147530: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 16179 composer@2.1-s-593 ( 593) [000] ...1 1034703.147681: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 16180 composer@2.1-s-593 ( 593) [000] ...1 1034703.147726: tracing_mark_write: B|593|HWDevice::Commit:: 16181 composer@2.1-s-593 ( 593) [000] ...1 1034703.147967: tracing_mark_write: E|593 16182 composer@2.1-s-593 ( 593) [000] ...1 1034703.148023: tracing_mark_write: E|593 16183 composer@2.1-s-593 ( 593) [000] ...1 1034703.148088: tracing_mark_write: E|593 16184 surfaceflinger-591 ( 591) [001] ...1 1034703.148234: tracing_mark_write: E|591 16185 HwBinder:778_1-1087 ( 778) [001] ...1 1034703.158388: tracing_mark_write: E|778 16186 SensorService-1283 ( 1151) [006] ...1 1034703.158545: tracing_mark_write: E|1151 16187 SensorService-1283 ( 1151) [006] ...1 1034703.158724: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 16188 HwBinder:778_1-1087 ( 778) [001] ...1 1034703.158862: tracing_mark_write: B|778|HIDL::ISensors::poll::server 16189 surfaceflinger-591 ( 591) [001] ...1 1034703.180801: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 16190 composer@2.1-s-593 ( 593) [000] ...1 1034703.181114: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 16191 composer@2.1-s-593 ( 593) [000] ...1 1034703.181258: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 16192 composer@2.1-s-593 ( 593) [000] ...1 1034703.181297: tracing_mark_write: B|593|HWDevice::Commit:: 16193 composer@2.1-s-593 ( 593) [000] ...1 1034703.181516: tracing_mark_write: E|593 16194 composer@2.1-s-593 ( 593) [000] ...1 1034703.181567: tracing_mark_write: E|593 16195 composer@2.1-s-593 ( 593) [000] ...1 1034703.181626: tracing_mark_write: E|593 16196 surfaceflinger-591 ( 591) [001] ...1 1034703.181777: tracing_mark_write: E|591 16197 HwBinder:778_1-1087 ( 778) [003] ...1 1034703.182177: tracing_mark_write: E|778 16198 SensorService-1283 ( 1151) [006] ...1 1034703.182355: tracing_mark_write: E|1151 16199 SensorService-1283 ( 1151) [006] ...1 1034703.182561: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 16200 HwBinder:778_1-1087 ( 778) [003] ...1 1034703.182707: tracing_mark_write: B|778|HIDL::ISensors::poll::server 16201 HwBinder:778_1-1087 ( 778) [001] ...1 1034703.197013: tracing_mark_write: E|778 16202 SensorService-1283 ( 1151) [006] ...1 1034703.197202: tracing_mark_write: E|1151 16203 SensorService-1283 ( 1151) [006] ...1 1034703.197385: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 16204 HwBinder:778_1-1087 ( 778) [001] ...1 1034703.197533: tracing_mark_write: B|778|HIDL::ISensors::poll::server 16205 HwBinder:778_1-1087 ( 778) [001] ...1 1034703.216395: tracing_mark_write: E|778 16206 SensorService-1283 ( 1151) [006] ...1 1034703.216805: tracing_mark_write: E|1151 16207 SensorService-1283 ( 1151) [006] ...1 1034703.217003: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 16208 HwBinder:778_1-1087 ( 778) [001] ...1 1034703.217196: tracing_mark_write: B|778|HIDL::ISensors::poll::server 16209 surfaceflinger-591 ( 591) [001] ...1 1034703.231354: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 16210 composer@2.1-s-593 ( 593) [000] ...1 1034703.231685: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 16211 composer@2.1-s-593 ( 593) [000] ...1 1034703.231876: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 16212 composer@2.1-s-593 ( 593) [000] ...1 1034703.231932: tracing_mark_write: B|593|HWDevice::Commit:: 16213 composer@2.1-s-593 ( 593) [000] ...1 1034703.232233: tracing_mark_write: E|593 16214 composer@2.1-s-593 ( 593) [000] ...1 1034703.232304: tracing_mark_write: E|593 16215 composer@2.1-s-593 ( 593) [000] ...1 1034703.232383: tracing_mark_write: E|593 16216 surfaceflinger-591 ( 591) [001] ...1 1034703.232587: tracing_mark_write: E|591 16217 HwBinder:778_1-1087 ( 778) [001] ...1 1034703.235966: tracing_mark_write: E|778 16218 SensorService-1283 ( 1151) [006] ...1 1034703.236187: tracing_mark_write: E|1151 16219 SensorService-1283 ( 1151) [006] ...1 1034703.236418: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 16220 HwBinder:778_1-1087 ( 778) [001] ...1 1034703.236601: tracing_mark_write: B|778|HIDL::ISensors::poll::server 16221 HwBinder:778_1-1087 ( 778) [001] ...1 1034703.254670: tracing_mark_write: E|778 16222 SensorService-1283 ( 1151) [006] ...1 1034703.254859: tracing_mark_write: E|1151 16223 SensorService-1283 ( 1151) [006] ...1 1034703.255033: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 16224 HwBinder:778_1-1087 ( 778) [001] ...1 1034703.255190: tracing_mark_write: B|778|HIDL::ISensors::poll::server 16225 HwBinder:778_1-1087 ( 778) [001] ...1 1034703.274020: tracing_mark_write: E|778 16226 SensorService-1283 ( 1151) [006] ...1 1034703.274251: tracing_mark_write: E|1151 16227 SensorService-1283 ( 1151) [006] ...1 1034703.274465: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 16228 HwBinder:778_1-1087 ( 778) [001] ...1 1034703.274637: tracing_mark_write: B|778|HIDL::ISensors::poll::server 16229 surfaceflinger-591 ( 591) [000] ...1 1034703.281635: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 16230 composer@2.1-s-593 ( 593) [001] ...1 1034703.281946: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 16231 composer@2.1-s-593 ( 593) [001] ...1 1034703.282122: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 16232 composer@2.1-s-593 ( 593) [001] ...1 1034703.282177: tracing_mark_write: B|593|HWDevice::Commit:: 16233 composer@2.1-s-593 ( 593) [001] ...1 1034703.282455: tracing_mark_write: E|593 16234 composer@2.1-s-593 ( 593) [001] ...1 1034703.282521: tracing_mark_write: E|593 16235 composer@2.1-s-593 ( 593) [001] ...1 1034703.282598: tracing_mark_write: E|593 16236 surfaceflinger-591 ( 591) [000] ...1 1034703.282773: tracing_mark_write: E|591 16237 HwBinder:778_1-1087 ( 778) [001] ...1 1034703.293331: tracing_mark_write: E|778 16238 SensorService-1283 ( 1151) [006] ...1 1034703.293522: tracing_mark_write: E|1151 16239 SensorService-1283 ( 1151) [006] ...1 1034703.293693: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 16240 HwBinder:778_1-1087 ( 778) [001] ...1 1034703.293860: tracing_mark_write: B|778|HIDL::ISensors::poll::server 16241 HwBinder:778_1-1087 ( 778) [001] ...1 1034703.312477: tracing_mark_write: E|778 16242 SensorService-1283 ( 1151) [006] ...1 1034703.312725: tracing_mark_write: E|1151 16243 SensorService-1283 ( 1151) [006] ...1 1034703.312942: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 16244 HwBinder:778_1-1087 ( 778) [001] ...1 1034703.313120: tracing_mark_write: B|778|HIDL::ISensors::poll::server 16245 surfaceflinger-591 ( 591) [001] ...1 1034703.315273: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 16246 composer@2.1-s-593 ( 593) [000] ...1 1034703.315613: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 16247 composer@2.1-s-593 ( 593) [000] ...1 1034703.315820: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 16248 composer@2.1-s-593 ( 593) [000] ...1 1034703.315881: tracing_mark_write: B|593|HWDevice::Commit:: 16249 composer@2.1-s-593 ( 593) [000] ...1 1034703.316195: tracing_mark_write: E|593 16250 composer@2.1-s-593 ( 593) [000] ...1 1034703.316272: tracing_mark_write: E|593 16251 composer@2.1-s-593 ( 593) [000] ...1 1034703.316358: tracing_mark_write: E|593 16252 surfaceflinger-591 ( 591) [001] ...1 1034703.316641: tracing_mark_write: E|591 16253 HwBinder:778_1-1087 ( 778) [001] ...1 1034703.332408: tracing_mark_write: E|778 16254 SensorService-1283 ( 1151) [006] ...1 1034703.332627: tracing_mark_write: E|1151 16255 SensorService-1283 ( 1151) [006] ...1 1034703.332767: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 16256 HwBinder:778_1-1087 ( 778) [001] ...1 1034703.332939: tracing_mark_write: B|778|HIDL::ISensors::poll::server 16257 HwBinder:778_1-1087 ( 778) [000] ...1 1034703.354105: tracing_mark_write: E|778 16258 SensorService-1283 ( 1151) [006] ...1 1034703.354372: tracing_mark_write: E|1151 16259 SensorService-1283 ( 1151) [006] ...1 1034703.354599: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 16260 HwBinder:778_1-1087 ( 778) [000] ...1 1034703.354788: tracing_mark_write: B|778|HIDL::ISensors::poll::server 16261 surfaceflinger-591 ( 591) [000] ...1 1034703.365891: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 16262 composer@2.1-s-593 ( 593) [001] ...1 1034703.366296: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 16263 composer@2.1-s-593 ( 593) [001] ...1 1034703.366512: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 16264 composer@2.1-s-593 ( 593) [001] ...1 1034703.366665: tracing_mark_write: B|593|HWDevice::Commit:: 16265 composer@2.1-s-593 ( 593) [001] ...1 1034703.367004: tracing_mark_write: E|593 16266 composer@2.1-s-593 ( 593) [001] ...1 1034703.367090: tracing_mark_write: E|593 16267 composer@2.1-s-593 ( 593) [001] ...1 1034703.367186: tracing_mark_write: E|593 16268 surfaceflinger-591 ( 591) [000] ...1 1034703.367437: tracing_mark_write: E|591 16269 HwBinder:778_1-1087 ( 778) [001] ...1 1034703.371125: tracing_mark_write: E|778 16270 SensorService-1283 ( 1151) [006] ...1 1034703.371329: tracing_mark_write: E|1151 16271 SensorService-1283 ( 1151) [006] ...1 1034703.371456: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 16272 HwBinder:778_1-1087 ( 778) [001] ...1 1034703.371625: tracing_mark_write: B|778|HIDL::ISensors::poll::server 16273 HwBinder:778_1-1087 ( 778) [001] ...1 1034703.389748: tracing_mark_write: E|778 16274 SensorService-1283 ( 1151) [006] ...1 1034703.389977: tracing_mark_write: E|1151 16275 SensorService-1283 ( 1151) [006] ...1 1034703.390121: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 16276 HwBinder:778_1-1087 ( 778) [001] ...1 1034703.390288: tracing_mark_write: B|778|HIDL::ISensors::poll::server 16277 surfaceflinger-591 ( 591) [001] ...1 1034703.399464: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 16278 composer@2.1-s-593 ( 593) [000] ...1 1034703.399853: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 16279 composer@2.1-s-593 ( 593) [000] ...1 1034703.400123: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 16280 composer@2.1-s-593 ( 593) [000] ...1 1034703.400185: tracing_mark_write: B|593|HWDevice::Commit:: 16281 composer@2.1-s-593 ( 593) [000] ...1 1034703.400539: tracing_mark_write: E|593 16282 composer@2.1-s-593 ( 593) [000] ...1 1034703.400623: tracing_mark_write: E|593 16283 composer@2.1-s-593 ( 593) [000] ...1 1034703.400719: tracing_mark_write: E|593 16284 surfaceflinger-591 ( 591) [001] ...1 1034703.400971: tracing_mark_write: E|591 16285 HwBinder:778_1-1087 ( 778) [000] ...1 1034703.408687: tracing_mark_write: E|778 16286 SensorService-1283 ( 1151) [006] ...1 1034703.408889: tracing_mark_write: E|1151 16287 SensorService-1283 ( 1151) [006] ...1 1034703.409046: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 16288 HwBinder:778_1-1087 ( 778) [000] ...1 1034703.409174: tracing_mark_write: B|778|HIDL::ISensors::poll::server 16289 HwBinder:778_1-1087 ( 778) [000] ...1 1034703.427803: tracing_mark_write: E|778 16290 SensorService-1283 ( 1151) [006] ...1 1034703.427968: tracing_mark_write: E|1151 16291 SensorService-1283 ( 1151) [006] ...1 1034703.428084: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 16292 HwBinder:778_1-1087 ( 778) [000] ...1 1034703.428193: tracing_mark_write: B|778|HIDL::ISensors::poll::server 16293 HwBinder:778_1-1087 ( 778) [000] ...1 1034703.446861: tracing_mark_write: E|778 16294 SensorService-1283 ( 1151) [006] ...1 1034703.446969: tracing_mark_write: E|1151 16295 SensorService-1283 ( 1151) [006] ...1 1034703.447070: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 16296 HwBinder:778_1-1087 ( 778) [000] ...1 1034703.447141: tracing_mark_write: B|778|HIDL::ISensors::poll::server 16297 surfaceflinger-591 ( 591) [000] ...1 1034703.448791: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 16298 composer@2.1-s-593 ( 593) [001] ...1 1034703.448916: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 16299 composer@2.1-s-593 ( 593) [001] ...1 1034703.448992: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 16300 composer@2.1-s-593 ( 593) [001] ...1 1034703.449015: tracing_mark_write: B|593|HWDevice::Commit:: 16301 composer@2.1-s-593 ( 593) [001] ...1 1034703.449135: tracing_mark_write: E|593 16302 composer@2.1-s-593 ( 593) [001] ...1 1034703.449163: tracing_mark_write: E|593 16303 composer@2.1-s-593 ( 593) [001] ...1 1034703.449195: tracing_mark_write: E|593 16304 surfaceflinger-591 ( 591) [000] ...1 1034703.449269: tracing_mark_write: E|591 16305 HwBinder:778_1-1087 ( 778) [000] ...1 1034703.466001: tracing_mark_write: E|778 16306 SensorService-1283 ( 1151) [006] ...1 1034703.466091: tracing_mark_write: E|1151 16307 SensorService-1283 ( 1151) [006] ...1 1034703.466160: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 16308 HwBinder:778_1-1087 ( 778) [000] ...1 1034703.466226: tracing_mark_write: B|778|HIDL::ISensors::poll::server 16309 surfaceflinger-591 ( 591) [002] ...1 1034703.482408: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 16310 composer@2.1-s-593 ( 593) [001] ...1 1034703.482572: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 16311 composer@2.1-s-593 ( 593) [001] ...1 1034703.482683: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 16312 composer@2.1-s-593 ( 593) [001] ...1 1034703.482709: tracing_mark_write: B|593|HWDevice::Commit:: 16313 composer@2.1-s-593 ( 593) [001] ...1 1034703.482844: tracing_mark_write: E|593 16314 composer@2.1-s-593 ( 593) [001] ...1 1034703.482879: tracing_mark_write: E|593 16315 composer@2.1-s-593 ( 593) [001] ...1 1034703.482918: tracing_mark_write: E|593 16316 surfaceflinger-591 ( 591) [003] ...1 1034703.483021: tracing_mark_write: E|591 16317 HwBinder:778_1-1087 ( 778) [000] ...1 1034703.485682: tracing_mark_write: E|778 16318 SensorService-1283 ( 1151) [006] ...1 1034703.485903: tracing_mark_write: E|1151 16319 SensorService-1283 ( 1151) [006] ...1 1034703.486095: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 16320 HwBinder:778_1-1087 ( 778) [000] ...1 1034703.486241: tracing_mark_write: B|778|HIDL::ISensors::poll::server 16321 HwBinder:778_1-1087 ( 778) [000] ...1 1034703.505013: tracing_mark_write: E|778 16322 SensorService-1283 ( 1151) [006] ...1 1034703.505233: tracing_mark_write: E|1151 16323 SensorService-1283 ( 1151) [006] ...1 1034703.505399: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 16324 HwBinder:778_1-1087 ( 778) [000] ...1 1034703.505545: tracing_mark_write: B|778|HIDL::ISensors::poll::server 16325 HwBinder:778_1-1087 ( 778) [000] ...1 1034703.524132: tracing_mark_write: E|778 16326 SensorService-1283 ( 1151) [006] ...1 1034703.524349: tracing_mark_write: E|1151 16327 SensorService-1283 ( 1151) [006] ...1 1034703.524583: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 16328 HwBinder:778_1-1087 ( 778) [000] ...1 1034703.524772: tracing_mark_write: B|778|HIDL::ISensors::poll::server 16329 surfaceflinger-591 ( 591) [002] ...1 1034703.532964: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 16330 composer@2.1-s-593 ( 593) [001] ...1 1034703.533331: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 16331 composer@2.1-s-593 ( 593) [001] ...1 1034703.533467: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 16332 composer@2.1-s-593 ( 593) [001] ...1 1034703.533507: tracing_mark_write: B|593|HWDevice::Commit:: 16333 composer@2.1-s-593 ( 593) [001] ...1 1034703.533727: tracing_mark_write: E|593 16334 composer@2.1-s-593 ( 593) [001] ...1 1034703.533783: tracing_mark_write: E|593 16335 composer@2.1-s-593 ( 593) [001] ...1 1034703.533843: tracing_mark_write: E|593 16336 surfaceflinger-591 ( 591) [000] ...1 1034703.534012: tracing_mark_write: E|591 16337 HwBinder:778_1-1087 ( 778) [001] ...1 1034703.543337: tracing_mark_write: E|778 16338 SensorService-1283 ( 1151) [006] ...1 1034703.543531: tracing_mark_write: E|1151 16339 SensorService-1283 ( 1151) [006] ...1 1034703.543671: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 16340 HwBinder:778_1-1087 ( 778) [001] ...1 1034703.543796: tracing_mark_write: B|778|HIDL::ISensors::poll::server 16341 HwBinder:778_1-1087 ( 778) [001] ...1 1034703.562660: tracing_mark_write: E|778 16342 SensorService-1283 ( 1151) [006] ...1 1034703.562884: tracing_mark_write: E|1151 16343 SensorService-1283 ( 1151) [006] ...1 1034703.563098: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 16344 HwBinder:778_1-1087 ( 778) [001] ...1 1034703.563305: tracing_mark_write: B|778|HIDL::ISensors::poll::server 16345 HwBinder:778_1-1087 ( 778) [000] ...1 1034703.582085: tracing_mark_write: E|778 16346 SensorService-1283 ( 1151) [006] ...1 1034703.582315: tracing_mark_write: E|1151 16347 SensorService-1283 ( 1151) [006] ...1 1034703.582521: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 16348 HwBinder:778_1-1087 ( 778) [002] ...1 1034703.582686: tracing_mark_write: B|778|HIDL::ISensors::poll::server 16349 surfaceflinger-591 ( 591) [000] ...1 1034703.583589: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 16350 composer@2.1-s-593 ( 593) [001] ...1 1034703.583739: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 16351 composer@2.1-s-593 ( 593) [001] ...1 1034703.583823: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 16352 composer@2.1-s-593 ( 593) [001] ...1 1034703.583848: tracing_mark_write: B|593|HWDevice::Commit:: 16353 composer@2.1-s-593 ( 593) [001] ...1 1034703.583982: tracing_mark_write: E|593 16354 composer@2.1-s-593 ( 593) [001] ...1 1034703.584016: tracing_mark_write: E|593 16355 composer@2.1-s-593 ( 593) [001] ...1 1034703.584052: tracing_mark_write: E|593 16356 surfaceflinger-591 ( 591) [000] ...1 1034703.584143: tracing_mark_write: E|591 16357 HwBinder:778_1-1087 ( 778) [001] ...1 1034703.601012: tracing_mark_write: E|778 16358 SensorService-1283 ( 1151) [006] ...1 1034703.601199: tracing_mark_write: E|1151 16359 SensorService-1283 ( 1151) [006] ...1 1034703.601388: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 16360 HwBinder:778_1-1087 ( 778) [001] ...1 1034703.601525: tracing_mark_write: B|778|HIDL::ISensors::poll::server 16361 surfaceflinger-591 ( 591) [002] ...1 1034703.616877: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 16362 composer@2.1-s-593 ( 593) [001] ...1 1034703.617097: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 16363 composer@2.1-s-593 ( 593) [001] ...1 1034703.617194: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 16364 composer@2.1-s-593 ( 593) [001] ...1 1034703.617222: tracing_mark_write: B|593|HWDevice::Commit:: 16365 composer@2.1-s-593 ( 593) [001] ...1 1034703.617384: tracing_mark_write: E|593 16366 composer@2.1-s-593 ( 593) [001] ...1 1034703.617424: tracing_mark_write: E|593 16367 composer@2.1-s-593 ( 593) [001] ...1 1034703.617469: tracing_mark_write: E|593 16368 surfaceflinger-591 ( 591) [003] ...1 1034703.617594: tracing_mark_write: E|591 16369 HwBinder:778_1-1087 ( 778) [001] ...1 1034703.620232: tracing_mark_write: E|778 16370 SensorService-1283 ( 1151) [006] ...1 1034703.620371: tracing_mark_write: E|1151 16371 SensorService-1283 ( 1151) [006] ...1 1034703.620509: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 16372 HwBinder:778_1-1087 ( 778) [001] ...1 1034703.620622: tracing_mark_write: B|778|HIDL::ISensors::poll::server 16373 HwBinder:778_1-1087 ( 778) [002] ...1 1034703.639660: tracing_mark_write: E|778 16374 SensorService-1283 ( 1151) [006] ...1 1034703.639787: tracing_mark_write: E|1151 16375 SensorService-1283 ( 1151) [006] ...1 1034703.640012: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 16376 HwBinder:778_1-1087 ( 778) [002] ...1 1034703.640160: tracing_mark_write: B|778|HIDL::ISensors::poll::server 16377 HwBinder:778_1-1087 ( 778) [001] ...1 1034703.658904: tracing_mark_write: E|778 16378 SensorService-1283 ( 1151) [006] ...1 1034703.659074: tracing_mark_write: E|1151 16379 SensorService-1283 ( 1151) [006] ...1 1034703.659245: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 16380 HwBinder:778_1-1087 ( 778) [001] ...1 1034703.659393: tracing_mark_write: B|778|HIDL::ISensors::poll::server 16381 surfaceflinger-591 ( 591) [000] ...1 1034703.667275: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 16382 composer@2.1-s-593 ( 593) [001] ...1 1034703.667489: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 16383 composer@2.1-s-593 ( 593) [001] ...1 1034703.667608: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 16384 composer@2.1-s-593 ( 593) [001] ...1 1034703.667642: tracing_mark_write: B|593|HWDevice::Commit:: 16385 composer@2.1-s-593 ( 593) [001] ...1 1034703.667852: tracing_mark_write: E|593 16386 composer@2.1-s-593 ( 593) [001] ...1 1034703.667899: tracing_mark_write: E|593 16387 composer@2.1-s-593 ( 593) [001] ...1 1034703.667951: tracing_mark_write: E|593 16388 surfaceflinger-591 ( 591) [000] ...1 1034703.668089: tracing_mark_write: E|591 16389 HwBinder:778_1-1087 ( 778) [001] ...1 1034703.678245: tracing_mark_write: E|778 16390 SensorService-1283 ( 1151) [006] ...1 1034703.678409: tracing_mark_write: E|1151 16391 SensorService-1283 ( 1151) [006] ...1 1034703.678581: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 16392 HwBinder:778_1-1087 ( 778) [001] ...1 1034703.678722: tracing_mark_write: B|778|HIDL::ISensors::poll::server 16393 HwBinder:778_1-1087 ( 778) [001] ...1 1034703.697309: tracing_mark_write: E|778 16394 SensorService-1283 ( 1151) [006] ...1 1034703.697463: tracing_mark_write: E|1151 16395 SensorService-1283 ( 1151) [006] ...1 1034703.697628: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 16396 HwBinder:778_1-1087 ( 778) [001] ...1 1034703.697768: tracing_mark_write: B|778|HIDL::ISensors::poll::server 16397 surfaceflinger-591 ( 591) [000] ...1 1034703.701138: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 16398 composer@2.1-s-593 ( 593) [001] ...1 1034703.701395: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 16399 composer@2.1-s-593 ( 593) [001] ...1 1034703.701553: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 16400 composer@2.1-s-593 ( 593) [001] ...1 1034703.701597: tracing_mark_write: B|593|HWDevice::Commit:: 16401 composer@2.1-s-593 ( 593) [001] ...1 1034703.701852: tracing_mark_write: E|593 16402 composer@2.1-s-593 ( 593) [001] ...1 1034703.701910: tracing_mark_write: E|593 16403 composer@2.1-s-593 ( 593) [001] ...1 1034703.701974: tracing_mark_write: E|593 16404 surfaceflinger-591 ( 591) [000] ...1 1034703.702153: tracing_mark_write: E|591 16405 HwBinder:778_1-1087 ( 778) [001] ...1 1034703.716730: tracing_mark_write: E|778 16406 SensorService-1283 ( 1151) [006] ...1 1034703.716920: tracing_mark_write: E|1151 16407 SensorService-1283 ( 1151) [006] ...1 1034703.717057: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 16408 HwBinder:778_1-1087 ( 778) [000] ...1 1034703.717234: tracing_mark_write: B|778|HIDL::ISensors::poll::server 16409 HwBinder:778_1-1087 ( 778) [001] ...1 1034703.738662: tracing_mark_write: E|778 16410 SensorService-1283 ( 1151) [006] ...1 1034703.738863: tracing_mark_write: E|1151 16411 SensorService-1283 ( 1151) [006] ...1 1034703.739020: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 16412 HwBinder:778_1-1087 ( 778) [001] ...1 1034703.739164: tracing_mark_write: B|778|HIDL::ISensors::poll::server 16413 surfaceflinger-591 ( 591) [000] ...1 1034703.751177: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 16414 composer@2.1-s-593 ( 593) [001] ...1 1034703.751419: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 16415 composer@2.1-s-593 ( 593) [001] ...1 1034703.751543: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 16416 composer@2.1-s-593 ( 593) [001] ...1 1034703.751577: tracing_mark_write: B|593|HWDevice::Commit:: 16417 composer@2.1-s-593 ( 593) [001] ...1 1034703.751753: tracing_mark_write: E|593 16418 composer@2.1-s-593 ( 593) [001] ...1 1034703.751798: tracing_mark_write: E|593 16419 composer@2.1-s-593 ( 593) [001] ...1 1034703.751849: tracing_mark_write: E|593 16420 surfaceflinger-591 ( 591) [000] ...1 1034703.751959: tracing_mark_write: E|591 16421 HwBinder:778_1-1087 ( 778) [000] ...1 1034703.755037: tracing_mark_write: E|778 16422 SensorService-1283 ( 1151) [006] ...1 1034703.755168: tracing_mark_write: E|1151 16423 SensorService-1283 ( 1151) [006] ...1 1034703.755335: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 16424 HwBinder:778_1-1087 ( 778) [000] ...1 1034703.755460: tracing_mark_write: B|778|HIDL::ISensors::poll::server 16425 HwBinder:778_1-1087 ( 778) [001] ...1 1034703.774617: tracing_mark_write: E|778 16426 SensorService-1283 ( 1151) [006] ...1 1034703.774778: tracing_mark_write: E|1151 16427 SensorService-1283 ( 1151) [006] ...1 1034703.774887: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 16428 HwBinder:778_1-1087 ( 778) [001] ...1 1034703.775015: tracing_mark_write: B|778|HIDL::ISensors::poll::server 16429 HwBinder:778_1-1087 ( 778) [001] ...1 1034703.793815: tracing_mark_write: E|778 16430 SensorService-1283 ( 1151) [006] ...1 1034703.794030: tracing_mark_write: E|1151 16431 SensorService-1283 ( 1151) [006] ...1 1034703.794203: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 16432 HwBinder:778_1-1087 ( 778) [001] ...1 1034703.794352: tracing_mark_write: B|778|HIDL::ISensors::poll::server 16433 surfaceflinger-591 ( 591) [000] ...1 1034703.801778: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 16434 composer@2.1-s-593 ( 593) [001] ...1 1034703.802076: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 16435 composer@2.1-s-593 ( 593) [001] ...1 1034703.802240: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 16436 composer@2.1-s-593 ( 593) [001] ...1 1034703.802287: tracing_mark_write: B|593|HWDevice::Commit:: 16437 composer@2.1-s-593 ( 593) [001] ...1 1034703.802535: tracing_mark_write: E|593 16438 composer@2.1-s-593 ( 593) [001] ...1 1034703.802595: tracing_mark_write: E|593 16439 composer@2.1-s-593 ( 593) [001] ...1 1034703.802662: tracing_mark_write: E|593 16440 surfaceflinger-591 ( 591) [000] ...1 1034703.802812: tracing_mark_write: E|591 16441 HwBinder:778_1-1087 ( 778) [001] ...1 1034703.812881: tracing_mark_write: E|778 16442 SensorService-1283 ( 1151) [006] ...1 1034703.813059: tracing_mark_write: E|1151 16443 SensorService-1283 ( 1151) [006] ...1 1034703.813188: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 16444 HwBinder:778_1-1087 ( 778) [001] ...1 1034703.813397: tracing_mark_write: B|778|HIDL::ISensors::poll::server 16445 HwBinder:778_1-1087 ( 778) [002] ...1 1034703.831945: tracing_mark_write: E|778 16446 SensorService-1283 ( 1151) [006] ...1 1034703.832147: tracing_mark_write: E|1151 16447 SensorService-1283 ( 1151) [006] ...1 1034703.832343: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 16448 HwBinder:778_1-1087 ( 778) [002] ...1 1034703.832478: tracing_mark_write: B|778|HIDL::ISensors::poll::server 16449 surfaceflinger-591 ( 591) [000] ...1 1034703.834902: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 16450 composer@2.1-s-593 ( 593) [001] ...1 1034703.835070: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 16451 composer@2.1-s-593 ( 593) [001] ...1 1034703.835158: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 16452 composer@2.1-s-593 ( 593) [001] ...1 1034703.835184: tracing_mark_write: B|593|HWDevice::Commit:: 16453 composer@2.1-s-593 ( 593) [001] ...1 1034703.835386: tracing_mark_write: E|593 16454 composer@2.1-s-593 ( 593) [001] ...1 1034703.835422: tracing_mark_write: E|593 16455 composer@2.1-s-593 ( 593) [001] ...1 1034703.835462: tracing_mark_write: E|593 16456 surfaceflinger-591 ( 591) [000] ...1 1034703.835569: tracing_mark_write: E|591 16457 HwBinder:778_1-1087 ( 778) [002] ...1 1034703.851268: tracing_mark_write: E|778 16458 SensorService-1283 ( 1151) [006] ...1 1034703.851464: tracing_mark_write: E|1151 16459 SensorService-1283 ( 1151) [006] ...1 1034703.851631: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 16460 HwBinder:778_1-1087 ( 778) [002] ...1 1034703.851763: tracing_mark_write: B|778|HIDL::ISensors::poll::server 16461 HwBinder:778_1-1087 ( 778) [000] ...1 1034703.870507: tracing_mark_write: E|778 16462 SensorService-1283 ( 1151) [006] ...1 1034703.870682: tracing_mark_write: E|1151 16463 SensorService-1283 ( 1151) [006] ...1 1034703.870840: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 16464 HwBinder:778_1-1087 ( 778) [000] ...1 1034703.870965: tracing_mark_write: B|778|HIDL::ISensors::poll::server 16465 surfaceflinger-591 ( 591) [000] ...1 1034703.885214: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 16466 composer@2.1-s-593 ( 593) [001] ...1 1034703.885403: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 16467 composer@2.1-s-593 ( 593) [001] ...1 1034703.885488: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 16468 composer@2.1-s-593 ( 593) [001] ...1 1034703.885515: tracing_mark_write: B|593|HWDevice::Commit:: 16469 composer@2.1-s-593 ( 593) [001] ...1 1034703.885659: tracing_mark_write: E|593 16470 composer@2.1-s-593 ( 593) [001] ...1 1034703.885693: tracing_mark_write: E|593 16471 composer@2.1-s-593 ( 593) [001] ...1 1034703.885731: tracing_mark_write: E|593 16472 surfaceflinger-591 ( 591) [000] ...1 1034703.885825: tracing_mark_write: E|591 16473 HwBinder:778_1-1087 ( 778) [001] ...1 1034703.889700: tracing_mark_write: E|778 16474 SensorService-1283 ( 1151) [006] ...1 1034703.889853: tracing_mark_write: E|1151 16475 SensorService-1283 ( 1151) [006] ...1 1034703.890045: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 16476 HwBinder:778_1-1087 ( 778) [001] ...1 1034703.890167: tracing_mark_write: B|778|HIDL::ISensors::poll::server 16477 HwBinder:778_1-1087 ( 778) [000] ...1 1034703.909581: tracing_mark_write: E|778 16478 SensorService-1283 ( 1151) [006] ...1 1034703.909818: tracing_mark_write: E|1151 16479 SensorService-1283 ( 1151) [006] ...1 1034703.910035: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 16480 HwBinder:778_1-1087 ( 778) [000] ...1 1034703.910341: tracing_mark_write: B|778|HIDL::ISensors::poll::server 16481 surfaceflinger-591 ( 591) [000] ...1 1034703.918969: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 16482 composer@2.1-s-593 ( 593) [001] ...1 1034703.919185: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 16483 composer@2.1-s-593 ( 593) [001] ...1 1034703.919305: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 16484 composer@2.1-s-593 ( 593) [001] ...1 1034703.919340: tracing_mark_write: B|593|HWDevice::Commit:: 16485 composer@2.1-s-593 ( 593) [001] ...1 1034703.919531: tracing_mark_write: E|593 16486 composer@2.1-s-593 ( 593) [001] ...1 1034703.919576: tracing_mark_write: E|593 16487 composer@2.1-s-593 ( 593) [001] ...1 1034703.919627: tracing_mark_write: E|593 16488 surfaceflinger-591 ( 591) [000] ...1 1034703.919740: tracing_mark_write: E|591 16489 HwBinder:778_1-1087 ( 778) [001] ...1 1034703.928316: tracing_mark_write: E|778 16490 SensorService-1283 ( 1151) [006] ...1 1034703.928482: tracing_mark_write: E|1151 16491 SensorService-1283 ( 1151) [006] ...1 1034703.928610: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 16492 HwBinder:778_1-1087 ( 778) [001] ...1 1034703.928741: tracing_mark_write: B|778|HIDL::ISensors::poll::server 16493 HwBinder:778_1-1087 ( 778) [001] ...1 1034703.947653: tracing_mark_write: E|778 16494 SensorService-1283 ( 1151) [006] ...1 1034703.947834: tracing_mark_write: E|1151 16495 SensorService-1283 ( 1151) [006] ...1 1034703.948050: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 16496 HwBinder:778_1-1087 ( 778) [001] ...1 1034703.948190: tracing_mark_write: B|778|HIDL::ISensors::poll::server 16497 HwBinder:778_1-1087 ( 778) [000] ...1 1034703.967058: tracing_mark_write: E|778 16498 SensorService-1283 ( 1151) [006] ...1 1034703.967236: tracing_mark_write: E|1151 16499 SensorService-1283 ( 1151) [006] ...1 1034703.967377: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 16500 HwBinder:778_1-1087 ( 778) [000] ...1 1034703.967515: tracing_mark_write: B|778|HIDL::ISensors::poll::server 16501 surfaceflinger-591 ( 591) [000] ...1 1034703.969311: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 16502 composer@2.1-s-593 ( 593) [001] ...1 1034703.969514: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 16503 composer@2.1-s-593 ( 593) [001] ...1 1034703.969641: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 16504 composer@2.1-s-593 ( 593) [001] ...1 1034703.969678: tracing_mark_write: B|593|HWDevice::Commit:: 16505 composer@2.1-s-593 ( 593) [001] ...1 1034703.969915: tracing_mark_write: E|593 16506 composer@2.1-s-593 ( 593) [001] ...1 1034703.969962: tracing_mark_write: E|593 16507 composer@2.1-s-593 ( 593) [001] ...1 1034703.970012: tracing_mark_write: E|593 16508 surfaceflinger-591 ( 591) [000] ...1 1034703.970133: tracing_mark_write: E|591 16509 HwBinder:778_1-1087 ( 778) [000] ...1 1034703.986126: tracing_mark_write: E|778 16510 SensorService-1283 ( 1151) [006] ...1 1034703.986292: tracing_mark_write: E|1151 16511 SensorService-1283 ( 1151) [006] ...1 1034703.986426: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 16512 HwBinder:778_1-1087 ( 778) [000] ...1 1034703.986598: tracing_mark_write: B|778|HIDL::ISensors::poll::server 16513 surfaceflinger-591 ( 591) [000] ...1 1034704.002947: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 16514 composer@2.1-s-593 ( 593) [001] ...1 1034704.003284: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 16515 composer@2.1-s-593 ( 593) [001] ...1 1034704.003422: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 16516 composer@2.1-s-593 ( 593) [001] ...1 1034704.003461: tracing_mark_write: B|593|HWDevice::Commit:: 16517 composer@2.1-s-593 ( 593) [001] ...1 1034704.003675: tracing_mark_write: E|593 16518 composer@2.1-s-593 ( 593) [001] ...1 1034704.003723: tracing_mark_write: E|593 16519 composer@2.1-s-593 ( 593) [001] ...1 1034704.003780: tracing_mark_write: E|593 16520 surfaceflinger-591 ( 591) [000] ...1 1034704.003899: tracing_mark_write: E|591 16521 HwBinder:778_1-1087 ( 778) [000] ...1 1034704.006663: tracing_mark_write: E|778 16522 SensorService-1283 ( 1151) [006] ...1 1034704.006808: tracing_mark_write: E|1151 16523 SensorService-1283 ( 1151) [006] ...1 1034704.006946: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 16524 HwBinder:778_1-1087 ( 778) [000] ...1 1034704.007069: tracing_mark_write: B|778|HIDL::ISensors::poll::server 16525 HwBinder:778_1-1087 ( 778) [001] ...1 1034704.024658: tracing_mark_write: E|778 16526 SensorService-1283 ( 1151) [006] ...1 1034704.024820: tracing_mark_write: E|1151 16527 SensorService-1283 ( 1151) [006] ...1 1034704.024951: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 16528 HwBinder:778_1-1087 ( 778) [001] ...1 1034704.025077: tracing_mark_write: B|778|HIDL::ISensors::poll::server 16529 HwBinder:778_1-1087 ( 778) [000] ...1 1034704.044219: tracing_mark_write: E|778 16530 SensorService-1283 ( 1151) [006] ...1 1034704.044365: tracing_mark_write: E|1151 16531 SensorService-1283 ( 1151) [006] ...1 1034704.044480: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 16532 HwBinder:778_1-1087 ( 778) [000] ...1 1034704.044585: tracing_mark_write: B|778|HIDL::ISensors::poll::server 16533 surfaceflinger-591 ( 591) [002] ...1 1034704.053130: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 16534 composer@2.1-s-593 ( 593) [001] ...1 1034704.053392: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 16535 composer@2.1-s-593 ( 593) [001] ...1 1034704.053498: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 16536 composer@2.1-s-593 ( 593) [001] ...1 1034704.053528: tracing_mark_write: B|593|HWDevice::Commit:: 16537 composer@2.1-s-593 ( 593) [001] ...1 1034704.053693: tracing_mark_write: E|593 16538 composer@2.1-s-593 ( 593) [001] ...1 1034704.053733: tracing_mark_write: E|593 16539 composer@2.1-s-593 ( 593) [001] ...1 1034704.053779: tracing_mark_write: E|593 16540 surfaceflinger-591 ( 591) [000] ...1 1034704.053913: tracing_mark_write: E|591 16541 HwBinder:778_1-1087 ( 778) [000] ...1 1034704.063432: tracing_mark_write: E|778 16542 SensorService-1283 ( 1151) [006] ...1 1034704.063610: tracing_mark_write: E|1151 16543 SensorService-1283 ( 1151) [006] ...1 1034704.063768: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 16544 HwBinder:778_1-1087 ( 778) [000] ...1 1034704.063907: tracing_mark_write: B|778|HIDL::ISensors::poll::server 16545 HwBinder:778_1-1087 ( 778) [003] ...1 1034704.082380: tracing_mark_write: E|778 16546 SensorService-1283 ( 1151) [006] ...1 1034704.082546: tracing_mark_write: E|1151 16547 SensorService-1283 ( 1151) [006] ...1 1034704.082706: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 16548 HwBinder:778_1-1087 ( 778) [003] ...1 1034704.082837: tracing_mark_write: B|778|HIDL::ISensors::poll::server 16549 surfaceflinger-591 ( 591) [001] ...1 1034704.086948: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 16550 composer@2.1-s-593 ( 593) [000] ...1 1034704.087195: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 16551 composer@2.1-s-593 ( 593) [000] ...1 1034704.087317: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 16552 composer@2.1-s-593 ( 593) [000] ...1 1034704.087351: tracing_mark_write: B|593|HWDevice::Commit:: 16553 composer@2.1-s-593 ( 593) [000] ...1 1034704.087542: tracing_mark_write: E|593 16554 composer@2.1-s-593 ( 593) [000] ...1 1034704.087590: tracing_mark_write: E|593 16555 composer@2.1-s-593 ( 593) [000] ...1 1034704.087643: tracing_mark_write: E|593 16556 surfaceflinger-591 ( 591) [001] ...1 1034704.087782: tracing_mark_write: E|591 16557 HwBinder:778_1-1087 ( 778) [000] ...1 1034704.101656: tracing_mark_write: E|778 16558 SensorService-1283 ( 1151) [001] ...1 1034704.101924: tracing_mark_write: E|1151 16559 SensorService-1283 ( 1151) [001] ...1 1034704.102061: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 16560 HwBinder:778_1-1087 ( 778) [000] ...1 1034704.102161: tracing_mark_write: B|778|HIDL::ISensors::poll::server 16561 HwBinder:778_1-1087 ( 778) [001] ...1 1034704.120836: tracing_mark_write: E|778 16562 SensorService-1283 ( 1151) [003] ...1 1034704.121007: tracing_mark_write: E|1151 16563 SensorService-1283 ( 1151) [003] ...1 1034704.121147: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 16564 HwBinder:778_1-1087 ( 778) [001] ...1 1034704.121239: tracing_mark_write: B|778|HIDL::ISensors::poll::server 16565 surfaceflinger-591 ( 591) [002] ...1 1034704.137227: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 16566 composer@2.1-s-593 ( 593) [000] ...1 1034704.137478: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 16567 composer@2.1-s-593 ( 593) [000] ...1 1034704.137595: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 16568 composer@2.1-s-593 ( 593) [000] ...1 1034704.137630: tracing_mark_write: B|593|HWDevice::Commit:: 16569 composer@2.1-s-593 ( 593) [000] ...1 1034704.137813: tracing_mark_write: E|593 16570 composer@2.1-s-593 ( 593) [000] ...1 1034704.137857: tracing_mark_write: E|593 16571 composer@2.1-s-593 ( 593) [000] ...1 1034704.137908: tracing_mark_write: E|593 16572 surfaceflinger-591 ( 591) [001] ...1 1034704.138038: tracing_mark_write: E|591 16573 HwBinder:778_1-1087 ( 778) [000] ...1 1034704.140587: tracing_mark_write: E|778 16574 SensorService-1283 ( 1151) [003] ...1 1034704.140688: tracing_mark_write: E|1151 16575 SensorService-1283 ( 1151) [003] ...1 1034704.140814: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 16576 HwBinder:778_1-1087 ( 778) [000] ...1 1034704.140890: tracing_mark_write: B|778|HIDL::ISensors::poll::server 16577 HwBinder:778_1-1087 ( 778) [000] ...1 1034704.159571: tracing_mark_write: E|778 16578 SensorService-1283 ( 1151) [003] ...1 1034704.159715: tracing_mark_write: E|1151 16579 SensorService-1283 ( 1151) [003] ...1 1034704.159832: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 16580 HwBinder:778_1-1087 ( 778) [000] ...1 1034704.159946: tracing_mark_write: B|778|HIDL::ISensors::poll::server 16581 HwBinder:778_1-1087 ( 778) [000] ...1 1034704.178642: tracing_mark_write: E|778 16582 SensorService-1283 ( 1151) [003] ...1 1034704.178792: tracing_mark_write: E|1151 16583 SensorService-1283 ( 1151) [003] ...1 1034704.178927: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 16584 HwBinder:778_1-1087 ( 778) [000] ...1 1034704.179020: tracing_mark_write: B|778|HIDL::ISensors::poll::server 16585 surfaceflinger-591 ( 591) [003] ...1 1034704.187751: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 16586 composer@2.1-s-593 ( 593) [000] ...1 1034704.188040: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 16587 composer@2.1-s-593 ( 593) [000] ...1 1034704.188189: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 16588 composer@2.1-s-593 ( 593) [000] ...1 1034704.188236: tracing_mark_write: B|593|HWDevice::Commit:: 16589 composer@2.1-s-593 ( 593) [000] ...1 1034704.188481: tracing_mark_write: E|593 16590 composer@2.1-s-593 ( 593) [000] ...1 1034704.188539: tracing_mark_write: E|593 16591 composer@2.1-s-593 ( 593) [000] ...1 1034704.188606: tracing_mark_write: E|593 16592 surfaceflinger-591 ( 591) [003] ...1 1034704.188771: tracing_mark_write: E|591 16593 HwBinder:778_1-1087 ( 778) [000] ...1 1034704.197914: tracing_mark_write: E|778 16594 SensorService-1283 ( 1151) [003] ...1 1034704.198076: tracing_mark_write: E|1151 16595 SensorService-1283 ( 1151) [003] ...1 1034704.198221: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 16596 HwBinder:778_1-1087 ( 778) [000] ...1 1034704.198317: tracing_mark_write: B|778|HIDL::ISensors::poll::server 16597 HwBinder:778_1-1087 ( 778) [000] ...1 1034704.217173: tracing_mark_write: E|778 16598 SensorService-1283 ( 1151) [003] ...1 1034704.217328: tracing_mark_write: E|1151 16599 SensorService-1283 ( 1151) [003] ...1 1034704.217470: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 16600 HwBinder:778_1-1087 ( 778) [000] ...1 1034704.217609: tracing_mark_write: B|778|HIDL::ISensors::poll::server 16601 surfaceflinger-591 ( 591) [000] ...1 1034704.221048: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 16602 composer@2.1-s-593 ( 593) [001] ...1 1034704.221260: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 16603 composer@2.1-s-593 ( 593) [001] ...1 1034704.221389: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 16604 composer@2.1-s-593 ( 593) [001] ...1 1034704.221425: tracing_mark_write: B|593|HWDevice::Commit:: 16605 composer@2.1-s-593 ( 593) [001] ...1 1034704.221625: tracing_mark_write: E|593 16606 composer@2.1-s-593 ( 593) [001] ...1 1034704.221670: tracing_mark_write: E|593 16607 composer@2.1-s-593 ( 593) [001] ...1 1034704.221723: tracing_mark_write: E|593 16608 surfaceflinger-591 ( 591) [000] ...1 1034704.221843: tracing_mark_write: E|591 16609 HwBinder:778_1-1087 ( 778) [000] ...1 1034704.236859: tracing_mark_write: E|778 16610 SensorService-1283 ( 1151) [003] ...1 1034704.237016: tracing_mark_write: E|1151 16611 SensorService-1283 ( 1151) [003] ...1 1034704.237148: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 16612 HwBinder:778_1-1087 ( 778) [001] ...1 1034704.237247: tracing_mark_write: B|778|HIDL::ISensors::poll::server 16613 HwBinder:778_1-1087 ( 778) [001] ...1 1034704.256016: tracing_mark_write: E|778 16614 SensorService-1283 ( 1151) [003] ...1 1034704.256216: tracing_mark_write: E|1151 16615 SensorService-1283 ( 1151) [003] ...1 1034704.256437: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 16616 HwBinder:778_1-1087 ( 778) [001] ...1 1034704.256602: tracing_mark_write: B|778|HIDL::ISensors::poll::server 16617 surfaceflinger-591 ( 591) [002] ...1 1034704.271508: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 16618 composer@2.1-s-593 ( 593) [001] ...1 1034704.271795: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 16619 composer@2.1-s-593 ( 593) [001] ...1 1034704.271928: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 16620 composer@2.1-s-593 ( 593) [001] ...1 1034704.271966: tracing_mark_write: B|593|HWDevice::Commit:: 16621 composer@2.1-s-593 ( 593) [001] ...1 1034704.272168: tracing_mark_write: E|593 16622 composer@2.1-s-593 ( 593) [001] ...1 1034704.272218: tracing_mark_write: E|593 16623 composer@2.1-s-593 ( 593) [001] ...1 1034704.272273: tracing_mark_write: E|593 16624 surfaceflinger-591 ( 591) [000] ...1 1034704.272429: tracing_mark_write: E|591 16625 HwBinder:778_1-1087 ( 778) [000] ...1 1034704.275113: tracing_mark_write: E|778 16626 SensorService-1283 ( 1151) [003] ...1 1034704.275262: tracing_mark_write: E|1151 16627 SensorService-1283 ( 1151) [003] ...1 1034704.275395: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 16628 HwBinder:778_1-1087 ( 778) [000] ...1 1034704.275478: tracing_mark_write: B|778|HIDL::ISensors::poll::server 16629 HwBinder:778_1-1087 ( 778) [000] ...1 1034704.294199: tracing_mark_write: E|778 16630 SensorService-1283 ( 1151) [003] ...1 1034704.294343: tracing_mark_write: E|1151 16631 SensorService-1283 ( 1151) [003] ...1 1034704.294493: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 16632 HwBinder:778_1-1087 ( 778) [000] ...1 1034704.294584: tracing_mark_write: B|778|HIDL::ISensors::poll::server 16633 surfaceflinger-591 ( 591) [002] ...1 1034704.304983: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 16634 composer@2.1-s-593 ( 593) [001] ...1 1034704.305244: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 16635 composer@2.1-s-593 ( 593) [001] ...1 1034704.305364: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 16636 composer@2.1-s-593 ( 593) [001] ...1 1034704.305399: tracing_mark_write: B|593|HWDevice::Commit:: 16637 composer@2.1-s-593 ( 593) [001] ...1 1034704.305591: tracing_mark_write: E|593 16638 composer@2.1-s-593 ( 593) [001] ...1 1034704.305635: tracing_mark_write: E|593 16639 composer@2.1-s-593 ( 593) [001] ...1 1034704.305686: tracing_mark_write: E|593 16640 surfaceflinger-591 ( 591) [000] ...1 1034704.305821: tracing_mark_write: E|591 16641 HwBinder:778_1-1087 ( 778) [000] ...1 1034704.313359: tracing_mark_write: E|778 16642 SensorService-1283 ( 1151) [003] ...1 1034704.313501: tracing_mark_write: E|1151 16643 SensorService-1283 ( 1151) [003] ...1 1034704.313626: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 16644 HwBinder:778_1-1087 ( 778) [000] ...1 1034704.313710: tracing_mark_write: B|778|HIDL::ISensors::poll::server 16645 HwBinder:778_1-1087 ( 778) [002] ...1 1034704.332643: tracing_mark_write: E|778 16646 SensorService-1283 ( 1151) [003] ...1 1034704.332808: tracing_mark_write: E|1151 16647 SensorService-1283 ( 1151) [003] ...1 1034704.332959: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 16648 HwBinder:778_1-1087 ( 778) [002] ...1 1034704.333059: tracing_mark_write: B|778|HIDL::ISensors::poll::server 16649 HwBinder:778_1-1087 ( 778) [002] ...1 1034704.352003: tracing_mark_write: E|778 16650 SensorService-1283 ( 1151) [003] ...1 1034704.352171: tracing_mark_write: E|1151 16651 SensorService-1283 ( 1151) [003] ...1 1034704.352318: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 16652 HwBinder:778_1-1087 ( 778) [002] ...1 1034704.352460: tracing_mark_write: B|778|HIDL::ISensors::poll::server 16653 surfaceflinger-591 ( 591) [000] ...1 1034704.355204: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 16654 composer@2.1-s-593 ( 593) [001] ...1 1034704.355409: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 16655 composer@2.1-s-593 ( 593) [001] ...1 1034704.355529: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 16656 composer@2.1-s-593 ( 593) [001] ...1 1034704.355564: tracing_mark_write: B|593|HWDevice::Commit:: 16657 composer@2.1-s-593 ( 593) [001] ...1 1034704.355754: tracing_mark_write: E|593 16658 composer@2.1-s-593 ( 593) [001] ...1 1034704.355798: tracing_mark_write: E|593 16659 composer@2.1-s-593 ( 593) [001] ...1 1034704.355850: tracing_mark_write: E|593 16660 surfaceflinger-591 ( 591) [000] ...1 1034704.355966: tracing_mark_write: E|591 16661 HwBinder:778_1-1087 ( 778) [000] ...1 1034704.371167: tracing_mark_write: E|778 16662 SensorService-1283 ( 1151) [003] ...1 1034704.371324: tracing_mark_write: E|1151 16663 SensorService-1283 ( 1151) [003] ...1 1034704.371432: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 16664 HwBinder:778_1-1087 ( 778) [000] ...1 1034704.371511: tracing_mark_write: B|778|HIDL::ISensors::poll::server 16665 surfaceflinger-591 ( 591) [000] ...1 1034704.388567: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 16666 composer@2.1-s-593 ( 593) [001] ...1 1034704.388733: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 16667 composer@2.1-s-593 ( 593) [001] ...1 1034704.388822: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 16668 composer@2.1-s-593 ( 593) [001] ...1 1034704.388847: tracing_mark_write: B|593|HWDevice::Commit:: 16669 composer@2.1-s-593 ( 593) [001] ...1 1034704.389000: tracing_mark_write: E|593 16670 composer@2.1-s-593 ( 593) [001] ...1 1034704.389034: tracing_mark_write: E|593 16671 composer@2.1-s-593 ( 593) [001] ...1 1034704.389072: tracing_mark_write: E|593 16672 surfaceflinger-591 ( 591) [000] ...1 1034704.389171: tracing_mark_write: E|591 16673 HwBinder:778_1-1087 ( 778) [000] ...1 1034704.390384: tracing_mark_write: E|778 16674 SensorService-1283 ( 1151) [003] ...1 1034704.390467: tracing_mark_write: E|1151 16675 SensorService-1283 ( 1151) [003] ...1 1034704.390574: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 16676 HwBinder:778_1-1087 ( 778) [000] ...1 1034704.390639: tracing_mark_write: B|778|HIDL::ISensors::poll::server 16677 HwBinder:778_1-1087 ( 778) [000] ...1 1034704.409663: tracing_mark_write: E|778 16678 SensorService-1283 ( 1151) [003] ...1 1034704.409806: tracing_mark_write: E|1151 16679 SensorService-1283 ( 1151) [003] ...1 1034704.410009: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 16680 HwBinder:778_1-1087 ( 778) [000] ...1 1034704.410129: tracing_mark_write: B|778|HIDL::ISensors::poll::server 16681 HwBinder:778_1-1087 ( 778) [001] ...1 1034704.429136: tracing_mark_write: E|778 16682 SensorService-1283 ( 1151) [003] ...1 1034704.429346: tracing_mark_write: E|1151 16683 SensorService-1283 ( 1151) [003] ...1 1034704.429526: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 16684 HwBinder:778_1-1087 ( 778) [001] ...1 1034704.429649: tracing_mark_write: B|778|HIDL::ISensors::poll::server 16685 surfaceflinger-591 ( 591) [000] ...1 1034704.439206: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 16686 composer@2.1-s-593 ( 593) [001] ...1 1034704.439459: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 16687 composer@2.1-s-593 ( 593) [001] ...1 1034704.439581: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 16688 composer@2.1-s-593 ( 593) [001] ...1 1034704.439615: tracing_mark_write: B|593|HWDevice::Commit:: 16689 composer@2.1-s-593 ( 593) [001] ...1 1034704.439814: tracing_mark_write: E|593 16690 composer@2.1-s-593 ( 593) [001] ...1 1034704.439862: tracing_mark_write: E|593 16691 composer@2.1-s-593 ( 593) [001] ...1 1034704.439981: tracing_mark_write: E|593 16692 surfaceflinger-591 ( 591) [000] ...1 1034704.440129: tracing_mark_write: E|591 16693 HwBinder:778_1-1087 ( 778) [000] ...1 1034704.448174: tracing_mark_write: E|778 16694 SensorService-1283 ( 1151) [003] ...1 1034704.448323: tracing_mark_write: E|1151 16695 SensorService-1283 ( 1151) [003] ...1 1034704.448451: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 16696 HwBinder:778_1-1087 ( 778) [000] ...1 1034704.448535: tracing_mark_write: B|778|HIDL::ISensors::poll::server 16697 HwBinder:778_1-1087 ( 778) [002] ...1 1034704.467600: tracing_mark_write: E|778 16698 SensorService-1283 ( 1151) [003] ...1 1034704.467786: tracing_mark_write: E|1151 16699 SensorService-1283 ( 1151) [003] ...1 1034704.467939: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 16700 HwBinder:778_1-1087 ( 778) [002] ...1 1034704.468039: tracing_mark_write: B|778|HIDL::ISensors::poll::server 16701 HwBinder:778_1-1087 ( 778) [000] ...1 1034704.486926: tracing_mark_write: E|778 16702 SensorService-1283 ( 1151) [003] ...1 1034704.487071: tracing_mark_write: E|1151 16703 SensorService-1283 ( 1151) [003] ...1 1034704.487203: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 16704 HwBinder:778_1-1087 ( 778) [000] ...1 1034704.487325: tracing_mark_write: B|778|HIDL::ISensors::poll::server 16705 surfaceflinger-591 ( 591) [000] ...1 1034704.489383: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 16706 composer@2.1-s-593 ( 593) [001] ...1 1034704.489568: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 16707 composer@2.1-s-593 ( 593) [001] ...1 1034704.489680: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 16708 composer@2.1-s-593 ( 593) [001] ...1 1034704.489712: tracing_mark_write: B|593|HWDevice::Commit:: 16709 composer@2.1-s-593 ( 593) [001] ...1 1034704.489917: tracing_mark_write: E|593 16710 composer@2.1-s-593 ( 593) [001] ...1 1034704.489958: tracing_mark_write: E|593 16711 composer@2.1-s-593 ( 593) [001] ...1 1034704.490004: tracing_mark_write: E|593 16712 surfaceflinger-591 ( 591) [000] ...1 1034704.490107: tracing_mark_write: E|591 16713 HwBinder:778_1-1087 ( 778) [000] ...1 1034704.505919: tracing_mark_write: E|778 16714 SensorService-1283 ( 1151) [003] ...1 1034704.506054: tracing_mark_write: E|1151 16715 SensorService-1283 ( 1151) [003] ...1 1034704.506154: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 16716 HwBinder:778_1-1087 ( 778) [000] ...1 1034704.506225: tracing_mark_write: B|778|HIDL::ISensors::poll::server 16717 surfaceflinger-591 ( 591) [000] ...1 1034704.523074: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 16718 composer@2.1-s-593 ( 593) [001] ...1 1034704.523348: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 16719 composer@2.1-s-593 ( 593) [001] ...1 1034704.523468: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 16720 composer@2.1-s-593 ( 593) [001] ...1 1034704.523504: tracing_mark_write: B|593|HWDevice::Commit:: 16721 composer@2.1-s-593 ( 593) [001] ...1 1034704.523694: tracing_mark_write: E|593 16722 composer@2.1-s-593 ( 593) [001] ...1 1034704.523741: tracing_mark_write: E|593 16723 composer@2.1-s-593 ( 593) [001] ...1 1034704.523794: tracing_mark_write: E|593 16724 surfaceflinger-591 ( 591) [000] ...1 1034704.523918: tracing_mark_write: E|591 16725 HwBinder:778_1-1087 ( 778) [000] ...1 1034704.527162: tracing_mark_write: E|778 16726 SensorService-1283 ( 1151) [003] ...1 1034704.527289: tracing_mark_write: E|1151 16727 SensorService-1283 ( 1151) [003] ...1 1034704.527418: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 16728 HwBinder:778_1-1087 ( 778) [000] ...1 1034704.527505: tracing_mark_write: B|778|HIDL::ISensors::poll::server 16729 HwBinder:778_1-1087 ( 778) [000] ...1 1034704.544689: tracing_mark_write: E|778 16730 SensorService-1283 ( 1151) [003] ...1 1034704.544859: tracing_mark_write: E|1151 16731 SensorService-1283 ( 1151) [003] ...1 1034704.545009: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 16732 HwBinder:778_1-1087 ( 778) [000] ...1 1034704.545110: tracing_mark_write: B|778|HIDL::ISensors::poll::server 16733 HwBinder:778_1-1087 ( 778) [001] ...1 1034704.564115: tracing_mark_write: E|778 16734 SensorService-1283 ( 1151) [003] ...1 1034704.564369: tracing_mark_write: E|1151 16735 SensorService-1283 ( 1151) [003] ...1 1034704.564527: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 16736 HwBinder:778_1-1087 ( 778) [001] ...1 1034704.564611: tracing_mark_write: B|778|HIDL::ISensors::poll::server 16737 surfaceflinger-591 ( 591) [000] ...1 1034704.573166: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 16738 composer@2.1-s-593 ( 593) [001] ...1 1034704.573355: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 16739 composer@2.1-s-593 ( 593) [001] ...1 1034704.573444: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 16740 composer@2.1-s-593 ( 593) [001] ...1 1034704.573469: tracing_mark_write: B|593|HWDevice::Commit:: 16741 composer@2.1-s-593 ( 593) [001] ...1 1034704.573604: tracing_mark_write: E|593 16742 composer@2.1-s-593 ( 593) [001] ...1 1034704.573637: tracing_mark_write: E|593 16743 composer@2.1-s-593 ( 593) [001] ...1 1034704.573678: tracing_mark_write: E|593 16744 surfaceflinger-591 ( 591) [000] ...1 1034704.573784: tracing_mark_write: E|591 16745 HwBinder:778_1-1087 ( 778) [000] ...1 1034704.582790: tracing_mark_write: E|778 16746 SensorService-1283 ( 1151) [003] ...1 1034704.582900: tracing_mark_write: E|1151 16747 SensorService-1283 ( 1151) [003] ...1 1034704.583005: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 16748 HwBinder:778_1-1087 ( 778) [000] ...1 1034704.583073: tracing_mark_write: B|778|HIDL::ISensors::poll::server 16749 HwBinder:778_1-1087 ( 778) [000] ...1 1034704.602106: tracing_mark_write: E|778 16750 SensorService-1283 ( 1151) [003] ...1 1034704.602221: tracing_mark_write: E|1151 16751 SensorService-1283 ( 1151) [003] ...1 1034704.602331: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 16752 HwBinder:778_1-1087 ( 778) [000] ...1 1034704.602399: tracing_mark_write: B|778|HIDL::ISensors::poll::server 16753 HwBinder:778_1-1087 ( 778) [000] ...1 1034704.621595: tracing_mark_write: E|778 16754 SensorService-1283 ( 1151) [003] ...1 1034704.621817: tracing_mark_write: E|1151 16755 SensorService-1283 ( 1151) [003] ...1 1034704.622005: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 16756 HwBinder:778_1-1087 ( 778) [000] ...1 1034704.622119: tracing_mark_write: B|778|HIDL::ISensors::poll::server 16757 surfaceflinger-591 ( 591) [000] ...1 1034704.624049: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 16758 composer@2.1-s-593 ( 593) [001] ...1 1034704.624303: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 16759 composer@2.1-s-593 ( 593) [001] ...1 1034704.624452: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 16760 composer@2.1-s-593 ( 593) [001] ...1 1034704.624497: tracing_mark_write: B|593|HWDevice::Commit:: 16761 composer@2.1-s-593 ( 593) [001] ...1 1034704.624736: tracing_mark_write: E|593 16762 composer@2.1-s-593 ( 593) [001] ...1 1034704.624794: tracing_mark_write: E|593 16763 composer@2.1-s-593 ( 593) [001] ...1 1034704.624859: tracing_mark_write: E|593 16764 surfaceflinger-591 ( 591) [000] ...1 1034704.625017: tracing_mark_write: E|591 16765 HwBinder:778_1-1087 ( 778) [000] ...1 1034704.640887: tracing_mark_write: E|778 16766 SensorService-1283 ( 1151) [003] ...1 1034704.641066: tracing_mark_write: E|1151 16767 SensorService-1283 ( 1151) [003] ...1 1034704.641206: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 16768 HwBinder:778_1-1087 ( 778) [000] ...1 1034704.641300: tracing_mark_write: B|778|HIDL::ISensors::poll::server 16769 surfaceflinger-591 ( 591) [001] ...1 1034704.657346: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 16770 composer@2.1-s-593 ( 593) [000] ...1 1034704.657613: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 16771 composer@2.1-s-593 ( 593) [000] ...1 1034704.657727: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 16772 composer@2.1-s-593 ( 593) [000] ...1 1034704.657759: tracing_mark_write: B|593|HWDevice::Commit:: 16773 composer@2.1-s-593 ( 593) [000] ...1 1034704.657932: tracing_mark_write: E|593 16774 composer@2.1-s-593 ( 593) [000] ...1 1034704.657975: tracing_mark_write: E|593 16775 composer@2.1-s-593 ( 593) [000] ...1 1034704.658024: tracing_mark_write: E|593 16776 surfaceflinger-591 ( 591) [001] ...1 1034704.658146: tracing_mark_write: E|591 16777 HwBinder:778_1-1087 ( 778) [000] ...1 1034704.659964: tracing_mark_write: E|778 16778 SensorService-1283 ( 1151) [003] ...1 1034704.660078: tracing_mark_write: E|1151 16779 SensorService-1283 ( 1151) [003] ...1 1034704.660213: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 16780 HwBinder:778_1-1087 ( 778) [000] ...1 1034704.660290: tracing_mark_write: B|778|HIDL::ISensors::poll::server 16781 HwBinder:778_1-1087 ( 778) [000] ...1 1034704.679034: tracing_mark_write: E|778 16782 SensorService-1283 ( 1151) [003] ...1 1034704.679160: tracing_mark_write: E|1151 16783 SensorService-1283 ( 1151) [003] ...1 1034704.679274: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 16784 HwBinder:778_1-1087 ( 778) [000] ...1 1034704.679349: tracing_mark_write: B|778|HIDL::ISensors::poll::server 16785 HwBinder:778_1-1087 ( 778) [001] ...1 1034704.698471: tracing_mark_write: E|778 16786 SensorService-1283 ( 1151) [003] ...1 1034704.698630: tracing_mark_write: E|1151 16787 SensorService-1283 ( 1151) [003] ...1 1034704.698788: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 16788 HwBinder:778_1-1087 ( 778) [001] ...1 1034704.698894: tracing_mark_write: B|778|HIDL::ISensors::poll::server 16789 surfaceflinger-591 ( 591) [000] ...1 1034704.708178: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 16790 composer@2.1-s-593 ( 593) [001] ...1 1034704.708457: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 16791 composer@2.1-s-593 ( 593) [001] ...1 1034704.708604: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 16792 composer@2.1-s-593 ( 593) [001] ...1 1034704.708648: tracing_mark_write: B|593|HWDevice::Commit:: 16793 composer@2.1-s-593 ( 593) [001] ...1 1034704.708885: tracing_mark_write: E|593 16794 composer@2.1-s-593 ( 593) [001] ...1 1034704.708947: tracing_mark_write: E|593 16795 composer@2.1-s-593 ( 593) [001] ...1 1034704.709017: tracing_mark_write: E|593 16796 surfaceflinger-591 ( 591) [000] ...1 1034704.709200: tracing_mark_write: E|591 16797 HwBinder:778_1-1087 ( 778) [001] ...1 1034704.718189: tracing_mark_write: E|778 16798 SensorService-1283 ( 1151) [003] ...1 1034704.718320: tracing_mark_write: E|1151 16799 SensorService-1283 ( 1151) [003] ...1 1034704.718447: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 16800 HwBinder:778_1-1087 ( 778) [001] ...1 1034704.718530: tracing_mark_write: B|778|HIDL::ISensors::poll::server 16801 HwBinder:778_1-1087 ( 778) [001] ...1 1034704.737380: tracing_mark_write: E|778 16802 SensorService-1283 ( 1151) [003] ...1 1034704.737572: tracing_mark_write: E|1151 16803 SensorService-1283 ( 1151) [003] ...1 1034704.737734: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 16804 HwBinder:778_1-1087 ( 778) [001] ...1 1034704.737847: tracing_mark_write: B|778|HIDL::ISensors::poll::server 16805 surfaceflinger-591 ( 591) [003] ...1 1034704.741186: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 16806 composer@2.1-s-593 ( 593) [001] ...1 1034704.741425: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 16807 composer@2.1-s-593 ( 593) [001] ...1 1034704.741539: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 16808 composer@2.1-s-593 ( 593) [001] ...1 1034704.741572: tracing_mark_write: B|593|HWDevice::Commit:: 16809 composer@2.1-s-593 ( 593) [001] ...1 1034704.741752: tracing_mark_write: E|593 16810 composer@2.1-s-593 ( 593) [001] ...1 1034704.741798: tracing_mark_write: E|593 16811 composer@2.1-s-593 ( 593) [001] ...1 1034704.741850: tracing_mark_write: E|593 16812 surfaceflinger-591 ( 591) [003] ...1 1034704.741989: tracing_mark_write: E|591 16813 HwBinder:778_1-1087 ( 778) [001] ...1 1034704.756347: tracing_mark_write: E|778 16814 SensorService-1283 ( 1151) [003] ...1 1034704.756508: tracing_mark_write: E|1151 16815 SensorService-1283 ( 1151) [003] ...1 1034704.756725: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 16816 HwBinder:778_1-1087 ( 778) [001] ...1 1034704.756817: tracing_mark_write: B|778|HIDL::ISensors::poll::server 16817 HwBinder:778_1-1087 ( 778) [002] ...1 1034704.775449: tracing_mark_write: E|778 16818 SensorService-1283 ( 1151) [003] ...1 1034704.775590: tracing_mark_write: E|1151 16819 SensorService-1283 ( 1151) [003] ...1 1034704.775708: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 16820 HwBinder:778_1-1087 ( 778) [002] ...1 1034704.775784: tracing_mark_write: B|778|HIDL::ISensors::poll::server 16821 surfaceflinger-591 ( 591) [000] ...1 1034704.791698: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 16822 composer@2.1-s-593 ( 593) [001] ...1 1034704.791993: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 16823 composer@2.1-s-593 ( 593) [001] ...1 1034704.792134: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 16824 composer@2.1-s-593 ( 593) [001] ...1 1034704.792175: tracing_mark_write: B|593|HWDevice::Commit:: 16825 composer@2.1-s-593 ( 593) [001] ...1 1034704.792393: tracing_mark_write: E|593 16826 composer@2.1-s-593 ( 593) [001] ...1 1034704.792444: tracing_mark_write: E|593 16827 composer@2.1-s-593 ( 593) [001] ...1 1034704.792503: tracing_mark_write: E|593 16828 surfaceflinger-591 ( 591) [000] ...1 1034704.792648: tracing_mark_write: E|591 16829 HwBinder:778_1-1087 ( 778) [001] ...1 1034704.794819: tracing_mark_write: E|778 16830 SensorService-1283 ( 1151) [003] ...1 1034704.794958: tracing_mark_write: E|1151 16831 SensorService-1283 ( 1151) [003] ...1 1034704.795105: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 16832 HwBinder:778_1-1087 ( 778) [001] ...1 1034704.795199: tracing_mark_write: B|778|HIDL::ISensors::poll::server 16833 HwBinder:778_1-1087 ( 778) [002] ...1 1034704.814037: tracing_mark_write: E|778 16834 SensorService-1283 ( 1151) [003] ...1 1034704.814186: tracing_mark_write: E|1151 16835 SensorService-1283 ( 1151) [003] ...1 1034704.814320: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 16836 HwBinder:778_1-1087 ( 778) [002] ...1 1034704.814414: tracing_mark_write: B|778|HIDL::ISensors::poll::server 16837 HwBinder:778_1-1087 ( 778) [001] ...1 1034704.833464: tracing_mark_write: E|778 16838 SensorService-1283 ( 1151) [003] ...1 1034704.833608: tracing_mark_write: E|1151 16839 SensorService-1283 ( 1151) [003] ...1 1034704.833762: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 16840 HwBinder:778_1-1087 ( 778) [001] ...1 1034704.833866: tracing_mark_write: B|778|HIDL::ISensors::poll::server 16841 surfaceflinger-591 ( 591) [002] ...1 1034704.842149: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 16842 composer@2.1-s-593 ( 593) [001] ...1 1034704.842438: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 16843 composer@2.1-s-593 ( 593) [001] ...1 1034704.842601: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 16844 composer@2.1-s-593 ( 593) [001] ...1 1034704.842648: tracing_mark_write: B|593|HWDevice::Commit:: 16845 composer@2.1-s-593 ( 593) [001] ...1 1034704.842889: tracing_mark_write: E|593 16846 composer@2.1-s-593 ( 593) [001] ...1 1034704.842946: tracing_mark_write: E|593 16847 composer@2.1-s-593 ( 593) [001] ...1 1034704.843015: tracing_mark_write: E|593 16848 surfaceflinger-591 ( 591) [003] ...1 1034704.843179: tracing_mark_write: E|591 16849 HwBinder:778_1-1087 ( 778) [000] ...1 1034704.852614: tracing_mark_write: E|778 16850 SensorService-1283 ( 1151) [003] ...1 1034704.852817: tracing_mark_write: E|1151 16851 SensorService-1283 ( 1151) [003] ...1 1034704.852994: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 16852 HwBinder:778_1-1087 ( 778) [000] ...1 1034704.853110: tracing_mark_write: B|778|HIDL::ISensors::poll::server 16853 HwBinder:778_1-1087 ( 778) [000] ...1 1034704.872006: tracing_mark_write: E|778 16854 SensorService-1283 ( 1151) [003] ...1 1034704.872153: tracing_mark_write: E|1151 16855 SensorService-1283 ( 1151) [003] ...1 1034704.872295: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 16856 sensors@1.0-se-778 ( 778) [005] ...1 1034704.872564: tracing_mark_write: B|778|HIDL::ISensors::poll::server 16857 surfaceflinger-591 ( 591) [000] ...1 1034704.875463: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 16858 composer@2.1-s-593 ( 593) [001] ...1 1034704.875673: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 16859 composer@2.1-s-593 ( 593) [001] ...1 1034704.875799: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 16860 composer@2.1-s-593 ( 593) [001] ...1 1034704.875833: tracing_mark_write: B|593|HWDevice::Commit:: 16861 composer@2.1-s-593 ( 593) [001] ...1 1034704.876038: tracing_mark_write: E|593 16862 composer@2.1-s-593 ( 593) [001] ...1 1034704.876084: tracing_mark_write: E|593 16863 composer@2.1-s-593 ( 593) [001] ...1 1034704.876139: tracing_mark_write: E|593 16864 surfaceflinger-591 ( 591) [000] ...1 1034704.876260: tracing_mark_write: E|591 16865 sensors@1.0-se-778 ( 778) [004] ...1 1034704.891079: tracing_mark_write: E|778 16866 SensorService-1283 ( 1151) [003] ...1 1034704.891255: tracing_mark_write: E|1151 16867 SensorService-1283 ( 1151) [003] ...1 1034704.891388: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 16868 sensors@1.0-se-778 ( 778) [004] ...1 1034704.891549: tracing_mark_write: B|778|HIDL::ISensors::poll::server 16869 sensors@1.0-se-778 ( 778) [004] ...1 1034704.910635: tracing_mark_write: E|778 16870 SensorService-1283 ( 1151) [003] ...1 1034704.910845: tracing_mark_write: E|1151 16871 SensorService-1283 ( 1151) [003] ...1 1034704.911039: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 16872 sensors@1.0-se-778 ( 778) [004] ...1 1034704.911202: tracing_mark_write: B|778|HIDL::ISensors::poll::server 16873 surfaceflinger-591 ( 591) [000] ...1 1034704.925789: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 16874 composer@2.1-s-593 ( 593) [001] ...1 1034704.926036: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 16875 composer@2.1-s-593 ( 593) [001] ...1 1034704.926158: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 16876 composer@2.1-s-593 ( 593) [001] ...1 1034704.926194: tracing_mark_write: B|593|HWDevice::Commit:: 16877 composer@2.1-s-593 ( 593) [001] ...1 1034704.926393: tracing_mark_write: E|593 16878 composer@2.1-s-593 ( 593) [001] ...1 1034704.926446: tracing_mark_write: E|593 16879 composer@2.1-s-593 ( 593) [001] ...1 1034704.926503: tracing_mark_write: E|593 16880 surfaceflinger-591 ( 591) [003] ...1 1034704.926738: tracing_mark_write: E|591 16881 sensors@1.0-se-778 ( 778) [004] ...1 1034704.929613: tracing_mark_write: E|778 16882 SensorService-1283 ( 1151) [003] ...1 1034704.929790: tracing_mark_write: E|1151 16883 SensorService-1283 ( 1151) [003] ...1 1034704.930033: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 16884 sensors@1.0-se-778 ( 778) [004] ...1 1034704.930238: tracing_mark_write: B|778|HIDL::ISensors::poll::server 16885 sensors@1.0-se-778 ( 778) [004] ...1 1034704.948857: tracing_mark_write: E|778 16886 SensorService-1283 ( 1151) [003] ...1 1034704.949038: tracing_mark_write: E|1151 16887 SensorService-1283 ( 1151) [003] ...1 1034704.949192: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 16888 sensors@1.0-se-778 ( 778) [004] ...1 1034704.949419: tracing_mark_write: B|778|HIDL::ISensors::poll::server 16889 surfaceflinger-591 ( 591) [001] ...1 1034704.959341: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 16890 composer@2.1-s-593 ( 593) [000] ...1 1034704.959595: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 16891 composer@2.1-s-593 ( 593) [000] ...1 1034704.959709: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 16892 composer@2.1-s-593 ( 593) [000] ...1 1034704.959744: tracing_mark_write: B|593|HWDevice::Commit:: 16893 composer@2.1-s-593 ( 593) [000] ...1 1034704.959992: tracing_mark_write: E|593 16894 composer@2.1-s-593 ( 593) [000] ...1 1034704.960059: tracing_mark_write: E|593 16895 composer@2.1-s-593 ( 593) [000] ...1 1034704.960111: tracing_mark_write: E|593 16896 surfaceflinger-591 ( 591) [001] ...1 1034704.960243: tracing_mark_write: E|591 16897 sensors@1.0-se-778 ( 778) [004] ...1 1034704.968036: tracing_mark_write: E|778 16898 SensorService-1283 ( 1151) [003] ...1 1034704.968196: tracing_mark_write: E|1151 16899 SensorService-1283 ( 1151) [003] ...1 1034704.968320: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 16900 HwBinder:778_1-1087 ( 778) [000] ...1 1034704.968456: tracing_mark_write: B|778|HIDL::ISensors::poll::server 16901 HwBinder:778_1-1087 ( 778) [000] ...1 1034704.987228: tracing_mark_write: E|778 16902 SensorService-1283 ( 1151) [003] ...1 1034704.987371: tracing_mark_write: E|1151 16903 SensorService-1283 ( 1151) [003] ...1 1034704.987515: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 16904 HwBinder:778_1-1087 ( 778) [000] ...1 1034704.987602: tracing_mark_write: B|778|HIDL::ISensors::poll::server 16905 HwBinder:778_1-1087 ( 778) [002] ...1 1034705.006633: tracing_mark_write: E|778 16906 SensorService-1283 ( 1151) [003] ...1 1034705.006806: tracing_mark_write: E|1151 16907 SensorService-1283 ( 1151) [003] ...1 1034705.006973: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 16908 HwBinder:778_1-1087 ( 778) [002] ...1 1034705.007078: tracing_mark_write: B|778|HIDL::ISensors::poll::server 16909 surfaceflinger-591 ( 591) [001] ...1 1034705.009746: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 16910 composer@2.1-s-593 ( 593) [000] ...1 1034705.010045: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 16911 composer@2.1-s-593 ( 593) [000] ...1 1034705.010180: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 16912 composer@2.1-s-593 ( 593) [000] ...1 1034705.010220: tracing_mark_write: B|593|HWDevice::Commit:: 16913 composer@2.1-s-593 ( 593) [000] ...1 1034705.010433: tracing_mark_write: E|593 16914 composer@2.1-s-593 ( 593) [000] ...1 1034705.010485: tracing_mark_write: E|593 16915 composer@2.1-s-593 ( 593) [000] ...1 1034705.010550: tracing_mark_write: E|593 16916 surfaceflinger-591 ( 591) [001] ...1 1034705.010696: tracing_mark_write: E|591 16917 HwBinder:778_1-1087 ( 778) [002] ...1 1034705.025740: tracing_mark_write: E|778 16918 SensorService-1283 ( 1151) [003] ...1 1034705.025899: tracing_mark_write: E|1151 16919 SensorService-1283 ( 1151) [003] ...1 1034705.026027: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 16920 HwBinder:778_1-1087 ( 778) [002] ...1 1034705.026118: tracing_mark_write: B|778|HIDL::ISensors::poll::server 16921 HwBinder:778_1-1087 ( 778) [000] ...1 1034705.045114: tracing_mark_write: E|778 16922 SensorService-1283 ( 1151) [003] ...1 1034705.045319: tracing_mark_write: E|1151 16923 SensorService-1283 ( 1151) [003] ...1 1034705.045498: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 16924 HwBinder:778_1-1087 ( 778) [000] ...1 1034705.045615: tracing_mark_write: B|778|HIDL::ISensors::poll::server 16925 surfaceflinger-591 ( 591) [002] ...1 1034705.060283: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 16926 composer@2.1-s-593 ( 593) [000] ...1 1034705.060560: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 16927 composer@2.1-s-593 ( 593) [000] ...1 1034705.060709: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 16928 composer@2.1-s-593 ( 593) [000] ...1 1034705.060748: tracing_mark_write: B|593|HWDevice::Commit:: 16929 composer@2.1-s-593 ( 593) [000] ...1 1034705.061002: tracing_mark_write: E|593 16930 composer@2.1-s-593 ( 593) [000] ...1 1034705.061073: tracing_mark_write: E|593 16931 composer@2.1-s-593 ( 593) [000] ...1 1034705.061160: tracing_mark_write: E|593 16932 surfaceflinger-591 ( 591) [002] ...1 1034705.061344: tracing_mark_write: E|591 16933 HwBinder:778_1-1087 ( 778) [000] ...1 1034705.064533: tracing_mark_write: E|778 16934 SensorService-1283 ( 1151) [003] ...1 1034705.064754: tracing_mark_write: E|1151 16935 SensorService-1283 ( 1151) [003] ...1 1034705.064979: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 16936 HwBinder:778_1-1087 ( 778) [000] ...1 1034705.065118: tracing_mark_write: B|778|HIDL::ISensors::poll::server 16937 HwBinder:778_1-1087 ( 778) [000] ...1 1034705.083921: tracing_mark_write: E|778 16938 SensorService-1283 ( 1151) [003] ...1 1034705.084183: tracing_mark_write: E|1151 16939 SensorService-1283 ( 1151) [003] ...1 1034705.084473: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 16940 HwBinder:778_1-1087 ( 778) [000] ...1 1034705.084573: tracing_mark_write: B|778|HIDL::ISensors::poll::server 16941 surfaceflinger-591 ( 591) [000] ...1 1034705.093739: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 16942 composer@2.1-s-593 ( 593) [001] ...1 1034705.094008: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 16943 composer@2.1-s-593 ( 593) [001] ...1 1034705.094140: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 16944 composer@2.1-s-593 ( 593) [001] ...1 1034705.094178: tracing_mark_write: B|593|HWDevice::Commit:: 16945 composer@2.1-s-593 ( 593) [001] ...1 1034705.094390: tracing_mark_write: E|593 16946 composer@2.1-s-593 ( 593) [001] ...1 1034705.094439: tracing_mark_write: E|593 16947 composer@2.1-s-593 ( 593) [001] ...1 1034705.094494: tracing_mark_write: E|593 16948 surfaceflinger-591 ( 591) [000] ...1 1034705.094627: tracing_mark_write: E|591 16949 HwBinder:778_1-1087 ( 778) [004] ...1 1034705.103012: tracing_mark_write: E|778 16950 SensorService-1283 ( 1151) [003] ...1 1034705.103308: tracing_mark_write: E|1151 16951 SensorService-1283 ( 1151) [003] ...1 1034705.103503: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 16952 HwBinder:778_1-1087 ( 778) [004] ...1 1034705.103692: tracing_mark_write: B|778|HIDL::ISensors::poll::server 16953 HwBinder:778_1-1087 ( 778) [002] ...1 1034705.125644: tracing_mark_write: E|778 16954 SensorService-1283 ( 1151) [003] ...1 1034705.125846: tracing_mark_write: E|1151 16955 SensorService-1283 ( 1151) [003] ...1 1034705.126071: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 16956 HwBinder:778_1-1087 ( 778) [002] ...1 1034705.126143: tracing_mark_write: B|778|HIDL::ISensors::poll::server 16957 HwBinder:778_1-1087 ( 778) [004] ...1 1034705.143350: tracing_mark_write: E|778 16958 SensorService-1283 ( 1151) [003] ...1 1034705.143653: tracing_mark_write: E|1151 16959 SensorService-1283 ( 1151) [003] ...1 1034705.143754: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 16960 HwBinder:778_1-1087 ( 778) [004] ...1 1034705.143838: tracing_mark_write: B|778|HIDL::ISensors::poll::server 16961 surfaceflinger-591 ( 591) [001] ...1 1034705.143850: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 16962 composer@2.1-s-593 ( 593) [000] ...1 1034705.143994: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 16963 composer@2.1-s-593 ( 593) [000] ...1 1034705.144080: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 16964 composer@2.1-s-593 ( 593) [000] ...1 1034705.144107: tracing_mark_write: B|593|HWDevice::Commit:: 16965 composer@2.1-s-593 ( 593) [000] ...1 1034705.144240: tracing_mark_write: E|593 16966 composer@2.1-s-593 ( 593) [000] ...1 1034705.144274: tracing_mark_write: E|593 16967 composer@2.1-s-593 ( 593) [000] ...1 1034705.144313: tracing_mark_write: E|593 16968 surfaceflinger-591 ( 591) [001] ...1 1034705.144415: tracing_mark_write: E|591 16969 HwBinder:778_1-1087 ( 778) [002] ...1 1034705.160346: tracing_mark_write: E|778 16970 SensorService-1283 ( 1151) [003] ...1 1034705.160454: tracing_mark_write: E|1151 16971 SensorService-1283 ( 1151) [003] ...1 1034705.160542: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 16972 HwBinder:778_1-1087 ( 778) [002] ...1 1034705.160602: tracing_mark_write: B|778|HIDL::ISensors::poll::server 16973 surfaceflinger-591 ( 591) [002] ...1 1034705.177163: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 16974 composer@2.1-s-593 ( 593) [000] ...1 1034705.177315: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 16975 composer@2.1-s-593 ( 593) [000] ...1 1034705.177399: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 16976 composer@2.1-s-593 ( 593) [000] ...1 1034705.177424: tracing_mark_write: B|593|HWDevice::Commit:: 16977 composer@2.1-s-593 ( 593) [000] ...1 1034705.177547: tracing_mark_write: E|593 16978 composer@2.1-s-593 ( 593) [000] ...1 1034705.177576: tracing_mark_write: E|593 16979 composer@2.1-s-593 ( 593) [000] ...1 1034705.177612: tracing_mark_write: E|593 16980 surfaceflinger-591 ( 591) [003] ...1 1034705.177709: tracing_mark_write: E|591 16981 HwBinder:778_1-1087 ( 778) [003] ...1 1034705.180113: tracing_mark_write: E|778 16982 SensorService-1283 ( 1151) [002] ...1 1034705.180208: tracing_mark_write: E|1151 16983 SensorService-1283 ( 1151) [002] ...1 1034705.180291: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 16984 HwBinder:778_1-1087 ( 778) [003] ...1 1034705.180352: tracing_mark_write: B|778|HIDL::ISensors::poll::server 16985 HwBinder:778_1-1087 ( 778) [002] ...1 1034705.198731: tracing_mark_write: E|778 16986 SensorService-1283 ( 1151) [003] ...1 1034705.198828: tracing_mark_write: E|1151 16987 SensorService-1283 ( 1151) [003] ...1 1034705.198910: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 16988 HwBinder:778_1-1087 ( 778) [002] ...1 1034705.198971: tracing_mark_write: B|778|HIDL::ISensors::poll::server 16989 HwBinder:778_1-1087 ( 778) [004] ...1 1034705.218183: tracing_mark_write: E|778 16990 SensorService-1283 ( 1151) [003] ...1 1034705.218308: tracing_mark_write: E|1151 16991 SensorService-1283 ( 1151) [003] ...1 1034705.218412: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 16992 HwBinder:778_1-1087 ( 778) [004] ...1 1034705.218512: tracing_mark_write: B|778|HIDL::ISensors::poll::server 16993 surfaceflinger-591 ( 591) [002] ...1 1034705.227561: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 16994 composer@2.1-s-593 ( 593) [000] ...1 1034705.227706: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 16995 composer@2.1-s-593 ( 593) [000] ...1 1034705.227784: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 16996 composer@2.1-s-593 ( 593) [000] ...1 1034705.227808: tracing_mark_write: B|593|HWDevice::Commit:: 16997 composer@2.1-s-593 ( 593) [000] ...1 1034705.227932: tracing_mark_write: E|593 16998 composer@2.1-s-593 ( 593) [000] ...1 1034705.227963: tracing_mark_write: E|593 16999 composer@2.1-s-593 ( 593) [000] ...1 1034705.227998: tracing_mark_write: E|593 17000 surfaceflinger-591 ( 591) [003] ...1 1034705.228108: tracing_mark_write: E|591 17001 HwBinder:778_1-1087 ( 778) [003] ...1 1034705.237327: tracing_mark_write: E|778 17002 SensorService-1283 ( 1151) [002] ...1 1034705.237419: tracing_mark_write: E|1151 17003 SensorService-1283 ( 1151) [002] ...1 1034705.237504: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 17004 HwBinder:778_1-1087 ( 778) [003] ...1 1034705.237562: tracing_mark_write: B|778|HIDL::ISensors::poll::server 17005 HwBinder:778_1-1087 ( 778) [003] ...1 1034705.256690: tracing_mark_write: E|778 17006 SensorService-1283 ( 1151) [002] ...1 1034705.256785: tracing_mark_write: E|1151 17007 SensorService-1283 ( 1151) [002] ...1 1034705.256885: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 17008 HwBinder:778_1-1087 ( 778) [003] ...1 1034705.256948: tracing_mark_write: B|778|HIDL::ISensors::poll::server 17009 surfaceflinger-591 ( 591) [002] ...1 1034705.261126: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 17010 composer@2.1-s-593 ( 593) [000] ...1 1034705.261272: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 17011 composer@2.1-s-593 ( 593) [000] ...1 1034705.261349: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 17012 composer@2.1-s-593 ( 593) [000] ...1 1034705.261372: tracing_mark_write: B|593|HWDevice::Commit:: 17013 composer@2.1-s-593 ( 593) [000] ...1 1034705.261499: tracing_mark_write: E|593 17014 composer@2.1-s-593 ( 593) [000] ...1 1034705.261530: tracing_mark_write: E|593 17015 composer@2.1-s-593 ( 593) [000] ...1 1034705.261567: tracing_mark_write: E|593 17016 surfaceflinger-591 ( 591) [003] ...1 1034705.261670: tracing_mark_write: E|591 17017 HwBinder:778_1-1087 ( 778) [001] ...1 1034705.275791: tracing_mark_write: E|778 17018 SensorService-1283 ( 1151) [002] ...1 1034705.275883: tracing_mark_write: E|1151 17019 SensorService-1283 ( 1151) [002] ...1 1034705.275971: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 17020 HwBinder:778_1-1087 ( 778) [001] ...1 1034705.276029: tracing_mark_write: B|778|HIDL::ISensors::poll::server 17021 HwBinder:778_1-1087 ( 778) [002] ...1 1034705.295408: tracing_mark_write: E|778 17022 SensorService-1283 ( 1151) [001] ...1 1034705.295574: tracing_mark_write: E|1151 17023 SensorService-1283 ( 1151) [001] ...1 1034705.295706: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 17024 HwBinder:778_1-1087 ( 778) [002] ...1 1034705.295796: tracing_mark_write: B|778|HIDL::ISensors::poll::server 17025 surfaceflinger-591 ( 591) [002] ...1 1034705.311557: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 17026 composer@2.1-s-593 ( 593) [000] ...1 1034705.311739: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 17027 composer@2.1-s-593 ( 593) [000] ...1 1034705.311836: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 17028 composer@2.1-s-593 ( 593) [000] ...1 1034705.311865: tracing_mark_write: B|593|HWDevice::Commit:: 17029 composer@2.1-s-593 ( 593) [000] ...1 1034705.312019: tracing_mark_write: E|593 17030 composer@2.1-s-593 ( 593) [000] ...1 1034705.312055: tracing_mark_write: E|593 17031 composer@2.1-s-593 ( 593) [000] ...1 1034705.312096: tracing_mark_write: E|593 17032 surfaceflinger-591 ( 591) [001] ...1 1034705.312196: tracing_mark_write: E|591 17033 HwBinder:778_1-1087 ( 778) [000] ...1 1034705.314442: tracing_mark_write: E|778 17034 SensorService-1283 ( 1151) [001] ...1 1034705.314539: tracing_mark_write: E|1151 17035 SensorService-1283 ( 1151) [001] ...1 1034705.314646: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 17036 HwBinder:778_1-1087 ( 778) [000] ...1 1034705.314709: tracing_mark_write: B|778|HIDL::ISensors::poll::server 17037 HwBinder:778_1-1087 ( 778) [000] ...1 1034705.334032: tracing_mark_write: E|778 17038 SensorService-1283 ( 1151) [001] ...1 1034705.334155: tracing_mark_write: E|1151 17039 SensorService-1283 ( 1151) [001] ...1 1034705.334257: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 17040 HwBinder:778_1-1087 ( 778) [000] ...1 1034705.334327: tracing_mark_write: B|778|HIDL::ISensors::poll::server 17041 surfaceflinger-591 ( 591) [002] ...1 1034705.345301: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 17042 composer@2.1-s-593 ( 593) [000] ...1 1034705.345552: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 17043 composer@2.1-s-593 ( 593) [000] ...1 1034705.345689: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 17044 composer@2.1-s-593 ( 593) [000] ...1 1034705.345729: tracing_mark_write: B|593|HWDevice::Commit:: 17045 composer@2.1-s-593 ( 593) [000] ...1 1034705.345958: tracing_mark_write: E|593 17046 composer@2.1-s-593 ( 593) [000] ...1 1034705.346012: tracing_mark_write: E|593 17047 composer@2.1-s-593 ( 593) [000] ...1 1034705.346069: tracing_mark_write: E|593 17048 surfaceflinger-591 ( 591) [001] ...1 1034705.346227: tracing_mark_write: E|591 17049 HwBinder:778_1-1087 ( 778) [001] ...1 1034705.353197: tracing_mark_write: E|778 17050 SensorService-1283 ( 1151) [002] ...1 1034705.353419: tracing_mark_write: E|1151 17051 SensorService-1283 ( 1151) [002] ...1 1034705.353580: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 17052 HwBinder:778_1-1087 ( 778) [001] ...1 1034705.353683: tracing_mark_write: B|778|HIDL::ISensors::poll::server 17053 HwBinder:778_1-1087 ( 778) [001] ...1 1034705.372433: tracing_mark_write: E|778 17054 SensorService-1283 ( 1151) [002] ...1 1034705.372657: tracing_mark_write: E|1151 17055 SensorService-1283 ( 1151) [002] ...1 1034705.372846: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 17056 HwBinder:778_1-1087 ( 778) [001] ...1 1034705.372961: tracing_mark_write: B|778|HIDL::ISensors::poll::server 17057 HwBinder:778_1-1087 ( 778) [001] ...1 1034705.391625: tracing_mark_write: E|778 17058 SensorService-1283 ( 1151) [002] ...1 1034705.391746: tracing_mark_write: E|1151 17059 SensorService-1283 ( 1151) [002] ...1 1034705.391859: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 17060 HwBinder:778_1-1087 ( 778) [001] ...1 1034705.391929: tracing_mark_write: B|778|HIDL::ISensors::poll::server 17061 surfaceflinger-591 ( 591) [001] ...1 1034705.395385: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 17062 composer@2.1-s-593 ( 593) [000] ...1 1034705.395564: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 17063 composer@2.1-s-593 ( 593) [000] ...1 1034705.395654: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 17064 composer@2.1-s-593 ( 593) [000] ...1 1034705.395680: tracing_mark_write: B|593|HWDevice::Commit:: 17065 composer@2.1-s-593 ( 593) [000] ...1 1034705.395836: tracing_mark_write: E|593 17066 composer@2.1-s-593 ( 593) [000] ...1 1034705.395870: tracing_mark_write: E|593 17067 composer@2.1-s-593 ( 593) [000] ...1 1034705.395908: tracing_mark_write: E|593 17068 surfaceflinger-591 ( 591) [001] ...1 1034705.396001: tracing_mark_write: E|591 17069 HwBinder:778_1-1087 ( 778) [000] ...1 1034705.410872: tracing_mark_write: E|778 17070 SensorService-1283 ( 1151) [002] ...1 1034705.410991: tracing_mark_write: E|1151 17071 SensorService-1283 ( 1151) [002] ...1 1034705.411143: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 17072 HwBinder:778_1-1087 ( 778) [000] ...1 1034705.411221: tracing_mark_write: B|778|HIDL::ISensors::poll::server 17073 surfaceflinger-591 ( 591) [001] ...1 1034705.429176: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 17074 composer@2.1-s-593 ( 593) [000] ...1 1034705.429453: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 17075 composer@2.1-s-593 ( 593) [000] ...1 1034705.429611: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 17076 composer@2.1-s-593 ( 593) [000] ...1 1034705.429659: tracing_mark_write: B|593|HWDevice::Commit:: 17077 composer@2.1-s-593 ( 593) [000] ...1 1034705.429951: tracing_mark_write: E|593 17078 composer@2.1-s-593 ( 593) [000] ...1 1034705.430015: tracing_mark_write: E|593 17079 composer@2.1-s-593 ( 593) [000] ...1 1034705.430083: tracing_mark_write: E|593 17080 surfaceflinger-591 ( 591) [001] ...1 1034705.430245: tracing_mark_write: E|591 17081 HwBinder:778_1-1087 ( 778) [003] ...1 1034705.430822: tracing_mark_write: E|778 17082 SensorService-1283 ( 1151) [001] ...1 1034705.430974: tracing_mark_write: E|1151 17083 SensorService-1283 ( 1151) [001] ...1 1034705.431141: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 17084 HwBinder:778_1-1087 ( 778) [003] ...1 1034705.431260: tracing_mark_write: B|778|HIDL::ISensors::poll::server 17085 HwBinder:778_1-1087 ( 778) [002] ...1 1034705.449303: tracing_mark_write: E|778 17086 SensorService-1283 ( 1151) [001] ...1 1034705.449470: tracing_mark_write: E|1151 17087 SensorService-1283 ( 1151) [001] ...1 1034705.449620: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 17088 HwBinder:778_1-1087 ( 778) [002] ...1 1034705.449715: tracing_mark_write: B|778|HIDL::ISensors::poll::server 17089 HwBinder:778_1-1087 ( 778) [000] ...1 1034705.468903: tracing_mark_write: E|778 17090 SensorService-1283 ( 1151) [001] ...1 1034705.469154: tracing_mark_write: E|1151 17091 SensorService-1283 ( 1151) [001] ...1 1034705.469395: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 17092 HwBinder:778_1-1087 ( 778) [000] ...1 1034705.469551: tracing_mark_write: B|778|HIDL::ISensors::poll::server 17093 surfaceflinger-591 ( 591) [000] ...1 1034705.479586: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 17094 composer@2.1-s-593 ( 593) [001] ...1 1034705.479901: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 17095 composer@2.1-s-593 ( 593) [001] ...1 1034705.480036: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 17096 composer@2.1-s-593 ( 593) [001] ...1 1034705.480077: tracing_mark_write: B|593|HWDevice::Commit:: 17097 composer@2.1-s-593 ( 593) [001] ...1 1034705.480281: tracing_mark_write: E|593 17098 composer@2.1-s-593 ( 593) [001] ...1 1034705.480331: tracing_mark_write: E|593 17099 composer@2.1-s-593 ( 593) [001] ...1 1034705.480389: tracing_mark_write: E|593 17100 surfaceflinger-591 ( 591) [000] ...1 1034705.480517: tracing_mark_write: E|591 17101 HwBinder:778_1-1087 ( 778) [000] ...1 1034705.487897: tracing_mark_write: E|778 17102 SensorService-1283 ( 1151) [001] ...1 1034705.488069: tracing_mark_write: E|1151 17103 SensorService-1283 ( 1151) [001] ...1 1034705.488208: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 17104 HwBinder:778_1-1087 ( 778) [000] ...1 1034705.488301: tracing_mark_write: B|778|HIDL::ISensors::poll::server 17105 HwBinder:778_1-1087 ( 778) [000] ...1 1034705.507228: tracing_mark_write: E|778 17106 SensorService-1283 ( 1151) [001] ...1 1034705.507419: tracing_mark_write: E|1151 17107 SensorService-1283 ( 1151) [001] ...1 1034705.507592: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 17108 HwBinder:778_1-1087 ( 778) [000] ...1 1034705.507774: tracing_mark_write: B|778|HIDL::ISensors::poll::server 17109 HwBinder:778_1-1087 ( 778) [000] ...1 1034705.526517: tracing_mark_write: E|778 17110 SensorService-1283 ( 1151) [002] ...1 1034705.526780: tracing_mark_write: E|1151 17111 SensorService-1283 ( 1151) [002] ...1 1034705.526941: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 17112 HwBinder:778_1-1087 ( 778) [000] ...1 1034705.527056: tracing_mark_write: B|778|HIDL::ISensors::poll::server 17113 surfaceflinger-591 ( 591) [000] ...1 1034705.529936: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 17114 composer@2.1-s-593 ( 593) [001] ...1 1034705.530148: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 17115 composer@2.1-s-593 ( 593) [001] ...1 1034705.530287: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 17116 composer@2.1-s-593 ( 593) [001] ...1 1034705.530326: tracing_mark_write: B|593|HWDevice::Commit:: 17117 composer@2.1-s-593 ( 593) [001] ...1 1034705.530553: tracing_mark_write: E|593 17118 composer@2.1-s-593 ( 593) [001] ...1 1034705.530605: tracing_mark_write: E|593 17119 composer@2.1-s-593 ( 593) [001] ...1 1034705.530662: tracing_mark_write: E|593 17120 surfaceflinger-591 ( 591) [000] ...1 1034705.530797: tracing_mark_write: E|591 17121 HwBinder:778_1-1087 ( 778) [000] ...1 1034705.545543: tracing_mark_write: E|778 17122 SensorService-1283 ( 1151) [002] ...1 1034705.545719: tracing_mark_write: E|1151 17123 SensorService-1283 ( 1151) [002] ...1 1034705.545890: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 17124 HwBinder:778_1-1087 ( 778) [003] ...1 1034705.546018: tracing_mark_write: B|778|HIDL::ISensors::poll::server 17125 surfaceflinger-591 ( 591) [000] ...1 1034705.563844: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 17126 composer@2.1-s-593 ( 593) [001] ...1 1034705.564171: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 17127 composer@2.1-s-593 ( 593) [001] ...1 1034705.564324: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 17128 composer@2.1-s-593 ( 593) [001] ...1 1034705.564388: tracing_mark_write: B|593|HWDevice::Commit:: 17129 composer@2.1-s-593 ( 593) [001] ...1 1034705.564644: tracing_mark_write: E|593 17130 composer@2.1-s-593 ( 593) [001] ...1 1034705.564704: tracing_mark_write: E|593 17131 composer@2.1-s-593 ( 593) [001] ...1 1034705.564772: tracing_mark_write: E|593 17132 HwBinder:778_1-1087 ( 778) [000] ...1 1034705.564958: tracing_mark_write: E|778 17133 surfaceflinger-591 ( 591) [001] ...1 1034705.565025: tracing_mark_write: E|591 17134 SensorService-1283 ( 1151) [003] ...1 1034705.565096: tracing_mark_write: E|1151 17135 SensorService-1283 ( 1151) [003] ...1 1034705.565260: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 17136 HwBinder:778_1-1087 ( 778) [000] ...1 1034705.565361: tracing_mark_write: B|778|HIDL::ISensors::poll::server 17137 HwBinder:778_1-1087 ( 778) [001] ...1 1034705.584199: tracing_mark_write: E|778 17138 SensorService-1283 ( 1151) [003] ...1 1034705.584346: tracing_mark_write: E|1151 17139 SensorService-1283 ( 1151) [003] ...1 1034705.584470: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 17140 HwBinder:778_1-1087 ( 778) [001] ...1 1034705.584555: tracing_mark_write: B|778|HIDL::ISensors::poll::server 17141 HwBinder:778_1-1087 ( 778) [000] ...1 1034705.603987: tracing_mark_write: E|778 17142 SensorService-1283 ( 1151) [003] ...1 1034705.604182: tracing_mark_write: E|1151 17143 SensorService-1283 ( 1151) [003] ...1 1034705.604348: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 17144 HwBinder:778_1-1087 ( 778) [000] ...1 1034705.604463: tracing_mark_write: B|778|HIDL::ISensors::poll::server 17145 surfaceflinger-591 ( 591) [002] ...1 1034705.614006: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 17146 composer@2.1-s-593 ( 593) [001] ...1 1034705.614261: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 17147 composer@2.1-s-593 ( 593) [001] ...1 1034705.614395: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 17148 composer@2.1-s-593 ( 593) [001] ...1 1034705.614436: tracing_mark_write: B|593|HWDevice::Commit:: 17149 composer@2.1-s-593 ( 593) [001] ...1 1034705.614645: tracing_mark_write: E|593 17150 composer@2.1-s-593 ( 593) [001] ...1 1034705.614697: tracing_mark_write: E|593 17151 composer@2.1-s-593 ( 593) [001] ...1 1034705.614757: tracing_mark_write: E|593 17152 surfaceflinger-591 ( 591) [000] ...1 1034705.614919: tracing_mark_write: E|591 17153 HwBinder:778_1-1087 ( 778) [001] ...1 1034705.622735: tracing_mark_write: E|778 17154 SensorService-1283 ( 1151) [003] ...1 1034705.622868: tracing_mark_write: E|1151 17155 SensorService-1283 ( 1151) [003] ...1 1034705.623004: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 17156 HwBinder:778_1-1087 ( 778) [001] ...1 1034705.623102: tracing_mark_write: B|778|HIDL::ISensors::poll::server 17157 HwBinder:778_1-1087 ( 778) [001] ...1 1034705.641997: tracing_mark_write: E|778 17158 SensorService-1283 ( 1151) [003] ...1 1034705.642177: tracing_mark_write: E|1151 17159 SensorService-1283 ( 1151) [003] ...1 1034705.642336: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 17160 HwBinder:778_1-1087 ( 778) [001] ...1 1034705.642448: tracing_mark_write: B|778|HIDL::ISensors::poll::server 17161 surfaceflinger-591 ( 591) [003] ...1 1034705.647484: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 17162 composer@2.1-s-593 ( 593) [001] ...1 1034705.647708: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 17163 composer@2.1-s-593 ( 593) [001] ...1 1034705.647834: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 17164 composer@2.1-s-593 ( 593) [001] ...1 1034705.647870: tracing_mark_write: B|593|HWDevice::Commit:: 17165 composer@2.1-s-593 ( 593) [001] ...1 1034705.648071: tracing_mark_write: E|593 17166 composer@2.1-s-593 ( 593) [001] ...1 1034705.648120: tracing_mark_write: E|593 17167 composer@2.1-s-593 ( 593) [001] ...1 1034705.648174: tracing_mark_write: E|593 17168 surfaceflinger-591 ( 591) [003] ...1 1034705.648313: tracing_mark_write: E|591 17169 HwBinder:778_1-1087 ( 778) [001] ...1 1034705.661037: tracing_mark_write: E|778 17170 SensorService-1283 ( 1151) [003] ...1 1034705.661219: tracing_mark_write: E|1151 17171 SensorService-1283 ( 1151) [003] ...1 1034705.661399: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 17172 HwBinder:778_1-1087 ( 778) [001] ...1 1034705.661513: tracing_mark_write: B|778|HIDL::ISensors::poll::server 17173 HwBinder:778_1-1087 ( 778) [001] ...1 1034705.680610: tracing_mark_write: E|778 17174 SensorService-1283 ( 1151) [003] ...1 1034705.680915: tracing_mark_write: E|1151 17175 SensorService-1283 ( 1151) [003] ...1 1034705.681202: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 17176 HwBinder:778_1-1087 ( 778) [001] ...1 1034705.681394: tracing_mark_write: B|778|HIDL::ISensors::poll::server 17177 surfaceflinger-591 ( 591) [001] ...1 1034705.697861: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 17178 composer@2.1-s-593 ( 593) [000] ...1 1034705.698225: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 17179 composer@2.1-s-593 ( 593) [000] ...1 1034705.698386: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 17180 composer@2.1-s-593 ( 593) [000] ...1 1034705.698431: tracing_mark_write: B|593|HWDevice::Commit:: 17181 composer@2.1-s-593 ( 593) [000] ...1 1034705.698667: tracing_mark_write: E|593 17182 composer@2.1-s-593 ( 593) [000] ...1 1034705.698728: tracing_mark_write: E|593 17183 composer@2.1-s-593 ( 593) [000] ...1 1034705.698796: tracing_mark_write: E|593 17184 surfaceflinger-591 ( 591) [001] ...1 1034705.698960: tracing_mark_write: E|591 17185 HwBinder:778_1-1087 ( 778) [001] ...1 1034705.699787: tracing_mark_write: E|778 17186 SensorService-1283 ( 1151) [003] ...1 1034705.699966: tracing_mark_write: E|1151 17187 SensorService-1283 ( 1151) [003] ...1 1034705.700115: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 17188 HwBinder:778_1-1087 ( 778) [001] ...1 1034705.700217: tracing_mark_write: B|778|HIDL::ISensors::poll::server 17189 HwBinder:778_1-1087 ( 778) [001] ...1 1034705.718852: tracing_mark_write: E|778 17190 SensorService-1283 ( 1151) [003] ...1 1034705.719041: tracing_mark_write: E|1151 17191 SensorService-1283 ( 1151) [003] ...1 1034705.719189: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 17192 HwBinder:778_1-1087 ( 778) [001] ...1 1034705.719306: tracing_mark_write: B|778|HIDL::ISensors::poll::server 17193 surfaceflinger-591 ( 591) [002] ...1 1034705.731398: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 17194 composer@2.1-s-593 ( 593) [000] ...1 1034705.731671: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 17195 composer@2.1-s-593 ( 593) [000] ...1 1034705.731806: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 17196 composer@2.1-s-593 ( 593) [000] ...1 1034705.731844: tracing_mark_write: B|593|HWDevice::Commit:: 17197 composer@2.1-s-593 ( 593) [000] ...1 1034705.732054: tracing_mark_write: E|593 17198 composer@2.1-s-593 ( 593) [000] ...1 1034705.732104: tracing_mark_write: E|593 17199 composer@2.1-s-593 ( 593) [000] ...1 1034705.732162: tracing_mark_write: E|593 17200 surfaceflinger-591 ( 591) [001] ...1 1034705.732330: tracing_mark_write: E|591 17201 HwBinder:778_1-1087 ( 778) [001] ...1 1034705.738189: tracing_mark_write: E|778 17202 SensorService-1283 ( 1151) [003] ...1 1034705.738367: tracing_mark_write: E|1151 17203 SensorService-1283 ( 1151) [003] ...1 1034705.738524: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 17204 HwBinder:778_1-1087 ( 778) [001] ...1 1034705.738630: tracing_mark_write: B|778|HIDL::ISensors::poll::server 17205 HwBinder:778_1-1087 ( 778) [001] ...1 1034705.757635: tracing_mark_write: E|778 17206 SensorService-1283 ( 1151) [003] ...1 1034705.757777: tracing_mark_write: E|1151 17207 SensorService-1283 ( 1151) [003] ...1 1034705.757895: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 17208 HwBinder:778_1-1087 ( 778) [001] ...1 1034705.757995: tracing_mark_write: B|778|HIDL::ISensors::poll::server 17209 HwBinder:778_1-1087 ( 778) [001] ...1 1034705.776631: tracing_mark_write: E|778 17210 SensorService-1283 ( 1151) [003] ...1 1034705.776807: tracing_mark_write: E|1151 17211 SensorService-1283 ( 1151) [003] ...1 1034705.776967: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 17212 HwBinder:778_1-1087 ( 778) [001] ...1 1034705.777079: tracing_mark_write: B|778|HIDL::ISensors::poll::server 17213 surfaceflinger-591 ( 591) [000] ...1 1034705.781715: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 17214 composer@2.1-s-593 ( 593) [001] ...1 1034705.781991: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 17215 composer@2.1-s-593 ( 593) [001] ...1 1034705.782151: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 17216 composer@2.1-s-593 ( 593) [001] ...1 1034705.782198: tracing_mark_write: B|593|HWDevice::Commit:: 17217 composer@2.1-s-593 ( 593) [001] ...1 1034705.782443: tracing_mark_write: E|593 17218 composer@2.1-s-593 ( 593) [001] ...1 1034705.782503: tracing_mark_write: E|593 17219 composer@2.1-s-593 ( 593) [001] ...1 1034705.782572: tracing_mark_write: E|593 17220 surfaceflinger-591 ( 591) [000] ...1 1034705.782733: tracing_mark_write: E|591 17221 HwBinder:778_1-1087 ( 778) [000] ...1 1034705.796026: tracing_mark_write: E|778 17222 SensorService-1283 ( 1151) [003] ...1 1034705.796184: tracing_mark_write: E|1151 17223 SensorService-1283 ( 1151) [003] ...1 1034705.796352: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 17224 HwBinder:778_1-1087 ( 778) [000] ...1 1034705.796464: tracing_mark_write: B|778|HIDL::ISensors::poll::server 17225 HwBinder:778_1-1087 ( 778) [002] ...1 1034705.815189: tracing_mark_write: E|778 17226 surfaceflinger-591 ( 591) [001] ...1 1034705.815354: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 17227 SensorService-1283 ( 1151) [003] ...1 1034705.815368: tracing_mark_write: E|1151 17228 SensorService-1283 ( 1151) [003] ...1 1034705.815517: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 17229 HwBinder:778_1-1087 ( 778) [002] ...1 1034705.815607: tracing_mark_write: B|778|HIDL::ISensors::poll::server 17230 composer@2.1-s-593 ( 593) [000] ...1 1034705.815610: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 17231 composer@2.1-s-593 ( 593) [000] ...1 1034705.815776: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 17232 composer@2.1-s-593 ( 593) [000] ...1 1034705.815826: tracing_mark_write: B|593|HWDevice::Commit:: 17233 composer@2.1-s-593 ( 593) [000] ...1 1034705.816085: tracing_mark_write: E|593 17234 composer@2.1-s-593 ( 593) [000] ...1 1034705.816143: tracing_mark_write: E|593 17235 composer@2.1-s-593 ( 593) [000] ...1 1034705.816207: tracing_mark_write: E|593 17236 surfaceflinger-591 ( 591) [001] ...1 1034705.816365: tracing_mark_write: E|591 17237 HwBinder:778_1-1087 ( 778) [001] ...1 1034705.834448: tracing_mark_write: E|778 17238 SensorService-1283 ( 1151) [003] ...1 1034705.834626: tracing_mark_write: E|1151 17239 SensorService-1283 ( 1151) [003] ...1 1034705.834783: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 17240 HwBinder:778_1-1087 ( 778) [001] ...1 1034705.834890: tracing_mark_write: B|778|HIDL::ISensors::poll::server 17241 HwBinder:778_1-1087 ( 778) [000] ...1 1034705.854100: tracing_mark_write: E|778 17242 SensorService-1283 ( 1151) [003] ...1 1034705.854402: tracing_mark_write: E|1151 17243 SensorService-1283 ( 1151) [003] ...1 1034705.854670: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 17244 HwBinder:778_1-1087 ( 778) [000] ...1 1034705.854839: tracing_mark_write: B|778|HIDL::ISensors::poll::server 17245 surfaceflinger-591 ( 591) [001] ...1 1034705.865691: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 17246 composer@2.1-s-593 ( 593) [000] ...1 1034705.866057: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 17247 composer@2.1-s-593 ( 593) [000] ...1 1034705.866214: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 17248 composer@2.1-s-593 ( 593) [000] ...1 1034705.866260: tracing_mark_write: B|593|HWDevice::Commit:: 17249 composer@2.1-s-593 ( 593) [000] ...1 1034705.866498: tracing_mark_write: E|593 17250 composer@2.1-s-593 ( 593) [000] ...1 1034705.866646: tracing_mark_write: E|593 17251 composer@2.1-s-593 ( 593) [000] ...1 1034705.866733: tracing_mark_write: E|593 17252 surfaceflinger-591 ( 591) [001] ...1 1034705.866903: tracing_mark_write: E|591 17253 HwBinder:778_1-1087 ( 778) [000] ...1 1034705.872893: tracing_mark_write: E|778 17254 SensorService-1283 ( 1151) [003] ...1 1034705.873030: tracing_mark_write: E|1151 17255 SensorService-1283 ( 1151) [003] ...1 1034705.873167: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 17256 HwBinder:778_1-1087 ( 778) [000] ...1 1034705.873302: tracing_mark_write: B|778|HIDL::ISensors::poll::server 17257 HwBinder:778_1-1087 ( 778) [000] ...1 1034705.892432: tracing_mark_write: E|778 17258 SensorService-1283 ( 1151) [003] ...1 1034705.892675: tracing_mark_write: E|1151 17259 SensorService-1283 ( 1151) [003] ...1 1034705.892858: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 17260 HwBinder:778_1-1087 ( 778) [000] ...1 1034705.892983: tracing_mark_write: B|778|HIDL::ISensors::poll::server 17261 HwBinder:778_1-1087 ( 778) [001] ...1 1034705.911530: tracing_mark_write: E|778 17262 SensorService-1283 ( 1151) [003] ...1 1034705.911746: tracing_mark_write: E|1151 17263 SensorService-1283 ( 1151) [003] ...1 1034705.911957: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 17264 HwBinder:778_1-1087 ( 778) [001] ...1 1034705.912081: tracing_mark_write: B|778|HIDL::ISensors::poll::server 17265 surfaceflinger-591 ( 591) [003] ...1 1034705.916032: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 17266 composer@2.1-s-593 ( 593) [000] ...1 1034705.916336: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 17267 composer@2.1-s-593 ( 593) [000] ...1 1034705.916509: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 17268 composer@2.1-s-593 ( 593) [000] ...1 1034705.916613: tracing_mark_write: B|593|HWDevice::Commit:: 17269 composer@2.1-s-593 ( 593) [000] ...1 1034705.916877: tracing_mark_write: E|593 17270 composer@2.1-s-593 ( 593) [000] ...1 1034705.916939: tracing_mark_write: E|593 17271 composer@2.1-s-593 ( 593) [000] ...1 1034705.917009: tracing_mark_write: E|593 17272 surfaceflinger-591 ( 591) [003] ...1 1034705.917176: tracing_mark_write: E|591 17273 HwBinder:778_1-1087 ( 778) [001] ...1 1034705.930699: tracing_mark_write: E|778 17274 SensorService-1283 ( 1151) [003] ...1 1034705.930896: tracing_mark_write: E|1151 17275 SensorService-1283 ( 1151) [003] ...1 1034705.931065: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 17276 HwBinder:778_1-1087 ( 778) [001] ...1 1034705.931184: tracing_mark_write: B|778|HIDL::ISensors::poll::server 17277 surfaceflinger-591 ( 591) [002] ...1 1034705.949335: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 17278 composer@2.1-s-593 ( 593) [000] ...1 1034705.949595: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 17279 composer@2.1-s-593 ( 593) [000] ...1 1034705.949709: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 17280 composer@2.1-s-593 ( 593) [000] ...1 1034705.949744: tracing_mark_write: B|593|HWDevice::Commit:: 17281 HwBinder:778_1-1087 ( 778) [001] ...1 1034705.949912: tracing_mark_write: E|778 17282 composer@2.1-s-593 ( 593) [000] ...1 1034705.949987: tracing_mark_write: E|593 17283 composer@2.1-s-593 ( 593) [000] ...1 1034705.950035: tracing_mark_write: E|593 17284 SensorService-1283 ( 1151) [003] ...1 1034705.950037: tracing_mark_write: E|1151 17285 composer@2.1-s-593 ( 593) [000] ...1 1034705.950083: tracing_mark_write: E|593 17286 SensorService-1283 ( 1151) [003] ...1 1034705.950160: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 17287 surfaceflinger-591 ( 591) [001] ...1 1034705.950210: tracing_mark_write: E|591 17288 HwBinder:778_1-1087 ( 778) [004] ...1 1034705.950398: tracing_mark_write: B|778|HIDL::ISensors::poll::server 17289 HwBinder:778_1-1087 ( 778) [000] ...1 1034705.969106: tracing_mark_write: E|778 17290 SensorService-1283 ( 1151) [003] ...1 1034705.969297: tracing_mark_write: E|1151 17291 SensorService-1283 ( 1151) [003] ...1 1034705.969452: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 17292 HwBinder:778_1-1087 ( 778) [000] ...1 1034705.969545: tracing_mark_write: B|778|HIDL::ISensors::poll::server 17293 HwBinder:778_1-1087 ( 778) [000] ...1 1034705.988458: tracing_mark_write: E|778 17294 SensorService-1283 ( 1151) [003] ...1 1034705.988584: tracing_mark_write: E|1151 17295 SensorService-1283 ( 1151) [003] ...1 1034705.988691: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 17296 HwBinder:778_1-1087 ( 778) [000] ...1 1034705.988758: tracing_mark_write: B|778|HIDL::ISensors::poll::server 17297 surfaceflinger-591 ( 591) [002] ...1 1034705.999700: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 17298 composer@2.1-s-593 ( 593) [000] ...1 1034705.999961: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 17299 composer@2.1-s-593 ( 593) [000] ...1 1034706.000094: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 17300 composer@2.1-s-593 ( 593) [000] ...1 1034706.000129: tracing_mark_write: B|593|HWDevice::Commit:: 17301 composer@2.1-s-593 ( 593) [000] ...1 1034706.000312: tracing_mark_write: E|593 17302 composer@2.1-s-593 ( 593) [000] ...1 1034706.000358: tracing_mark_write: E|593 17303 composer@2.1-s-593 ( 593) [000] ...1 1034706.000426: tracing_mark_write: E|593 17304 surfaceflinger-591 ( 591) [003] ...1 1034706.000605: tracing_mark_write: E|591 17305 HwBinder:778_1-1087 ( 778) [000] ...1 1034706.007387: tracing_mark_write: E|778 17306 SensorService-1283 ( 1151) [003] ...1 1034706.007508: tracing_mark_write: E|1151 17307 SensorService-1283 ( 1151) [003] ...1 1034706.007627: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 17308 HwBinder:778_1-1087 ( 778) [000] ...1 1034706.007692: tracing_mark_write: B|778|HIDL::ISensors::poll::server 17309 HwBinder:778_1-1087 ( 778) [001] ...1 1034706.028283: tracing_mark_write: E|778 17310 SensorService-1283 ( 1151) [003] ...1 1034706.028503: tracing_mark_write: E|1151 17311 SensorService-1283 ( 1151) [003] ...1 1034706.028670: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 17312 HwBinder:778_1-1087 ( 778) [001] ...1 1034706.028789: tracing_mark_write: B|778|HIDL::ISensors::poll::server 17313 surfaceflinger-591 ( 591) [000] ...1 1034706.033344: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 17314 composer@2.1-s-593 ( 593) [001] ...1 1034706.033598: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 17315 composer@2.1-s-593 ( 593) [001] ...1 1034706.033714: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 17316 composer@2.1-s-593 ( 593) [001] ...1 1034706.033750: tracing_mark_write: B|593|HWDevice::Commit:: 17317 composer@2.1-s-593 ( 593) [001] ...1 1034706.033937: tracing_mark_write: E|593 17318 composer@2.1-s-593 ( 593) [001] ...1 1034706.033982: tracing_mark_write: E|593 17319 composer@2.1-s-593 ( 593) [001] ...1 1034706.034033: tracing_mark_write: E|593 17320 surfaceflinger-591 ( 591) [000] ...1 1034706.034164: tracing_mark_write: E|591 17321 HwBinder:778_1-1087 ( 778) [002] ...1 1034706.046966: tracing_mark_write: E|778 17322 SensorService-1283 ( 1151) [003] ...1 1034706.047137: tracing_mark_write: E|1151 17323 SensorService-1283 ( 1151) [003] ...1 1034706.047290: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 17324 HwBinder:778_1-1087 ( 778) [002] ...1 1034706.047371: tracing_mark_write: B|778|HIDL::ISensors::poll::server 17325 HwBinder:778_1-1087 ( 778) [000] ...1 1034706.065368: tracing_mark_write: E|778 17326 SensorService-1283 ( 1151) [003] ...1 1034706.065533: tracing_mark_write: E|1151 17327 SensorService-1283 ( 1151) [003] ...1 1034706.065670: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 17328 HwBinder:778_1-1087 ( 778) [000] ...1 1034706.065755: tracing_mark_write: B|778|HIDL::ISensors::poll::server 17329 surfaceflinger-591 ( 591) [002] ...1 1034706.083721: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 17330 composer@2.1-s-593 ( 593) [001] ...1 1034706.083979: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 17331 composer@2.1-s-593 ( 593) [001] ...1 1034706.084104: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 17332 composer@2.1-s-593 ( 593) [001] ...1 1034706.084140: tracing_mark_write: B|593|HWDevice::Commit:: 17333 composer@2.1-s-593 ( 593) [001] ...1 1034706.084328: tracing_mark_write: E|593 17334 composer@2.1-s-593 ( 593) [001] ...1 1034706.084376: tracing_mark_write: E|593 17335 composer@2.1-s-593 ( 593) [001] ...1 1034706.084432: tracing_mark_write: E|593 17336 surfaceflinger-591 ( 591) [000] ...1 1034706.084571: tracing_mark_write: E|591 17337 HwBinder:778_1-1087 ( 778) [001] ...1 1034706.085135: tracing_mark_write: E|778 17338 SensorService-1283 ( 1151) [003] ...1 1034706.085255: tracing_mark_write: E|1151 17339 SensorService-1283 ( 1151) [003] ...1 1034706.085378: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 17340 HwBinder:778_1-1087 ( 778) [001] ...1 1034706.085457: tracing_mark_write: B|778|HIDL::ISensors::poll::server 17341 HwBinder:778_1-1087 ( 778) [002] ...1 1034706.103979: tracing_mark_write: E|778 17342 SensorService-1283 ( 1151) [003] ...1 1034706.104170: tracing_mark_write: E|1151 17343 SensorService-1283 ( 1151) [003] ...1 1034706.104323: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 17344 HwBinder:778_1-1087 ( 778) [002] ...1 1034706.104427: tracing_mark_write: B|778|HIDL::ISensors::poll::server 17345 HwBinder:778_1-1087 ( 778) [000] ...1 1034706.123170: tracing_mark_write: E|778 17346 SensorService-1283 ( 1151) [003] ...1 1034706.123423: tracing_mark_write: E|1151 17347 SensorService-1283 ( 1151) [003] ...1 1034706.123564: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 17348 HwBinder:778_1-1087 ( 778) [000] ...1 1034706.123677: tracing_mark_write: B|778|HIDL::ISensors::poll::server 17349 surfaceflinger-591 ( 591) [002] ...1 1034706.134021: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 17350 composer@2.1-s-593 ( 593) [001] ...1 1034706.134274: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 17351 composer@2.1-s-593 ( 593) [001] ...1 1034706.134405: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 17352 composer@2.1-s-593 ( 593) [001] ...1 1034706.134443: tracing_mark_write: B|593|HWDevice::Commit:: 17353 composer@2.1-s-593 ( 593) [001] ...1 1034706.134636: tracing_mark_write: E|593 17354 composer@2.1-s-593 ( 593) [001] ...1 1034706.134687: tracing_mark_write: E|593 17355 composer@2.1-s-593 ( 593) [001] ...1 1034706.134744: tracing_mark_write: E|593 17356 surfaceflinger-591 ( 591) [000] ...1 1034706.134897: tracing_mark_write: E|591 17357 HwBinder:778_1-1087 ( 778) [000] ...1 1034706.142345: tracing_mark_write: E|778 17358 SensorService-1283 ( 1151) [003] ...1 1034706.142518: tracing_mark_write: E|1151 17359 SensorService-1283 ( 1151) [003] ...1 1034706.142657: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 17360 HwBinder:778_1-1087 ( 778) [000] ...1 1034706.142738: tracing_mark_write: B|778|HIDL::ISensors::poll::server 17361 HwBinder:778_1-1087 ( 778) [004] ...1 1034706.161992: tracing_mark_write: E|778 17362 SensorService-1283 ( 1151) [003] ...1 1034706.162193: tracing_mark_write: E|1151 17363 SensorService-1283 ( 1151) [003] ...1 1034706.162350: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 17364 HwBinder:778_1-1087 ( 778) [004] ...1 1034706.162517: tracing_mark_write: B|778|HIDL::ISensors::poll::server 17365 surfaceflinger-591 ( 591) [000] ...1 1034706.167578: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 17366 composer@2.1-s-593 ( 593) [001] ...1 1034706.167839: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 17367 composer@2.1-s-593 ( 593) [001] ...1 1034706.167972: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 17368 composer@2.1-s-593 ( 593) [001] ...1 1034706.168012: tracing_mark_write: B|593|HWDevice::Commit:: 17369 composer@2.1-s-593 ( 593) [001] ...1 1034706.168220: tracing_mark_write: E|593 17370 composer@2.1-s-593 ( 593) [001] ...1 1034706.168272: tracing_mark_write: E|593 17371 composer@2.1-s-593 ( 593) [001] ...1 1034706.168330: tracing_mark_write: E|593 17372 surfaceflinger-591 ( 591) [000] ...1 1034706.168466: tracing_mark_write: E|591 17373 HwBinder:778_1-1087 ( 778) [000] ...1 1034706.181019: tracing_mark_write: E|778 17374 SensorService-1283 ( 1151) [003] ...1 1034706.181160: tracing_mark_write: E|1151 17375 SensorService-1283 ( 1151) [003] ...1 1034706.181280: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 17376 HwBinder:778_1-1087 ( 778) [000] ...1 1034706.181352: tracing_mark_write: B|778|HIDL::ISensors::poll::server 17377 HwBinder:778_1-1087 ( 778) [000] ...1 1034706.200240: tracing_mark_write: E|778 17378 SensorService-1283 ( 1151) [001] ...1 1034706.200428: tracing_mark_write: E|1151 17379 SensorService-1283 ( 1151) [001] ...1 1034706.200706: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 17380 HwBinder:778_1-1087 ( 778) [000] ...1 1034706.200914: tracing_mark_write: B|778|HIDL::ISensors::poll::server 17381 surfaceflinger-591 ( 591) [000] ...1 1034706.217942: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 17382 composer@2.1-s-593 ( 593) [001] ...1 1034706.218277: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 17383 composer@2.1-s-593 ( 593) [001] ...1 1034706.218409: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 17384 composer@2.1-s-593 ( 593) [001] ...1 1034706.218448: tracing_mark_write: B|593|HWDevice::Commit:: 17385 composer@2.1-s-593 ( 593) [001] ...1 1034706.218646: tracing_mark_write: E|593 17386 composer@2.1-s-593 ( 593) [001] ...1 1034706.218697: tracing_mark_write: E|593 17387 composer@2.1-s-593 ( 593) [001] ...1 1034706.218758: tracing_mark_write: E|593 17388 surfaceflinger-591 ( 591) [000] ...1 1034706.218906: tracing_mark_write: E|591 17389 HwBinder:778_1-1087 ( 778) [001] ...1 1034706.219453: tracing_mark_write: E|778 17390 SensorService-1283 ( 1151) [000] ...1 1034706.219588: tracing_mark_write: E|1151 17391 SensorService-1283 ( 1151) [000] ...1 1034706.219734: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 17392 HwBinder:778_1-1087 ( 778) [001] ...1 1034706.219810: tracing_mark_write: B|778|HIDL::ISensors::poll::server 17393 HwBinder:778_1-1087 ( 778) [000] ...1 1034706.238532: tracing_mark_write: E|778 17394 SensorService-1283 ( 1151) [001] ...1 1034706.238685: tracing_mark_write: E|1151 17395 SensorService-1283 ( 1151) [001] ...1 1034706.238795: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 17396 HwBinder:778_1-1087 ( 778) [000] ...1 1034706.238872: tracing_mark_write: B|778|HIDL::ISensors::poll::server 17397 surfaceflinger-591 ( 591) [002] ...1 1034706.251463: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 17398 composer@2.1-s-593 ( 593) [001] ...1 1034706.251724: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 17399 composer@2.1-s-593 ( 593) [001] ...1 1034706.251855: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 17400 composer@2.1-s-593 ( 593) [001] ...1 1034706.251895: tracing_mark_write: B|593|HWDevice::Commit:: 17401 composer@2.1-s-593 ( 593) [001] ...1 1034706.252092: tracing_mark_write: E|593 17402 composer@2.1-s-593 ( 593) [001] ...1 1034706.252140: tracing_mark_write: E|593 17403 composer@2.1-s-593 ( 593) [001] ...1 1034706.252195: tracing_mark_write: E|593 17404 surfaceflinger-591 ( 591) [000] ...1 1034706.252344: tracing_mark_write: E|591 17405 HwBinder:778_1-1087 ( 778) [000] ...1 1034706.258545: tracing_mark_write: E|778 17406 SensorService-1283 ( 1151) [001] ...1 1034706.258707: tracing_mark_write: E|1151 17407 SensorService-1283 ( 1151) [001] ...1 1034706.258858: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 17408 HwBinder:778_1-1087 ( 778) [000] ...1 1034706.258953: tracing_mark_write: B|778|HIDL::ISensors::poll::server 17409 HwBinder:778_1-1087 ( 778) [000] ...1 1034706.277610: tracing_mark_write: E|778 17410 SensorService-1283 ( 1151) [001] ...1 1034706.277764: tracing_mark_write: E|1151 17411 SensorService-1283 ( 1151) [001] ...1 1034706.277897: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 17412 sensors@1.0-se-778 ( 778) [004] ...1 1034706.278103: tracing_mark_write: B|778|HIDL::ISensors::poll::server 17413 sensors@1.0-se-778 ( 778) [005] ...1 1034706.296708: tracing_mark_write: E|778 17414 SensorService-1283 ( 1151) [001] ...1 1034706.296880: tracing_mark_write: E|1151 17415 SensorService-1283 ( 1151) [001] ...1 1034706.297025: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 17416 sensors@1.0-se-778 ( 778) [005] ...1 1034706.297187: tracing_mark_write: B|778|HIDL::ISensors::poll::server 17417 surfaceflinger-591 ( 591) [000] ...1 1034706.301648: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 17418 composer@2.1-s-593 ( 593) [001] ...1 1034706.301870: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 17419 composer@2.1-s-593 ( 593) [001] ...1 1034706.301990: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 17420 composer@2.1-s-593 ( 593) [001] ...1 1034706.302025: tracing_mark_write: B|593|HWDevice::Commit:: 17421 composer@2.1-s-593 ( 593) [001] ...1 1034706.302201: tracing_mark_write: E|593 17422 composer@2.1-s-593 ( 593) [001] ...1 1034706.302245: tracing_mark_write: E|593 17423 composer@2.1-s-593 ( 593) [001] ...1 1034706.302295: tracing_mark_write: E|593 17424 surfaceflinger-591 ( 591) [000] ...1 1034706.302408: tracing_mark_write: E|591 17425 sensors@1.0-se-778 ( 778) [005] ...1 1034706.315646: tracing_mark_write: E|778 17426 SensorService-1283 ( 1151) [001] ...1 1034706.315819: tracing_mark_write: E|1151 17427 SensorService-1283 ( 1151) [001] ...1 1034706.315953: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 17428 sensors@1.0-se-778 ( 778) [005] ...1 1034706.316115: tracing_mark_write: B|778|HIDL::ISensors::poll::server 17429 sensors@1.0-se-778 ( 778) [005] ...1 1034706.334995: tracing_mark_write: E|778 17430 SensorService-1283 ( 1151) [001] ...1 1034706.335150: tracing_mark_write: E|1151 17431 surfaceflinger-591 ( 591) [002] ...1 1034706.335258: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 17432 SensorService-1283 ( 1151) [001] ...1 1034706.335267: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 17433 sensors@1.0-se-778 ( 778) [005] ...1 1034706.335438: tracing_mark_write: B|778|HIDL::ISensors::poll::server 17434 composer@2.1-s-593 ( 593) [000] ...1 1034706.335453: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 17435 composer@2.1-s-593 ( 593) [000] ...1 1034706.335559: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 17436 composer@2.1-s-593 ( 593) [000] ...1 1034706.335590: tracing_mark_write: B|593|HWDevice::Commit:: 17437 composer@2.1-s-593 ( 593) [000] ...1 1034706.335768: tracing_mark_write: E|593 17438 composer@2.1-s-593 ( 593) [000] ...1 1034706.335811: tracing_mark_write: E|593 17439 composer@2.1-s-593 ( 593) [000] ...1 1034706.335859: tracing_mark_write: E|593 17440 surfaceflinger-591 ( 591) [001] ...1 1034706.335987: tracing_mark_write: E|591 17441 sensors@1.0-se-778 ( 778) [005] ...1 1034706.354082: tracing_mark_write: E|778 17442 SensorService-1283 ( 1151) [001] ...1 1034706.354261: tracing_mark_write: E|1151 17443 SensorService-1283 ( 1151) [001] ...1 1034706.354387: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 17444 sensors@1.0-se-778 ( 778) [005] ...1 1034706.354520: tracing_mark_write: B|778|HIDL::ISensors::poll::server 17445 sensors@1.0-se-778 ( 778) [005] ...1 1034706.373745: tracing_mark_write: E|778 17446 SensorService-1283 ( 1151) [001] ...1 1034706.374043: tracing_mark_write: E|1151 17447 SensorService-1283 ( 1151) [001] ...1 1034706.374386: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 17448 sensors@1.0-se-778 ( 778) [005] ...1 1034706.374580: tracing_mark_write: B|778|HIDL::ISensors::poll::server 17449 surfaceflinger-591 ( 591) [000] ...1 1034706.385555: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 17450 composer@2.1-s-593 ( 593) [001] ...1 1034706.385784: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 17451 composer@2.1-s-593 ( 593) [001] ...1 1034706.385906: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 17452 composer@2.1-s-593 ( 593) [001] ...1 1034706.385941: tracing_mark_write: B|593|HWDevice::Commit:: 17453 composer@2.1-s-593 ( 593) [001] ...1 1034706.386133: tracing_mark_write: E|593 17454 composer@2.1-s-593 ( 593) [001] ...1 1034706.386178: tracing_mark_write: E|593 17455 composer@2.1-s-593 ( 593) [001] ...1 1034706.386228: tracing_mark_write: E|593 17456 surfaceflinger-591 ( 591) [000] ...1 1034706.386354: tracing_mark_write: E|591 17457 sensors@1.0-se-778 ( 778) [005] ...1 1034706.392729: tracing_mark_write: E|778 17458 SensorService-1283 ( 1151) [001] ...1 1034706.392927: tracing_mark_write: E|1151 17459 SensorService-1283 ( 1151) [001] ...1 1034706.393096: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 17460 sensors@1.0-se-778 ( 778) [005] ...1 1034706.393275: tracing_mark_write: B|778|HIDL::ISensors::poll::server 17461 sensors@1.0-se-778 ( 778) [007] ...1 1034706.412284: tracing_mark_write: E|778 17462 SensorService-1283 ( 1151) [001] ...1 1034706.412481: tracing_mark_write: E|1151 17463 SensorService-1283 ( 1151) [001] ...1 1034706.412626: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 17464 sensors@1.0-se-778 ( 778) [007] ...1 1034706.412800: tracing_mark_write: B|778|HIDL::ISensors::poll::server 17465 sensors@1.0-se-778 ( 778) [007] ...1 1034706.431070: tracing_mark_write: E|778 17466 SensorService-1283 ( 1151) [001] ...1 1034706.431204: tracing_mark_write: E|1151 17467 SensorService-1283 ( 1151) [001] ...1 1034706.431310: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 17468 sensors@1.0-se-778 ( 778) [007] ...1 1034706.431424: tracing_mark_write: B|778|HIDL::ISensors::poll::server 17469 surfaceflinger-591 ( 591) [002] ...1 1034706.435955: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 17470 composer@2.1-s-593 ( 593) [001] ...1 1034706.436174: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 17471 composer@2.1-s-593 ( 593) [001] ...1 1034706.436285: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 17472 composer@2.1-s-593 ( 593) [001] ...1 1034706.436318: tracing_mark_write: B|593|HWDevice::Commit:: 17473 composer@2.1-s-593 ( 593) [001] ...1 1034706.436503: tracing_mark_write: E|593 17474 composer@2.1-s-593 ( 593) [001] ...1 1034706.436598: tracing_mark_write: E|593 17475 composer@2.1-s-593 ( 593) [001] ...1 1034706.436650: tracing_mark_write: E|593 17476 surfaceflinger-591 ( 591) [003] ...1 1034706.436841: tracing_mark_write: E|591 17477 sensors@1.0-se-778 ( 778) [007] ...1 1034706.450493: tracing_mark_write: E|778 17478 SensorService-1283 ( 1151) [001] ...1 1034706.450671: tracing_mark_write: E|1151 17479 SensorService-1283 ( 1151) [001] ...1 1034706.450808: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 17480 sensors@1.0-se-778 ( 778) [007] ...1 1034706.450983: tracing_mark_write: B|778|HIDL::ISensors::poll::server 17481 surfaceflinger-591 ( 591) [000] ...1 1034706.469617: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 17482 sensors@1.0-se-778 ( 778) [007] ...1 1034706.469950: tracing_mark_write: E|778 17483 composer@2.1-s-593 ( 593) [001] ...1 1034706.469959: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 17484 composer@2.1-s-593 ( 593) [001] ...1 1034706.470097: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 17485 SensorService-1283 ( 1151) [000] ...1 1034706.470132: tracing_mark_write: E|1151 17486 composer@2.1-s-593 ( 593) [001] ...1 1034706.470135: tracing_mark_write: B|593|HWDevice::Commit:: 17487 SensorService-1283 ( 1151) [000] ...1 1034706.470270: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 17488 composer@2.1-s-593 ( 593) [001] ...1 1034706.470338: tracing_mark_write: E|593 17489 composer@2.1-s-593 ( 593) [001] ...1 1034706.470385: tracing_mark_write: E|593 17490 sensors@1.0-se-778 ( 778) [007] ...1 1034706.470417: tracing_mark_write: B|778|HIDL::ISensors::poll::server 17491 composer@2.1-s-593 ( 593) [001] ...1 1034706.470439: tracing_mark_write: E|593 17492 surfaceflinger-591 ( 591) [000] ...1 1034706.470572: tracing_mark_write: E|591 17493 sensors@1.0-se-778 ( 778) [007] ...1 1034706.488891: tracing_mark_write: E|778 17494 SensorService-1283 ( 1151) [000] ...1 1034706.489084: tracing_mark_write: E|1151 17495 SensorService-1283 ( 1151) [000] ...1 1034706.489238: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 17496 sensors@1.0-se-778 ( 778) [007] ...1 1034706.489421: tracing_mark_write: B|778|HIDL::ISensors::poll::server 17497 sensors@1.0-se-778 ( 778) [007] ...1 1034706.508288: tracing_mark_write: E|778 17498 SensorService-1283 ( 1151) [000] ...1 1034706.508471: tracing_mark_write: E|1151 17499 SensorService-1283 ( 1151) [000] ...1 1034706.508620: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 17500 sensors@1.0-se-778 ( 778) [007] ...1 1034706.508775: tracing_mark_write: B|778|HIDL::ISensors::poll::server 17501 surfaceflinger-591 ( 591) [001] ...1 1034706.519821: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 17502 composer@2.1-s-593 ( 593) [000] ...1 1034706.520140: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 17503 composer@2.1-s-593 ( 593) [000] ...1 1034706.520259: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 17504 composer@2.1-s-593 ( 593) [000] ...1 1034706.520294: tracing_mark_write: B|593|HWDevice::Commit:: 17505 composer@2.1-s-593 ( 593) [000] ...1 1034706.520481: tracing_mark_write: E|593 17506 composer@2.1-s-593 ( 593) [000] ...1 1034706.520523: tracing_mark_write: E|593 17507 composer@2.1-s-593 ( 593) [000] ...1 1034706.520574: tracing_mark_write: E|593 17508 surfaceflinger-591 ( 591) [001] ...1 1034706.520701: tracing_mark_write: E|591 17509 sensors@1.0-se-778 ( 778) [007] ...1 1034706.527394: tracing_mark_write: E|778 17510 SensorService-1283 ( 1151) [000] ...1 1034706.527563: tracing_mark_write: E|1151 17511 SensorService-1283 ( 1151) [000] ...1 1034706.527705: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 17512 sensors@1.0-se-778 ( 778) [007] ...1 1034706.527868: tracing_mark_write: B|778|HIDL::ISensors::poll::server 17513 sensors@1.0-se-778 ( 778) [007] ...1 1034706.546839: tracing_mark_write: E|778 17514 SensorService-1283 ( 1151) [000] ...1 1034706.547058: tracing_mark_write: E|1151 17515 SensorService-1283 ( 1151) [000] ...1 1034706.547242: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 17516 sensors@1.0-se-778 ( 778) [007] ...1 1034706.547433: tracing_mark_write: B|778|HIDL::ISensors::poll::server 17517 sensors@1.0-se-778 ( 778) [007] ...1 1034706.565867: tracing_mark_write: E|778 17518 SensorService-1283 ( 1151) [000] ...1 1034706.566018: tracing_mark_write: E|1151 17519 SensorService-1283 ( 1151) [000] ...1 1034706.566149: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 17520 sensors@1.0-se-778 ( 778) [007] ...1 1034706.566269: tracing_mark_write: B|778|HIDL::ISensors::poll::server 17521 surfaceflinger-591 ( 591) [001] ...1 1034706.570155: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 17522 composer@2.1-s-593 ( 593) [000] ...1 1034706.570365: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 17523 composer@2.1-s-593 ( 593) [000] ...1 1034706.570479: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 17524 composer@2.1-s-593 ( 593) [000] ...1 1034706.570512: tracing_mark_write: B|593|HWDevice::Commit:: 17525 composer@2.1-s-593 ( 593) [000] ...1 1034706.570683: tracing_mark_write: E|593 17526 composer@2.1-s-593 ( 593) [000] ...1 1034706.570725: tracing_mark_write: E|593 17527 composer@2.1-s-593 ( 593) [000] ...1 1034706.570771: tracing_mark_write: E|593 17528 surfaceflinger-591 ( 591) [001] ...1 1034706.570885: tracing_mark_write: E|591 17529 sensors@1.0-se-778 ( 778) [007] ...1 1034706.585128: tracing_mark_write: E|778 17530 SensorService-1283 ( 1151) [000] ...1 1034706.585332: tracing_mark_write: E|1151 17531 SensorService-1283 ( 1151) [000] ...1 1034706.585518: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 17532 sensors@1.0-se-778 ( 778) [007] ...1 1034706.585694: tracing_mark_write: B|778|HIDL::ISensors::poll::server 17533 surfaceflinger-591 ( 591) [000] ...1 1034706.603865: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 17534 composer@2.1-s-593 ( 593) [001] ...1 1034706.604107: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 17535 composer@2.1-s-593 ( 593) [001] ...1 1034706.604232: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 17536 composer@2.1-s-593 ( 593) [001] ...1 1034706.604268: tracing_mark_write: B|593|HWDevice::Commit:: 17537 sensors@1.0-se-778 ( 778) [007] ...1 1034706.604435: tracing_mark_write: E|778 17538 composer@2.1-s-593 ( 593) [001] ...1 1034706.604463: tracing_mark_write: E|593 17539 composer@2.1-s-593 ( 593) [001] ...1 1034706.604505: tracing_mark_write: E|593 17540 composer@2.1-s-593 ( 593) [001] ...1 1034706.604553: tracing_mark_write: E|593 17541 SensorService-1283 ( 1151) [000] ...1 1034706.604585: tracing_mark_write: E|1151 17542 surfaceflinger-591 ( 591) [003] ...1 1034706.604689: tracing_mark_write: E|591 17543 SensorService-1283 ( 1151) [000] ...1 1034706.604713: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 17544 sensors@1.0-se-778 ( 778) [007] ...1 1034706.604846: tracing_mark_write: B|778|HIDL::ISensors::poll::server 17545 sensors@1.0-se-778 ( 778) [007] ...1 1034706.623654: tracing_mark_write: E|778 17546 SensorService-1283 ( 1151) [000] ...1 1034706.623820: tracing_mark_write: E|1151 17547 SensorService-1283 ( 1151) [000] ...1 1034706.623943: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 17548 sensors@1.0-se-778 ( 778) [007] ...1 1034706.624114: tracing_mark_write: B|778|HIDL::ISensors::poll::server 17549 sensors@1.0-se-778 ( 778) [007] ...1 1034706.642974: tracing_mark_write: E|778 17550 SensorService-1283 ( 1151) [000] ...1 1034706.643289: tracing_mark_write: E|1151 17551 SensorService-1283 ( 1151) [000] ...1 1034706.643455: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 17552 sensors@1.0-se-778 ( 778) [007] ...1 1034706.643617: tracing_mark_write: B|778|HIDL::ISensors::poll::server 17553 surfaceflinger-591 ( 591) [002] ...1 1034706.654133: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 17554 composer@2.1-s-593 ( 593) [001] ...1 1034706.654387: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 17555 composer@2.1-s-593 ( 593) [001] ...1 1034706.654510: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 17556 composer@2.1-s-593 ( 593) [001] ...1 1034706.654546: tracing_mark_write: B|593|HWDevice::Commit:: 17557 composer@2.1-s-593 ( 593) [001] ...1 1034706.654778: tracing_mark_write: E|593 17558 composer@2.1-s-593 ( 593) [001] ...1 1034706.654826: tracing_mark_write: E|593 17559 composer@2.1-s-593 ( 593) [001] ...1 1034706.654879: tracing_mark_write: E|593 17560 surfaceflinger-591 ( 591) [000] ...1 1034706.655023: tracing_mark_write: E|591 17561 sensors@1.0-se-778 ( 778) [007] ...1 1034706.662308: tracing_mark_write: E|778 17562 SensorService-1283 ( 1151) [000] ...1 1034706.662500: tracing_mark_write: E|1151 17563 SensorService-1283 ( 1151) [000] ...1 1034706.662656: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 17564 sensors@1.0-se-778 ( 778) [007] ...1 1034706.662860: tracing_mark_write: B|778|HIDL::ISensors::poll::server 17565 sensors@1.0-se-778 ( 778) [007] ...1 1034706.681550: tracing_mark_write: E|778 17566 SensorService-1283 ( 1151) [000] ...1 1034706.681751: tracing_mark_write: E|1151 17567 SensorService-1283 ( 1151) [000] ...1 1034706.681935: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 17568 sensors@1.0-se-778 ( 778) [007] ...1 1034706.682111: tracing_mark_write: B|778|HIDL::ISensors::poll::server 17569 sensors@1.0-se-778 ( 778) [007] ...1 1034706.700651: tracing_mark_write: E|778 17570 SensorService-1283 ( 1151) [000] ...1 1034706.700825: tracing_mark_write: E|1151 17571 SensorService-1283 ( 1151) [000] ...1 1034706.700981: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 17572 sensors@1.0-se-778 ( 778) [007] ...1 1034706.701140: tracing_mark_write: B|778|HIDL::ISensors::poll::server 17573 surfaceflinger-591 ( 591) [000] ...1 1034706.704393: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 17574 composer@2.1-s-593 ( 593) [001] ...1 1034706.704598: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 17575 composer@2.1-s-593 ( 593) [001] ...1 1034706.704721: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 17576 composer@2.1-s-593 ( 593) [001] ...1 1034706.704757: tracing_mark_write: B|593|HWDevice::Commit:: 17577 composer@2.1-s-593 ( 593) [001] ...1 1034706.704944: tracing_mark_write: E|593 17578 composer@2.1-s-593 ( 593) [001] ...1 1034706.704993: tracing_mark_write: E|593 17579 composer@2.1-s-593 ( 593) [001] ...1 1034706.705047: tracing_mark_write: E|593 17580 surfaceflinger-591 ( 591) [000] ...1 1034706.705163: tracing_mark_write: E|591 17581 sensors@1.0-se-778 ( 778) [007] ...1 1034706.719723: tracing_mark_write: E|778 17582 SensorService-1283 ( 1151) [000] ...1 1034706.719953: tracing_mark_write: E|1151 17583 SensorService-1283 ( 1151) [000] ...1 1034706.720134: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 17584 sensors@1.0-se-778 ( 778) [007] ...1 1034706.720255: tracing_mark_write: B|778|HIDL::ISensors::poll::server 17585 surfaceflinger-591 ( 591) [002] ...1 1034706.738188: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 17586 composer@2.1-s-593 ( 593) [001] ...1 1034706.738461: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 17587 composer@2.1-s-593 ( 593) [001] ...1 1034706.738597: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 17588 composer@2.1-s-593 ( 593) [001] ...1 1034706.738635: tracing_mark_write: B|593|HWDevice::Commit:: 17589 composer@2.1-s-593 ( 593) [001] ...1 1034706.738844: tracing_mark_write: E|593 17590 composer@2.1-s-593 ( 593) [001] ...1 1034706.738894: tracing_mark_write: E|593 17591 composer@2.1-s-593 ( 593) [001] ...1 1034706.738952: tracing_mark_write: E|593 17592 surfaceflinger-591 ( 591) [000] ...1 1034706.739126: tracing_mark_write: E|591 17593 sensors@1.0-se-778 ( 778) [007] ...1 1034706.739325: tracing_mark_write: E|778 17594 SensorService-1283 ( 1151) [001] ...1 1034706.739486: tracing_mark_write: E|1151 17595 SensorService-1283 ( 1151) [001] ...1 1034706.739632: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 17596 sensors@1.0-se-778 ( 778) [007] ...1 1034706.739775: tracing_mark_write: B|778|HIDL::ISensors::poll::server 17597 sensors@1.0-se-778 ( 778) [007] ...1 1034706.758537: tracing_mark_write: E|778 17598 SensorService-1283 ( 1151) [001] ...1 1034706.758715: tracing_mark_write: E|1151 17599 SensorService-1283 ( 1151) [001] ...1 1034706.758856: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 17600 sensors@1.0-se-778 ( 778) [007] ...1 1034706.759047: tracing_mark_write: B|778|HIDL::ISensors::poll::server 17601 sensors@1.0-se-778 ( 778) [007] ...1 1034706.777834: tracing_mark_write: E|778 17602 SensorService-1283 ( 1151) [001] ...1 1034706.778046: tracing_mark_write: E|1151 17603 SensorService-1283 ( 1151) [001] ...1 1034706.778223: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 17604 sensors@1.0-se-778 ( 778) [007] ...1 1034706.778408: tracing_mark_write: B|778|HIDL::ISensors::poll::server 17605 surfaceflinger-591 ( 591) [001] ...1 1034706.788353: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 17606 composer@2.1-s-593 ( 593) [000] ...1 1034706.788609: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 17607 composer@2.1-s-593 ( 593) [000] ...1 1034706.788731: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 17608 composer@2.1-s-593 ( 593) [000] ...1 1034706.788766: tracing_mark_write: B|593|HWDevice::Commit:: 17609 composer@2.1-s-593 ( 593) [000] ...1 1034706.788955: tracing_mark_write: E|593 17610 composer@2.1-s-593 ( 593) [000] ...1 1034706.789000: tracing_mark_write: E|593 17611 composer@2.1-s-593 ( 593) [000] ...1 1034706.789050: tracing_mark_write: E|593 17612 surfaceflinger-591 ( 591) [001] ...1 1034706.789180: tracing_mark_write: E|591 17613 sensors@1.0-se-778 ( 778) [007] ...1 1034706.797059: tracing_mark_write: E|778 17614 SensorService-1283 ( 1151) [001] ...1 1034706.797239: tracing_mark_write: E|1151 17615 SensorService-1283 ( 1151) [001] ...1 1034706.797380: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 17616 sensors@1.0-se-778 ( 778) [007] ...1 1034706.797549: tracing_mark_write: B|778|HIDL::ISensors::poll::server 17617 sensors@1.0-se-778 ( 778) [007] ...1 1034706.816675: tracing_mark_write: E|778 17618 SensorService-1283 ( 1151) [001] ...1 1034706.816966: tracing_mark_write: E|1151 17619 SensorService-1283 ( 1151) [001] ...1 1034706.817263: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 17620 sensors@1.0-se-778 ( 778) [007] ...1 1034706.817449: tracing_mark_write: B|778|HIDL::ISensors::poll::server 17621 surfaceflinger-591 ( 591) [001] ...1 1034706.822063: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 17622 composer@2.1-s-593 ( 593) [000] ...1 1034706.822371: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 17623 composer@2.1-s-593 ( 593) [000] ...1 1034706.822512: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 17624 composer@2.1-s-593 ( 593) [000] ...1 1034706.822553: tracing_mark_write: B|593|HWDevice::Commit:: 17625 composer@2.1-s-593 ( 593) [000] ...1 1034706.822778: tracing_mark_write: E|593 17626 composer@2.1-s-593 ( 593) [000] ...1 1034706.822831: tracing_mark_write: E|593 17627 composer@2.1-s-593 ( 593) [000] ...1 1034706.822891: tracing_mark_write: E|593 17628 surfaceflinger-591 ( 591) [001] ...1 1034706.823049: tracing_mark_write: E|591 17629 sensors@1.0-se-778 ( 778) [007] ...1 1034706.835420: tracing_mark_write: E|778 17630 SensorService-1283 ( 1151) [001] ...1 1034706.835585: tracing_mark_write: E|1151 17631 SensorService-1283 ( 1151) [001] ...1 1034706.835723: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 17632 sensors@1.0-se-778 ( 778) [007] ...1 1034706.835881: tracing_mark_write: B|778|HIDL::ISensors::poll::server 17633 sensors@1.0-se-778 ( 778) [007] ...1 1034706.854660: tracing_mark_write: E|778 17634 SensorService-1283 ( 1151) [003] ...1 1034706.854799: tracing_mark_write: E|1151 17635 SensorService-1283 ( 1151) [003] ...1 1034706.854933: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 17636 sensors@1.0-se-778 ( 778) [007] ...1 1034706.855047: tracing_mark_write: B|778|HIDL::ISensors::poll::server 17637 surfaceflinger-591 ( 591) [002] ...1 1034706.872228: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 17638 composer@2.1-s-593 ( 593) [000] ...1 1034706.872471: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 17639 composer@2.1-s-593 ( 593) [000] ...1 1034706.872585: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 17640 composer@2.1-s-593 ( 593) [000] ...1 1034706.872619: tracing_mark_write: B|593|HWDevice::Commit:: 17641 composer@2.1-s-593 ( 593) [000] ...1 1034706.872796: tracing_mark_write: E|593 17642 composer@2.1-s-593 ( 593) [000] ...1 1034706.872840: tracing_mark_write: E|593 17643 composer@2.1-s-593 ( 593) [000] ...1 1034706.872890: tracing_mark_write: E|593 17644 surfaceflinger-591 ( 591) [003] ...1 1034706.873031: tracing_mark_write: E|591 17645 sensors@1.0-se-778 ( 778) [007] ...1 1034706.875747: tracing_mark_write: E|778 17646 SensorService-1283 ( 1151) [003] ...1 1034706.875893: tracing_mark_write: E|1151 17647 SensorService-1283 ( 1151) [003] ...1 1034706.876037: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 17648 sensors@1.0-se-778 ( 778) [007] ...1 1034706.876184: tracing_mark_write: B|778|HIDL::ISensors::poll::server 17649 sensors@1.0-se-778 ( 778) [007] ...1 1034706.893332: tracing_mark_write: E|778 17650 SensorService-1283 ( 1151) [003] ...1 1034706.893523: tracing_mark_write: E|1151 17651 SensorService-1283 ( 1151) [003] ...1 1034706.893677: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 17652 sensors@1.0-se-778 ( 778) [007] ...1 1034706.893854: tracing_mark_write: B|778|HIDL::ISensors::poll::server 17653 surfaceflinger-591 ( 591) [000] ...1 1034706.906003: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 17654 composer@2.1-s-593 ( 593) [001] ...1 1034706.906284: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 17655 composer@2.1-s-593 ( 593) [001] ...1 1034706.906417: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 17656 composer@2.1-s-593 ( 593) [001] ...1 1034706.906457: tracing_mark_write: B|593|HWDevice::Commit:: 17657 composer@2.1-s-593 ( 593) [001] ...1 1034706.906751: tracing_mark_write: E|593 17658 composer@2.1-s-593 ( 593) [001] ...1 1034706.906806: tracing_mark_write: E|593 17659 composer@2.1-s-593 ( 593) [001] ...1 1034706.906873: tracing_mark_write: E|593 17660 surfaceflinger-591 ( 591) [000] ...1 1034706.907080: tracing_mark_write: E|591 17661 sensors@1.0-se-778 ( 778) [007] ...1 1034706.912679: tracing_mark_write: E|778 17662 SensorService-1283 ( 1151) [003] ...1 1034706.912869: tracing_mark_write: E|1151 17663 SensorService-1283 ( 1151) [003] ...1 1034706.913058: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 17664 sensors@1.0-se-778 ( 778) [007] ...1 1034706.913300: tracing_mark_write: B|778|HIDL::ISensors::poll::server 17665 sensors@1.0-se-778 ( 778) [007] ...1 1034706.932096: tracing_mark_write: E|778 17666 SensorService-1283 ( 1151) [003] ...1 1034706.932298: tracing_mark_write: E|1151 17667 SensorService-1283 ( 1151) [003] ...1 1034706.932489: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 17668 sensors@1.0-se-778 ( 778) [007] ...1 1034706.932672: tracing_mark_write: B|778|HIDL::ISensors::poll::server 17669 sensors@1.0-se-778 ( 778) [007] ...1 1034706.951247: tracing_mark_write: E|778 17670 SensorService-1283 ( 1151) [003] ...1 1034706.951423: tracing_mark_write: E|1151 17671 SensorService-1283 ( 1151) [003] ...1 1034706.951577: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 17672 sensors@1.0-se-778 ( 778) [007] ...1 1034706.951736: tracing_mark_write: B|778|HIDL::ISensors::poll::server 17673 surfaceflinger-591 ( 591) [002] ...1 1034706.956212: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 17674 composer@2.1-s-593 ( 593) [001] ...1 1034706.956485: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 17675 composer@2.1-s-593 ( 593) [001] ...1 1034706.956682: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 17676 composer@2.1-s-593 ( 593) [001] ...1 1034706.956720: tracing_mark_write: B|593|HWDevice::Commit:: 17677 composer@2.1-s-593 ( 593) [001] ...1 1034706.956924: tracing_mark_write: E|593 17678 composer@2.1-s-593 ( 593) [001] ...1 1034706.956973: tracing_mark_write: E|593 17679 composer@2.1-s-593 ( 593) [001] ...1 1034706.957031: tracing_mark_write: E|593 17680 surfaceflinger-591 ( 591) [000] ...1 1034706.957206: tracing_mark_write: E|591 17681 sensors@1.0-se-778 ( 778) [007] ...1 1034706.970503: tracing_mark_write: E|778 17682 SensorService-1283 ( 1151) [003] ...1 1034706.970701: tracing_mark_write: E|1151 17683 SensorService-1283 ( 1151) [003] ...1 1034706.970879: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 17684 sensors@1.0-se-778 ( 778) [007] ...1 1034706.971058: tracing_mark_write: B|778|HIDL::ISensors::poll::server 17685 sensors@1.0-se-778 ( 778) [007] ...1 1034706.989548: tracing_mark_write: E|778 17686 SensorService-1283 ( 1151) [003] ...1 1034706.989781: tracing_mark_write: E|1151 17687 SensorService-1283 ( 1151) [003] ...1 1034706.990024: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 17688 sensors@1.0-se-778 ( 778) [007] ...1 1034706.990223: tracing_mark_write: B|778|HIDL::ISensors::poll::server 17689 surfaceflinger-591 ( 591) [002] ...1 1034707.006850: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 17690 composer@2.1-s-593 ( 593) [001] ...1 1034707.007204: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 17691 composer@2.1-s-593 ( 593) [001] ...1 1034707.007341: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 17692 composer@2.1-s-593 ( 593) [001] ...1 1034707.007381: tracing_mark_write: B|593|HWDevice::Commit:: 17693 composer@2.1-s-593 ( 593) [001] ...1 1034707.007601: tracing_mark_write: E|593 17694 composer@2.1-s-593 ( 593) [001] ...1 1034707.007652: tracing_mark_write: E|593 17695 composer@2.1-s-593 ( 593) [001] ...1 1034707.007714: tracing_mark_write: E|593 17696 surfaceflinger-591 ( 591) [000] ...1 1034707.007908: tracing_mark_write: E|591 17697 sensors@1.0-se-778 ( 778) [007] ...1 1034707.010765: tracing_mark_write: E|778 17698 SensorService-1283 ( 1151) [003] ...1 1034707.010928: tracing_mark_write: E|1151 17699 SensorService-1283 ( 1151) [003] ...1 1034707.011079: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 17700 sensors@1.0-se-778 ( 778) [007] ...1 1034707.011225: tracing_mark_write: B|778|HIDL::ISensors::poll::server 17701 sensors@1.0-se-778 ( 778) [007] ...1 1034707.028189: tracing_mark_write: E|778 17702 SensorService-1283 ( 1151) [003] ...1 1034707.028380: tracing_mark_write: E|1151 17703 SensorService-1283 ( 1151) [003] ...1 1034707.028528: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 17704 sensors@1.0-se-778 ( 778) [007] ...1 1034707.028700: tracing_mark_write: B|778|HIDL::ISensors::poll::server 17705 surfaceflinger-591 ( 591) [001] ...1 1034707.040285: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 17706 composer@2.1-s-593 ( 593) [000] ...1 1034707.040542: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 17707 composer@2.1-s-593 ( 593) [000] ...1 1034707.040659: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 17708 composer@2.1-s-593 ( 593) [000] ...1 1034707.040692: tracing_mark_write: B|593|HWDevice::Commit:: 17709 composer@2.1-s-593 ( 593) [000] ...1 1034707.040867: tracing_mark_write: E|593 17710 composer@2.1-s-593 ( 593) [000] ...1 1034707.040911: tracing_mark_write: E|593 17711 composer@2.1-s-593 ( 593) [000] ...1 1034707.040959: tracing_mark_write: E|593 17712 surfaceflinger-591 ( 591) [001] ...1 1034707.041072: tracing_mark_write: E|591 17713 sensors@1.0-se-778 ( 778) [007] ...1 1034707.047269: tracing_mark_write: E|778 17714 SensorService-1283 ( 1151) [003] ...1 1034707.047436: tracing_mark_write: E|1151 17715 SensorService-1283 ( 1151) [003] ...1 1034707.047561: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 17716 sensors@1.0-se-778 ( 778) [007] ...1 1034707.047726: tracing_mark_write: B|778|HIDL::ISensors::poll::server 17717 sensors@1.0-se-778 ( 778) [007] ...1 1034707.066636: tracing_mark_write: E|778 17718 SensorService-1283 ( 1151) [003] ...1 1034707.066853: tracing_mark_write: E|1151 17719 SensorService-1283 ( 1151) [003] ...1 1034707.067037: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 17720 sensors@1.0-se-778 ( 778) [007] ...1 1034707.067227: tracing_mark_write: B|778|HIDL::ISensors::poll::server 17721 sensors@1.0-se-778 ( 778) [007] ...1 1034707.085885: tracing_mark_write: E|778 17722 SensorService-1283 ( 1151) [003] ...1 1034707.086062: tracing_mark_write: E|1151 17723 SensorService-1283 ( 1151) [003] ...1 1034707.086213: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 17724 sensors@1.0-se-778 ( 778) [007] ...1 1034707.086380: tracing_mark_write: B|778|HIDL::ISensors::poll::server 17725 surfaceflinger-591 ( 591) [002] ...1 1034707.090388: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 17726 composer@2.1-s-593 ( 593) [000] ...1 1034707.090619: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 17727 composer@2.1-s-593 ( 593) [000] ...1 1034707.090747: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 17728 composer@2.1-s-593 ( 593) [000] ...1 1034707.090783: tracing_mark_write: B|593|HWDevice::Commit:: 17729 composer@2.1-s-593 ( 593) [000] ...1 1034707.090993: tracing_mark_write: E|593 17730 composer@2.1-s-593 ( 593) [000] ...1 1034707.091039: tracing_mark_write: E|593 17731 composer@2.1-s-593 ( 593) [000] ...1 1034707.091092: tracing_mark_write: E|593 17732 surfaceflinger-591 ( 591) [001] ...1 1034707.091238: tracing_mark_write: E|591 17733 sensors@1.0-se-778 ( 778) [007] ...1 1034707.105013: tracing_mark_write: E|778 17734 SensorService-1283 ( 1151) [003] ...1 1034707.105165: tracing_mark_write: E|1151 17735 SensorService-1283 ( 1151) [003] ...1 1034707.105299: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 17736 sensors@1.0-se-778 ( 778) [007] ...1 1034707.105439: tracing_mark_write: B|778|HIDL::ISensors::poll::server 17737 surfaceflinger-591 ( 591) [002] ...1 1034707.124020: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 17738 composer@2.1-s-593 ( 593) [000] ...1 1034707.124275: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 17739 sensors@1.0-se-778 ( 778) [007] ...1 1034707.124306: tracing_mark_write: E|778 17740 composer@2.1-s-593 ( 593) [000] ...1 1034707.124448: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 17741 SensorService-1283 ( 1151) [003] ...1 1034707.124453: tracing_mark_write: E|1151 17742 composer@2.1-s-593 ( 593) [000] ...1 1034707.124482: tracing_mark_write: B|593|HWDevice::Commit:: 17743 SensorService-1283 ( 1151) [003] ...1 1034707.124584: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 17744 composer@2.1-s-593 ( 593) [000] ...1 1034707.124667: tracing_mark_write: E|593 17745 sensors@1.0-se-778 ( 778) [007] ...1 1034707.124712: tracing_mark_write: B|778|HIDL::ISensors::poll::server 17746 composer@2.1-s-593 ( 593) [000] ...1 1034707.124713: tracing_mark_write: E|593 17747 composer@2.1-s-593 ( 593) [000] ...1 1034707.124766: tracing_mark_write: E|593 17748 surfaceflinger-591 ( 591) [001] ...1 1034707.124893: tracing_mark_write: E|591 17749 sensors@1.0-se-778 ( 778) [007] ...1 1034707.143745: tracing_mark_write: E|778 17750 SensorService-1283 ( 1151) [003] ...1 1034707.143933: tracing_mark_write: E|1151 17751 SensorService-1283 ( 1151) [003] ...1 1034707.144101: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 17752 sensors@1.0-se-778 ( 778) [007] ...1 1034707.144279: tracing_mark_write: B|778|HIDL::ISensors::poll::server 17753 sensors@1.0-se-778 ( 778) [007] ...1 1034707.163286: tracing_mark_write: E|778 17754 SensorService-1283 ( 1151) [003] ...1 1034707.163478: tracing_mark_write: E|1151 17755 SensorService-1283 ( 1151) [003] ...1 1034707.163666: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 17756 sensors@1.0-se-778 ( 778) [007] ...1 1034707.163829: tracing_mark_write: B|778|HIDL::ISensors::poll::server 17757 surfaceflinger-591 ( 591) [001] ...1 1034707.174316: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 17758 composer@2.1-s-593 ( 593) [000] ...1 1034707.174582: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 17759 composer@2.1-s-593 ( 593) [000] ...1 1034707.174705: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 17760 composer@2.1-s-593 ( 593) [000] ...1 1034707.174741: tracing_mark_write: B|593|HWDevice::Commit:: 17761 composer@2.1-s-593 ( 593) [000] ...1 1034707.174937: tracing_mark_write: E|593 17762 composer@2.1-s-593 ( 593) [000] ...1 1034707.174985: tracing_mark_write: E|593 17763 composer@2.1-s-593 ( 593) [000] ...1 1034707.175036: tracing_mark_write: E|593 17764 surfaceflinger-591 ( 591) [001] ...1 1034707.175166: tracing_mark_write: E|591 17765 sensors@1.0-se-778 ( 778) [007] ...1 1034707.181956: tracing_mark_write: E|778 17766 SensorService-1283 ( 1151) [003] ...1 1034707.182115: tracing_mark_write: E|1151 17767 SensorService-1283 ( 1151) [003] ...1 1034707.182247: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 17768 sensors@1.0-se-778 ( 778) [007] ...1 1034707.182398: tracing_mark_write: B|778|HIDL::ISensors::poll::server 17769 sensors@1.0-se-778 ( 778) [007] ...1 1034707.201483: tracing_mark_write: E|778 17770 SensorService-1283 ( 1151) [003] ...1 1034707.201685: tracing_mark_write: E|1151 17771 SensorService-1283 ( 1151) [003] ...1 1034707.201883: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 17772 sensors@1.0-se-778 ( 778) [007] ...1 1034707.202069: tracing_mark_write: B|778|HIDL::ISensors::poll::server 17773 sensors@1.0-se-778 ( 778) [007] ...1 1034707.220546: tracing_mark_write: E|778 17774 SensorService-1283 ( 1151) [003] ...1 1034707.220728: tracing_mark_write: E|1151 17775 SensorService-1283 ( 1151) [003] ...1 1034707.220891: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 17776 sensors@1.0-se-778 ( 778) [007] ...1 1034707.221063: tracing_mark_write: B|778|HIDL::ISensors::poll::server 17777 surfaceflinger-591 ( 591) [001] ...1 1034707.224709: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 17778 composer@2.1-s-593 ( 593) [000] ...1 1034707.224994: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 17779 composer@2.1-s-593 ( 593) [000] ...1 1034707.225115: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 17780 composer@2.1-s-593 ( 593) [000] ...1 1034707.225149: tracing_mark_write: B|593|HWDevice::Commit:: 17781 composer@2.1-s-593 ( 593) [000] ...1 1034707.225337: tracing_mark_write: E|593 17782 composer@2.1-s-593 ( 593) [000] ...1 1034707.225379: tracing_mark_write: E|593 17783 composer@2.1-s-593 ( 593) [000] ...1 1034707.225427: tracing_mark_write: E|593 17784 surfaceflinger-591 ( 591) [001] ...1 1034707.225542: tracing_mark_write: E|591 17785 sensors@1.0-se-778 ( 778) [007] ...1 1034707.239983: tracing_mark_write: E|778 17786 SensorService-1283 ( 1151) [003] ...1 1034707.240160: tracing_mark_write: E|1151 17787 SensorService-1283 ( 1151) [003] ...1 1034707.240293: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 17788 HwBinder:778_1-1087 ( 778) [000] ...1 1034707.240445: tracing_mark_write: B|778|HIDL::ISensors::poll::server 17789 surfaceflinger-591 ( 591) [000] ...1 1034707.257964: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 17790 composer@2.1-s-593 ( 593) [001] ...1 1034707.258140: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 17791 composer@2.1-s-593 ( 593) [001] ...1 1034707.258227: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 17792 composer@2.1-s-593 ( 593) [001] ...1 1034707.258253: tracing_mark_write: B|593|HWDevice::Commit:: 17793 composer@2.1-s-593 ( 593) [001] ...1 1034707.258388: tracing_mark_write: E|593 17794 composer@2.1-s-593 ( 593) [001] ...1 1034707.258421: tracing_mark_write: E|593 17795 composer@2.1-s-593 ( 593) [001] ...1 1034707.258458: tracing_mark_write: E|593 17796 surfaceflinger-591 ( 591) [000] ...1 1034707.258543: tracing_mark_write: E|591 17797 HwBinder:778_1-1087 ( 778) [000] ...1 1034707.258929: tracing_mark_write: E|778 17798 SensorService-1283 ( 1151) [003] ...1 1034707.259012: tracing_mark_write: E|1151 17799 SensorService-1283 ( 1151) [003] ...1 1034707.259111: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 17800 HwBinder:778_1-1087 ( 778) [000] ...1 1034707.259161: tracing_mark_write: B|778|HIDL::ISensors::poll::server 17801 HwBinder:778_1-1087 ( 778) [001] ...1 1034707.278217: tracing_mark_write: E|778 17802 SensorService-1283 ( 1151) [003] ...1 1034707.278377: tracing_mark_write: E|1151 17803 SensorService-1283 ( 1151) [003] ...1 1034707.278517: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 17804 HwBinder:778_1-1087 ( 778) [001] ...1 1034707.278612: tracing_mark_write: B|778|HIDL::ISensors::poll::server 17805 HwBinder:778_1-1087 ( 778) [000] ...1 1034707.297476: tracing_mark_write: E|778 17806 SensorService-1283 ( 1151) [003] ...1 1034707.297628: tracing_mark_write: E|1151 17807 SensorService-1283 ( 1151) [003] ...1 1034707.297764: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 17808 HwBinder:778_1-1087 ( 778) [000] ...1 1034707.297848: tracing_mark_write: B|778|HIDL::ISensors::poll::server 17809 surfaceflinger-591 ( 591) [001] ...1 1034707.308390: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 17810 composer@2.1-s-593 ( 593) [000] ...1 1034707.308609: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 17811 composer@2.1-s-593 ( 593) [000] ...1 1034707.308715: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 17812 composer@2.1-s-593 ( 593) [000] ...1 1034707.308747: tracing_mark_write: B|593|HWDevice::Commit:: 17813 composer@2.1-s-593 ( 593) [000] ...1 1034707.308918: tracing_mark_write: E|593 17814 composer@2.1-s-593 ( 593) [000] ...1 1034707.308958: tracing_mark_write: E|593 17815 composer@2.1-s-593 ( 593) [000] ...1 1034707.309003: tracing_mark_write: E|593 17816 surfaceflinger-591 ( 591) [001] ...1 1034707.309110: tracing_mark_write: E|591 17817 HwBinder:778_1-1087 ( 778) [000] ...1 1034707.316842: tracing_mark_write: E|778 17818 SensorService-1283 ( 1151) [003] ...1 1034707.317016: tracing_mark_write: E|1151 17819 SensorService-1283 ( 1151) [003] ...1 1034707.317166: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 17820 HwBinder:778_1-1087 ( 778) [000] ...1 1034707.317268: tracing_mark_write: B|778|HIDL::ISensors::poll::server 17821 HwBinder:778_1-1087 ( 778) [000] ...1 1034707.336431: tracing_mark_write: E|778 17822 SensorService-1283 ( 1151) [003] ...1 1034707.336767: tracing_mark_write: E|1151 17823 SensorService-1283 ( 1151) [003] ...1 1034707.336982: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 17824 HwBinder:778_1-1087 ( 778) [000] ...1 1034707.337149: tracing_mark_write: B|778|HIDL::ISensors::poll::server 17825 surfaceflinger-591 ( 591) [000] ...1 1034707.342154: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 17826 composer@2.1-s-593 ( 593) [001] ...1 1034707.342436: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 17827 composer@2.1-s-593 ( 593) [001] ...1 1034707.342562: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 17828 composer@2.1-s-593 ( 593) [001] ...1 1034707.342599: tracing_mark_write: B|593|HWDevice::Commit:: 17829 composer@2.1-s-593 ( 593) [001] ...1 1034707.342801: tracing_mark_write: E|593 17830 composer@2.1-s-593 ( 593) [001] ...1 1034707.342850: tracing_mark_write: E|593 17831 composer@2.1-s-593 ( 593) [001] ...1 1034707.342907: tracing_mark_write: E|593 17832 surfaceflinger-591 ( 591) [000] ...1 1034707.343078: tracing_mark_write: E|591 17833 HwBinder:778_1-1087 ( 778) [000] ...1 1034707.355169: tracing_mark_write: E|778 17834 SensorService-1283 ( 1151) [003] ...1 1034707.355350: tracing_mark_write: E|1151 17835 SensorService-1283 ( 1151) [003] ...1 1034707.355511: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 17836 HwBinder:778_1-1087 ( 778) [000] ...1 1034707.355610: tracing_mark_write: B|778|HIDL::ISensors::poll::server 17837 HwBinder:778_1-1087 ( 778) [000] ...1 1034707.374418: tracing_mark_write: E|778 17838 SensorService-1283 ( 1151) [003] ...1 1034707.374593: tracing_mark_write: E|1151 17839 SensorService-1283 ( 1151) [003] ...1 1034707.374725: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 17840 HwBinder:778_1-1087 ( 778) [000] ...1 1034707.374849: tracing_mark_write: B|778|HIDL::ISensors::poll::server 17841 surfaceflinger-591 ( 591) [000] ...1 1034707.392203: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 17842 composer@2.1-s-593 ( 593) [001] ...1 1034707.392402: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 17843 composer@2.1-s-593 ( 593) [001] ...1 1034707.392506: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 17844 composer@2.1-s-593 ( 593) [001] ...1 1034707.392538: tracing_mark_write: B|593|HWDevice::Commit:: 17845 composer@2.1-s-593 ( 593) [001] ...1 1034707.392701: tracing_mark_write: E|593 17846 composer@2.1-s-593 ( 593) [001] ...1 1034707.392741: tracing_mark_write: E|593 17847 composer@2.1-s-593 ( 593) [001] ...1 1034707.392788: tracing_mark_write: E|593 17848 surfaceflinger-591 ( 591) [000] ...1 1034707.392902: tracing_mark_write: E|591 17849 HwBinder:778_1-1087 ( 778) [000] ...1 1034707.393588: tracing_mark_write: E|778 17850 SensorService-1283 ( 1151) [003] ...1 1034707.393686: tracing_mark_write: E|1151 17851 SensorService-1283 ( 1151) [003] ...1 1034707.393798: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 17852 HwBinder:778_1-1087 ( 778) [000] ...1 1034707.393872: tracing_mark_write: B|778|HIDL::ISensors::poll::server 17853 HwBinder:778_1-1087 ( 778) [000] ...1 1034707.412918: tracing_mark_write: E|778 17854 SensorService-1283 ( 1151) [003] ...1 1034707.413055: tracing_mark_write: E|1151 17855 SensorService-1283 ( 1151) [003] ...1 1034707.413188: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 17856 HwBinder:778_1-1087 ( 778) [000] ...1 1034707.413375: tracing_mark_write: B|778|HIDL::ISensors::poll::server 17857 surfaceflinger-591 ( 591) [000] ...1 1034707.426135: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 17858 composer@2.1-s-593 ( 593) [001] ...1 1034707.426410: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 17859 composer@2.1-s-593 ( 593) [001] ...1 1034707.426644: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 17860 composer@2.1-s-593 ( 593) [001] ...1 1034707.426695: tracing_mark_write: B|593|HWDevice::Commit:: 17861 composer@2.1-s-593 ( 593) [001] ...1 1034707.426981: tracing_mark_write: E|593 17862 composer@2.1-s-593 ( 593) [001] ...1 1034707.427050: tracing_mark_write: E|593 17863 composer@2.1-s-593 ( 593) [001] ...1 1034707.427131: tracing_mark_write: E|593 17864 surfaceflinger-591 ( 591) [000] ...1 1034707.427331: tracing_mark_write: E|591 17865 HwBinder:778_1-1087 ( 778) [000] ...1 1034707.432410: tracing_mark_write: E|778 17866 SensorService-1283 ( 1151) [003] ...1 1034707.432561: tracing_mark_write: E|1151 17867 SensorService-1283 ( 1151) [003] ...1 1034707.432721: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 17868 HwBinder:778_1-1087 ( 778) [000] ...1 1034707.432871: tracing_mark_write: B|778|HIDL::ISensors::poll::server 17869 HwBinder:778_1-1087 ( 778) [002] ...1 1034707.451497: tracing_mark_write: E|778 17870 SensorService-1283 ( 1151) [003] ...1 1034707.451633: tracing_mark_write: E|1151 17871 SensorService-1283 ( 1151) [003] ...1 1034707.451766: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 17872 HwBinder:778_1-1087 ( 778) [002] ...1 1034707.451908: tracing_mark_write: B|778|HIDL::ISensors::poll::server 17873 HwBinder:778_1-1087 ( 778) [000] ...1 1034707.470694: tracing_mark_write: E|778 17874 SensorService-1283 ( 1151) [003] ...1 1034707.470811: tracing_mark_write: E|1151 17875 SensorService-1283 ( 1151) [003] ...1 1034707.470923: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 17876 HwBinder:778_1-1087 ( 778) [000] ...1 1034707.471017: tracing_mark_write: B|778|HIDL::ISensors::poll::server 17877 surfaceflinger-591 ( 591) [000] ...1 1034707.476273: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 17878 composer@2.1-s-593 ( 593) [001] ...1 1034707.476482: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 17879 composer@2.1-s-593 ( 593) [001] ...1 1034707.476661: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 17880 composer@2.1-s-593 ( 593) [001] ...1 1034707.476699: tracing_mark_write: B|593|HWDevice::Commit:: 17881 composer@2.1-s-593 ( 593) [001] ...1 1034707.476899: tracing_mark_write: E|593 17882 composer@2.1-s-593 ( 593) [001] ...1 1034707.476949: tracing_mark_write: E|593 17883 composer@2.1-s-593 ( 593) [001] ...1 1034707.477006: tracing_mark_write: E|593 17884 surfaceflinger-591 ( 591) [000] ...1 1034707.477141: tracing_mark_write: E|591 17885 HwBinder:778_1-1087 ( 778) [000] ...1 1034707.490146: tracing_mark_write: E|778 17886 SensorService-1283 ( 1151) [003] ...1 1034707.490305: tracing_mark_write: E|1151 17887 SensorService-1283 ( 1151) [003] ...1 1034707.490460: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 17888 HwBinder:778_1-1087 ( 778) [000] ...1 1034707.490610: tracing_mark_write: B|778|HIDL::ISensors::poll::server 17889 surfaceflinger-591 ( 591) [000] ...1 1034707.510133: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 17890 composer@2.1-s-593 ( 593) [001] ...1 1034707.510439: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 17891 composer@2.1-s-593 ( 593) [001] ...1 1034707.510597: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 17892 composer@2.1-s-593 ( 593) [001] ...1 1034707.510645: tracing_mark_write: B|593|HWDevice::Commit:: 17893 composer@2.1-s-593 ( 593) [001] ...1 1034707.510921: tracing_mark_write: E|593 17894 composer@2.1-s-593 ( 593) [001] ...1 1034707.510997: tracing_mark_write: E|593 17895 HwBinder:778_1-1087 ( 778) [004] ...1 1034707.511046: tracing_mark_write: E|778 17896 composer@2.1-s-593 ( 593) [001] ...1 1034707.511087: tracing_mark_write: E|593 17897 SensorService-1283 ( 1151) [003] ...1 1034707.511251: tracing_mark_write: E|1151 17898 surfaceflinger-591 ( 591) [000] ...1 1034707.511298: tracing_mark_write: E|591 17899 SensorService-1283 ( 1151) [003] ...1 1034707.511435: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 17900 HwBinder:778_1-1087 ( 778) [004] ...1 1034707.511564: tracing_mark_write: B|778|HIDL::ISensors::poll::server 17901 HwBinder:778_1-1087 ( 778) [001] ...1 1034707.528522: tracing_mark_write: E|778 17902 SensorService-1283 ( 1151) [003] ...1 1034707.528627: tracing_mark_write: E|1151 17903 SensorService-1283 ( 1151) [003] ...1 1034707.528719: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 17904 HwBinder:778_1-1087 ( 778) [001] ...1 1034707.528792: tracing_mark_write: B|778|HIDL::ISensors::poll::server 17905 HwBinder:778_1-1087 ( 778) [000] ...1 1034707.547941: tracing_mark_write: E|778 17906 SensorService-1283 ( 1151) [003] ...1 1034707.548084: tracing_mark_write: E|1151 17907 SensorService-1283 ( 1151) [003] ...1 1034707.548207: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 17908 HwBinder:778_1-1087 ( 778) [000] ...1 1034707.548294: tracing_mark_write: B|778|HIDL::ISensors::poll::server 17909 surfaceflinger-591 ( 591) [000] ...1 1034707.559994: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 17910 composer@2.1-s-593 ( 593) [001] ...1 1034707.560155: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 17911 composer@2.1-s-593 ( 593) [001] ...1 1034707.560242: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 17912 composer@2.1-s-593 ( 593) [001] ...1 1034707.560268: tracing_mark_write: B|593|HWDevice::Commit:: 17913 composer@2.1-s-593 ( 593) [001] ...1 1034707.560416: tracing_mark_write: E|593 17914 composer@2.1-s-593 ( 593) [001] ...1 1034707.560450: tracing_mark_write: E|593 17915 composer@2.1-s-593 ( 593) [001] ...1 1034707.560490: tracing_mark_write: E|593 17916 surfaceflinger-591 ( 591) [000] ...1 1034707.560585: tracing_mark_write: E|591 17917 HwBinder:778_1-1087 ( 778) [000] ...1 1034707.567241: tracing_mark_write: E|778 17918 SensorService-1283 ( 1151) [003] ...1 1034707.567400: tracing_mark_write: E|1151 17919 SensorService-1283 ( 1151) [003] ...1 1034707.567527: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 17920 HwBinder:778_1-1087 ( 778) [000] ...1 1034707.567602: tracing_mark_write: B|778|HIDL::ISensors::poll::server 17921 HwBinder:778_1-1087 ( 778) [001] ...1 1034707.586637: tracing_mark_write: E|778 17922 SensorService-1283 ( 1151) [003] ...1 1034707.586769: tracing_mark_write: E|1151 17923 SensorService-1283 ( 1151) [003] ...1 1034707.586882: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 17924 HwBinder:778_1-1087 ( 778) [001] ...1 1034707.586964: tracing_mark_write: B|778|HIDL::ISensors::poll::server 17925 surfaceflinger-591 ( 591) [002] ...1 1034707.593933: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 17926 composer@2.1-s-593 ( 593) [001] ...1 1034707.594203: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 17927 composer@2.1-s-593 ( 593) [001] ...1 1034707.594341: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 17928 composer@2.1-s-593 ( 593) [001] ...1 1034707.594380: tracing_mark_write: B|593|HWDevice::Commit:: 17929 composer@2.1-s-593 ( 593) [001] ...1 1034707.594601: tracing_mark_write: E|593 17930 composer@2.1-s-593 ( 593) [001] ...1 1034707.594655: tracing_mark_write: E|593 17931 composer@2.1-s-593 ( 593) [001] ...1 1034707.594718: tracing_mark_write: E|593 17932 surfaceflinger-591 ( 591) [000] ...1 1034707.594917: tracing_mark_write: E|591 17933 HwBinder:778_1-1087 ( 778) [000] ...1 1034707.605776: tracing_mark_write: E|778 17934 SensorService-1283 ( 1151) [003] ...1 1034707.605925: tracing_mark_write: E|1151 17935 SensorService-1283 ( 1151) [003] ...1 1034707.606069: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 17936 HwBinder:778_1-1087 ( 778) [000] ...1 1034707.606181: tracing_mark_write: B|778|HIDL::ISensors::poll::server 17937 HwBinder:778_1-1087 ( 778) [002] ...1 1034707.624913: tracing_mark_write: E|778 17938 SensorService-1283 ( 1151) [003] ...1 1034707.625039: tracing_mark_write: E|1151 17939 SensorService-1283 ( 1151) [003] ...1 1034707.625147: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 17940 HwBinder:778_1-1087 ( 778) [002] ...1 1034707.625230: tracing_mark_write: B|778|HIDL::ISensors::poll::server 17941 surfaceflinger-591 ( 591) [000] ...1 1034707.643949: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 17942 composer@2.1-s-593 ( 593) [001] ...1 1034707.644151: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 17943 composer@2.1-s-593 ( 593) [001] ...1 1034707.644243: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 17944 composer@2.1-s-593 ( 593) [001] ...1 1034707.644271: tracing_mark_write: B|593|HWDevice::Commit:: 17945 composer@2.1-s-593 ( 593) [001] ...1 1034707.644471: tracing_mark_write: E|593 17946 composer@2.1-s-593 ( 593) [001] ...1 1034707.644509: tracing_mark_write: E|593 17947 composer@2.1-s-593 ( 593) [001] ...1 1034707.644552: tracing_mark_write: E|593 17948 surfaceflinger-591 ( 591) [000] ...1 1034707.644678: tracing_mark_write: E|591 17949 HwBinder:778_1-1087 ( 778) [001] ...1 1034707.647030: tracing_mark_write: E|778 17950 SensorService-1283 ( 1151) [003] ...1 1034707.647129: tracing_mark_write: E|1151 17951 SensorService-1283 ( 1151) [003] ...1 1034707.647240: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 17952 HwBinder:778_1-1087 ( 778) [001] ...1 1034707.647321: tracing_mark_write: B|778|HIDL::ISensors::poll::server 17953 HwBinder:778_1-1087 ( 778) [000] ...1 1034707.663487: tracing_mark_write: E|778 17954 SensorService-1283 ( 1151) [003] ...1 1034707.663646: tracing_mark_write: E|1151 17955 SensorService-1283 ( 1151) [003] ...1 1034707.663786: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 17956 HwBinder:778_1-1087 ( 778) [000] ...1 1034707.663881: tracing_mark_write: B|778|HIDL::ISensors::poll::server 17957 surfaceflinger-591 ( 591) [001] ...1 1034707.677773: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 17958 composer@2.1-s-593 ( 593) [000] ...1 1034707.678035: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 17959 composer@2.1-s-593 ( 593) [000] ...1 1034707.678163: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 17960 composer@2.1-s-593 ( 593) [000] ...1 1034707.678199: tracing_mark_write: B|593|HWDevice::Commit:: 17961 composer@2.1-s-593 ( 593) [000] ...1 1034707.678392: tracing_mark_write: E|593 17962 composer@2.1-s-593 ( 593) [000] ...1 1034707.678438: tracing_mark_write: E|593 17963 composer@2.1-s-593 ( 593) [000] ...1 1034707.678495: tracing_mark_write: E|593 17964 surfaceflinger-591 ( 591) [001] ...1 1034707.678631: tracing_mark_write: E|591 17965 HwBinder:778_1-1087 ( 778) [000] ...1 1034707.684610: tracing_mark_write: E|778 17966 SensorService-1283 ( 1151) [003] ...1 1034707.684788: tracing_mark_write: E|1151 17967 SensorService-1283 ( 1151) [003] ...1 1034707.684931: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 17968 HwBinder:778_1-1087 ( 778) [000] ...1 1034707.685026: tracing_mark_write: B|778|HIDL::ISensors::poll::server 17969 HwBinder:778_1-1087 ( 778) [000] ...1 1034707.701955: tracing_mark_write: E|778 17970 SensorService-1283 ( 1151) [003] ...1 1034707.702106: tracing_mark_write: E|1151 17971 SensorService-1283 ( 1151) [003] ...1 1034707.702229: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 17972 HwBinder:778_1-1087 ( 778) [000] ...1 1034707.702317: tracing_mark_write: B|778|HIDL::ISensors::poll::server 17973 HwBinder:778_1-1087 ( 778) [000] ...1 1034707.721296: tracing_mark_write: E|778 17974 SensorService-1283 ( 1151) [003] ...1 1034707.721485: tracing_mark_write: E|1151 17975 SensorService-1283 ( 1151) [003] ...1 1034707.721645: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 17976 HwBinder:778_1-1087 ( 778) [000] ...1 1034707.721751: tracing_mark_write: B|778|HIDL::ISensors::poll::server 17977 surfaceflinger-591 ( 591) [000] ...1 1034707.728018: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 17978 composer@2.1-s-593 ( 593) [001] ...1 1034707.728282: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 17979 composer@2.1-s-593 ( 593) [001] ...1 1034707.728412: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 17980 composer@2.1-s-593 ( 593) [001] ...1 1034707.728449: tracing_mark_write: B|593|HWDevice::Commit:: 17981 composer@2.1-s-593 ( 593) [001] ...1 1034707.728652: tracing_mark_write: E|593 17982 composer@2.1-s-593 ( 593) [001] ...1 1034707.728702: tracing_mark_write: E|593 17983 composer@2.1-s-593 ( 593) [001] ...1 1034707.728758: tracing_mark_write: E|593 17984 surfaceflinger-591 ( 591) [000] ...1 1034707.728888: tracing_mark_write: E|591 17985 HwBinder:778_1-1087 ( 778) [001] ...1 1034707.740516: tracing_mark_write: E|778 17986 SensorService-1283 ( 1151) [003] ...1 1034707.740721: tracing_mark_write: E|1151 17987 SensorService-1283 ( 1151) [003] ...1 1034707.740887: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 17988 HwBinder:778_1-1087 ( 778) [001] ...1 1034707.741001: tracing_mark_write: B|778|HIDL::ISensors::poll::server 17989 HwBinder:778_1-1087 ( 778) [000] ...1 1034707.760249: tracing_mark_write: E|778 17990 SensorService-1283 ( 1151) [003] ...1 1034707.760559: tracing_mark_write: E|1151 17991 SensorService-1283 ( 1151) [003] ...1 1034707.760828: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 17992 HwBinder:778_1-1087 ( 778) [002] ...1 1034707.760953: tracing_mark_write: B|778|HIDL::ISensors::poll::server 17993 surfaceflinger-591 ( 591) [000] ...1 1034707.778472: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 17994 composer@2.1-s-593 ( 593) [001] ...1 1034707.778780: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 17995 composer@2.1-s-593 ( 593) [001] ...1 1034707.778914: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 17996 composer@2.1-s-593 ( 593) [001] ...1 1034707.778953: tracing_mark_write: B|593|HWDevice::Commit:: 17997 HwBinder:778_1-1087 ( 778) [002] ...1 1034707.779058: tracing_mark_write: E|778 17998 composer@2.1-s-593 ( 593) [001] ...1 1034707.779159: tracing_mark_write: E|593 17999 SensorService-1283 ( 1151) [003] ...1 1034707.779205: tracing_mark_write: E|1151 18000 composer@2.1-s-593 ( 593) [001] ...1 1034707.779214: tracing_mark_write: E|593 18001 composer@2.1-s-593 ( 593) [001] ...1 1034707.779268: tracing_mark_write: E|593 18002 SensorService-1283 ( 1151) [003] ...1 1034707.779347: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 18003 surfaceflinger-591 ( 591) [000] ...1 1034707.779394: tracing_mark_write: E|591 18004 sensors@1.0-se-778 ( 778) [007] ...1 1034707.779584: tracing_mark_write: B|778|HIDL::ISensors::poll::server 18005 sensors@1.0-se-778 ( 778) [004] ...1 1034707.798096: tracing_mark_write: E|778 18006 SensorService-1283 ( 1151) [003] ...1 1034707.798267: tracing_mark_write: E|1151 18007 SensorService-1283 ( 1151) [003] ...1 1034707.798407: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 18008 sensors@1.0-se-778 ( 778) [004] ...1 1034707.798538: tracing_mark_write: B|778|HIDL::ISensors::poll::server 18009 surfaceflinger-591 ( 591) [000] ...1 1034707.811828: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 18010 composer@2.1-s-593 ( 593) [001] ...1 1034707.812038: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 18011 composer@2.1-s-593 ( 593) [001] ...1 1034707.812153: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 18012 composer@2.1-s-593 ( 593) [001] ...1 1034707.812187: tracing_mark_write: B|593|HWDevice::Commit:: 18013 composer@2.1-s-593 ( 593) [001] ...1 1034707.812351: tracing_mark_write: E|593 18014 composer@2.1-s-593 ( 593) [001] ...1 1034707.812393: tracing_mark_write: E|593 18015 composer@2.1-s-593 ( 593) [001] ...1 1034707.812439: tracing_mark_write: E|593 18016 surfaceflinger-591 ( 591) [000] ...1 1034707.812550: tracing_mark_write: E|591 18017 sensors@1.0-se-778 ( 778) [004] ...1 1034707.817477: tracing_mark_write: E|778 18018 SensorService-1283 ( 1151) [003] ...1 1034707.817644: tracing_mark_write: E|1151 18019 SensorService-1283 ( 1151) [003] ...1 1034707.817786: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 18020 sensors@1.0-se-778 ( 778) [004] ...1 1034707.817946: tracing_mark_write: B|778|HIDL::ISensors::poll::server 18021 sensors@1.0-se-778 ( 778) [004] ...1 1034707.836651: tracing_mark_write: E|778 18022 SensorService-1283 ( 1151) [003] ...1 1034707.836826: tracing_mark_write: E|1151 18023 SensorService-1283 ( 1151) [003] ...1 1034707.836957: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 18024 sensors@1.0-se-778 ( 778) [004] ...1 1034707.837123: tracing_mark_write: B|778|HIDL::ISensors::poll::server 18025 sensors@1.0-se-778 ( 778) [004] ...1 1034707.855833: tracing_mark_write: E|778 18026 SensorService-1283 ( 1151) [003] ...1 1034707.856000: tracing_mark_write: E|1151 18027 SensorService-1283 ( 1151) [003] ...1 1034707.856140: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 18028 sensors@1.0-se-778 ( 778) [004] ...1 1034707.856296: tracing_mark_write: B|778|HIDL::ISensors::poll::server 18029 surfaceflinger-591 ( 591) [003] ...1 1034707.862450: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 18030 composer@2.1-s-593 ( 593) [001] ...1 1034707.862729: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 18031 composer@2.1-s-593 ( 593) [001] ...1 1034707.862864: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 18032 composer@2.1-s-593 ( 593) [001] ...1 1034707.862900: tracing_mark_write: B|593|HWDevice::Commit:: 18033 composer@2.1-s-593 ( 593) [001] ...1 1034707.863097: tracing_mark_write: E|593 18034 composer@2.1-s-593 ( 593) [001] ...1 1034707.863146: tracing_mark_write: E|593 18035 composer@2.1-s-593 ( 593) [001] ...1 1034707.863255: tracing_mark_write: E|593 18036 surfaceflinger-591 ( 591) [003] ...1 1034707.863405: tracing_mark_write: E|591 18037 sensors@1.0-se-778 ( 778) [004] ...1 1034707.875406: tracing_mark_write: E|778 18038 SensorService-1283 ( 1151) [003] ...1 1034707.875611: tracing_mark_write: E|1151 18039 SensorService-1283 ( 1151) [003] ...1 1034707.875793: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 18040 sensors@1.0-se-778 ( 778) [004] ...1 1034707.875969: tracing_mark_write: B|778|HIDL::ISensors::poll::server 18041 sensors@1.0-se-778 ( 778) [004] ...1 1034707.894444: tracing_mark_write: E|778 18042 SensorService-1283 ( 1151) [003] ...1 1034707.894626: tracing_mark_write: E|1151 18043 SensorService-1283 ( 1151) [003] ...1 1034707.894785: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 18044 sensors@1.0-se-778 ( 778) [004] ...1 1034707.894950: tracing_mark_write: B|778|HIDL::ISensors::poll::server 18045 surfaceflinger-591 ( 591) [000] ...1 1034707.895865: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 18046 composer@2.1-s-593 ( 593) [001] ...1 1034707.896095: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 18047 composer@2.1-s-593 ( 593) [001] ...1 1034707.896237: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 18048 composer@2.1-s-593 ( 593) [001] ...1 1034707.896277: tracing_mark_write: B|593|HWDevice::Commit:: 18049 composer@2.1-s-593 ( 593) [001] ...1 1034707.896498: tracing_mark_write: E|593 18050 composer@2.1-s-593 ( 593) [001] ...1 1034707.896599: tracing_mark_write: E|593 18051 composer@2.1-s-593 ( 593) [001] ...1 1034707.896659: tracing_mark_write: E|593 18052 surfaceflinger-591 ( 591) [000] ...1 1034707.896795: tracing_mark_write: E|591 18053 sensors@1.0-se-778 ( 778) [004] ...1 1034707.913839: tracing_mark_write: E|778 18054 SensorService-1283 ( 1151) [003] ...1 1034707.914023: tracing_mark_write: E|1151 18055 SensorService-1283 ( 1151) [003] ...1 1034707.914162: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 18056 sensors@1.0-se-778 ( 778) [004] ...1 1034707.914331: tracing_mark_write: B|778|HIDL::ISensors::poll::server 18057 sensors@1.0-se-778 ( 778) [004] ...1 1034707.933328: tracing_mark_write: E|778 18058 SensorService-1283 ( 1151) [003] ...1 1034707.933503: tracing_mark_write: E|1151 18059 SensorService-1283 ( 1151) [003] ...1 1034707.933667: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 18060 sensors@1.0-se-778 ( 778) [004] ...1 1034707.933833: tracing_mark_write: B|778|HIDL::ISensors::poll::server 18061 surfaceflinger-591 ( 591) [000] ...1 1034707.946306: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 18062 composer@2.1-s-593 ( 593) [001] ...1 1034707.946626: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 18063 composer@2.1-s-593 ( 593) [001] ...1 1034707.946756: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 18064 composer@2.1-s-593 ( 593) [001] ...1 1034707.946791: tracing_mark_write: B|593|HWDevice::Commit:: 18065 composer@2.1-s-593 ( 593) [001] ...1 1034707.946988: tracing_mark_write: E|593 18066 composer@2.1-s-593 ( 593) [001] ...1 1034707.947041: tracing_mark_write: E|593 18067 composer@2.1-s-593 ( 593) [001] ...1 1034707.947104: tracing_mark_write: E|593 18068 surfaceflinger-591 ( 591) [000] ...1 1034707.947250: tracing_mark_write: E|591 18069 sensors@1.0-se-778 ( 778) [004] ...1 1034707.952335: tracing_mark_write: E|778 18070 SensorService-1283 ( 1151) [003] ...1 1034707.952493: tracing_mark_write: E|1151 18071 SensorService-1283 ( 1151) [003] ...1 1034707.952646: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 18072 sensors@1.0-se-778 ( 778) [004] ...1 1034707.952790: tracing_mark_write: B|778|HIDL::ISensors::poll::server 18073 sensors@1.0-se-778 ( 778) [004] ...1 1034707.974634: tracing_mark_write: E|778 18074 SensorService-1283 ( 1151) [003] ...1 1034707.974895: tracing_mark_write: E|1151 18075 SensorService-1283 ( 1151) [003] ...1 1034707.975145: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 18076 sensors@1.0-se-778 ( 778) [004] ...1 1034707.975313: tracing_mark_write: B|778|HIDL::ISensors::poll::server 18077 surfaceflinger-591 ( 591) [003] ...1 1034707.979722: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 18078 composer@2.1-s-593 ( 593) [001] ...1 1034707.980001: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 18079 composer@2.1-s-593 ( 593) [001] ...1 1034707.980128: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 18080 composer@2.1-s-593 ( 593) [001] ...1 1034707.980164: tracing_mark_write: B|593|HWDevice::Commit:: 18081 composer@2.1-s-593 ( 593) [001] ...1 1034707.980363: tracing_mark_write: E|593 18082 composer@2.1-s-593 ( 593) [001] ...1 1034707.980411: tracing_mark_write: E|593 18083 composer@2.1-s-593 ( 593) [001] ...1 1034707.980463: tracing_mark_write: E|593 18084 surfaceflinger-591 ( 591) [003] ...1 1034707.980600: tracing_mark_write: E|591 18085 sensors@1.0-se-778 ( 778) [004] ...1 1034707.990728: tracing_mark_write: E|778 18086 SensorService-1283 ( 1151) [003] ...1 1034707.990910: tracing_mark_write: E|1151 18087 SensorService-1283 ( 1151) [003] ...1 1034707.991097: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 18088 sensors@1.0-se-778 ( 778) [004] ...1 1034707.991249: tracing_mark_write: B|778|HIDL::ISensors::poll::server 18089 sensors@1.0-se-778 ( 778) [004] ...1 1034708.010157: tracing_mark_write: E|778 18090 SensorService-1283 ( 1151) [003] ...1 1034708.010354: tracing_mark_write: E|1151 18091 SensorService-1283 ( 1151) [003] ...1 1034708.010536: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 18092 sensors@1.0-se-778 ( 778) [004] ...1 1034708.010717: tracing_mark_write: B|778|HIDL::ISensors::poll::server 18093 surfaceflinger-591 ( 591) [002] ...1 1034708.030384: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 18094 composer@2.1-s-593 ( 593) [001] ...1 1034708.030704: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 18095 composer@2.1-s-593 ( 593) [001] ...1 1034708.030857: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 18096 sensors@1.0-se-778 ( 778) [004] ...1 1034708.030876: tracing_mark_write: E|778 18097 composer@2.1-s-593 ( 593) [001] ...1 1034708.030904: tracing_mark_write: B|593|HWDevice::Commit:: 18098 SensorService-1283 ( 1151) [003] ...1 1034708.031035: tracing_mark_write: E|1151 18099 composer@2.1-s-593 ( 593) [001] ...1 1034708.031153: tracing_mark_write: E|593 18100 SensorService-1283 ( 1151) [003] ...1 1034708.031185: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 18101 composer@2.1-s-593 ( 593) [001] ...1 1034708.031214: tracing_mark_write: E|593 18102 composer@2.1-s-593 ( 593) [001] ...1 1034708.031285: tracing_mark_write: E|593 18103 sensors@1.0-se-778 ( 778) [004] ...1 1034708.031325: tracing_mark_write: B|778|HIDL::ISensors::poll::server 18104 surfaceflinger-591 ( 591) [000] ...1 1034708.031449: tracing_mark_write: E|591 18105 sensors@1.0-se-778 ( 778) [004] ...1 1034708.048481: tracing_mark_write: E|778 18106 SensorService-1283 ( 1151) [003] ...1 1034708.048657: tracing_mark_write: E|1151 18107 SensorService-1283 ( 1151) [003] ...1 1034708.048792: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 18108 sensors@1.0-se-778 ( 778) [004] ...1 1034708.048963: tracing_mark_write: B|778|HIDL::ISensors::poll::server 18109 sensors@1.0-se-778 ( 778) [004] ...1 1034708.067832: tracing_mark_write: E|778 18110 SensorService-1283 ( 1151) [003] ...1 1034708.068008: tracing_mark_write: E|1151 18111 SensorService-1283 ( 1151) [003] ...1 1034708.068186: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 18112 sensors@1.0-se-778 ( 778) [004] ...1 1034708.068343: tracing_mark_write: B|778|HIDL::ISensors::poll::server 18113 surfaceflinger-591 ( 591) [000] ...1 1034708.080914: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 18114 composer@2.1-s-593 ( 593) [001] ...1 1034708.081261: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 18115 composer@2.1-s-593 ( 593) [001] ...1 1034708.081452: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 18116 composer@2.1-s-593 ( 593) [001] ...1 1034708.081506: tracing_mark_write: B|593|HWDevice::Commit:: 18117 composer@2.1-s-593 ( 593) [001] ...1 1034708.081820: tracing_mark_write: E|593 18118 composer@2.1-s-593 ( 593) [001] ...1 1034708.081893: tracing_mark_write: E|593 18119 composer@2.1-s-593 ( 593) [001] ...1 1034708.081970: tracing_mark_write: E|593 18120 surfaceflinger-591 ( 591) [000] ...1 1034708.082169: tracing_mark_write: E|591 18121 sensors@1.0-se-778 ( 778) [004] ...1 1034708.087717: tracing_mark_write: E|778 18122 SensorService-1283 ( 1151) [003] ...1 1034708.087902: tracing_mark_write: E|1151 18123 SensorService-1283 ( 1151) [003] ...1 1034708.088091: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 18124 sensors@1.0-se-778 ( 778) [004] ...1 1034708.088252: tracing_mark_write: B|778|HIDL::ISensors::poll::server 18125 sensors@1.0-se-778 ( 778) [004] ...1 1034708.106725: tracing_mark_write: E|778 18126 SensorService-1283 ( 1151) [003] ...1 1034708.107066: tracing_mark_write: E|1151 18127 SensorService-1283 ( 1151) [003] ...1 1034708.107440: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 18128 sensors@1.0-se-778 ( 778) [004] ...1 1034708.107685: tracing_mark_write: B|778|HIDL::ISensors::poll::server 18129 surfaceflinger-591 ( 591) [001] ...1 1034708.114686: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 18130 composer@2.1-s-593 ( 593) [000] ...1 1034708.115100: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 18131 composer@2.1-s-593 ( 593) [000] ...1 1034708.115318: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 18132 composer@2.1-s-593 ( 593) [000] ...1 1034708.115384: tracing_mark_write: B|593|HWDevice::Commit:: 18133 composer@2.1-s-593 ( 593) [000] ...1 1034708.115725: tracing_mark_write: E|593 18134 composer@2.1-s-593 ( 593) [000] ...1 1034708.115813: tracing_mark_write: E|593 18135 composer@2.1-s-593 ( 593) [000] ...1 1034708.115905: tracing_mark_write: E|593 18136 surfaceflinger-591 ( 591) [001] ...1 1034708.116151: tracing_mark_write: E|591 18137 sensors@1.0-se-778 ( 778) [004] ...1 1034708.125811: tracing_mark_write: E|778 18138 SensorService-1283 ( 1151) [003] ...1 1034708.126016: tracing_mark_write: E|1151 18139 SensorService-1283 ( 1151) [003] ...1 1034708.126234: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 18140 sensors@1.0-se-778 ( 778) [004] ...1 1034708.126421: tracing_mark_write: B|778|HIDL::ISensors::poll::server 18141 sensors@1.0-se-778 ( 778) [004] ...1 1034708.145266: tracing_mark_write: E|778 18142 SensorService-1283 ( 1151) [003] ...1 1034708.145470: tracing_mark_write: E|1151 18143 SensorService-1283 ( 1151) [003] ...1 1034708.145697: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 18144 sensors@1.0-se-778 ( 778) [004] ...1 1034708.145920: tracing_mark_write: B|778|HIDL::ISensors::poll::server 18145 sensors@1.0-se-778 ( 778) [004] ...1 1034708.163995: tracing_mark_write: E|778 18146 SensorService-1283 ( 1151) [003] ...1 1034708.164205: tracing_mark_write: E|1151 18147 SensorService-1283 ( 1151) [003] ...1 1034708.164438: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 18148 sensors@1.0-se-778 ( 778) [004] ...1 1034708.164635: tracing_mark_write: B|778|HIDL::ISensors::poll::server 18149 surfaceflinger-591 ( 591) [001] ...1 1034708.164799: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 18150 composer@2.1-s-593 ( 593) [000] ...1 1034708.165138: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 18151 composer@2.1-s-593 ( 593) [000] ...1 1034708.165342: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 18152 composer@2.1-s-593 ( 593) [000] ...1 1034708.165404: tracing_mark_write: B|593|HWDevice::Commit:: 18153 composer@2.1-s-593 ( 593) [000] ...1 1034708.165722: tracing_mark_write: E|593 18154 composer@2.1-s-593 ( 593) [000] ...1 1034708.165799: tracing_mark_write: E|593 18155 composer@2.1-s-593 ( 593) [000] ...1 1034708.165884: tracing_mark_write: E|593 18156 surfaceflinger-591 ( 591) [001] ...1 1034708.166096: tracing_mark_write: E|591 18157 sensors@1.0-se-778 ( 778) [004] ...1 1034708.183528: tracing_mark_write: E|778 18158 SensorService-1283 ( 1151) [003] ...1 1034708.183772: tracing_mark_write: E|1151 18159 SensorService-1283 ( 1151) [003] ...1 1034708.183994: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 18160 sensors@1.0-se-778 ( 778) [004] ...1 1034708.184205: tracing_mark_write: B|778|HIDL::ISensors::poll::server 18161 surfaceflinger-591 ( 591) [002] ...1 1034708.198696: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 18162 composer@2.1-s-593 ( 593) [000] ...1 1034708.199091: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 18163 composer@2.1-s-593 ( 593) [000] ...1 1034708.199307: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 18164 composer@2.1-s-593 ( 593) [000] ...1 1034708.199371: tracing_mark_write: B|593|HWDevice::Commit:: 18165 composer@2.1-s-593 ( 593) [000] ...1 1034708.199725: tracing_mark_write: E|593 18166 composer@2.1-s-593 ( 593) [000] ...1 1034708.199808: tracing_mark_write: E|593 18167 composer@2.1-s-593 ( 593) [000] ...1 1034708.199983: tracing_mark_write: E|593 18168 surfaceflinger-591 ( 591) [001] ...1 1034708.200244: tracing_mark_write: E|591 18169 sensors@1.0-se-778 ( 778) [006] ...1 1034708.203474: tracing_mark_write: E|778 18170 SensorService-1283 ( 1151) [003] ...1 1034708.203706: tracing_mark_write: E|1151 18171 SensorService-1283 ( 1151) [003] ...1 1034708.203937: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 18172 sensors@1.0-se-778 ( 778) [006] ...1 1034708.204133: tracing_mark_write: B|778|HIDL::ISensors::poll::server 18173 sensors@1.0-se-778 ( 778) [006] ...1 1034708.221864: tracing_mark_write: E|778 18174 SensorService-1283 ( 1151) [003] ...1 1034708.222042: tracing_mark_write: E|1151 18175 SensorService-1283 ( 1151) [003] ...1 1034708.222183: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 18176 sensors@1.0-se-778 ( 778) [006] ...1 1034708.222360: tracing_mark_write: B|778|HIDL::ISensors::poll::server 18177 sensors@1.0-se-778 ( 778) [006] ...1 1034708.241220: tracing_mark_write: E|778 18178 SensorService-1283 ( 1151) [003] ...1 1034708.241461: tracing_mark_write: E|1151 18179 SensorService-1283 ( 1151) [003] ...1 1034708.241690: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 18180 sensors@1.0-se-778 ( 778) [006] ...1 1034708.241889: tracing_mark_write: B|778|HIDL::ISensors::poll::server 18181 surfaceflinger-591 ( 591) [002] ...1 1034708.248684: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 18182 composer@2.1-s-593 ( 593) [000] ...1 1034708.248991: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 18183 composer@2.1-s-593 ( 593) [000] ...1 1034708.249172: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 18184 composer@2.1-s-593 ( 593) [000] ...1 1034708.249225: tracing_mark_write: B|593|HWDevice::Commit:: 18185 composer@2.1-s-593 ( 593) [000] ...1 1034708.249522: tracing_mark_write: E|593 18186 composer@2.1-s-593 ( 593) [000] ...1 1034708.249595: tracing_mark_write: E|593 18187 composer@2.1-s-593 ( 593) [000] ...1 1034708.249678: tracing_mark_write: E|593 18188 surfaceflinger-591 ( 591) [003] ...1 1034708.249966: tracing_mark_write: E|591 18189 sensors@1.0-se-778 ( 778) [006] ...1 1034708.260521: tracing_mark_write: E|778 18190 SensorService-1283 ( 1151) [003] ...1 1034708.260696: tracing_mark_write: E|1151 18191 SensorService-1283 ( 1151) [003] ...1 1034708.260848: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 18192 sensors@1.0-se-778 ( 778) [006] ...1 1034708.261009: tracing_mark_write: B|778|HIDL::ISensors::poll::server 18193 sensors@1.0-se-778 ( 778) [006] ...1 1034708.280323: tracing_mark_write: E|778 18194 SensorService-1283 ( 1151) [003] ...1 1034708.280584: tracing_mark_write: E|1151 18195 SensorService-1283 ( 1151) [003] ...1 1034708.280784: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 18196 sensors@1.0-se-778 ( 778) [006] ...1 1034708.280967: tracing_mark_write: B|778|HIDL::ISensors::poll::server 18197 surfaceflinger-591 ( 591) [000] ...1 1034708.298598: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 18198 composer@2.1-s-593 ( 593) [001] ...1 1034708.298882: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 18199 composer@2.1-s-593 ( 593) [001] ...1 1034708.299021: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 18200 composer@2.1-s-593 ( 593) [001] ...1 1034708.299061: tracing_mark_write: B|593|HWDevice::Commit:: 18201 composer@2.1-s-593 ( 593) [001] ...1 1034708.299293: tracing_mark_write: E|593 18202 composer@2.1-s-593 ( 593) [001] ...1 1034708.299346: tracing_mark_write: E|593 18203 composer@2.1-s-593 ( 593) [001] ...1 1034708.299406: tracing_mark_write: E|593 18204 surfaceflinger-591 ( 591) [000] ...1 1034708.299562: tracing_mark_write: E|591 18205 sensors@1.0-se-778 ( 778) [006] ...1 1034708.301860: tracing_mark_write: E|778 18206 SensorService-1283 ( 1151) [003] ...1 1034708.302019: tracing_mark_write: E|1151 18207 SensorService-1283 ( 1151) [003] ...1 1034708.302162: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 18208 sensors@1.0-se-778 ( 778) [006] ...1 1034708.302322: tracing_mark_write: B|778|HIDL::ISensors::poll::server 18209 sensors@1.0-se-778 ( 778) [006] ...1 1034708.319380: tracing_mark_write: E|778 18210 SensorService-1283 ( 1151) [003] ...1 1034708.319552: tracing_mark_write: E|1151 18211 SensorService-1283 ( 1151) [003] ...1 1034708.319684: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 18212 sensors@1.0-se-778 ( 778) [006] ...1 1034708.319836: tracing_mark_write: B|778|HIDL::ISensors::poll::server 18213 surfaceflinger-591 ( 591) [001] ...1 1034708.332462: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 18214 composer@2.1-s-593 ( 593) [000] ...1 1034708.332813: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 18215 composer@2.1-s-593 ( 593) [000] ...1 1034708.332985: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 18216 composer@2.1-s-593 ( 593) [000] ...1 1034708.333036: tracing_mark_write: B|593|HWDevice::Commit:: 18217 composer@2.1-s-593 ( 593) [000] ...1 1034708.333367: tracing_mark_write: E|593 18218 composer@2.1-s-593 ( 593) [000] ...1 1034708.333434: tracing_mark_write: E|593 18219 composer@2.1-s-593 ( 593) [000] ...1 1034708.333507: tracing_mark_write: E|593 18220 surfaceflinger-591 ( 591) [001] ...1 1034708.333692: tracing_mark_write: E|591 18221 sensors@1.0-se-778 ( 778) [006] ...1 1034708.337469: tracing_mark_write: E|778 18222 SensorService-1283 ( 1151) [003] ...1 1034708.337626: tracing_mark_write: E|1151 18223 SensorService-1283 ( 1151) [003] ...1 1034708.337778: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 18224 sensors@1.0-se-778 ( 778) [006] ...1 1034708.337945: tracing_mark_write: B|778|HIDL::ISensors::poll::server 18225 sensors@1.0-se-778 ( 778) [006] ...1 1034708.356826: tracing_mark_write: E|778 18226 SensorService-1283 ( 1151) [003] ...1 1034708.357008: tracing_mark_write: E|1151 18227 SensorService-1283 ( 1151) [003] ...1 1034708.357214: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 18228 sensors@1.0-se-778 ( 778) [006] ...1 1034708.357409: tracing_mark_write: B|778|HIDL::ISensors::poll::server 18229 sensors@1.0-se-778 ( 778) [006] ...1 1034708.377183: tracing_mark_write: E|778 18230 SensorService-1283 ( 1151) [003] ...1 1034708.377368: tracing_mark_write: E|1151 18231 SensorService-1283 ( 1151) [003] ...1 1034708.377560: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 18232 sensors@1.0-se-778 ( 778) [006] ...1 1034708.377758: tracing_mark_write: B|778|HIDL::ISensors::poll::server 18233 surfaceflinger-591 ( 591) [001] ...1 1034708.382598: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 18234 composer@2.1-s-593 ( 593) [000] ...1 1034708.382931: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 18235 composer@2.1-s-593 ( 593) [000] ...1 1034708.383087: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 18236 composer@2.1-s-593 ( 593) [000] ...1 1034708.383131: tracing_mark_write: B|593|HWDevice::Commit:: 18237 composer@2.1-s-593 ( 593) [000] ...1 1034708.383444: tracing_mark_write: E|593 18238 composer@2.1-s-593 ( 593) [000] ...1 1034708.383505: tracing_mark_write: E|593 18239 composer@2.1-s-593 ( 593) [000] ...1 1034708.383571: tracing_mark_write: E|593 18240 surfaceflinger-591 ( 591) [001] ...1 1034708.383748: tracing_mark_write: E|591 18241 sensors@1.0-se-778 ( 778) [006] ...1 1034708.395196: tracing_mark_write: E|778 18242 SensorService-1283 ( 1151) [003] ...1 1034708.395395: tracing_mark_write: E|1151 18243 SensorService-1283 ( 1151) [003] ...1 1034708.395564: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 18244 sensors@1.0-se-778 ( 778) [006] ...1 1034708.395743: tracing_mark_write: B|778|HIDL::ISensors::poll::server 18245 sensors@1.0-se-778 ( 778) [006] ...1 1034708.414292: tracing_mark_write: E|778 18246 SensorService-1283 ( 1151) [003] ...1 1034708.414465: tracing_mark_write: E|1151 18247 SensorService-1283 ( 1151) [003] ...1 1034708.414597: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 18248 sensors@1.0-se-778 ( 778) [006] ...1 1034708.414764: tracing_mark_write: B|778|HIDL::ISensors::poll::server 18249 surfaceflinger-591 ( 591) [001] ...1 1034708.415944: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 18250 composer@2.1-s-593 ( 593) [000] ...1 1034708.416159: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 18251 composer@2.1-s-593 ( 593) [000] ...1 1034708.416275: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 18252 composer@2.1-s-593 ( 593) [000] ...1 1034708.416309: tracing_mark_write: B|593|HWDevice::Commit:: 18253 composer@2.1-s-593 ( 593) [000] ...1 1034708.416509: tracing_mark_write: E|593 18254 composer@2.1-s-593 ( 593) [000] ...1 1034708.416620: tracing_mark_write: E|593 18255 composer@2.1-s-593 ( 593) [000] ...1 1034708.416679: tracing_mark_write: E|593 18256 surfaceflinger-591 ( 591) [001] ...1 1034708.416805: tracing_mark_write: E|591 18257 sensors@1.0-se-778 ( 778) [006] ...1 1034708.433538: tracing_mark_write: E|778 18258 SensorService-1283 ( 1151) [003] ...1 1034708.433720: tracing_mark_write: E|1151 18259 SensorService-1283 ( 1151) [003] ...1 1034708.433860: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 18260 sensors@1.0-se-778 ( 778) [006] ...1 1034708.434028: tracing_mark_write: B|778|HIDL::ISensors::poll::server 18261 sensors@1.0-se-778 ( 778) [006] ...1 1034708.452891: tracing_mark_write: E|778 18262 SensorService-1283 ( 1151) [003] ...1 1034708.453123: tracing_mark_write: E|1151 18263 SensorService-1283 ( 1151) [003] ...1 1034708.453387: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 18264 sensors@1.0-se-778 ( 778) [006] ...1 1034708.453551: tracing_mark_write: B|778|HIDL::ISensors::poll::server 18265 surfaceflinger-591 ( 591) [000] ...1 1034708.466492: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 18266 composer@2.1-s-593 ( 593) [001] ...1 1034708.466848: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 18267 composer@2.1-s-593 ( 593) [001] ...1 1034708.466990: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 18268 composer@2.1-s-593 ( 593) [001] ...1 1034708.467036: tracing_mark_write: B|593|HWDevice::Commit:: 18269 composer@2.1-s-593 ( 593) [001] ...1 1034708.467274: tracing_mark_write: E|593 18270 composer@2.1-s-593 ( 593) [001] ...1 1034708.467331: tracing_mark_write: E|593 18271 composer@2.1-s-593 ( 593) [001] ...1 1034708.467396: tracing_mark_write: E|593 18272 surfaceflinger-591 ( 591) [000] ...1 1034708.467564: tracing_mark_write: E|591 18273 sensors@1.0-se-778 ( 778) [006] ...1 1034708.472123: tracing_mark_write: E|778 18274 SensorService-1283 ( 1151) [003] ...1 1034708.472295: tracing_mark_write: E|1151 18275 SensorService-1283 ( 1151) [003] ...1 1034708.472460: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 18276 sensors@1.0-se-778 ( 778) [006] ...1 1034708.472619: tracing_mark_write: B|778|HIDL::ISensors::poll::server 18277 sensors@1.0-se-778 ( 778) [006] ...1 1034708.491886: tracing_mark_write: E|778 18278 SensorService-1283 ( 1151) [003] ...1 1034708.492076: tracing_mark_write: E|1151 18279 SensorService-1283 ( 1151) [003] ...1 1034708.492225: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 18280 sensors@1.0-se-778 ( 778) [006] ...1 1034708.492404: tracing_mark_write: B|778|HIDL::ISensors::poll::server 18281 surfaceflinger-591 ( 591) [001] ...1 1034708.500034: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 18282 composer@2.1-s-593 ( 593) [000] ...1 1034708.500310: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 18283 composer@2.1-s-593 ( 593) [000] ...1 1034708.500443: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 18284 composer@2.1-s-593 ( 593) [000] ...1 1034708.500485: tracing_mark_write: B|593|HWDevice::Commit:: 18285 composer@2.1-s-593 ( 593) [000] ...1 1034708.500700: tracing_mark_write: E|593 18286 composer@2.1-s-593 ( 593) [000] ...1 1034708.500754: tracing_mark_write: E|593 18287 composer@2.1-s-593 ( 593) [000] ...1 1034708.500818: tracing_mark_write: E|593 18288 surfaceflinger-591 ( 591) [001] ...1 1034708.500993: tracing_mark_write: E|591 18289 sensors@1.0-se-778 ( 778) [006] ...1 1034708.510584: tracing_mark_write: E|778 18290 SensorService-1283 ( 1151) [003] ...1 1034708.510751: tracing_mark_write: E|1151 18291 SensorService-1283 ( 1151) [003] ...1 1034708.510895: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 18292 sensors@1.0-se-778 ( 778) [006] ...1 1034708.511056: tracing_mark_write: B|778|HIDL::ISensors::poll::server 18293 sensors@1.0-se-778 ( 778) [006] ...1 1034708.529943: tracing_mark_write: E|778 18294 SensorService-1283 ( 1151) [003] ...1 1034708.530107: tracing_mark_write: E|1151 18295 SensorService-1283 ( 1151) [003] ...1 1034708.530243: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 18296 sensors@1.0-se-778 ( 778) [006] ...1 1034708.530406: tracing_mark_write: B|778|HIDL::ISensors::poll::server 18297 sensors@1.0-se-778 ( 778) [006] ...1 1034708.549105: tracing_mark_write: E|778 18298 SensorService-1283 ( 1151) [003] ...1 1034708.549284: tracing_mark_write: E|1151 18299 SensorService-1283 ( 1151) [003] ...1 1034708.549435: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 18300 sensors@1.0-se-778 ( 778) [006] ...1 1034708.549611: tracing_mark_write: B|778|HIDL::ISensors::poll::server 18301 surfaceflinger-591 ( 591) [001] ...1 1034708.550309: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 18302 composer@2.1-s-593 ( 593) [000] ...1 1034708.550540: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 18303 composer@2.1-s-593 ( 593) [000] ...1 1034708.550674: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 18304 composer@2.1-s-593 ( 593) [000] ...1 1034708.550712: tracing_mark_write: B|593|HWDevice::Commit:: 18305 composer@2.1-s-593 ( 593) [000] ...1 1034708.550912: tracing_mark_write: E|593 18306 composer@2.1-s-593 ( 593) [000] ...1 1034708.550960: tracing_mark_write: E|593 18307 composer@2.1-s-593 ( 593) [000] ...1 1034708.551014: tracing_mark_write: E|593 18308 surfaceflinger-591 ( 591) [001] ...1 1034708.551151: tracing_mark_write: E|591 18309 sensors@1.0-se-778 ( 778) [006] ...1 1034708.568326: tracing_mark_write: E|778 18310 SensorService-1283 ( 1151) [003] ...1 1034708.568510: tracing_mark_write: E|1151 18311 SensorService-1283 ( 1151) [003] ...1 1034708.568647: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 18312 sensors@1.0-se-778 ( 778) [006] ...1 1034708.568811: tracing_mark_write: B|778|HIDL::ISensors::poll::server 18313 sensors@1.0-se-778 ( 778) [006] ...1 1034708.587541: tracing_mark_write: E|778 18314 SensorService-1283 ( 1151) [003] ...1 1034708.587711: tracing_mark_write: E|1151 18315 SensorService-1283 ( 1151) [003] ...1 1034708.587848: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 18316 sensors@1.0-se-778 ( 778) [006] ...1 1034708.588007: tracing_mark_write: B|778|HIDL::ISensors::poll::server 18317 surfaceflinger-591 ( 591) [000] ...1 1034708.600791: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 18318 composer@2.1-s-593 ( 593) [001] ...1 1034708.601077: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 18319 composer@2.1-s-593 ( 593) [001] ...1 1034708.601219: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 18320 composer@2.1-s-593 ( 593) [001] ...1 1034708.601260: tracing_mark_write: B|593|HWDevice::Commit:: 18321 composer@2.1-s-593 ( 593) [001] ...1 1034708.601470: tracing_mark_write: E|593 18322 composer@2.1-s-593 ( 593) [001] ...1 1034708.601521: tracing_mark_write: E|593 18323 composer@2.1-s-593 ( 593) [001] ...1 1034708.601580: tracing_mark_write: E|593 18324 surfaceflinger-591 ( 591) [000] ...1 1034708.601711: tracing_mark_write: E|591 18325 sensors@1.0-se-778 ( 778) [006] ...1 1034708.606792: tracing_mark_write: E|778 18326 SensorService-1283 ( 1151) [003] ...1 1034708.606939: tracing_mark_write: E|1151 18327 SensorService-1283 ( 1151) [003] ...1 1034708.607119: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 18328 sensors@1.0-se-778 ( 778) [006] ...1 1034708.607264: tracing_mark_write: B|778|HIDL::ISensors::poll::server 18329 sensors@1.0-se-778 ( 778) [006] ...1 1034708.627655: tracing_mark_write: E|778 18330 SensorService-1283 ( 1151) [003] ...1 1034708.627812: tracing_mark_write: E|1151 18331 SensorService-1283 ( 1151) [003] ...1 1034708.627948: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 18332 sensors@1.0-se-778 ( 778) [006] ...1 1034708.628111: tracing_mark_write: B|778|HIDL::ISensors::poll::server 18333 surfaceflinger-591 ( 591) [000] ...1 1034708.634247: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 18334 composer@2.1-s-593 ( 593) [001] ...1 1034708.634520: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 18335 composer@2.1-s-593 ( 593) [001] ...1 1034708.634654: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 18336 composer@2.1-s-593 ( 593) [001] ...1 1034708.634694: tracing_mark_write: B|593|HWDevice::Commit:: 18337 composer@2.1-s-593 ( 593) [001] ...1 1034708.634907: tracing_mark_write: E|593 18338 composer@2.1-s-593 ( 593) [001] ...1 1034708.634961: tracing_mark_write: E|593 18339 composer@2.1-s-593 ( 593) [001] ...1 1034708.635018: tracing_mark_write: E|593 18340 surfaceflinger-591 ( 591) [000] ...1 1034708.635166: tracing_mark_write: E|591 18341 sensors@1.0-se-778 ( 778) [006] ...1 1034708.645463: tracing_mark_write: E|778 18342 SensorService-1283 ( 1151) [003] ...1 1034708.645619: tracing_mark_write: E|1151 18343 SensorService-1283 ( 1151) [003] ...1 1034708.645751: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 18344 sensors@1.0-se-778 ( 778) [006] ...1 1034708.645908: tracing_mark_write: B|778|HIDL::ISensors::poll::server 18345 sensors@1.0-se-778 ( 778) [006] ...1 1034708.664616: tracing_mark_write: E|778 18346 SensorService-1283 ( 1151) [003] ...1 1034708.664793: tracing_mark_write: E|1151 18347 SensorService-1283 ( 1151) [003] ...1 1034708.664942: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 18348 sensors@1.0-se-778 ( 778) [006] ...1 1034708.665111: tracing_mark_write: B|778|HIDL::ISensors::poll::server 18349 sensors@1.0-se-778 ( 778) [006] ...1 1034708.683947: tracing_mark_write: E|778 18350 SensorService-1283 ( 1151) [000] ...1 1034708.684152: tracing_mark_write: E|1151 18351 SensorService-1283 ( 1151) [000] ...1 1034708.684315: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 18352 sensors@1.0-se-778 ( 778) [006] ...1 1034708.684497: tracing_mark_write: B|778|HIDL::ISensors::poll::server 18353 surfaceflinger-591 ( 591) [003] ...1 1034708.684702: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 18354 composer@2.1-s-593 ( 593) [001] ...1 1034708.684952: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 18355 composer@2.1-s-593 ( 593) [001] ...1 1034708.685099: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 18356 composer@2.1-s-593 ( 593) [001] ...1 1034708.685141: tracing_mark_write: B|593|HWDevice::Commit:: 18357 composer@2.1-s-593 ( 593) [001] ...1 1034708.685379: tracing_mark_write: E|593 18358 composer@2.1-s-593 ( 593) [001] ...1 1034708.685438: tracing_mark_write: E|593 18359 composer@2.1-s-593 ( 593) [001] ...1 1034708.685502: tracing_mark_write: E|593 18360 surfaceflinger-591 ( 591) [003] ...1 1034708.685658: tracing_mark_write: E|591 18361 sensors@1.0-se-778 ( 778) [006] ...1 1034708.703251: tracing_mark_write: E|778 18362 SensorService-1283 ( 1151) [000] ...1 1034708.703450: tracing_mark_write: E|1151 18363 SensorService-1283 ( 1151) [000] ...1 1034708.703595: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 18364 sensors@1.0-se-778 ( 778) [006] ...1 1034708.703770: tracing_mark_write: B|778|HIDL::ISensors::poll::server 18365 surfaceflinger-591 ( 591) [003] ...1 1034708.718054: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 18366 composer@2.1-s-593 ( 593) [001] ...1 1034708.718263: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 18367 composer@2.1-s-593 ( 593) [001] ...1 1034708.718375: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 18368 composer@2.1-s-593 ( 593) [001] ...1 1034708.718408: tracing_mark_write: B|593|HWDevice::Commit:: 18369 composer@2.1-s-593 ( 593) [001] ...1 1034708.718590: tracing_mark_write: E|593 18370 composer@2.1-s-593 ( 593) [001] ...1 1034708.718630: tracing_mark_write: E|593 18371 composer@2.1-s-593 ( 593) [001] ...1 1034708.718678: tracing_mark_write: E|593 18372 surfaceflinger-591 ( 591) [003] ...1 1034708.718794: tracing_mark_write: E|591 18373 sensors@1.0-se-778 ( 778) [006] ...1 1034708.722297: tracing_mark_write: E|778 18374 SensorService-1283 ( 1151) [000] ...1 1034708.722442: tracing_mark_write: E|1151 18375 SensorService-1283 ( 1151) [000] ...1 1034708.722549: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 18376 sensors@1.0-se-778 ( 778) [006] ...1 1034708.722693: tracing_mark_write: B|778|HIDL::ISensors::poll::server 18377 sensors@1.0-se-778 ( 778) [006] ...1 1034708.741599: tracing_mark_write: E|778 18378 SensorService-1283 ( 1151) [000] ...1 1034708.741773: tracing_mark_write: E|1151 18379 SensorService-1283 ( 1151) [000] ...1 1034708.741908: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 18380 sensors@1.0-se-778 ( 778) [006] ...1 1034708.742074: tracing_mark_write: B|778|HIDL::ISensors::poll::server 18381 sensors@1.0-se-778 ( 778) [006] ...1 1034708.761131: tracing_mark_write: E|778 18382 SensorService-1283 ( 1151) [000] ...1 1034708.761330: tracing_mark_write: E|1151 18383 SensorService-1283 ( 1151) [000] ...1 1034708.761497: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 18384 sensors@1.0-se-778 ( 778) [006] ...1 1034708.761672: tracing_mark_write: B|778|HIDL::ISensors::poll::server 18385 surfaceflinger-591 ( 591) [000] ...1 1034708.768604: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 18386 composer@2.1-s-593 ( 593) [001] ...1 1034708.768904: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 18387 composer@2.1-s-593 ( 593) [001] ...1 1034708.769048: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 18388 composer@2.1-s-593 ( 593) [001] ...1 1034708.769090: tracing_mark_write: B|593|HWDevice::Commit:: 18389 composer@2.1-s-593 ( 593) [001] ...1 1034708.769347: tracing_mark_write: E|593 18390 composer@2.1-s-593 ( 593) [001] ...1 1034708.769410: tracing_mark_write: E|593 18391 composer@2.1-s-593 ( 593) [001] ...1 1034708.769473: tracing_mark_write: E|593 18392 surfaceflinger-591 ( 591) [000] ...1 1034708.769632: tracing_mark_write: E|591 18393 sensors@1.0-se-778 ( 778) [006] ...1 1034708.780130: tracing_mark_write: E|778 18394 SensorService-1283 ( 1151) [000] ...1 1034708.780298: tracing_mark_write: E|1151 18395 SensorService-1283 ( 1151) [000] ...1 1034708.780463: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 18396 sensors@1.0-se-778 ( 778) [006] ...1 1034708.780649: tracing_mark_write: B|778|HIDL::ISensors::poll::server 18397 sensors@1.0-se-778 ( 778) [006] ...1 1034708.799339: tracing_mark_write: E|778 18398 SensorService-1283 ( 1151) [000] ...1 1034708.799593: tracing_mark_write: E|1151 18399 SensorService-1283 ( 1151) [000] ...1 1034708.799824: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 18400 sensors@1.0-se-778 ( 778) [006] ...1 1034708.800077: tracing_mark_write: B|778|HIDL::ISensors::poll::server 18401 surfaceflinger-591 ( 591) [000] ...1 1034708.801725: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 18402 composer@2.1-s-593 ( 593) [001] ...1 1034708.801979: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 18403 composer@2.1-s-593 ( 593) [001] ...1 1034708.802084: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 18404 composer@2.1-s-593 ( 593) [001] ...1 1034708.802114: tracing_mark_write: B|593|HWDevice::Commit:: 18405 composer@2.1-s-593 ( 593) [001] ...1 1034708.802277: tracing_mark_write: E|593 18406 composer@2.1-s-593 ( 593) [001] ...1 1034708.802318: tracing_mark_write: E|593 18407 composer@2.1-s-593 ( 593) [001] ...1 1034708.802364: tracing_mark_write: E|593 18408 surfaceflinger-591 ( 591) [000] ...1 1034708.802482: tracing_mark_write: E|591 18409 sensors@1.0-se-778 ( 778) [006] ...1 1034708.818615: tracing_mark_write: E|778 18410 SensorService-1283 ( 1151) [000] ...1 1034708.818783: tracing_mark_write: E|1151 18411 SensorService-1283 ( 1151) [000] ...1 1034708.818908: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 18412 sensors@1.0-se-778 ( 778) [006] ...1 1034708.819075: tracing_mark_write: B|778|HIDL::ISensors::poll::server 18413 sensors@1.0-se-778 ( 778) [006] ...1 1034708.837762: tracing_mark_write: E|778 18414 SensorService-1283 ( 1151) [000] ...1 1034708.837958: tracing_mark_write: E|1151 18415 SensorService-1283 ( 1151) [000] ...1 1034708.838102: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 18416 HwBinder:778_1-1087 ( 778) [002] ...1 1034708.838290: tracing_mark_write: B|778|HIDL::ISensors::poll::server 18417 surfaceflinger-591 ( 591) [002] ...1 1034708.852516: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 18418 composer@2.1-s-593 ( 593) [001] ...1 1034708.852828: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 18419 composer@2.1-s-593 ( 593) [001] ...1 1034708.852979: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 18420 composer@2.1-s-593 ( 593) [001] ...1 1034708.853023: tracing_mark_write: B|593|HWDevice::Commit:: 18421 composer@2.1-s-593 ( 593) [001] ...1 1034708.853314: tracing_mark_write: E|593 18422 composer@2.1-s-593 ( 593) [001] ...1 1034708.853375: tracing_mark_write: E|593 18423 composer@2.1-s-593 ( 593) [001] ...1 1034708.853444: tracing_mark_write: E|593 18424 surfaceflinger-591 ( 591) [000] ...1 1034708.853638: tracing_mark_write: E|591 18425 HwBinder:778_1-1087 ( 778) [000] ...1 1034708.857264: tracing_mark_write: E|778 18426 SensorService-1283 ( 1151) [001] ...1 1034708.857431: tracing_mark_write: E|1151 18427 SensorService-1283 ( 1151) [001] ...1 1034708.857612: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 18428 HwBinder:778_1-1087 ( 778) [000] ...1 1034708.857713: tracing_mark_write: B|778|HIDL::ISensors::poll::server 18429 HwBinder:778_1-1087 ( 778) [000] ...1 1034708.876577: tracing_mark_write: E|778 18430 SensorService-1283 ( 1151) [001] ...1 1034708.876775: tracing_mark_write: E|1151 18431 SensorService-1283 ( 1151) [001] ...1 1034708.876962: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 18432 HwBinder:778_1-1087 ( 778) [000] ...1 1034708.877074: tracing_mark_write: B|778|HIDL::ISensors::poll::server 18433 HwBinder:778_1-1087 ( 778) [001] ...1 1034708.895788: tracing_mark_write: E|778 18434 SensorService-1283 ( 1151) [000] ...1 1034708.895996: tracing_mark_write: E|1151 18435 SensorService-1283 ( 1151) [000] ...1 1034708.896152: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 18436 HwBinder:778_1-1087 ( 778) [001] ...1 1034708.896251: tracing_mark_write: B|778|HIDL::ISensors::poll::server 18437 surfaceflinger-591 ( 591) [002] ...1 1034708.902865: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 18438 composer@2.1-s-593 ( 593) [001] ...1 1034708.903164: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 18439 composer@2.1-s-593 ( 593) [001] ...1 1034708.903410: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 18440 composer@2.1-s-593 ( 593) [001] ...1 1034708.903455: tracing_mark_write: B|593|HWDevice::Commit:: 18441 composer@2.1-s-593 ( 593) [001] ...1 1034708.903697: tracing_mark_write: E|593 18442 composer@2.1-s-593 ( 593) [001] ...1 1034708.903749: tracing_mark_write: E|593 18443 composer@2.1-s-593 ( 593) [001] ...1 1034708.903805: tracing_mark_write: E|593 18444 surfaceflinger-591 ( 591) [003] ...1 1034708.903955: tracing_mark_write: E|591 18445 HwBinder:778_1-1087 ( 778) [003] ...1 1034708.914807: tracing_mark_write: E|778 18446 SensorService-1283 ( 1151) [000] ...1 1034708.914991: tracing_mark_write: E|1151 18447 SensorService-1283 ( 1151) [000] ...1 1034708.915135: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 18448 HwBinder:778_1-1087 ( 778) [003] ...1 1034708.915221: tracing_mark_write: B|778|HIDL::ISensors::poll::server 18449 HwBinder:778_1-1087 ( 778) [000] ...1 1034708.934202: tracing_mark_write: E|778 18450 SensorService-1283 ( 1151) [001] ...1 1034708.934367: tracing_mark_write: E|1151 18451 SensorService-1283 ( 1151) [001] ...1 1034708.934508: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 18452 HwBinder:778_1-1087 ( 778) [000] ...1 1034708.934590: tracing_mark_write: B|778|HIDL::ISensors::poll::server 18453 surfaceflinger-591 ( 591) [000] ...1 1034708.936111: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 18454 composer@2.1-s-593 ( 593) [001] ...1 1034708.936318: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 18455 composer@2.1-s-593 ( 593) [001] ...1 1034708.936445: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 18456 composer@2.1-s-593 ( 593) [001] ...1 1034708.936484: tracing_mark_write: B|593|HWDevice::Commit:: 18457 composer@2.1-s-593 ( 593) [001] ...1 1034708.936767: tracing_mark_write: E|593 18458 composer@2.1-s-593 ( 593) [001] ...1 1034708.936816: tracing_mark_write: E|593 18459 composer@2.1-s-593 ( 593) [001] ...1 1034708.936870: tracing_mark_write: E|593 18460 surfaceflinger-591 ( 591) [000] ...1 1034708.936995: tracing_mark_write: E|591 18461 HwBinder:778_1-1087 ( 778) [000] ...1 1034708.953498: tracing_mark_write: E|778 18462 SensorService-1283 ( 1151) [001] ...1 1034708.953696: tracing_mark_write: E|1151 18463 SensorService-1283 ( 1151) [001] ...1 1034708.953850: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 18464 HwBinder:778_1-1087 ( 778) [000] ...1 1034708.953962: tracing_mark_write: B|778|HIDL::ISensors::poll::server 18465 HwBinder:778_1-1087 ( 778) [000] ...1 1034708.972977: tracing_mark_write: E|778 18466 SensorService-1283 ( 1151) [001] ...1 1034708.973175: tracing_mark_write: E|1151 18467 SensorService-1283 ( 1151) [001] ...1 1034708.973434: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 18468 HwBinder:778_1-1087 ( 778) [000] ...1 1034708.973553: tracing_mark_write: B|778|HIDL::ISensors::poll::server 18469 surfaceflinger-591 ( 591) [002] ...1 1034708.986695: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 18470 composer@2.1-s-593 ( 593) [001] ...1 1034708.986973: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 18471 composer@2.1-s-593 ( 593) [001] ...1 1034708.987113: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 18472 composer@2.1-s-593 ( 593) [001] ...1 1034708.987152: tracing_mark_write: B|593|HWDevice::Commit:: 18473 composer@2.1-s-593 ( 593) [001] ...1 1034708.987370: tracing_mark_write: E|593 18474 composer@2.1-s-593 ( 593) [001] ...1 1034708.987421: tracing_mark_write: E|593 18475 composer@2.1-s-593 ( 593) [001] ...1 1034708.987481: tracing_mark_write: E|593 18476 surfaceflinger-591 ( 591) [000] ...1 1034708.987647: tracing_mark_write: E|591 18477 HwBinder:778_1-1087 ( 778) [001] ...1 1034708.992187: tracing_mark_write: E|778 18478 SensorService-1283 ( 1151) [002] ...1 1034708.992337: tracing_mark_write: E|1151 18479 SensorService-1283 ( 1151) [002] ...1 1034708.992494: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 18480 HwBinder:778_1-1087 ( 778) [001] ...1 1034708.992597: tracing_mark_write: B|778|HIDL::ISensors::poll::server 18481 HwBinder:778_1-1087 ( 778) [000] ...1 1034709.011336: tracing_mark_write: E|778 18482 SensorService-1283 ( 1151) [002] ...1 1034709.011564: tracing_mark_write: E|1151 18483 SensorService-1283 ( 1151) [002] ...1 1034709.011779: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 18484 HwBinder:778_1-1087 ( 778) [000] ...1 1034709.011930: tracing_mark_write: B|778|HIDL::ISensors::poll::server 18485 surfaceflinger-591 ( 591) [000] ...1 1034709.020274: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 18486 composer@2.1-s-593 ( 593) [001] ...1 1034709.020557: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 18487 composer@2.1-s-593 ( 593) [001] ...1 1034709.020718: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 18488 composer@2.1-s-593 ( 593) [001] ...1 1034709.020764: tracing_mark_write: B|593|HWDevice::Commit:: 18489 composer@2.1-s-593 ( 593) [001] ...1 1034709.020989: tracing_mark_write: E|593 18490 composer@2.1-s-593 ( 593) [001] ...1 1034709.021047: tracing_mark_write: E|593 18491 composer@2.1-s-593 ( 593) [001] ...1 1034709.021114: tracing_mark_write: E|593 18492 surfaceflinger-591 ( 591) [000] ...1 1034709.021260: tracing_mark_write: E|591 18493 HwBinder:778_1-1087 ( 778) [001] ...1 1034709.030443: tracing_mark_write: E|778 18494 SensorService-1283 ( 1151) [002] ...1 1034709.030614: tracing_mark_write: E|1151 18495 SensorService-1283 ( 1151) [002] ...1 1034709.030799: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 18496 HwBinder:778_1-1087 ( 778) [001] ...1 1034709.030914: tracing_mark_write: B|778|HIDL::ISensors::poll::server 18497 HwBinder:778_1-1087 ( 778) [000] ...1 1034709.049770: tracing_mark_write: E|778 18498 SensorService-1283 ( 1151) [002] ...1 1034709.049972: tracing_mark_write: E|1151 18499 SensorService-1283 ( 1151) [002] ...1 1034709.050134: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 18500 HwBinder:778_1-1087 ( 778) [000] ...1 1034709.050250: tracing_mark_write: B|778|HIDL::ISensors::poll::server 18501 HwBinder:778_1-1087 ( 778) [001] ...1 1034709.069019: tracing_mark_write: E|778 18502 SensorService-1283 ( 1151) [002] ...1 1034709.069211: tracing_mark_write: E|1151 18503 SensorService-1283 ( 1151) [002] ...1 1034709.069392: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 18504 HwBinder:778_1-1087 ( 778) [001] ...1 1034709.069541: tracing_mark_write: B|778|HIDL::ISensors::poll::server 18505 surfaceflinger-591 ( 591) [002] ...1 1034709.070655: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 18506 composer@2.1-s-593 ( 593) [001] ...1 1034709.070949: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 18507 composer@2.1-s-593 ( 593) [001] ...1 1034709.071113: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 18508 composer@2.1-s-593 ( 593) [001] ...1 1034709.071162: tracing_mark_write: B|593|HWDevice::Commit:: 18509 composer@2.1-s-593 ( 593) [001] ...1 1034709.071422: tracing_mark_write: E|593 18510 composer@2.1-s-593 ( 593) [001] ...1 1034709.071489: tracing_mark_write: E|593 18511 composer@2.1-s-593 ( 593) [001] ...1 1034709.071562: tracing_mark_write: E|593 18512 surfaceflinger-591 ( 591) [000] ...1 1034709.071782: tracing_mark_write: E|591 18513 HwBinder:778_1-1087 ( 778) [001] ...1 1034709.088081: tracing_mark_write: E|778 18514 SensorService-1283 ( 1151) [002] ...1 1034709.088283: tracing_mark_write: E|1151 18515 SensorService-1283 ( 1151) [002] ...1 1034709.088459: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 18516 HwBinder:778_1-1087 ( 778) [001] ...1 1034709.088587: tracing_mark_write: B|778|HIDL::ISensors::poll::server 18517 surfaceflinger-591 ( 591) [001] ...1 1034709.104202: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 18518 composer@2.1-s-593 ( 593) [000] ...1 1034709.104512: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 18519 composer@2.1-s-593 ( 593) [000] ...1 1034709.104655: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 18520 composer@2.1-s-593 ( 593) [000] ...1 1034709.104695: tracing_mark_write: B|593|HWDevice::Commit:: 18521 composer@2.1-s-593 ( 593) [000] ...1 1034709.104908: tracing_mark_write: E|593 18522 composer@2.1-s-593 ( 593) [000] ...1 1034709.104960: tracing_mark_write: E|593 18523 composer@2.1-s-593 ( 593) [000] ...1 1034709.105018: tracing_mark_write: E|593 18524 surfaceflinger-591 ( 591) [001] ...1 1034709.105165: tracing_mark_write: E|591 18525 HwBinder:778_1-1087 ( 778) [001] ...1 1034709.107458: tracing_mark_write: E|778 18526 SensorService-1283 ( 1151) [002] ...1 1034709.107601: tracing_mark_write: E|1151 18527 SensorService-1283 ( 1151) [002] ...1 1034709.107751: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 18528 HwBinder:778_1-1087 ( 778) [001] ...1 1034709.107852: tracing_mark_write: B|778|HIDL::ISensors::poll::server 18529 HwBinder:778_1-1087 ( 778) [000] ...1 1034709.126853: tracing_mark_write: E|778 18530 SensorService-1283 ( 1151) [002] ...1 1034709.127055: tracing_mark_write: E|1151 18531 SensorService-1283 ( 1151) [002] ...1 1034709.127322: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 18532 HwBinder:778_1-1087 ( 778) [000] ...1 1034709.127445: tracing_mark_write: B|778|HIDL::ISensors::poll::server 18533 HwBinder:778_1-1087 ( 778) [001] ...1 1034709.146069: tracing_mark_write: E|778 18534 SensorService-1283 ( 1151) [002] ...1 1034709.146223: tracing_mark_write: E|1151 18535 SensorService-1283 ( 1151) [002] ...1 1034709.146368: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 18536 HwBinder:778_1-1087 ( 778) [001] ...1 1034709.146464: tracing_mark_write: B|778|HIDL::ISensors::poll::server 18537 surfaceflinger-591 ( 591) [000] ...1 1034709.154297: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 18538 composer@2.1-s-593 ( 593) [001] ...1 1034709.154555: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 18539 composer@2.1-s-593 ( 593) [001] ...1 1034709.154679: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 18540 composer@2.1-s-593 ( 593) [001] ...1 1034709.154718: tracing_mark_write: B|593|HWDevice::Commit:: 18541 composer@2.1-s-593 ( 593) [001] ...1 1034709.154911: tracing_mark_write: E|593 18542 composer@2.1-s-593 ( 593) [001] ...1 1034709.154957: tracing_mark_write: E|593 18543 composer@2.1-s-593 ( 593) [001] ...1 1034709.155010: tracing_mark_write: E|593 18544 surfaceflinger-591 ( 591) [000] ...1 1034709.155144: tracing_mark_write: E|591 18545 HwBinder:778_1-1087 ( 778) [000] ...1 1034709.165428: tracing_mark_write: E|778 18546 SensorService-1283 ( 1151) [002] ...1 1034709.165583: tracing_mark_write: E|1151 18547 SensorService-1283 ( 1151) [002] ...1 1034709.165754: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 18548 HwBinder:778_1-1087 ( 778) [000] ...1 1034709.165854: tracing_mark_write: B|778|HIDL::ISensors::poll::server 18549 HwBinder:778_1-1087 ( 778) [001] ...1 1034709.185978: tracing_mark_write: E|778 18550 SensorService-1283 ( 1151) [002] ...1 1034709.186189: tracing_mark_write: E|1151 18551 SensorService-1283 ( 1151) [002] ...1 1034709.186459: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 18552 HwBinder:778_1-1087 ( 778) [001] ...1 1034709.186629: tracing_mark_write: B|778|HIDL::ISensors::poll::server 18553 HwBinder:778_1-1087 ( 778) [001] ...1 1034709.203721: tracing_mark_write: E|778 18554 SensorService-1283 ( 1151) [002] ...1 1034709.203941: tracing_mark_write: E|1151 18555 SensorService-1283 ( 1151) [002] ...1 1034709.204075: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 18556 HwBinder:778_1-1087 ( 778) [001] ...1 1034709.204181: tracing_mark_write: B|778|HIDL::ISensors::poll::server 18557 surfaceflinger-591 ( 591) [000] ...1 1034709.204770: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 18558 composer@2.1-s-593 ( 593) [001] ...1 1034709.204983: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 18559 composer@2.1-s-593 ( 593) [001] ...1 1034709.205122: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 18560 composer@2.1-s-593 ( 593) [001] ...1 1034709.205164: tracing_mark_write: B|593|HWDevice::Commit:: 18561 composer@2.1-s-593 ( 593) [001] ...1 1034709.205378: tracing_mark_write: E|593 18562 composer@2.1-s-593 ( 593) [001] ...1 1034709.205432: tracing_mark_write: E|593 18563 composer@2.1-s-593 ( 593) [001] ...1 1034709.205493: tracing_mark_write: E|593 18564 surfaceflinger-591 ( 591) [000] ...1 1034709.205646: tracing_mark_write: E|591 18565 HwBinder:778_1-1087 ( 778) [000] ...1 1034709.222890: tracing_mark_write: E|778 18566 SensorService-1283 ( 1151) [002] ...1 1034709.223039: tracing_mark_write: E|1151 18567 SensorService-1283 ( 1151) [002] ...1 1034709.223167: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 18568 HwBinder:778_1-1087 ( 778) [000] ...1 1034709.223319: tracing_mark_write: B|778|HIDL::ISensors::poll::server 18569 surfaceflinger-591 ( 591) [001] ...1 1034709.238300: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 18570 composer@2.1-s-593 ( 593) [000] ...1 1034709.238596: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 18571 composer@2.1-s-593 ( 593) [000] ...1 1034709.238739: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 18572 composer@2.1-s-593 ( 593) [000] ...1 1034709.238780: tracing_mark_write: B|593|HWDevice::Commit:: 18573 composer@2.1-s-593 ( 593) [000] ...1 1034709.239008: tracing_mark_write: E|593 18574 composer@2.1-s-593 ( 593) [000] ...1 1034709.239058: tracing_mark_write: E|593 18575 composer@2.1-s-593 ( 593) [000] ...1 1034709.239113: tracing_mark_write: E|593 18576 surfaceflinger-591 ( 591) [001] ...1 1034709.239254: tracing_mark_write: E|591 18577 HwBinder:778_1-1087 ( 778) [001] ...1 1034709.242241: tracing_mark_write: E|778 18578 SensorService-1283 ( 1151) [002] ...1 1034709.242443: tracing_mark_write: E|1151 18579 SensorService-1283 ( 1151) [002] ...1 1034709.242653: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 18580 HwBinder:778_1-1087 ( 778) [001] ...1 1034709.242752: tracing_mark_write: B|778|HIDL::ISensors::poll::server 18581 HwBinder:778_1-1087 ( 778) [000] ...1 1034709.261462: tracing_mark_write: E|778 18582 SensorService-1283 ( 1151) [002] ...1 1034709.261609: tracing_mark_write: E|1151 18583 SensorService-1283 ( 1151) [002] ...1 1034709.261742: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 18584 HwBinder:778_1-1087 ( 778) [000] ...1 1034709.261835: tracing_mark_write: B|778|HIDL::ISensors::poll::server 18585 HwBinder:778_1-1087 ( 778) [000] ...1 1034709.280659: tracing_mark_write: E|778 18586 SensorService-1283 ( 1151) [002] ...1 1034709.280804: tracing_mark_write: E|1151 18587 SensorService-1283 ( 1151) [002] ...1 1034709.280941: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 18588 HwBinder:778_1-1087 ( 778) [000] ...1 1034709.281026: tracing_mark_write: B|778|HIDL::ISensors::poll::server 18589 surfaceflinger-591 ( 591) [000] ...1 1034709.288819: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 18590 composer@2.1-s-593 ( 593) [001] ...1 1034709.289127: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 18591 composer@2.1-s-593 ( 593) [001] ...1 1034709.289284: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 18592 composer@2.1-s-593 ( 593) [001] ...1 1034709.289333: tracing_mark_write: B|593|HWDevice::Commit:: 18593 composer@2.1-s-593 ( 593) [001] ...1 1034709.289576: tracing_mark_write: E|593 18594 composer@2.1-s-593 ( 593) [001] ...1 1034709.289637: tracing_mark_write: E|593 18595 composer@2.1-s-593 ( 593) [001] ...1 1034709.289707: tracing_mark_write: E|593 18596 surfaceflinger-591 ( 591) [000] ...1 1034709.289932: tracing_mark_write: E|591 18597 HwBinder:778_1-1087 ( 778) [000] ...1 1034709.300003: tracing_mark_write: E|778 18598 SensorService-1283 ( 1151) [002] ...1 1034709.300189: tracing_mark_write: E|1151 18599 SensorService-1283 ( 1151) [002] ...1 1034709.300378: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 18600 HwBinder:778_1-1087 ( 778) [000] ...1 1034709.300503: tracing_mark_write: B|778|HIDL::ISensors::poll::server 18601 HwBinder:778_1-1087 ( 778) [004] ...1 1034709.319516: tracing_mark_write: E|778 18602 SensorService-1283 ( 1151) [002] ...1 1034709.320028: tracing_mark_write: E|1151 18603 SensorService-1283 ( 1151) [002] ...1 1034709.320439: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 18604 HwBinder:778_1-1087 ( 778) [004] ...1 1034709.320694: tracing_mark_write: B|778|HIDL::ISensors::poll::server 18605 surfaceflinger-591 ( 591) [003] ...1 1034709.322530: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 18606 composer@2.1-s-593 ( 593) [001] ...1 1034709.322855: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 18607 composer@2.1-s-593 ( 593) [001] ...1 1034709.323033: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 18608 composer@2.1-s-593 ( 593) [001] ...1 1034709.323086: tracing_mark_write: B|593|HWDevice::Commit:: 18609 composer@2.1-s-593 ( 593) [001] ...1 1034709.323478: tracing_mark_write: E|593 18610 composer@2.1-s-593 ( 593) [001] ...1 1034709.323547: tracing_mark_write: E|593 18611 composer@2.1-s-593 ( 593) [001] ...1 1034709.323626: tracing_mark_write: E|593 18612 surfaceflinger-591 ( 591) [003] ...1 1034709.323826: tracing_mark_write: E|591 18613 HwBinder:778_1-1087 ( 778) [002] ...1 1034709.338723: tracing_mark_write: E|778 18614 SensorService-1283 ( 1151) [003] ...1 1034709.338908: tracing_mark_write: E|1151 18615 SensorService-1283 ( 1151) [003] ...1 1034709.339047: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 18616 HwBinder:778_1-1087 ( 778) [002] ...1 1034709.339141: tracing_mark_write: B|778|HIDL::ISensors::poll::server 18617 HwBinder:778_1-1087 ( 778) [001] ...1 1034709.357624: tracing_mark_write: E|778 18618 SensorService-1283 ( 1151) [003] ...1 1034709.357754: tracing_mark_write: E|1151 18619 SensorService-1283 ( 1151) [003] ...1 1034709.357862: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 18620 HwBinder:778_1-1087 ( 778) [001] ...1 1034709.357937: tracing_mark_write: B|778|HIDL::ISensors::poll::server 18621 surfaceflinger-591 ( 591) [000] ...1 1034709.372390: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 18622 composer@2.1-s-593 ( 593) [001] ...1 1034709.372638: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 18623 composer@2.1-s-593 ( 593) [001] ...1 1034709.372757: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 18624 composer@2.1-s-593 ( 593) [001] ...1 1034709.372791: tracing_mark_write: B|593|HWDevice::Commit:: 18625 composer@2.1-s-593 ( 593) [001] ...1 1034709.372974: tracing_mark_write: E|593 18626 composer@2.1-s-593 ( 593) [001] ...1 1034709.373016: tracing_mark_write: E|593 18627 composer@2.1-s-593 ( 593) [001] ...1 1034709.373065: tracing_mark_write: E|593 18628 surfaceflinger-591 ( 591) [000] ...1 1034709.373179: tracing_mark_write: E|591 18629 HwBinder:778_1-1087 ( 778) [003] ...1 1034709.377141: tracing_mark_write: E|778 18630 SensorService-1283 ( 1151) [000] ...1 1034709.377286: tracing_mark_write: E|1151 18631 SensorService-1283 ( 1151) [000] ...1 1034709.377424: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 18632 HwBinder:778_1-1087 ( 778) [003] ...1 1034709.377512: tracing_mark_write: B|778|HIDL::ISensors::poll::server 18633 HwBinder:778_1-1087 ( 778) [002] ...1 1034709.396469: tracing_mark_write: E|778 18634 SensorService-1283 ( 1151) [000] ...1 1034709.396676: tracing_mark_write: E|1151 18635 SensorService-1283 ( 1151) [000] ...1 1034709.396840: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 18636 HwBinder:778_1-1087 ( 778) [002] ...1 1034709.396942: tracing_mark_write: B|778|HIDL::ISensors::poll::server 18637 HwBinder:778_1-1087 ( 778) [001] ...1 1034709.415571: tracing_mark_write: E|778 18638 SensorService-1283 ( 1151) [000] ...1 1034709.415736: tracing_mark_write: E|1151 18639 SensorService-1283 ( 1151) [000] ...1 1034709.415903: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 18640 HwBinder:778_1-1087 ( 778) [001] ...1 1034709.416008: tracing_mark_write: B|778|HIDL::ISensors::poll::server 18641 surfaceflinger-591 ( 591) [001] ...1 1034709.422995: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 18642 composer@2.1-s-593 ( 593) [000] ...1 1034709.423399: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 18643 composer@2.1-s-593 ( 593) [000] ...1 1034709.423563: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 18644 composer@2.1-s-593 ( 593) [000] ...1 1034709.423612: tracing_mark_write: B|593|HWDevice::Commit:: 18645 composer@2.1-s-593 ( 593) [000] ...1 1034709.423867: tracing_mark_write: E|593 18646 composer@2.1-s-593 ( 593) [000] ...1 1034709.423932: tracing_mark_write: E|593 18647 composer@2.1-s-593 ( 593) [000] ...1 1034709.424004: tracing_mark_write: E|593 18648 surfaceflinger-591 ( 591) [001] ...1 1034709.424188: tracing_mark_write: E|591 18649 HwBinder:778_1-1087 ( 778) [001] ...1 1034709.434724: tracing_mark_write: E|778 18650 SensorService-1283 ( 1151) [000] ...1 1034709.434925: tracing_mark_write: E|1151 18651 SensorService-1283 ( 1151) [000] ...1 1034709.435116: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 18652 HwBinder:778_1-1087 ( 778) [001] ...1 1034709.435235: tracing_mark_write: B|778|HIDL::ISensors::poll::server 18653 HwBinder:778_1-1087 ( 778) [001] ...1 1034709.454205: tracing_mark_write: E|778 18654 SensorService-1283 ( 1151) [000] ...1 1034709.454412: tracing_mark_write: E|1151 18655 SensorService-1283 ( 1151) [000] ...1 1034709.454598: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 18656 sensors@1.0-se-778 ( 778) [006] ...1 1034709.454818: tracing_mark_write: B|778|HIDL::ISensors::poll::server 18657 surfaceflinger-591 ( 591) [000] ...1 1034709.456526: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 18658 composer@2.1-s-593 ( 593) [001] ...1 1034709.456851: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 18659 composer@2.1-s-593 ( 593) [001] ...1 1034709.457016: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 18660 composer@2.1-s-593 ( 593) [001] ...1 1034709.457064: tracing_mark_write: B|593|HWDevice::Commit:: 18661 composer@2.1-s-593 ( 593) [001] ...1 1034709.457311: tracing_mark_write: E|593 18662 composer@2.1-s-593 ( 593) [001] ...1 1034709.457371: tracing_mark_write: E|593 18663 composer@2.1-s-593 ( 593) [001] ...1 1034709.457436: tracing_mark_write: E|593 18664 surfaceflinger-591 ( 591) [000] ...1 1034709.457589: tracing_mark_write: E|591 18665 sensors@1.0-se-778 ( 778) [004] ...1 1034709.473330: tracing_mark_write: E|778 18666 SensorService-1283 ( 1151) [000] ...1 1034709.473561: tracing_mark_write: E|1151 18667 SensorService-1283 ( 1151) [000] ...1 1034709.473698: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 18668 sensors@1.0-se-778 ( 778) [004] ...1 1034709.473885: tracing_mark_write: B|778|HIDL::ISensors::poll::server 18669 sensors@1.0-se-778 ( 778) [006] ...1 1034709.492421: tracing_mark_write: E|778 18670 SensorService-1283 ( 1151) [000] ...1 1034709.492608: tracing_mark_write: E|1151 18671 SensorService-1283 ( 1151) [000] ...1 1034709.492736: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 18672 sensors@1.0-se-778 ( 778) [006] ...1 1034709.492902: tracing_mark_write: B|778|HIDL::ISensors::poll::server 18673 surfaceflinger-591 ( 591) [000] ...1 1034709.506704: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 18674 composer@2.1-s-593 ( 593) [001] ...1 1034709.506951: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 18675 composer@2.1-s-593 ( 593) [001] ...1 1034709.507072: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 18676 composer@2.1-s-593 ( 593) [001] ...1 1034709.507107: tracing_mark_write: B|593|HWDevice::Commit:: 18677 composer@2.1-s-593 ( 593) [001] ...1 1034709.507290: tracing_mark_write: E|593 18678 composer@2.1-s-593 ( 593) [001] ...1 1034709.507336: tracing_mark_write: E|593 18679 composer@2.1-s-593 ( 593) [001] ...1 1034709.507387: tracing_mark_write: E|593 18680 surfaceflinger-591 ( 591) [000] ...1 1034709.507507: tracing_mark_write: E|591 18681 sensors@1.0-se-778 ( 778) [006] ...1 1034709.511696: tracing_mark_write: E|778 18682 SensorService-1283 ( 1151) [000] ...1 1034709.511837: tracing_mark_write: E|1151 18683 SensorService-1283 ( 1151) [000] ...1 1034709.512022: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 18684 sensors@1.0-se-778 ( 778) [006] ...1 1034709.512132: tracing_mark_write: B|778|HIDL::ISensors::poll::server 18685 sensors@1.0-se-778 ( 778) [006] ...1 1034709.533463: tracing_mark_write: E|778 18686 SensorService-1283 ( 1151) [000] ...1 1034709.533713: tracing_mark_write: E|1151 18687 SensorService-1283 ( 1151) [000] ...1 1034709.533970: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 18688 sensors@1.0-se-778 ( 778) [006] ...1 1034709.534108: tracing_mark_write: B|778|HIDL::ISensors::poll::server 18689 surfaceflinger-591 ( 591) [002] ...1 1034709.540450: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 18690 composer@2.1-s-593 ( 593) [001] ...1 1034709.540725: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 18691 composer@2.1-s-593 ( 593) [001] ...1 1034709.540888: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 18692 composer@2.1-s-593 ( 593) [001] ...1 1034709.540934: tracing_mark_write: B|593|HWDevice::Commit:: 18693 composer@2.1-s-593 ( 593) [001] ...1 1034709.541191: tracing_mark_write: E|593 18694 composer@2.1-s-593 ( 593) [001] ...1 1034709.541255: tracing_mark_write: E|593 18695 composer@2.1-s-593 ( 593) [001] ...1 1034709.541325: tracing_mark_write: E|593 18696 surfaceflinger-591 ( 591) [000] ...1 1034709.541532: tracing_mark_write: E|591 18697 sensors@1.0-se-778 ( 778) [006] ...1 1034709.550500: tracing_mark_write: E|778 18698 SensorService-1283 ( 1151) [000] ...1 1034709.550715: tracing_mark_write: E|1151 18699 SensorService-1283 ( 1151) [000] ...1 1034709.550921: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 18700 sensors@1.0-se-778 ( 778) [006] ...1 1034709.551113: tracing_mark_write: B|778|HIDL::ISensors::poll::server 18701 sensors@1.0-se-778 ( 778) [006] ...1 1034709.569586: tracing_mark_write: E|778 18702 SensorService-1283 ( 1151) [000] ...1 1034709.569794: tracing_mark_write: E|1151 18703 SensorService-1283 ( 1151) [000] ...1 1034709.570066: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 18704 sensors@1.0-se-778 ( 778) [006] ...1 1034709.570249: tracing_mark_write: B|778|HIDL::ISensors::poll::server 18705 sensors@1.0-se-778 ( 778) [006] ...1 1034709.588728: tracing_mark_write: E|778 18706 SensorService-1283 ( 1151) [000] ...1 1034709.588941: tracing_mark_write: E|1151 18707 SensorService-1283 ( 1151) [000] ...1 1034709.589128: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 18708 sensors@1.0-se-778 ( 778) [006] ...1 1034709.589320: tracing_mark_write: B|778|HIDL::ISensors::poll::server 18709 surfaceflinger-591 ( 591) [000] ...1 1034709.590777: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 18710 composer@2.1-s-593 ( 593) [001] ...1 1034709.591061: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 18711 composer@2.1-s-593 ( 593) [001] ...1 1034709.591226: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 18712 composer@2.1-s-593 ( 593) [001] ...1 1034709.591275: tracing_mark_write: B|593|HWDevice::Commit:: 18713 composer@2.1-s-593 ( 593) [001] ...1 1034709.591538: tracing_mark_write: E|593 18714 composer@2.1-s-593 ( 593) [001] ...1 1034709.591600: tracing_mark_write: E|593 18715 composer@2.1-s-593 ( 593) [001] ...1 1034709.591670: tracing_mark_write: E|593 18716 surfaceflinger-591 ( 591) [000] ...1 1034709.591836: tracing_mark_write: E|591 18717 sensors@1.0-se-778 ( 778) [006] ...1 1034709.608029: tracing_mark_write: E|778 18718 SensorService-1283 ( 1151) [000] ...1 1034709.608246: tracing_mark_write: E|1151 18719 SensorService-1283 ( 1151) [000] ...1 1034709.608418: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 18720 sensors@1.0-se-778 ( 778) [006] ...1 1034709.608604: tracing_mark_write: B|778|HIDL::ISensors::poll::server 18721 surfaceflinger-591 ( 591) [003] ...1 1034709.624128: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 18722 composer@2.1-s-593 ( 593) [001] ...1 1034709.624372: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 18723 composer@2.1-s-593 ( 593) [001] ...1 1034709.624492: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 18724 composer@2.1-s-593 ( 593) [001] ...1 1034709.624527: tracing_mark_write: B|593|HWDevice::Commit:: 18725 composer@2.1-s-593 ( 593) [001] ...1 1034709.624719: tracing_mark_write: E|593 18726 composer@2.1-s-593 ( 593) [001] ...1 1034709.624763: tracing_mark_write: E|593 18727 composer@2.1-s-593 ( 593) [001] ...1 1034709.624813: tracing_mark_write: E|593 18728 surfaceflinger-591 ( 591) [003] ...1 1034709.624941: tracing_mark_write: E|591 18729 sensors@1.0-se-778 ( 778) [006] ...1 1034709.627206: tracing_mark_write: E|778 18730 SensorService-1283 ( 1151) [000] ...1 1034709.627365: tracing_mark_write: E|1151 18731 SensorService-1283 ( 1151) [000] ...1 1034709.627508: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 18732 sensors@1.0-se-778 ( 778) [006] ...1 1034709.627664: tracing_mark_write: B|778|HIDL::ISensors::poll::server 18733 sensors@1.0-se-778 ( 778) [006] ...1 1034709.646468: tracing_mark_write: E|778 18734 SensorService-1283 ( 1151) [000] ...1 1034709.646653: tracing_mark_write: E|1151 18735 SensorService-1283 ( 1151) [000] ...1 1034709.646797: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 18736 sensors@1.0-se-778 ( 778) [006] ...1 1034709.647033: tracing_mark_write: B|778|HIDL::ISensors::poll::server 18737 sensors@1.0-se-778 ( 778) [006] ...1 1034709.665624: tracing_mark_write: E|778 18738 SensorService-1283 ( 1151) [000] ...1 1034709.665792: tracing_mark_write: E|1151 18739 SensorService-1283 ( 1151) [000] ...1 1034709.665907: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 18740 sensors@1.0-se-778 ( 778) [006] ...1 1034709.666034: tracing_mark_write: B|778|HIDL::ISensors::poll::server 18741 surfaceflinger-591 ( 591) [000] ...1 1034709.674353: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 18742 composer@2.1-s-593 ( 593) [001] ...1 1034709.674578: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 18743 composer@2.1-s-593 ( 593) [001] ...1 1034709.674691: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 18744 composer@2.1-s-593 ( 593) [001] ...1 1034709.674725: tracing_mark_write: B|593|HWDevice::Commit:: 18745 composer@2.1-s-593 ( 593) [001] ...1 1034709.674903: tracing_mark_write: E|593 18746 composer@2.1-s-593 ( 593) [001] ...1 1034709.674945: tracing_mark_write: E|593 18747 composer@2.1-s-593 ( 593) [001] ...1 1034709.674994: tracing_mark_write: E|593 18748 surfaceflinger-591 ( 591) [000] ...1 1034709.675097: tracing_mark_write: E|591 18749 sensors@1.0-se-778 ( 778) [006] ...1 1034709.685078: tracing_mark_write: E|778 18750 SensorService-1283 ( 1151) [000] ...1 1034709.685238: tracing_mark_write: E|1151 18751 SensorService-1283 ( 1151) [000] ...1 1034709.685380: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 18752 sensors@1.0-se-778 ( 778) [006] ...1 1034709.685497: tracing_mark_write: B|778|HIDL::ISensors::poll::server 18753 sensors@1.0-se-778 ( 778) [006] ...1 1034709.704269: tracing_mark_write: E|778 18754 SensorService-1283 ( 1151) [000] ...1 1034709.704369: tracing_mark_write: E|1151 18755 SensorService-1283 ( 1151) [000] ...1 1034709.704464: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 18756 HwBinder:778_1-1087 ( 778) [001] ...1 1034709.704555: tracing_mark_write: B|778|HIDL::ISensors::poll::server 18757 surfaceflinger-591 ( 591) [001] ...1 1034709.707762: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 18758 composer@2.1-s-593 ( 593) [000] ...1 1034709.707914: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 18759 composer@2.1-s-593 ( 593) [000] ...1 1034709.708000: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 18760 composer@2.1-s-593 ( 593) [000] ...1 1034709.708026: tracing_mark_write: B|593|HWDevice::Commit:: 18761 composer@2.1-s-593 ( 593) [000] ...1 1034709.708157: tracing_mark_write: E|593 18762 composer@2.1-s-593 ( 593) [000] ...1 1034709.708192: tracing_mark_write: E|593 18763 composer@2.1-s-593 ( 593) [000] ...1 1034709.708231: tracing_mark_write: E|593 18764 surfaceflinger-591 ( 591) [001] ...1 1034709.708315: tracing_mark_write: E|591 18765 HwBinder:778_1-1087 ( 778) [001] ...1 1034709.723268: tracing_mark_write: E|778 18766 SensorService-1283 ( 1151) [000] ...1 1034709.723369: tracing_mark_write: E|1151 18767 SensorService-1283 ( 1151) [000] ...1 1034709.723463: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 18768 HwBinder:778_1-1087 ( 778) [001] ...1 1034709.723551: tracing_mark_write: B|778|HIDL::ISensors::poll::server 18769 HwBinder:778_1-1087 ( 778) [001] ...1 1034709.743008: tracing_mark_write: E|778 18770 SensorService-1283 ( 1151) [002] ...1 1034709.743096: tracing_mark_write: E|1151 18771 SensorService-1283 ( 1151) [002] ...1 1034709.743247: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 18772 HwBinder:778_1-1087 ( 778) [001] ...1 1034709.743350: tracing_mark_write: B|778|HIDL::ISensors::poll::server 18773 surfaceflinger-591 ( 591) [002] ...1 1034709.758194: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 18774 composer@2.1-s-593 ( 593) [000] ...1 1034709.758385: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 18775 composer@2.1-s-593 ( 593) [000] ...1 1034709.758478: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 18776 composer@2.1-s-593 ( 593) [000] ...1 1034709.758506: tracing_mark_write: B|593|HWDevice::Commit:: 18777 composer@2.1-s-593 ( 593) [000] ...1 1034709.758649: tracing_mark_write: E|593 18778 composer@2.1-s-593 ( 593) [000] ...1 1034709.758683: tracing_mark_write: E|593 18779 composer@2.1-s-593 ( 593) [000] ...1 1034709.758724: tracing_mark_write: E|593 18780 surfaceflinger-591 ( 591) [003] ...1 1034709.758825: tracing_mark_write: E|591 18781 HwBinder:778_1-1087 ( 778) [003] ...1 1034709.761696: tracing_mark_write: E|778 18782 SensorService-1283 ( 1151) [002] ...1 1034709.761812: tracing_mark_write: E|1151 18783 SensorService-1283 ( 1151) [002] ...1 1034709.761905: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 18784 HwBinder:778_1-1087 ( 778) [003] ...1 1034709.761978: tracing_mark_write: B|778|HIDL::ISensors::poll::server 18785 HwBinder:778_1-1087 ( 778) [002] ...1 1034709.781019: tracing_mark_write: E|778 18786 SensorService-1283 ( 1151) [000] ...1 1034709.781147: tracing_mark_write: E|1151 18787 SensorService-1283 ( 1151) [000] ...1 1034709.781238: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 18788 HwBinder:778_1-1087 ( 778) [002] ...1 1034709.781303: tracing_mark_write: B|778|HIDL::ISensors::poll::server 18789 surfaceflinger-591 ( 591) [000] ...1 1034709.791607: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 18790 composer@2.1-s-593 ( 593) [001] ...1 1034709.791747: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 18791 composer@2.1-s-593 ( 593) [001] ...1 1034709.791815: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 18792 composer@2.1-s-593 ( 593) [001] ...1 1034709.791835: tracing_mark_write: B|593|HWDevice::Commit:: 18793 composer@2.1-s-593 ( 593) [001] ...1 1034709.791955: tracing_mark_write: E|593 18794 composer@2.1-s-593 ( 593) [001] ...1 1034709.791984: tracing_mark_write: E|593 18795 composer@2.1-s-593 ( 593) [001] ...1 1034709.792014: tracing_mark_write: E|593 18796 surfaceflinger-591 ( 591) [000] ...1 1034709.792094: tracing_mark_write: E|591 18797 HwBinder:778_1-1087 ( 778) [004] ...1 1034709.800496: tracing_mark_write: E|778 18798 SensorService-1283 ( 1151) [000] ...1 1034709.800661: tracing_mark_write: E|1151 18799 SensorService-1283 ( 1151) [000] ...1 1034709.800836: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 18800 HwBinder:778_1-1087 ( 778) [004] ...1 1034709.800967: tracing_mark_write: B|778|HIDL::ISensors::poll::server 18801 HwBinder:778_1-1087 ( 778) [000] ...1 1034709.819587: tracing_mark_write: E|778 18802 SensorService-1283 ( 1151) [001] ...1 1034709.819698: tracing_mark_write: E|1151 18803 SensorService-1283 ( 1151) [001] ...1 1034709.819796: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 18804 HwBinder:778_1-1087 ( 778) [000] ...1 1034709.819891: tracing_mark_write: B|778|HIDL::ISensors::poll::server 18805 HwBinder:778_1-1087 ( 778) [000] ...1 1034709.838952: tracing_mark_write: E|778 18806 SensorService-1283 ( 1151) [001] ...1 1034709.839026: tracing_mark_write: E|1151 18807 SensorService-1283 ( 1151) [001] ...1 1034709.839121: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 18808 HwBinder:778_1-1087 ( 778) [000] ...1 1034709.839189: tracing_mark_write: B|778|HIDL::ISensors::poll::server 18809 surfaceflinger-591 ( 591) [000] ...1 1034709.842119: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 18810 composer@2.1-s-593 ( 593) [001] ...1 1034709.842301: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 18811 composer@2.1-s-593 ( 593) [001] ...1 1034709.842418: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 18812 composer@2.1-s-593 ( 593) [001] ...1 1034709.842452: tracing_mark_write: B|593|HWDevice::Commit:: 18813 composer@2.1-s-593 ( 593) [001] ...1 1034709.842627: tracing_mark_write: E|593 18814 composer@2.1-s-593 ( 593) [001] ...1 1034709.842674: tracing_mark_write: E|593 18815 composer@2.1-s-593 ( 593) [001] ...1 1034709.842723: tracing_mark_write: E|593 18816 surfaceflinger-591 ( 591) [000] ...1 1034709.842834: tracing_mark_write: E|591 18817 HwBinder:778_1-1087 ( 778) [000] ...1 1034709.858532: tracing_mark_write: E|778 18818 SensorService-1283 ( 1151) [002] ...1 1034709.858739: tracing_mark_write: E|1151 18819 SensorService-1283 ( 1151) [002] ...1 1034709.858947: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 18820 HwBinder:778_1-1087 ( 778) [000] ...1 1034709.859105: tracing_mark_write: B|778|HIDL::ISensors::poll::server 18821 surfaceflinger-591 ( 591) [002] ...1 1034709.876044: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 18822 composer@2.1-s-593 ( 593) [001] ...1 1034709.876318: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 18823 composer@2.1-s-593 ( 593) [001] ...1 1034709.876480: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 18824 composer@2.1-s-593 ( 593) [001] ...1 1034709.876527: tracing_mark_write: B|593|HWDevice::Commit:: 18825 composer@2.1-s-593 ( 593) [001] ...1 1034709.877015: tracing_mark_write: E|593 18826 composer@2.1-s-593 ( 593) [001] ...1 1034709.877103: tracing_mark_write: E|593 18827 composer@2.1-s-593 ( 593) [001] ...1 1034709.877180: tracing_mark_write: E|593 18828 surfaceflinger-591 ( 591) [000] ...1 1034709.877433: tracing_mark_write: E|591 18829 HwBinder:778_1-1087 ( 778) [001] ...1 1034709.877780: tracing_mark_write: E|778 18830 SensorService-1283 ( 1151) [003] ...1 1034709.877937: tracing_mark_write: E|1151 18831 SensorService-1283 ( 1151) [003] ...1 1034709.878129: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 18832 HwBinder:778_1-1087 ( 778) [001] ...1 1034709.878274: tracing_mark_write: B|778|HIDL::ISensors::poll::server 18833 HwBinder:778_1-1087 ( 778) [000] ...1 1034709.896732: tracing_mark_write: E|778 18834 SensorService-1283 ( 1151) [003] ...1 1034709.896863: tracing_mark_write: E|1151 18835 SensorService-1283 ( 1151) [003] ...1 1034709.897196: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 18836 HwBinder:778_1-1087 ( 778) [000] ...1 1034709.897327: tracing_mark_write: B|778|HIDL::ISensors::poll::server 18837 HwBinder:778_1-1087 ( 778) [000] ...1 1034709.915949: tracing_mark_write: E|778 18838 SensorService-1283 ( 1151) [003] ...1 1034709.916074: tracing_mark_write: E|1151 18839 SensorService-1283 ( 1151) [003] ...1 1034709.916231: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 18840 HwBinder:778_1-1087 ( 778) [000] ...1 1034709.916358: tracing_mark_write: B|778|HIDL::ISensors::poll::server 18841 surfaceflinger-591 ( 591) [000] ...1 1034709.926312: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 18842 composer@2.1-s-593 ( 593) [001] ...1 1034709.926586: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 18843 composer@2.1-s-593 ( 593) [001] ...1 1034709.926744: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 18844 composer@2.1-s-593 ( 593) [001] ...1 1034709.926929: tracing_mark_write: B|593|HWDevice::Commit:: 18845 composer@2.1-s-593 ( 593) [001] ...1 1034709.927175: tracing_mark_write: E|593 18846 composer@2.1-s-593 ( 593) [001] ...1 1034709.927235: tracing_mark_write: E|593 18847 composer@2.1-s-593 ( 593) [001] ...1 1034709.927304: tracing_mark_write: E|593 18848 surfaceflinger-591 ( 591) [000] ...1 1034709.927487: tracing_mark_write: E|591 18849 HwBinder:778_1-1087 ( 778) [000] ...1 1034709.935277: tracing_mark_write: E|778 18850 SensorService-1283 ( 1151) [003] ...1 1034709.935407: tracing_mark_write: E|1151 18851 SensorService-1283 ( 1151) [003] ...1 1034709.935544: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 18852 HwBinder:778_1-1087 ( 778) [000] ...1 1034709.935680: tracing_mark_write: B|778|HIDL::ISensors::poll::server 18853 HwBinder:778_1-1087 ( 778) [000] ...1 1034709.954274: tracing_mark_write: E|778 18854 SensorService-1283 ( 1151) [003] ...1 1034709.954576: tracing_mark_write: E|1151 18855 SensorService-1283 ( 1151) [003] ...1 1034709.954689: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 18856 HwBinder:778_1-1087 ( 778) [000] ...1 1034709.954824: tracing_mark_write: B|778|HIDL::ISensors::poll::server 18857 surfaceflinger-591 ( 591) [000] ...1 1034709.959971: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 18858 composer@2.1-s-593 ( 593) [001] ...1 1034709.960195: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 18859 composer@2.1-s-593 ( 593) [001] ...1 1034709.960326: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 18860 composer@2.1-s-593 ( 593) [001] ...1 1034709.960365: tracing_mark_write: B|593|HWDevice::Commit:: 18861 composer@2.1-s-593 ( 593) [001] ...1 1034709.960750: tracing_mark_write: E|593 18862 composer@2.1-s-593 ( 593) [001] ...1 1034709.960811: tracing_mark_write: E|593 18863 composer@2.1-s-593 ( 593) [001] ...1 1034709.960876: tracing_mark_write: E|593 18864 surfaceflinger-591 ( 591) [000] ...1 1034709.961056: tracing_mark_write: E|591 18865 HwBinder:778_1-1087 ( 778) [000] ...1 1034709.973584: tracing_mark_write: E|778 18866 SensorService-1283 ( 1151) [003] ...1 1034709.973856: tracing_mark_write: E|1151 18867 SensorService-1283 ( 1151) [003] ...1 1034709.973982: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 18868 HwBinder:778_1-1087 ( 778) [000] ...1 1034709.974111: tracing_mark_write: B|778|HIDL::ISensors::poll::server 18869 HwBinder:778_1-1087 ( 778) [000] ...1 1034709.992759: tracing_mark_write: E|778 18870 SensorService-1283 ( 1151) [003] ...1 1034709.992878: tracing_mark_write: E|1151 18871 SensorService-1283 ( 1151) [003] ...1 1034709.992991: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 18872 HwBinder:778_1-1087 ( 778) [000] ...1 1034709.993315: tracing_mark_write: B|778|HIDL::ISensors::poll::server 18873 surfaceflinger-591 ( 591) [000] ...1 1034710.010393: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 18874 composer@2.1-s-593 ( 593) [001] ...1 1034710.010615: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 18875 composer@2.1-s-593 ( 593) [001] ...1 1034710.010745: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 18876 composer@2.1-s-593 ( 593) [001] ...1 1034710.010782: tracing_mark_write: B|593|HWDevice::Commit:: 18877 composer@2.1-s-593 ( 593) [001] ...1 1034710.011029: tracing_mark_write: E|593 18878 composer@2.1-s-593 ( 593) [001] ...1 1034710.011089: tracing_mark_write: E|593 18879 composer@2.1-s-593 ( 593) [001] ...1 1034710.011300: tracing_mark_write: E|593 18880 surfaceflinger-591 ( 591) [000] ...1 1034710.011475: tracing_mark_write: E|591 18881 HwBinder:778_1-1087 ( 778) [001] ...1 1034710.012040: tracing_mark_write: E|778 18882 SensorService-1283 ( 1151) [003] ...1 1034710.012164: tracing_mark_write: E|1151 18883 SensorService-1283 ( 1151) [003] ...1 1034710.012286: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 18884 HwBinder:778_1-1087 ( 778) [001] ...1 1034710.012559: tracing_mark_write: B|778|HIDL::ISensors::poll::server 18885 HwBinder:778_1-1087 ( 778) [000] ...1 1034710.031722: tracing_mark_write: E|778 18886 SensorService-1283 ( 1151) [003] ...1 1034710.031847: tracing_mark_write: E|1151 18887 SensorService-1283 ( 1151) [003] ...1 1034710.031962: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 18888 HwBinder:778_1-1087 ( 778) [000] ...1 1034710.032093: tracing_mark_write: B|778|HIDL::ISensors::poll::server 18889 surfaceflinger-591 ( 591) [000] ...1 1034710.043854: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 18890 composer@2.1-s-593 ( 593) [001] ...1 1034710.044131: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 18891 composer@2.1-s-593 ( 593) [001] ...1 1034710.044303: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 18892 composer@2.1-s-593 ( 593) [001] ...1 1034710.044353: tracing_mark_write: B|593|HWDevice::Commit:: 18893 composer@2.1-s-593 ( 593) [001] ...1 1034710.044638: tracing_mark_write: E|593 18894 composer@2.1-s-593 ( 593) [001] ...1 1034710.044709: tracing_mark_write: E|593 18895 composer@2.1-s-593 ( 593) [001] ...1 1034710.044786: tracing_mark_write: E|593 18896 surfaceflinger-591 ( 591) [000] ...1 1034710.044981: tracing_mark_write: E|591 18897 HwBinder:778_1-1087 ( 778) [000] ...1 1034710.050622: tracing_mark_write: E|778 18898 SensorService-1283 ( 1151) [003] ...1 1034710.050774: tracing_mark_write: E|1151 18899 SensorService-1283 ( 1151) [003] ...1 1034710.050929: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 18900 HwBinder:778_1-1087 ( 778) [000] ...1 1034710.051073: tracing_mark_write: B|778|HIDL::ISensors::poll::server 18901 HwBinder:778_1-1087 ( 778) [001] ...1 1034710.070000: tracing_mark_write: E|778 18902 SensorService-1283 ( 1151) [003] ...1 1034710.070193: tracing_mark_write: E|1151 18903 SensorService-1283 ( 1151) [003] ...1 1034710.070355: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 18904 HwBinder:778_1-1087 ( 778) [001] ...1 1034710.070512: tracing_mark_write: B|778|HIDL::ISensors::poll::server 18905 HwBinder:778_1-1087 ( 778) [000] ...1 1034710.089513: tracing_mark_write: E|778 18906 SensorService-1283 ( 1151) [003] ...1 1034710.089663: tracing_mark_write: E|1151 18907 SensorService-1283 ( 1151) [003] ...1 1034710.089805: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 18908 HwBinder:778_1-1087 ( 778) [000] ...1 1034710.089940: tracing_mark_write: B|778|HIDL::ISensors::poll::server 18909 surfaceflinger-591 ( 591) [000] ...1 1034710.093978: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 18910 composer@2.1-s-593 ( 593) [001] ...1 1034710.094188: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 18911 composer@2.1-s-593 ( 593) [001] ...1 1034710.094323: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 18912 composer@2.1-s-593 ( 593) [001] ...1 1034710.094361: tracing_mark_write: B|593|HWDevice::Commit:: 18913 composer@2.1-s-593 ( 593) [001] ...1 1034710.094538: tracing_mark_write: E|593 18914 composer@2.1-s-593 ( 593) [001] ...1 1034710.094587: tracing_mark_write: E|593 18915 composer@2.1-s-593 ( 593) [001] ...1 1034710.094637: tracing_mark_write: E|593 18916 surfaceflinger-591 ( 591) [000] ...1 1034710.094759: tracing_mark_write: E|591 18917 HwBinder:778_1-1087 ( 778) [000] ...1 1034710.108348: tracing_mark_write: E|778 18918 SensorService-1283 ( 1151) [003] ...1 1034710.108457: tracing_mark_write: E|1151 18919 SensorService-1283 ( 1151) [003] ...1 1034710.108558: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 18920 HwBinder:778_1-1087 ( 778) [000] ...1 1034710.108623: tracing_mark_write: B|778|HIDL::ISensors::poll::server 18921 surfaceflinger-591 ( 591) [003] ...1 1034710.127437: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 18922 composer@2.1-s-593 ( 593) [001] ...1 1034710.127661: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 18923 composer@2.1-s-593 ( 593) [001] ...1 1034710.127755: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 18924 composer@2.1-s-593 ( 593) [001] ...1 1034710.127782: tracing_mark_write: B|593|HWDevice::Commit:: 18925 composer@2.1-s-593 ( 593) [001] ...1 1034710.127926: tracing_mark_write: E|593 18926 composer@2.1-s-593 ( 593) [001] ...1 1034710.127960: tracing_mark_write: E|593 18927 composer@2.1-s-593 ( 593) [001] ...1 1034710.128001: tracing_mark_write: E|593 18928 surfaceflinger-591 ( 591) [003] ...1 1034710.128094: tracing_mark_write: E|591 18929 HwBinder:778_1-1087 ( 778) [000] ...1 1034710.128335: tracing_mark_write: E|778 18930 SensorService-1283 ( 1151) [001] ...1 1034710.128423: tracing_mark_write: E|1151 18931 SensorService-1283 ( 1151) [001] ...1 1034710.128520: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 18932 HwBinder:778_1-1087 ( 778) [000] ...1 1034710.128575: tracing_mark_write: B|778|HIDL::ISensors::poll::server 18933 HwBinder:778_1-1087 ( 778) [000] ...1 1034710.147110: tracing_mark_write: E|778 18934 SensorService-1283 ( 1151) [001] ...1 1034710.147271: tracing_mark_write: E|1151 18935 SensorService-1283 ( 1151) [001] ...1 1034710.147421: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 18936 HwBinder:778_1-1087 ( 778) [000] ...1 1034710.147573: tracing_mark_write: B|778|HIDL::ISensors::poll::server 18937 HwBinder:778_1-1087 ( 778) [000] ...1 1034710.166323: tracing_mark_write: E|778 18938 SensorService-1283 ( 1151) [001] ...1 1034710.166620: tracing_mark_write: E|1151 18939 SensorService-1283 ( 1151) [001] ...1 1034710.166850: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 18940 HwBinder:778_1-1087 ( 778) [000] ...1 1034710.166991: tracing_mark_write: B|778|HIDL::ISensors::poll::server 18941 surfaceflinger-591 ( 591) [000] ...1 1034710.178147: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 18942 composer@2.1-s-593 ( 593) [001] ...1 1034710.178443: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 18943 composer@2.1-s-593 ( 593) [001] ...1 1034710.178605: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 18944 composer@2.1-s-593 ( 593) [001] ...1 1034710.178650: tracing_mark_write: B|593|HWDevice::Commit:: 18945 composer@2.1-s-593 ( 593) [001] ...1 1034710.178902: tracing_mark_write: E|593 18946 composer@2.1-s-593 ( 593) [001] ...1 1034710.178962: tracing_mark_write: E|593 18947 composer@2.1-s-593 ( 593) [001] ...1 1034710.179028: tracing_mark_write: E|593 18948 surfaceflinger-591 ( 591) [000] ...1 1034710.179192: tracing_mark_write: E|591 18949 HwBinder:778_1-1087 ( 778) [000] ...1 1034710.185666: tracing_mark_write: E|778 18950 SensorService-1283 ( 1151) [001] ...1 1034710.185901: tracing_mark_write: E|1151 18951 SensorService-1283 ( 1151) [001] ...1 1034710.186070: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 18952 HwBinder:778_1-1087 ( 778) [000] ...1 1034710.186172: tracing_mark_write: B|778|HIDL::ISensors::poll::server 18953 HwBinder:778_1-1087 ( 778) [000] ...1 1034710.205179: tracing_mark_write: E|778 18954 SensorService-1283 ( 1151) [001] ...1 1034710.205411: tracing_mark_write: E|1151 18955 SensorService-1283 ( 1151) [001] ...1 1034710.205627: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 18956 HwBinder:778_1-1087 ( 778) [000] ...1 1034710.205752: tracing_mark_write: B|778|HIDL::ISensors::poll::server 18957 surfaceflinger-591 ( 591) [000] ...1 1034710.211338: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 18958 composer@2.1-s-593 ( 593) [001] ...1 1034710.211570: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 18959 composer@2.1-s-593 ( 593) [001] ...1 1034710.211685: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 18960 composer@2.1-s-593 ( 593) [001] ...1 1034710.211719: tracing_mark_write: B|593|HWDevice::Commit:: 18961 composer@2.1-s-593 ( 593) [001] ...1 1034710.211893: tracing_mark_write: E|593 18962 composer@2.1-s-593 ( 593) [001] ...1 1034710.211936: tracing_mark_write: E|593 18963 composer@2.1-s-593 ( 593) [001] ...1 1034710.211984: tracing_mark_write: E|593 18964 surfaceflinger-591 ( 591) [000] ...1 1034710.212094: tracing_mark_write: E|591 18965 HwBinder:778_1-1087 ( 778) [000] ...1 1034710.223983: tracing_mark_write: E|778 18966 SensorService-1283 ( 1151) [001] ...1 1034710.224129: tracing_mark_write: E|1151 18967 SensorService-1283 ( 1151) [001] ...1 1034710.224240: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 18968 HwBinder:778_1-1087 ( 778) [000] ...1 1034710.224308: tracing_mark_write: B|778|HIDL::ISensors::poll::server 18969 HwBinder:778_1-1087 ( 778) [000] ...1 1034710.243098: tracing_mark_write: E|778 18970 SensorService-1283 ( 1151) [001] ...1 1034710.243188: tracing_mark_write: E|1151 18971 SensorService-1283 ( 1151) [001] ...1 1034710.243307: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 18972 HwBinder:778_1-1087 ( 778) [000] ...1 1034710.243375: tracing_mark_write: B|778|HIDL::ISensors::poll::server 18973 surfaceflinger-591 ( 591) [000] ...1 1034710.262338: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 18974 HwBinder:778_1-1087 ( 778) [001] ...1 1034710.262744: tracing_mark_write: E|778 18975 composer@2.1-s-593 ( 593) [000] ...1 1034710.262784: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 18976 SensorService-1283 ( 1151) [002] ...1 1034710.262963: tracing_mark_write: E|1151 18977 composer@2.1-s-593 ( 593) [000] ...1 1034710.262982: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 18978 composer@2.1-s-593 ( 593) [000] ...1 1034710.263044: tracing_mark_write: B|593|HWDevice::Commit:: 18979 SensorService-1283 ( 1151) [002] ...1 1034710.263288: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 18980 composer@2.1-s-593 ( 593) [000] ...1 1034710.263485: tracing_mark_write: E|593 18981 HwBinder:778_1-1087 ( 778) [001] ...1 1034710.263499: tracing_mark_write: B|778|HIDL::ISensors::poll::server 18982 composer@2.1-s-593 ( 593) [000] ...1 1034710.263575: tracing_mark_write: E|593 18983 composer@2.1-s-593 ( 593) [000] ...1 1034710.263645: tracing_mark_write: E|593 18984 surfaceflinger-591 ( 591) [001] ...1 1034710.263822: tracing_mark_write: E|591 18985 HwBinder:778_1-1087 ( 778) [000] ...1 1034710.281670: tracing_mark_write: E|778 18986 SensorService-1283 ( 1151) [002] ...1 1034710.281808: tracing_mark_write: E|1151 18987 SensorService-1283 ( 1151) [002] ...1 1034710.281942: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 18988 HwBinder:778_1-1087 ( 778) [000] ...1 1034710.282048: tracing_mark_write: B|778|HIDL::ISensors::poll::server 18989 storaged-1036 ( 911) [001] ...1 1034710.282917: tracing_mark_write: B|911|HIDL::IHealth::getDiskStats::client 18990 health@2.0-ser-744 ( 744) [001] ...1 1034710.285496: tracing_mark_write: B|744|HIDL::IHealth::getDiskStats::server 18991 health@2.0-ser-744 ( 744) [001] ...1 1034710.285974: tracing_mark_write: E|744 18992 storaged-1036 ( 911) [001] ...1 1034710.286870: tracing_mark_write: E|911 18993 surfaceflinger-591 ( 591) [003] ...1 1034710.296054: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 18994 composer@2.1-s-593 ( 593) [000] ...1 1034710.296483: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 18995 composer@2.1-s-593 ( 593) [000] ...1 1034710.296763: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 18996 composer@2.1-s-593 ( 593) [000] ...1 1034710.296828: tracing_mark_write: B|593|HWDevice::Commit:: 18997 composer@2.1-s-593 ( 593) [000] ...1 1034710.297171: tracing_mark_write: E|593 18998 composer@2.1-s-593 ( 593) [000] ...1 1034710.297255: tracing_mark_write: E|593 18999 composer@2.1-s-593 ( 593) [000] ...1 1034710.297355: tracing_mark_write: E|593 19000 surfaceflinger-591 ( 591) [003] ...1 1034710.297606: tracing_mark_write: E|591 19001 HwBinder:778_1-1087 ( 778) [000] ...1 1034710.301556: tracing_mark_write: E|778 19002 SensorService-1283 ( 1151) [001] ...1 1034710.301885: tracing_mark_write: E|1151 19003 SensorService-1283 ( 1151) [001] ...1 1034710.302160: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 19004 HwBinder:778_1-1087 ( 778) [000] ...1 1034710.302338: tracing_mark_write: B|778|HIDL::ISensors::poll::server 19005 HwBinder:778_1-1087 ( 778) [000] ...1 1034710.320277: tracing_mark_write: E|778 19006 SensorService-1283 ( 1151) [001] ...1 1034710.320405: tracing_mark_write: E|1151 19007 SensorService-1283 ( 1151) [001] ...1 1034710.320517: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 19008 HwBinder:778_1-1087 ( 778) [000] ...1 1034710.320617: tracing_mark_write: B|778|HIDL::ISensors::poll::server 19009 HwBinder:778_1-1087 ( 778) [001] ...1 1034710.339925: tracing_mark_write: E|778 19010 SensorService-1283 ( 1151) [002] ...1 1034710.340155: tracing_mark_write: E|1151 19011 SensorService-1283 ( 1151) [002] ...1 1034710.340375: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 19012 HwBinder:778_1-1087 ( 778) [001] ...1 1034710.340530: tracing_mark_write: B|778|HIDL::ISensors::poll::server 19013 surfaceflinger-591 ( 591) [001] ...1 1034710.346144: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 19014 composer@2.1-s-593 ( 593) [000] ...1 1034710.346608: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 19015 composer@2.1-s-593 ( 593) [000] ...1 1034710.346764: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 19016 composer@2.1-s-593 ( 593) [000] ...1 1034710.346804: tracing_mark_write: B|593|HWDevice::Commit:: 19017 composer@2.1-s-593 ( 593) [000] ...1 1034710.347004: tracing_mark_write: E|593 19018 composer@2.1-s-593 ( 593) [000] ...1 1034710.347054: tracing_mark_write: E|593 19019 composer@2.1-s-593 ( 593) [000] ...1 1034710.347110: tracing_mark_write: E|593 19020 surfaceflinger-591 ( 591) [001] ...1 1034710.347242: tracing_mark_write: E|591 19021 HwBinder:778_1-1087 ( 778) [001] ...1 1034710.358799: tracing_mark_write: E|778 19022 SensorService-1283 ( 1151) [002] ...1 1034710.358940: tracing_mark_write: E|1151 19023 SensorService-1283 ( 1151) [002] ...1 1034710.359059: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 19024 HwBinder:778_1-1087 ( 778) [001] ...1 1034710.359132: tracing_mark_write: B|778|HIDL::ISensors::poll::server 19025 HwBinder:778_1-1087 ( 778) [000] ...1 1034710.378211: tracing_mark_write: E|778 19026 SensorService-1283 ( 1151) [002] ...1 1034710.378484: tracing_mark_write: E|1151 19027 SensorService-1283 ( 1151) [002] ...1 1034710.378726: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 19028 HwBinder:778_1-1087 ( 778) [000] ...1 1034710.378864: tracing_mark_write: B|778|HIDL::ISensors::poll::server 19029 surfaceflinger-591 ( 591) [000] ...1 1034710.395953: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 19030 composer@2.1-s-593 ( 593) [001] ...1 1034710.396142: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 19031 composer@2.1-s-593 ( 593) [001] ...1 1034710.396243: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 19032 composer@2.1-s-593 ( 593) [001] ...1 1034710.396274: tracing_mark_write: B|593|HWDevice::Commit:: 19033 composer@2.1-s-593 ( 593) [001] ...1 1034710.396435: tracing_mark_write: E|593 19034 composer@2.1-s-593 ( 593) [001] ...1 1034710.396474: tracing_mark_write: E|593 19035 composer@2.1-s-593 ( 593) [001] ...1 1034710.396520: tracing_mark_write: E|593 19036 surfaceflinger-591 ( 591) [000] ...1 1034710.396671: tracing_mark_write: E|591 19037 HwBinder:778_1-1087 ( 778) [001] ...1 1034710.397063: tracing_mark_write: E|778 19038 SensorService-1283 ( 1151) [000] ...1 1034710.397172: tracing_mark_write: E|1151 19039 SensorService-1283 ( 1151) [000] ...1 1034710.397286: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 19040 HwBinder:778_1-1087 ( 778) [001] ...1 1034710.397359: tracing_mark_write: B|778|HIDL::ISensors::poll::server 19041 HwBinder:778_1-1087 ( 778) [000] ...1 1034710.416606: tracing_mark_write: E|778 19042 SensorService-1283 ( 1151) [001] ...1 1034710.416790: tracing_mark_write: E|1151 19043 SensorService-1283 ( 1151) [001] ...1 1034710.416933: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 19044 HwBinder:778_1-1087 ( 778) [000] ...1 1034710.417036: tracing_mark_write: B|778|HIDL::ISensors::poll::server 19045 surfaceflinger-591 ( 591) [000] ...1 1034710.430133: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 19046 composer@2.1-s-593 ( 593) [001] ...1 1034710.430526: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 19047 composer@2.1-s-593 ( 593) [001] ...1 1034710.430713: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 19048 composer@2.1-s-593 ( 593) [001] ...1 1034710.430782: tracing_mark_write: B|593|HWDevice::Commit:: 19049 composer@2.1-s-593 ( 593) [001] ...1 1034710.431098: tracing_mark_write: E|593 19050 composer@2.1-s-593 ( 593) [001] ...1 1034710.431180: tracing_mark_write: E|593 19051 composer@2.1-s-593 ( 593) [001] ...1 1034710.431264: tracing_mark_write: E|593 19052 surfaceflinger-591 ( 591) [000] ...1 1034710.431487: tracing_mark_write: E|591 19053 HwBinder:778_1-1087 ( 778) [000] ...1 1034710.436044: tracing_mark_write: E|778 19054 SensorService-1283 ( 1151) [001] ...1 1034710.436307: tracing_mark_write: E|1151 19055 SensorService-1283 ( 1151) [001] ...1 1034710.436587: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 19056 HwBinder:778_1-1087 ( 778) [000] ...1 1034710.436745: tracing_mark_write: B|778|HIDL::ISensors::poll::server 19057 HwBinder:778_1-1087 ( 778) [000] ...1 1034710.456398: tracing_mark_write: E|778 19058 SensorService-1283 ( 1151) [001] ...1 1034710.456618: tracing_mark_write: E|1151 19059 SensorService-1283 ( 1151) [001] ...1 1034710.456787: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 19060 HwBinder:778_1-1087 ( 778) [000] ...1 1034710.456907: tracing_mark_write: B|778|HIDL::ISensors::poll::server 19061 HwBinder:778_1-1087 ( 778) [000] ...1 1034710.474161: tracing_mark_write: E|778 19062 SensorService-1283 ( 1151) [001] ...1 1034710.474299: tracing_mark_write: E|1151 19063 SensorService-1283 ( 1151) [001] ...1 1034710.474410: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 19064 HwBinder:778_1-1087 ( 778) [000] ...1 1034710.474479: tracing_mark_write: B|778|HIDL::ISensors::poll::server 19065 surfaceflinger-591 ( 591) [000] ...1 1034710.479535: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 19066 composer@2.1-s-593 ( 593) [001] ...1 1034710.479652: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 19067 composer@2.1-s-593 ( 593) [001] ...1 1034710.479720: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 19068 composer@2.1-s-593 ( 593) [001] ...1 1034710.479741: tracing_mark_write: B|593|HWDevice::Commit:: 19069 composer@2.1-s-593 ( 593) [001] ...1 1034710.479852: tracing_mark_write: E|593 19070 composer@2.1-s-593 ( 593) [001] ...1 1034710.479900: tracing_mark_write: E|593 19071 composer@2.1-s-593 ( 593) [001] ...1 1034710.479931: tracing_mark_write: E|593 19072 surfaceflinger-591 ( 591) [000] ...1 1034710.480009: tracing_mark_write: E|591 19073 HwBinder:778_1-1087 ( 778) [000] ...1 1034710.493437: tracing_mark_write: E|778 19074 SensorService-1283 ( 1151) [001] ...1 1034710.493546: tracing_mark_write: E|1151 19075 SensorService-1283 ( 1151) [001] ...1 1034710.493791: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 19076 HwBinder:778_1-1087 ( 778) [000] ...1 1034710.493947: tracing_mark_write: B|778|HIDL::ISensors::poll::server 19077 HwBinder:778_1-1087 ( 778) [001] ...1 1034710.512930: tracing_mark_write: E|778 19078 SensorService-1283 ( 1151) [003] ...1 1034710.513108: tracing_mark_write: E|1151 19079 SensorService-1283 ( 1151) [003] ...1 1034710.513352: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 19080 HwBinder:778_1-1087 ( 778) [001] ...1 1034710.513501: tracing_mark_write: B|778|HIDL::ISensors::poll::server 19081 surfaceflinger-591 ( 591) [000] ...1 1034710.513679: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 19082 composer@2.1-s-593 ( 593) [001] ...1 1034710.513959: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 19083 composer@2.1-s-593 ( 593) [001] ...1 1034710.514145: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 19084 composer@2.1-s-593 ( 593) [001] ...1 1034710.514200: tracing_mark_write: B|593|HWDevice::Commit:: 19085 composer@2.1-s-593 ( 593) [001] ...1 1034710.514601: tracing_mark_write: E|593 19086 composer@2.1-s-593 ( 593) [001] ...1 1034710.514681: tracing_mark_write: E|593 19087 composer@2.1-s-593 ( 593) [001] ...1 1034710.514762: tracing_mark_write: E|593 19088 surfaceflinger-591 ( 591) [000] ...1 1034710.514961: tracing_mark_write: E|591 19089 HwBinder:778_1-1087 ( 778) [000] ...1 1034710.532027: tracing_mark_write: E|778 19090 SensorService-1283 ( 1151) [003] ...1 1034710.532181: tracing_mark_write: E|1151 19091 SensorService-1283 ( 1151) [003] ...1 1034710.532331: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 19092 HwBinder:778_1-1087 ( 778) [000] ...1 1034710.532476: tracing_mark_write: B|778|HIDL::ISensors::poll::server 19093 HwBinder:778_1-1087 ( 778) [002] ...1 1034710.551289: tracing_mark_write: E|778 19094 SensorService-1283 ( 1151) [003] ...1 1034710.551470: tracing_mark_write: E|1151 19095 SensorService-1283 ( 1151) [003] ...1 1034710.551639: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 19096 HwBinder:778_1-1087 ( 778) [002] ...1 1034710.551785: tracing_mark_write: B|778|HIDL::ISensors::poll::server 19097 surfaceflinger-591 ( 591) [000] ...1 1034710.564172: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 19098 composer@2.1-s-593 ( 593) [001] ...1 1034710.564462: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 19099 composer@2.1-s-593 ( 593) [001] ...1 1034710.564608: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 19100 composer@2.1-s-593 ( 593) [001] ...1 1034710.564651: tracing_mark_write: B|593|HWDevice::Commit:: 19101 composer@2.1-s-593 ( 593) [001] ...1 1034710.564899: tracing_mark_write: E|593 19102 composer@2.1-s-593 ( 593) [001] ...1 1034710.564958: tracing_mark_write: E|593 19103 composer@2.1-s-593 ( 593) [001] ...1 1034710.565028: tracing_mark_write: E|593 19104 surfaceflinger-591 ( 591) [000] ...1 1034710.565208: tracing_mark_write: E|591 19105 HwBinder:778_1-1087 ( 778) [000] ...1 1034710.570473: tracing_mark_write: E|778 19106 SensorService-1283 ( 1151) [003] ...1 1034710.570599: tracing_mark_write: E|1151 19107 SensorService-1283 ( 1151) [003] ...1 1034710.570739: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 19108 HwBinder:778_1-1087 ( 778) [000] ...1 1034710.570850: tracing_mark_write: B|778|HIDL::ISensors::poll::server 19109 HwBinder:778_1-1087 ( 778) [001] ...1 1034710.589708: tracing_mark_write: E|778 19110 SensorService-1283 ( 1151) [003] ...1 1034710.589864: tracing_mark_write: E|1151 19111 SensorService-1283 ( 1151) [003] ...1 1034710.590091: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 19112 HwBinder:778_1-1087 ( 778) [001] ...1 1034710.590249: tracing_mark_write: B|778|HIDL::ISensors::poll::server 19113 surfaceflinger-591 ( 591) [000] ...1 1034710.596987: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 19114 composer@2.1-s-593 ( 593) [001] ...1 1034710.597120: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 19115 composer@2.1-s-593 ( 593) [001] ...1 1034710.597203: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 19116 composer@2.1-s-593 ( 593) [001] ...1 1034710.597230: tracing_mark_write: B|593|HWDevice::Commit:: 19117 composer@2.1-s-593 ( 593) [001] ...1 1034710.597359: tracing_mark_write: E|593 19118 composer@2.1-s-593 ( 593) [001] ...1 1034710.597394: tracing_mark_write: E|593 19119 composer@2.1-s-593 ( 593) [001] ...1 1034710.597431: tracing_mark_write: E|593 19120 surfaceflinger-591 ( 591) [000] ...1 1034710.597518: tracing_mark_write: E|591 19121 HwBinder:778_1-1087 ( 778) [000] ...1 1034710.608970: tracing_mark_write: E|778 19122 SensorService-1283 ( 1151) [003] ...1 1034710.609044: tracing_mark_write: E|1151 19123 SensorService-1283 ( 1151) [003] ...1 1034710.609129: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 19124 HwBinder:778_1-1087 ( 778) [000] ...1 1034710.609184: tracing_mark_write: B|778|HIDL::ISensors::poll::server 19125 HwBinder:778_1-1087 ( 778) [000] ...1 1034710.628204: tracing_mark_write: E|778 19126 SensorService-1283 ( 1151) [003] ...1 1034710.628334: tracing_mark_write: E|1151 19127 SensorService-1283 ( 1151) [003] ...1 1034710.628457: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 19128 HwBinder:778_1-1087 ( 778) [000] ...1 1034710.628591: tracing_mark_write: B|778|HIDL::ISensors::poll::server 19129 HwBinder:778_1-1087 ( 778) [003] ...1 1034710.647895: tracing_mark_write: E|778 19130 surfaceflinger-591 ( 591) [002] ...1 1034710.647903: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 19131 SensorService-1283 ( 1151) [007] ...1 1034710.648020: tracing_mark_write: E|1151 19132 SensorService-1283 ( 1151) [007] ...1 1034710.648088: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 19133 composer@2.1-s-593 ( 593) [001] ...1 1034710.648189: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 19134 HwBinder:778_1-1087 ( 778) [003] ...1 1034710.648198: tracing_mark_write: B|778|HIDL::ISensors::poll::server 19135 composer@2.1-s-593 ( 593) [001] ...1 1034710.648355: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 19136 composer@2.1-s-593 ( 593) [001] ...1 1034710.648405: tracing_mark_write: B|593|HWDevice::Commit:: 19137 composer@2.1-s-593 ( 593) [001] ...1 1034710.648699: tracing_mark_write: E|593 19138 composer@2.1-s-593 ( 593) [001] ...1 1034710.648771: tracing_mark_write: E|593 19139 composer@2.1-s-593 ( 593) [001] ...1 1034710.648850: tracing_mark_write: E|593 19140 surfaceflinger-591 ( 591) [002] ...1 1034710.649072: tracing_mark_write: E|591 19141 HwBinder:778_1-1087 ( 778) [000] ...1 1034710.666910: tracing_mark_write: E|778 19142 SensorService-1283 ( 1151) [007] ...1 1034710.667053: tracing_mark_write: E|1151 19143 SensorService-1283 ( 1151) [007] ...1 1034710.667127: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 19144 sensors@1.0-se-778 ( 778) [006] ...1 1034710.667214: tracing_mark_write: B|778|HIDL::ISensors::poll::server 19145 surfaceflinger-591 ( 591) [000] ...1 1034710.681398: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 19146 composer@2.1-s-593 ( 593) [001] ...1 1034710.681662: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 19147 composer@2.1-s-593 ( 593) [001] ...1 1034710.681827: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 19148 composer@2.1-s-593 ( 593) [001] ...1 1034710.681876: tracing_mark_write: B|593|HWDevice::Commit:: 19149 composer@2.1-s-593 ( 593) [001] ...1 1034710.682157: tracing_mark_write: E|593 19150 composer@2.1-s-593 ( 593) [001] ...1 1034710.682223: tracing_mark_write: E|593 19151 composer@2.1-s-593 ( 593) [001] ...1 1034710.682296: tracing_mark_write: E|593 19152 surfaceflinger-591 ( 591) [000] ...1 1034710.682475: tracing_mark_write: E|591 19153 sensors@1.0-se-778 ( 778) [006] ...1 1034710.685843: tracing_mark_write: E|778 19154 SensorService-1283 ( 1151) [007] ...1 1034710.685892: tracing_mark_write: E|1151 19155 SensorService-1283 ( 1151) [007] ...1 1034710.685933: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 19156 sensors@1.0-se-778 ( 778) [006] ...1 1034710.685963: tracing_mark_write: B|778|HIDL::ISensors::poll::server 19157 sensors@1.0-se-778 ( 778) [006] ...1 1034710.705167: tracing_mark_write: E|778 19158 SensorService-1283 ( 1151) [007] ...1 1034710.705187: tracing_mark_write: E|1151 19159 SensorService-1283 ( 1151) [007] ...1 1034710.705202: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 19160 sensors@1.0-se-778 ( 778) [006] ...1 1034710.705222: tracing_mark_write: B|778|HIDL::ISensors::poll::server 19161 sensors@1.0-se-778 ( 778) [006] ...1 1034710.724338: tracing_mark_write: E|778 19162 SensorService-1283 ( 1151) [007] ...1 1034710.724372: tracing_mark_write: E|1151 19163 SensorService-1283 ( 1151) [007] ...1 1034710.724402: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 19164 sensors@1.0-se-778 ( 778) [006] ...1 1034710.724428: tracing_mark_write: B|778|HIDL::ISensors::poll::server 19165 surfaceflinger-591 ( 591) [000] ...1 1034710.731606: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 19166 composer@2.1-s-593 ( 593) [001] ...1 1034710.731849: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 19167 composer@2.1-s-593 ( 593) [001] ...1 1034710.731989: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 19168 composer@2.1-s-593 ( 593) [001] ...1 1034710.732042: tracing_mark_write: B|593|HWDevice::Commit:: 19169 composer@2.1-s-593 ( 593) [001] ...1 1034710.732322: tracing_mark_write: E|593 19170 composer@2.1-s-593 ( 593) [001] ...1 1034710.732387: tracing_mark_write: E|593 19171 composer@2.1-s-593 ( 593) [001] ...1 1034710.732457: tracing_mark_write: E|593 19172 surfaceflinger-591 ( 591) [000] ...1 1034710.732692: tracing_mark_write: E|591 19173 sensors@1.0-se-778 ( 778) [006] ...1 1034710.743672: tracing_mark_write: E|778 19174 SensorService-1283 ( 1151) [007] ...1 1034710.743747: tracing_mark_write: E|1151 19175 SensorService-1283 ( 1151) [007] ...1 1034710.743824: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 19176 sensors@1.0-se-778 ( 778) [006] ...1 1034710.743894: tracing_mark_write: B|778|HIDL::ISensors::poll::server 19177 sensors@1.0-se-778 ( 778) [006] ...1 1034710.763004: tracing_mark_write: E|778 19178 SensorService-1283 ( 1151) [007] ...1 1034710.763073: tracing_mark_write: E|1151 19179 SensorService-1283 ( 1151) [007] ...1 1034710.763139: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 19180 sensors@1.0-se-778 ( 778) [006] ...1 1034710.763188: tracing_mark_write: B|778|HIDL::ISensors::poll::server 19181 surfaceflinger-591 ( 591) [002] ...1 1034710.765388: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 19182 composer@2.1-s-593 ( 593) [001] ...1 1034710.765690: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 19183 composer@2.1-s-593 ( 593) [001] ...1 1034710.765844: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 19184 composer@2.1-s-593 ( 593) [001] ...1 1034710.765888: tracing_mark_write: B|593|HWDevice::Commit:: 19185 composer@2.1-s-593 ( 593) [001] ...1 1034710.766157: tracing_mark_write: E|593 19186 composer@2.1-s-593 ( 593) [001] ...1 1034710.766314: tracing_mark_write: E|593 19187 composer@2.1-s-593 ( 593) [001] ...1 1034710.766395: tracing_mark_write: E|593 19188 surfaceflinger-591 ( 591) [000] ...1 1034710.766705: tracing_mark_write: E|591 19189 sensors@1.0-se-778 ( 778) [006] ...1 1034710.782550: tracing_mark_write: E|778 19190 SensorService-1283 ( 1151) [007] ...1 1034710.782721: tracing_mark_write: E|1151 19191 SensorService-1283 ( 1151) [007] ...1 1034710.782880: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 19192 sensors@1.0-se-778 ( 778) [004] ...1 1034710.783048: tracing_mark_write: B|778|HIDL::ISensors::poll::server 19193 sensors@1.0-se-778 ( 778) [006] ...1 1034710.801888: tracing_mark_write: E|778 19194 SensorService-1283 ( 1151) [007] ...1 1034710.802097: tracing_mark_write: E|1151 19195 SensorService-1283 ( 1151) [007] ...1 1034710.802279: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 19196 sensors@1.0-se-778 ( 778) [004] ...1 1034710.802470: tracing_mark_write: B|778|HIDL::ISensors::poll::server 19197 surfaceflinger-591 ( 591) [000] ...1 1034710.815622: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 19198 composer@2.1-s-593 ( 593) [001] ...1 1034710.816006: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 19199 composer@2.1-s-593 ( 593) [001] ...1 1034710.816188: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 19200 composer@2.1-s-593 ( 593) [001] ...1 1034710.816234: tracing_mark_write: B|593|HWDevice::Commit:: 19201 composer@2.1-s-593 ( 593) [001] ...1 1034710.816497: tracing_mark_write: E|593 19202 composer@2.1-s-593 ( 593) [001] ...1 1034710.816627: tracing_mark_write: E|593 19203 composer@2.1-s-593 ( 593) [001] ...1 1034710.816701: tracing_mark_write: E|593 19204 surfaceflinger-591 ( 591) [000] ...1 1034710.816900: tracing_mark_write: E|591 19205 sensors@1.0-se-778 ( 778) [004] ...1 1034710.821086: tracing_mark_write: E|778 19206 SensorService-1283 ( 1151) [007] ...1 1034710.821260: tracing_mark_write: E|1151 19207 SensorService-1283 ( 1151) [007] ...1 1034710.821420: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 19208 sensors@1.0-se-778 ( 778) [004] ...1 1034710.821575: tracing_mark_write: B|778|HIDL::ISensors::poll::server 19209 sensors@1.0-se-778 ( 778) [004] ...1 1034710.840423: tracing_mark_write: E|778 19210 SensorService-1283 ( 1151) [007] ...1 1034710.840598: tracing_mark_write: E|1151 19211 SensorService-1283 ( 1151) [007] ...1 1034710.840811: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 19212 sensors@1.0-se-778 ( 778) [004] ...1 1034710.840960: tracing_mark_write: B|778|HIDL::ISensors::poll::server 19213 surfaceflinger-591 ( 591) [000] ...1 1034710.849229: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 19214 composer@2.1-s-593 ( 593) [001] ...1 1034710.849495: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 19215 composer@2.1-s-593 ( 593) [001] ...1 1034710.849649: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 19216 composer@2.1-s-593 ( 593) [001] ...1 1034710.849693: tracing_mark_write: B|593|HWDevice::Commit:: 19217 composer@2.1-s-593 ( 593) [001] ...1 1034710.850088: tracing_mark_write: E|593 19218 composer@2.1-s-593 ( 593) [001] ...1 1034710.850153: tracing_mark_write: E|593 19219 composer@2.1-s-593 ( 593) [001] ...1 1034710.850225: tracing_mark_write: E|593 19220 surfaceflinger-591 ( 591) [000] ...1 1034710.850418: tracing_mark_write: E|591 19221 sensors@1.0-se-778 ( 778) [004] ...1 1034710.859481: tracing_mark_write: E|778 19222 SensorService-1283 ( 1151) [007] ...1 1034710.859678: tracing_mark_write: E|1151 19223 SensorService-1283 ( 1151) [007] ...1 1034710.859949: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 19224 sensors@1.0-se-778 ( 778) [004] ...1 1034710.860098: tracing_mark_write: B|778|HIDL::ISensors::poll::server 19225 sensors@1.0-se-778 ( 778) [004] ...1 1034710.878786: tracing_mark_write: E|778 19226 SensorService-1283 ( 1151) [007] ...1 1034710.878936: tracing_mark_write: E|1151 19227 SensorService-1283 ( 1151) [007] ...1 1034710.879091: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 19228 sensors@1.0-se-778 ( 778) [004] ...1 1034710.879229: tracing_mark_write: B|778|HIDL::ISensors::poll::server 19229 sensors@1.0-se-778 ( 778) [004] ...1 1034710.898055: tracing_mark_write: E|778 19230 SensorService-1283 ( 1151) [007] ...1 1034710.898243: tracing_mark_write: E|1151 19231 SensorService-1283 ( 1151) [007] ...1 1034710.898438: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 19232 sensors@1.0-se-778 ( 778) [004] ...1 1034710.898590: tracing_mark_write: B|778|HIDL::ISensors::poll::server 19233 surfaceflinger-591 ( 591) [000] ...1 1034710.899474: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 19234 composer@2.1-s-593 ( 593) [001] ...1 1034710.899809: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 19235 composer@2.1-s-593 ( 593) [001] ...1 1034710.900164: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 19236 composer@2.1-s-593 ( 593) [001] ...1 1034710.900209: tracing_mark_write: B|593|HWDevice::Commit:: 19237 composer@2.1-s-593 ( 593) [001] ...1 1034710.900473: tracing_mark_write: E|593 19238 composer@2.1-s-593 ( 593) [001] ...1 1034710.900539: tracing_mark_write: E|593 19239 composer@2.1-s-593 ( 593) [001] ...1 1034710.900613: tracing_mark_write: E|593 19240 surfaceflinger-591 ( 591) [000] ...1 1034710.900823: tracing_mark_write: E|591 19241 sensors@1.0-se-778 ( 778) [004] ...1 1034710.917285: tracing_mark_write: E|778 19242 SensorService-1283 ( 1151) [007] ...1 1034710.917436: tracing_mark_write: E|1151 19243 SensorService-1283 ( 1151) [007] ...1 1034710.917585: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 19244 sensors@1.0-se-778 ( 778) [004] ...1 1034710.917714: tracing_mark_write: B|778|HIDL::ISensors::poll::server 19245 surfaceflinger-591 ( 591) [000] ...1 1034710.933069: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 19246 composer@2.1-s-593 ( 593) [001] ...1 1034710.933414: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 19247 composer@2.1-s-593 ( 593) [001] ...1 1034710.933556: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 19248 composer@2.1-s-593 ( 593) [001] ...1 1034710.933598: tracing_mark_write: B|593|HWDevice::Commit:: 19249 composer@2.1-s-593 ( 593) [001] ...1 1034710.933855: tracing_mark_write: E|593 19250 composer@2.1-s-593 ( 593) [001] ...1 1034710.933918: tracing_mark_write: E|593 19251 composer@2.1-s-593 ( 593) [001] ...1 1034710.933989: tracing_mark_write: E|593 19252 surfaceflinger-591 ( 591) [000] ...1 1034710.934183: tracing_mark_write: E|591 19253 sensors@1.0-se-778 ( 778) [004] ...1 1034710.936604: tracing_mark_write: E|778 19254 SensorService-1283 ( 1151) [007] ...1 1034710.936794: tracing_mark_write: E|1151 19255 SensorService-1283 ( 1151) [007] ...1 1034710.937001: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 19256 sensors@1.0-se-778 ( 778) [004] ...1 1034710.937153: tracing_mark_write: B|778|HIDL::ISensors::poll::server 19257 sensors@1.0-se-778 ( 778) [004] ...1 1034710.955618: tracing_mark_write: E|778 19258 SensorService-1283 ( 1151) [007] ...1 1034710.955802: tracing_mark_write: E|1151 19259 SensorService-1283 ( 1151) [007] ...1 1034710.955965: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 19260 sensors@1.0-se-778 ( 778) [004] ...1 1034710.956103: tracing_mark_write: B|778|HIDL::ISensors::poll::server 19261 sensors@1.0-se-778 ( 778) [004] ...1 1034710.974909: tracing_mark_write: E|778 19262 SensorService-1283 ( 1151) [007] ...1 1034710.975097: tracing_mark_write: E|1151 19263 SensorService-1283 ( 1151) [007] ...1 1034710.975271: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 19264 sensors@1.0-se-778 ( 778) [004] ...1 1034710.975425: tracing_mark_write: B|778|HIDL::ISensors::poll::server 19265 surfaceflinger-591 ( 591) [000] ...1 1034710.983536: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 19266 composer@2.1-s-593 ( 593) [001] ...1 1034710.983864: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 19267 composer@2.1-s-593 ( 593) [001] ...1 1034710.984031: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 19268 composer@2.1-s-593 ( 593) [001] ...1 1034710.984080: tracing_mark_write: B|593|HWDevice::Commit:: 19269 composer@2.1-s-593 ( 593) [001] ...1 1034710.984354: tracing_mark_write: E|593 19270 composer@2.1-s-593 ( 593) [001] ...1 1034710.984421: tracing_mark_write: E|593 19271 composer@2.1-s-593 ( 593) [001] ...1 1034710.984499: tracing_mark_write: E|593 19272 surfaceflinger-591 ( 591) [000] ...1 1034710.984703: tracing_mark_write: E|591 19273 sensors@1.0-se-778 ( 778) [004] ...1 1034710.994415: tracing_mark_write: E|778 19274 SensorService-1283 ( 1151) [007] ...1 1034710.994550: tracing_mark_write: E|1151 19275 SensorService-1283 ( 1151) [007] ...1 1034710.994674: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 19276 sensors@1.0-se-778 ( 778) [004] ...1 1034710.994794: tracing_mark_write: B|778|HIDL::ISensors::poll::server 19277 sensors@1.0-se-778 ( 778) [004] ...1 1034711.013573: tracing_mark_write: E|778 19278 SensorService-1283 ( 1151) [007] ...1 1034711.013710: tracing_mark_write: E|1151 19279 SensorService-1283 ( 1151) [007] ...1 1034711.013835: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 19280 sensors@1.0-se-778 ( 778) [004] ...1 1034711.013941: tracing_mark_write: B|778|HIDL::ISensors::poll::server 19281 surfaceflinger-591 ( 591) [000] ...1 1034711.017004: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 19282 composer@2.1-s-593 ( 593) [001] ...1 1034711.017279: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 19283 composer@2.1-s-593 ( 593) [001] ...1 1034711.017437: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 19284 composer@2.1-s-593 ( 593) [001] ...1 1034711.017486: tracing_mark_write: B|593|HWDevice::Commit:: 19285 composer@2.1-s-593 ( 593) [001] ...1 1034711.017783: tracing_mark_write: E|593 19286 composer@2.1-s-593 ( 593) [000] ...1 1034711.017942: tracing_mark_write: E|593 19287 composer@2.1-s-593 ( 593) [000] ...1 1034711.018032: tracing_mark_write: E|593 19288 surfaceflinger-591 ( 591) [001] ...1 1034711.018267: tracing_mark_write: E|591 19289 sensors@1.0-se-778 ( 778) [004] ...1 1034711.032947: tracing_mark_write: E|778 19290 SensorService-1283 ( 1151) [007] ...1 1034711.033054: tracing_mark_write: E|1151 19291 SensorService-1283 ( 1151) [007] ...1 1034711.033179: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 19292 sensors@1.0-se-778 ( 778) [004] ...1 1034711.033307: tracing_mark_write: B|778|HIDL::ISensors::poll::server 19293 sensors@1.0-se-778 ( 778) [004] ...1 1034711.052062: tracing_mark_write: E|778 19294 SensorService-1283 ( 1151) [007] ...1 1034711.052135: tracing_mark_write: E|1151 19295 SensorService-1283 ( 1151) [007] ...1 1034711.052213: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 19296 sensors@1.0-se-778 ( 778) [004] ...1 1034711.052277: tracing_mark_write: B|778|HIDL::ISensors::poll::server 19297 surfaceflinger-591 ( 591) [001] ...1 1034711.067454: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 19298 composer@2.1-s-593 ( 593) [000] ...1 1034711.067743: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 19299 composer@2.1-s-593 ( 593) [000] ...1 1034711.067912: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 19300 composer@2.1-s-593 ( 593) [000] ...1 1034711.067964: tracing_mark_write: B|593|HWDevice::Commit:: 19301 composer@2.1-s-593 ( 593) [000] ...1 1034711.068249: tracing_mark_write: E|593 19302 composer@2.1-s-593 ( 593) [000] ...1 1034711.068317: tracing_mark_write: E|593 19303 composer@2.1-s-593 ( 593) [000] ...1 1034711.068391: tracing_mark_write: E|593 19304 surfaceflinger-591 ( 591) [001] ...1 1034711.068588: tracing_mark_write: E|591 19305 sensors@1.0-se-778 ( 778) [004] ...1 1034711.071465: tracing_mark_write: E|778 19306 SensorService-1283 ( 1151) [007] ...1 1034711.071577: tracing_mark_write: E|1151 19307 SensorService-1283 ( 1151) [007] ...1 1034711.071668: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 19308 sensors@1.0-se-778 ( 778) [004] ...1 1034711.071775: tracing_mark_write: B|778|HIDL::ISensors::poll::server 19309 sensors@1.0-se-778 ( 778) [004] ...1 1034711.090731: tracing_mark_write: E|778 19310 SensorService-1283 ( 1151) [007] ...1 1034711.090883: tracing_mark_write: E|1151 19311 SensorService-1283 ( 1151) [007] ...1 1034711.091005: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 19312 sensors@1.0-se-778 ( 778) [004] ...1 1034711.091116: tracing_mark_write: B|778|HIDL::ISensors::poll::server 19313 sensors@1.0-se-778 ( 778) [004] ...1 1034711.109807: tracing_mark_write: E|778 19314 SensorService-1283 ( 1151) [007] ...1 1034711.109932: tracing_mark_write: E|1151 19315 SensorService-1283 ( 1151) [007] ...1 1034711.110068: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 19316 sensors@1.0-se-778 ( 778) [004] ...1 1034711.110156: tracing_mark_write: B|778|HIDL::ISensors::poll::server 19317 surfaceflinger-591 ( 591) [000] ...1 1034711.117709: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 19318 composer@2.1-s-593 ( 593) [001] ...1 1034711.118006: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 19319 composer@2.1-s-593 ( 593) [001] ...1 1034711.118174: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 19320 composer@2.1-s-593 ( 593) [001] ...1 1034711.118223: tracing_mark_write: B|593|HWDevice::Commit:: 19321 composer@2.1-s-593 ( 593) [001] ...1 1034711.118508: tracing_mark_write: E|593 19322 composer@2.1-s-593 ( 593) [001] ...1 1034711.118576: tracing_mark_write: E|593 19323 composer@2.1-s-593 ( 593) [001] ...1 1034711.118653: tracing_mark_write: E|593 19324 surfaceflinger-591 ( 591) [000] ...1 1034711.118888: tracing_mark_write: E|591 19325 sensors@1.0-se-778 ( 778) [004] ...1 1034711.129238: tracing_mark_write: E|778 19326 SensorService-1283 ( 1151) [007] ...1 1034711.129393: tracing_mark_write: E|1151 19327 SensorService-1283 ( 1151) [007] ...1 1034711.129530: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 19328 sensors@1.0-se-778 ( 778) [004] ...1 1034711.129622: tracing_mark_write: B|778|HIDL::ISensors::poll::server 19329 sensors@1.0-se-778 ( 778) [004] ...1 1034711.148381: tracing_mark_write: E|778 19330 SensorService-1283 ( 1151) [007] ...1 1034711.148513: tracing_mark_write: E|1151 19331 SensorService-1283 ( 1151) [007] ...1 1034711.148621: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 19332 sensors@1.0-se-778 ( 778) [004] ...1 1034711.148694: tracing_mark_write: B|778|HIDL::ISensors::poll::server 19333 surfaceflinger-591 ( 591) [000] ...1 1034711.151504: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 19334 composer@2.1-s-593 ( 593) [001] ...1 1034711.151852: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 19335 composer@2.1-s-593 ( 593) [001] ...1 1034711.152020: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 19336 composer@2.1-s-593 ( 593) [001] ...1 1034711.152076: tracing_mark_write: B|593|HWDevice::Commit:: 19337 composer@2.1-s-593 ( 593) [001] ...1 1034711.152385: tracing_mark_write: E|593 19338 composer@2.1-s-593 ( 593) [001] ...1 1034711.152459: tracing_mark_write: E|593 19339 composer@2.1-s-593 ( 593) [001] ...1 1034711.152545: tracing_mark_write: E|593 19340 surfaceflinger-591 ( 591) [000] ...1 1034711.152762: tracing_mark_write: E|591 19341 sensors@1.0-se-778 ( 778) [004] ...1 1034711.167725: tracing_mark_write: E|778 19342 SensorService-1283 ( 1151) [007] ...1 1034711.167824: tracing_mark_write: E|1151 19343 SensorService-1283 ( 1151) [007] ...1 1034711.167900: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 19344 sensors@1.0-se-778 ( 778) [004] ...1 1034711.167957: tracing_mark_write: B|778|HIDL::ISensors::poll::server 19345 sensors@1.0-se-778 ( 778) [004] ...1 1034711.187161: tracing_mark_write: E|778 19346 SensorService-1283 ( 1151) [007] ...1 1034711.187247: tracing_mark_write: E|1151 19347 SensorService-1283 ( 1151) [007] ...1 1034711.187328: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 19348 sensors@1.0-se-778 ( 778) [004] ...1 1034711.187382: tracing_mark_write: B|778|HIDL::ISensors::poll::server 19349 surfaceflinger-591 ( 591) [000] ...1 1034711.201682: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 19350 composer@2.1-s-593 ( 593) [001] ...1 1034711.201963: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 19351 composer@2.1-s-593 ( 593) [001] ...1 1034711.202130: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 19352 composer@2.1-s-593 ( 593) [001] ...1 1034711.202178: tracing_mark_write: B|593|HWDevice::Commit:: 19353 composer@2.1-s-593 ( 593) [001] ...1 1034711.202473: tracing_mark_write: E|593 19354 composer@2.1-s-593 ( 593) [001] ...1 1034711.202543: tracing_mark_write: E|593 19355 composer@2.1-s-593 ( 593) [001] ...1 1034711.202619: tracing_mark_write: E|593 19356 surfaceflinger-591 ( 591) [000] ...1 1034711.202820: tracing_mark_write: E|591 19357 sensors@1.0-se-778 ( 778) [004] ...1 1034711.206108: tracing_mark_write: E|778 19358 SensorService-1283 ( 1151) [007] ...1 1034711.206164: tracing_mark_write: E|1151 19359 SensorService-1283 ( 1151) [007] ...1 1034711.206214: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 19360 sensors@1.0-se-778 ( 778) [004] ...1 1034711.206253: tracing_mark_write: B|778|HIDL::ISensors::poll::server 19361 sensors@1.0-se-778 ( 778) [004] ...1 1034711.225282: tracing_mark_write: E|778 19362 SensorService-1283 ( 1151) [007] ...1 1034711.225357: tracing_mark_write: E|1151 19363 SensorService-1283 ( 1151) [007] ...1 1034711.225421: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 19364 sensors@1.0-se-778 ( 778) [004] ...1 1034711.225457: tracing_mark_write: B|778|HIDL::ISensors::poll::server 19365 surfaceflinger-591 ( 591) [000] ...1 1034711.235387: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 19366 composer@2.1-s-593 ( 593) [001] ...1 1034711.235686: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 19367 composer@2.1-s-593 ( 593) [001] ...1 1034711.235864: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 19368 composer@2.1-s-593 ( 593) [001] ...1 1034711.235917: tracing_mark_write: B|593|HWDevice::Commit:: 19369 composer@2.1-s-593 ( 593) [001] ...1 1034711.236242: tracing_mark_write: E|593 19370 composer@2.1-s-593 ( 593) [001] ...1 1034711.236316: tracing_mark_write: E|593 19371 composer@2.1-s-593 ( 593) [001] ...1 1034711.236399: tracing_mark_write: E|593 19372 surfaceflinger-591 ( 591) [000] ...1 1034711.236667: tracing_mark_write: E|591 19373 sensors@1.0-se-778 ( 778) [004] ...1 1034711.244619: tracing_mark_write: E|778 19374 SensorService-1283 ( 1151) [007] ...1 1034711.244659: tracing_mark_write: E|1151 19375 SensorService-1283 ( 1151) [007] ...1 1034711.244693: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 19376 sensors@1.0-se-778 ( 778) [004] .n.1 1034711.244722: tracing_mark_write: B|778|HIDL::ISensors::poll::server 19377 sensors@1.0-se-778 ( 778) [004] ...1 1034711.263514: tracing_mark_write: E|778 19378 SensorService-1283 ( 1151) [007] ...1 1034711.263550: tracing_mark_write: E|1151 19379 SensorService-1283 ( 1151) [007] ...1 1034711.263587: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 19380 sensors@1.0-se-778 ( 778) [004] ...1 1034711.263612: tracing_mark_write: B|778|HIDL::ISensors::poll::server 19381 sensors@1.0-se-778 ( 778) [004] ...1 1034711.282881: tracing_mark_write: E|778 19382 SensorService-1283 ( 1151) [007] ...1 1034711.282987: tracing_mark_write: E|1151 19383 SensorService-1283 ( 1151) [007] ...1 1034711.283076: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 19384 sensors@1.0-se-778 ( 778) [004] ...1 1034711.283122: tracing_mark_write: B|778|HIDL::ISensors::poll::server 19385 surfaceflinger-591 ( 591) [000] ...1 1034711.285451: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 19386 composer@2.1-s-593 ( 593) [001] ...1 1034711.285713: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 19387 composer@2.1-s-593 ( 593) [001] ...1 1034711.285868: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 19388 composer@2.1-s-593 ( 593) [001] ...1 1034711.285915: tracing_mark_write: B|593|HWDevice::Commit:: 19389 composer@2.1-s-593 ( 593) [001] ...1 1034711.286203: tracing_mark_write: E|593 19390 composer@2.1-s-593 ( 593) [001] ...1 1034711.286272: tracing_mark_write: E|593 19391 composer@2.1-s-593 ( 593) [001] ...1 1034711.286349: tracing_mark_write: E|593 19392 surfaceflinger-591 ( 591) [000] ...1 1034711.286611: tracing_mark_write: E|591 19393 sensors@1.0-se-778 ( 778) [004] ...1 1034711.302140: tracing_mark_write: E|778 19394 SensorService-1283 ( 1151) [007] ...1 1034711.302402: tracing_mark_write: E|1151 19395 SensorService-1283 ( 1151) [007] ...1 1034711.302625: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 19396 sensors@1.0-se-778 ( 778) [004] ...1 1034711.302802: tracing_mark_write: B|778|HIDL::ISensors::poll::server 19397 surfaceflinger-591 ( 591) [000] ...1 1034711.318967: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 19398 composer@2.1-s-593 ( 593) [001] ...1 1034711.319228: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 19399 composer@2.1-s-593 ( 593) [001] ...1 1034711.319380: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 19400 composer@2.1-s-593 ( 593) [001] ...1 1034711.319425: tracing_mark_write: B|593|HWDevice::Commit:: 19401 composer@2.1-s-593 ( 593) [001] ...1 1034711.319700: tracing_mark_write: E|593 19402 composer@2.1-s-593 ( 593) [001] ...1 1034711.319767: tracing_mark_write: E|593 19403 composer@2.1-s-593 ( 593) [001] ...1 1034711.319850: tracing_mark_write: E|593 19404 surfaceflinger-591 ( 591) [000] ...1 1034711.320125: tracing_mark_write: E|591 19405 sensors@1.0-se-778 ( 778) [004] ...1 1034711.321254: tracing_mark_write: E|778 19406 SensorService-1283 ( 1151) [007] ...1 1034711.321329: tracing_mark_write: E|1151 19407 SensorService-1283 ( 1151) [007] ...1 1034711.321404: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 19408 sensors@1.0-se-778 ( 778) [004] ...1 1034711.321442: tracing_mark_write: B|778|HIDL::ISensors::poll::server 19409 sensors@1.0-se-778 ( 778) [004] ...1 1034711.340582: tracing_mark_write: E|778 19410 SensorService-1283 ( 1151) [007] ...1 1034711.340651: tracing_mark_write: E|1151 19411 SensorService-1283 ( 1151) [007] ...1 1034711.340709: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 19412 sensors@1.0-se-778 ( 778) [004] ...1 1034711.340760: tracing_mark_write: B|778|HIDL::ISensors::poll::server 19413 sensors@1.0-se-778 ( 778) [004] ...1 1034711.360106: tracing_mark_write: E|778 19414 SensorService-1283 ( 1151) [007] ...1 1034711.360193: tracing_mark_write: E|1151 19415 SensorService-1283 ( 1151) [007] ...1 1034711.360269: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 19416 sensors@1.0-se-778 ( 778) [004] ...1 1034711.360312: tracing_mark_write: B|778|HIDL::ISensors::poll::server 19417 surfaceflinger-591 ( 591) [000] ...1 1034711.369411: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 19418 composer@2.1-s-593 ( 593) [001] ...1 1034711.369733: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 19419 composer@2.1-s-593 ( 593) [001] ...1 1034711.370059: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 19420 composer@2.1-s-593 ( 593) [001] ...1 1034711.370106: tracing_mark_write: B|593|HWDevice::Commit:: 19421 composer@2.1-s-593 ( 593) [001] ...1 1034711.370368: tracing_mark_write: E|593 19422 composer@2.1-s-593 ( 593) [001] ...1 1034711.370434: tracing_mark_write: E|593 19423 composer@2.1-s-593 ( 593) [001] ...1 1034711.370508: tracing_mark_write: E|593 19424 surfaceflinger-591 ( 591) [000] ...1 1034711.370700: tracing_mark_write: E|591 19425 sensors@1.0-se-778 ( 778) [004] ...1 1034711.379129: tracing_mark_write: E|778 19426 SensorService-1283 ( 1151) [007] ...1 1034711.379217: tracing_mark_write: E|1151 19427 SensorService-1283 ( 1151) [007] ...1 1034711.379287: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 19428 sensors@1.0-se-778 ( 778) [004] ...1 1034711.379329: tracing_mark_write: B|778|HIDL::ISensors::poll::server 19429 sensors@1.0-se-778 ( 778) [004] ...1 1034711.398161: tracing_mark_write: E|778 19430 SensorService-1283 ( 1151) [007] ...1 1034711.398226: tracing_mark_write: E|1151 19431 SensorService-1283 ( 1151) [007] ...1 1034711.398281: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 19432 sensors@1.0-se-778 ( 778) [004] ...1 1034711.398315: tracing_mark_write: B|778|HIDL::ISensors::poll::server 19433 surfaceflinger-591 ( 591) [002] ...1 1034711.402449: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 19434 composer@2.1-s-593 ( 593) [001] ...1 1034711.402577: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 19435 composer@2.1-s-593 ( 593) [001] ...1 1034711.402641: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 19436 composer@2.1-s-593 ( 593) [001] ...1 1034711.402661: tracing_mark_write: B|593|HWDevice::Commit:: 19437 composer@2.1-s-593 ( 593) [001] ...1 1034711.402764: tracing_mark_write: E|593 19438 composer@2.1-s-593 ( 593) [001] ...1 1034711.402791: tracing_mark_write: E|593 19439 composer@2.1-s-593 ( 593) [001] ...1 1034711.402820: tracing_mark_write: E|593 19440 surfaceflinger-591 ( 591) [000] ...1 1034711.402904: tracing_mark_write: E|591 19441 sensors@1.0-se-778 ( 778) [004] ...1 1034711.417404: tracing_mark_write: E|778 19442 SensorService-1283 ( 1151) [007] ...1 1034711.417475: tracing_mark_write: E|1151 19443 SensorService-1283 ( 1151) [007] ...1 1034711.417532: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 19444 sensors@1.0-se-778 ( 778) [004] ...1 1034711.417566: tracing_mark_write: B|778|HIDL::ISensors::poll::server 19445 sensors@1.0-se-778 ( 778) [004] ...1 1034711.436807: tracing_mark_write: E|778 19446 SensorService-1283 ( 1151) [007] ...1 1034711.436898: tracing_mark_write: E|1151 19447 SensorService-1283 ( 1151) [007] ...1 1034711.436988: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 19448 sensors@1.0-se-778 ( 778) [004] ...1 1034711.437028: tracing_mark_write: B|778|HIDL::ISensors::poll::server 19449 surfaceflinger-591 ( 591) [003] ...1 1034711.452982: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 19450 composer@2.1-s-593 ( 593) [001] ...1 1034711.453118: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 19451 composer@2.1-s-593 ( 593) [001] ...1 1034711.453180: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 19452 composer@2.1-s-593 ( 593) [001] ...1 1034711.453220: tracing_mark_write: B|593|HWDevice::Commit:: 19453 composer@2.1-s-593 ( 593) [001] ...1 1034711.453324: tracing_mark_write: E|593 19454 composer@2.1-s-593 ( 593) [001] ...1 1034711.453348: tracing_mark_write: E|593 19455 composer@2.1-s-593 ( 593) [001] ...1 1034711.453376: tracing_mark_write: E|593 19456 surfaceflinger-591 ( 591) [003] ...1 1034711.453447: tracing_mark_write: E|591 19457 sensors@1.0-se-778 ( 778) [004] ...1 1034711.455906: tracing_mark_write: E|778 19458 SensorService-1283 ( 1151) [007] ...1 1034711.455969: tracing_mark_write: E|1151 19459 SensorService-1283 ( 1151) [007] ...1 1034711.456020: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 19460 sensors@1.0-se-778 ( 778) [004] ...1 1034711.456054: tracing_mark_write: B|778|HIDL::ISensors::poll::server 19461 sensors@1.0-se-778 ( 778) [004] ...1 1034711.475232: tracing_mark_write: E|778 19462 SensorService-1283 ( 1151) [007] ...1 1034711.475310: tracing_mark_write: E|1151 19463 SensorService-1283 ( 1151) [007] ...1 1034711.475363: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 19464 sensors@1.0-se-778 ( 778) [004] ...1 1034711.475397: tracing_mark_write: B|778|HIDL::ISensors::poll::server 19465 surfaceflinger-591 ( 591) [000] ...1 1034711.486337: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 19466 composer@2.1-s-593 ( 593) [001] ...1 1034711.486473: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 19467 composer@2.1-s-593 ( 593) [001] ...1 1034711.486555: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 19468 composer@2.1-s-593 ( 593) [001] ...1 1034711.486590: tracing_mark_write: B|593|HWDevice::Commit:: 19469 composer@2.1-s-593 ( 593) [001] ...1 1034711.486693: tracing_mark_write: E|593 19470 composer@2.1-s-593 ( 593) [001] ...1 1034711.486718: tracing_mark_write: E|593 19471 composer@2.1-s-593 ( 593) [001] ...1 1034711.486751: tracing_mark_write: E|593 19472 surfaceflinger-591 ( 591) [000] ...1 1034711.486838: tracing_mark_write: E|591 19473 sensors@1.0-se-778 ( 778) [004] ...1 1034711.494404: tracing_mark_write: E|778 19474 SensorService-1283 ( 1151) [007] ...1 1034711.494477: tracing_mark_write: E|1151 19475 SensorService-1283 ( 1151) [007] ...1 1034711.494531: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 19476 sensors@1.0-se-778 ( 778) [004] ...1 1034711.494565: tracing_mark_write: B|778|HIDL::ISensors::poll::server 19477 sensors@1.0-se-778 ( 778) [004] ...1 1034711.513771: tracing_mark_write: E|778 19478 SensorService-1283 ( 1151) [007] ...1 1034711.513885: tracing_mark_write: E|1151 19479 SensorService-1283 ( 1151) [007] ...1 1034711.513971: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 19480 sensors@1.0-se-778 ( 778) [004] ...1 1034711.514019: tracing_mark_write: B|778|HIDL::ISensors::poll::server 19481 sensors@1.0-se-778 ( 778) [004] ...1 1034711.533094: tracing_mark_write: E|778 19482 SensorService-1283 ( 1151) [007] ...1 1034711.533196: tracing_mark_write: E|1151 19483 SensorService-1283 ( 1151) [007] ...1 1034711.533295: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 19484 sensors@1.0-se-778 ( 778) [004] ...1 1034711.533341: tracing_mark_write: B|778|HIDL::ISensors::poll::server 19485 surfaceflinger-591 ( 591) [000] ...1 1034711.536830: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 19486 composer@2.1-s-593 ( 593) [001] ...1 1034711.536995: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 19487 composer@2.1-s-593 ( 593) [001] ...1 1034711.537086: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 19488 composer@2.1-s-593 ( 593) [001] ...1 1034711.537114: tracing_mark_write: B|593|HWDevice::Commit:: 19489 composer@2.1-s-593 ( 593) [001] ...1 1034711.537264: tracing_mark_write: E|593 19490 composer@2.1-s-593 ( 593) [001] ...1 1034711.537300: tracing_mark_write: E|593 19491 composer@2.1-s-593 ( 593) [001] ...1 1034711.537338: tracing_mark_write: E|593 19492 surfaceflinger-591 ( 591) [000] ...1 1034711.537425: tracing_mark_write: E|591 19493 sensors@1.0-se-778 ( 778) [004] ...1 1034711.552145: tracing_mark_write: E|778 19494 SensorService-1283 ( 1151) [007] ...1 1034711.552212: tracing_mark_write: E|1151 19495 SensorService-1283 ( 1151) [007] ...1 1034711.552266: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 19496 sensors@1.0-se-778 ( 778) [004] ...1 1034711.552300: tracing_mark_write: B|778|HIDL::ISensors::poll::server 19497 surfaceflinger-591 ( 591) [001] ...1 1034711.570413: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 19498 composer@2.1-s-593 ( 593) [000] ...1 1034711.570548: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 19499 composer@2.1-s-593 ( 593) [000] ...1 1034711.570613: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 19500 composer@2.1-s-593 ( 593) [000] ...1 1034711.570634: tracing_mark_write: B|593|HWDevice::Commit:: 19501 composer@2.1-s-593 ( 593) [000] ...1 1034711.570731: tracing_mark_write: E|593 19502 composer@2.1-s-593 ( 593) [000] ...1 1034711.570756: tracing_mark_write: E|593 19503 composer@2.1-s-593 ( 593) [000] ...1 1034711.570783: tracing_mark_write: E|593 19504 surfaceflinger-591 ( 591) [001] ...1 1034711.570859: tracing_mark_write: E|591 19505 sensors@1.0-se-778 ( 778) [004] ...1 1034711.573000: tracing_mark_write: E|778 19506 SensorService-1283 ( 1151) [007] ...1 1034711.573063: tracing_mark_write: E|1151 19507 SensorService-1283 ( 1151) [007] ...1 1034711.573118: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 19508 sensors@1.0-se-778 ( 778) [004] ...1 1034711.573154: tracing_mark_write: B|778|HIDL::ISensors::poll::server 19509 sensors@1.0-se-778 ( 778) [006] ...1 1034711.590701: tracing_mark_write: E|778 19510 SensorService-1283 ( 1151) [007] ...1 1034711.590769: tracing_mark_write: E|1151 19511 SensorService-1283 ( 1151) [007] ...1 1034711.590820: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 19512 sensors@1.0-se-778 ( 778) [006] ...1 1034711.590854: tracing_mark_write: B|778|HIDL::ISensors::poll::server 19513 sensors@1.0-se-778 ( 778) [006] ...1 1034711.609975: tracing_mark_write: E|778 19514 SensorService-1283 ( 1151) [007] ...1 1034711.610067: tracing_mark_write: E|1151 19515 SensorService-1283 ( 1151) [007] ...1 1034711.610153: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 19516 sensors@1.0-se-778 ( 778) [006] ...1 1034711.610196: tracing_mark_write: B|778|HIDL::ISensors::poll::server 19517 surfaceflinger-591 ( 591) [002] ...1 1034711.620496: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 19518 composer@2.1-s-593 ( 593) [000] ...1 1034711.620610: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 19519 composer@2.1-s-593 ( 593) [000] ...1 1034711.620671: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 19520 composer@2.1-s-593 ( 593) [000] ...1 1034711.620689: tracing_mark_write: B|593|HWDevice::Commit:: 19521 composer@2.1-s-593 ( 593) [000] ...1 1034711.620785: tracing_mark_write: E|593 19522 composer@2.1-s-593 ( 593) [000] ...1 1034711.620811: tracing_mark_write: E|593 19523 composer@2.1-s-593 ( 593) [000] ...1 1034711.620839: tracing_mark_write: E|593 19524 surfaceflinger-591 ( 591) [002] ...1 1034711.620906: tracing_mark_write: E|591 19525 sensors@1.0-se-778 ( 778) [004] ...1 1034711.629149: tracing_mark_write: E|778 19526 SensorService-1283 ( 1151) [007] ...1 1034711.629210: tracing_mark_write: E|1151 19527 SensorService-1283 ( 1151) [007] ...1 1034711.629262: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 19528 sensors@1.0-se-778 ( 778) [004] ...1 1034711.629294: tracing_mark_write: B|778|HIDL::ISensors::poll::server 19529 sensors@1.0-se-778 ( 778) [004] ...1 1034711.648491: tracing_mark_write: E|778 19530 SensorService-1283 ( 1151) [007] ...1 1034711.648554: tracing_mark_write: E|1151 19531 SensorService-1283 ( 1151) [007] ...1 1034711.648609: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 19532 sensors@1.0-se-778 ( 778) [004] ...1 1034711.648642: tracing_mark_write: B|778|HIDL::ISensors::poll::server 19533 surfaceflinger-591 ( 591) [000] ...1 1034711.654320: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 19534 composer@2.1-s-593 ( 593) [001] ...1 1034711.654451: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 19535 composer@2.1-s-593 ( 593) [001] ...1 1034711.654512: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 19536 composer@2.1-s-593 ( 593) [001] ...1 1034711.654530: tracing_mark_write: B|593|HWDevice::Commit:: 19537 composer@2.1-s-593 ( 593) [001] ...1 1034711.654626: tracing_mark_write: E|593 19538 composer@2.1-s-593 ( 593) [001] ...1 1034711.654650: tracing_mark_write: E|593 19539 composer@2.1-s-593 ( 593) [001] ...1 1034711.654679: tracing_mark_write: E|593 19540 surfaceflinger-591 ( 591) [000] ...1 1034711.654753: tracing_mark_write: E|591 19541 sensors@1.0-se-778 ( 778) [004] ...1 1034711.667704: tracing_mark_write: E|778 19542 SensorService-1283 ( 1151) [007] ...1 1034711.667771: tracing_mark_write: E|1151 19543 SensorService-1283 ( 1151) [007] ...1 1034711.667825: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 19544 sensors@1.0-se-778 ( 778) [004] ...1 1034711.667859: tracing_mark_write: B|778|HIDL::ISensors::poll::server 19545 sensors@1.0-se-778 ( 778) [004] ...1 1034711.687311: tracing_mark_write: E|778 19546 SensorService-1283 ( 1151) [007] ...1 1034711.687382: tracing_mark_write: E|1151 19547 SensorService-1283 ( 1151) [007] ...1 1034711.687434: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 19548 sensors@1.0-se-778 ( 778) [004] ...1 1034711.687469: tracing_mark_write: B|778|HIDL::ISensors::poll::server 19549 surfaceflinger-591 ( 591) [000] ...1 1034711.704403: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 19550 composer@2.1-s-593 ( 593) [001] ...1 1034711.704532: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 19551 composer@2.1-s-593 ( 593) [001] ...1 1034711.704594: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 19552 composer@2.1-s-593 ( 593) [001] ...1 1034711.704613: tracing_mark_write: B|593|HWDevice::Commit:: 19553 composer@2.1-s-593 ( 593) [001] ...1 1034711.704713: tracing_mark_write: E|593 19554 composer@2.1-s-593 ( 593) [001] ...1 1034711.704738: tracing_mark_write: E|593 19555 composer@2.1-s-593 ( 593) [001] ...1 1034711.704766: tracing_mark_write: E|593 19556 surfaceflinger-591 ( 591) [000] ...1 1034711.704836: tracing_mark_write: E|591 19557 sensors@1.0-se-778 ( 778) [004] ...1 1034711.706262: tracing_mark_write: E|778 19558 SensorService-1283 ( 1151) [007] ...1 1034711.706323: tracing_mark_write: E|1151 19559 SensorService-1283 ( 1151) [007] ...1 1034711.706374: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 19560 sensors@1.0-se-778 ( 778) [004] ...1 1034711.706407: tracing_mark_write: B|778|HIDL::ISensors::poll::server 19561 sensors@1.0-se-778 ( 778) [004] ...1 1034711.725511: tracing_mark_write: E|778 19562 SensorService-1283 ( 1151) [007] ...1 1034711.725625: tracing_mark_write: E|1151 19563 SensorService-1283 ( 1151) [007] ...1 1034711.725708: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 19564 sensors@1.0-se-778 ( 778) [004] ...1 1034711.725754: tracing_mark_write: B|778|HIDL::ISensors::poll::server 19565 surfaceflinger-591 ( 591) [003] ...1 1034711.738247: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 19566 composer@2.1-s-593 ( 593) [001] ...1 1034711.738377: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 19567 composer@2.1-s-593 ( 593) [001] ...1 1034711.738437: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 19568 composer@2.1-s-593 ( 593) [001] ...1 1034711.738455: tracing_mark_write: B|593|HWDevice::Commit:: 19569 composer@2.1-s-593 ( 593) [001] ...1 1034711.738552: tracing_mark_write: E|593 19570 composer@2.1-s-593 ( 593) [001] ...1 1034711.738577: tracing_mark_write: E|593 19571 composer@2.1-s-593 ( 593) [001] ...1 1034711.738605: tracing_mark_write: E|593 19572 surfaceflinger-591 ( 591) [003] ...1 1034711.738675: tracing_mark_write: E|591 19573 sensors@1.0-se-778 ( 778) [004] ...1 1034711.744723: tracing_mark_write: E|778 19574 SensorService-1283 ( 1151) [007] ...1 1034711.744791: tracing_mark_write: E|1151 19575 SensorService-1283 ( 1151) [007] ...1 1034711.744844: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 19576 sensors@1.0-se-778 ( 778) [004] ...1 1034711.744879: tracing_mark_write: B|778|HIDL::ISensors::poll::server 19577 sensors@1.0-se-778 ( 778) [004] ...1 1034711.764332: tracing_mark_write: E|778 19578 SensorService-1283 ( 1151) [007] ...1 1034711.764408: tracing_mark_write: E|1151 19579 SensorService-1283 ( 1151) [007] ...1 1034711.764464: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 19580 sensors@1.0-se-778 ( 778) [004] ...1 1034711.764499: tracing_mark_write: B|778|HIDL::ISensors::poll::server 19581 sensors@1.0-se-778 ( 778) [004] ...1 1034711.783265: tracing_mark_write: E|778 19582 SensorService-1283 ( 1151) [007] ...1 1034711.783332: tracing_mark_write: E|1151 19583 SensorService-1283 ( 1151) [007] ...1 1034711.783388: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 19584 sensors@1.0-se-778 ( 778) [004] ...1 1034711.783422: tracing_mark_write: B|778|HIDL::ISensors::poll::server 19585 surfaceflinger-591 ( 591) [000] ...1 1034711.788283: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 19586 composer@2.1-s-593 ( 593) [001] ...1 1034711.788385: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 19587 composer@2.1-s-593 ( 593) [001] ...1 1034711.788447: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 19588 composer@2.1-s-593 ( 593) [001] ...1 1034711.788466: tracing_mark_write: B|593|HWDevice::Commit:: 19589 composer@2.1-s-593 ( 593) [001] ...1 1034711.788562: tracing_mark_write: E|593 19590 composer@2.1-s-593 ( 593) [001] ...1 1034711.788586: tracing_mark_write: E|593 19591 composer@2.1-s-593 ( 593) [001] ...1 1034711.788612: tracing_mark_write: E|593 19592 surfaceflinger-591 ( 591) [000] ...1 1034711.788673: tracing_mark_write: E|591 19593 sensors@1.0-se-778 ( 778) [004] ...1 1034711.802625: tracing_mark_write: E|778 19594 SensorService-1283 ( 1151) [007] ...1 1034711.802665: tracing_mark_write: E|1151 19595 SensorService-1283 ( 1151) [007] ...1 1034711.802699: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 19596 sensors@1.0-se-778 ( 778) [004] ...1 1034711.802737: tracing_mark_write: B|778|HIDL::ISensors::poll::server 19597 sensors@1.0-se-778 ( 778) [004] ...1 1034711.822006: tracing_mark_write: E|778 19598 SensorService-1283 ( 1151) [007] ...1 1034711.822091: tracing_mark_write: E|1151 19599 SensorService-1283 ( 1151) [007] ...1 1034711.822156: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 19600 sensors@1.0-se-778 ( 778) [004] ...1 1034711.822196: tracing_mark_write: B|778|HIDL::ISensors::poll::server 19601 surfaceflinger-591 ( 591) [000] ...1 1034711.822430: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 19602 composer@2.1-s-593 ( 593) [001] ...1 1034711.822679: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 19603 composer@2.1-s-593 ( 593) [001] ...1 1034711.822827: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 19604 composer@2.1-s-593 ( 593) [001] ...1 1034711.822874: tracing_mark_write: B|593|HWDevice::Commit:: 19605 composer@2.1-s-593 ( 593) [001] ...1 1034711.823148: tracing_mark_write: E|593 19606 composer@2.1-s-593 ( 593) [001] ...1 1034711.823274: tracing_mark_write: E|593 19607 composer@2.1-s-593 ( 593) [001] ...1 1034711.823357: tracing_mark_write: E|593 19608 surfaceflinger-591 ( 591) [000] ...1 1034711.823571: tracing_mark_write: E|591 19609 sensors@1.0-se-778 ( 778) [004] ...1 1034711.841313: tracing_mark_write: E|778 19610 SensorService-1283 ( 1151) [007] ...1 1034711.841413: tracing_mark_write: E|1151 19611 SensorService-1283 ( 1151) [007] ...1 1034711.841506: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 19612 sensors@1.0-se-778 ( 778) [004] ...1 1034711.841561: tracing_mark_write: B|778|HIDL::ISensors::poll::server 19613 sensors@1.0-se-778 ( 778) [004] ...1 1034711.860683: tracing_mark_write: E|778 19614 SensorService-1283 ( 1151) [007] ...1 1034711.860783: tracing_mark_write: E|1151 19615 SensorService-1283 ( 1151) [007] ...1 1034711.860873: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 19616 sensors@1.0-se-778 ( 778) [004] ...1 1034711.860927: tracing_mark_write: B|778|HIDL::ISensors::poll::server 19617 surfaceflinger-591 ( 591) [000] ...1 1034711.872846: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 19618 composer@2.1-s-593 ( 593) [001] ...1 1034711.873131: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 19619 composer@2.1-s-593 ( 593) [001] ...1 1034711.873349: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 19620 composer@2.1-s-593 ( 593) [001] ...1 1034711.873398: tracing_mark_write: B|593|HWDevice::Commit:: 19621 composer@2.1-s-593 ( 593) [001] ...1 1034711.873665: tracing_mark_write: E|593 19622 composer@2.1-s-593 ( 593) [001] ...1 1034711.873730: tracing_mark_write: E|593 19623 composer@2.1-s-593 ( 593) [001] ...1 1034711.873806: tracing_mark_write: E|593 19624 surfaceflinger-591 ( 591) [000] ...1 1034711.874010: tracing_mark_write: E|591 19625 sensors@1.0-se-778 ( 778) [004] ...1 1034711.879832: tracing_mark_write: E|778 19626 SensorService-1283 ( 1151) [007] ...1 1034711.879966: tracing_mark_write: E|1151 19627 SensorService-1283 ( 1151) [007] ...1 1034711.880054: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 19628 sensors@1.0-se-778 ( 778) [004] ...1 1034711.880107: tracing_mark_write: B|778|HIDL::ISensors::poll::server 19629 sensors@1.0-se-778 ( 778) [004] ...1 1034711.899815: tracing_mark_write: E|778 19630 SensorService-1283 ( 1151) [007] ...1 1034711.899963: tracing_mark_write: E|1151 19631 SensorService-1283 ( 1151) [007] ...1 1034711.900073: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 19632 sensors@1.0-se-778 ( 778) [004] ...1 1034711.900124: tracing_mark_write: B|778|HIDL::ISensors::poll::server 19633 surfaceflinger-591 ( 591) [000] ...1 1034711.906332: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 19634 composer@2.1-s-593 ( 593) [000] ...1 1034711.906721: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 19635 composer@2.1-s-593 ( 593) [000] ...1 1034711.906865: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 19636 composer@2.1-s-593 ( 593) [000] ...1 1034711.906908: tracing_mark_write: B|593|HWDevice::Commit:: 19637 composer@2.1-s-593 ( 593) [000] ...1 1034711.907159: tracing_mark_write: E|593 19638 composer@2.1-s-593 ( 593) [000] ...1 1034711.907222: tracing_mark_write: E|593 19639 composer@2.1-s-593 ( 593) [000] ...1 1034711.907292: tracing_mark_write: E|593 19640 surfaceflinger-591 ( 591) [002] ...1 1034711.907501: tracing_mark_write: E|591 19641 sensors@1.0-se-778 ( 778) [004] ...1 1034711.918376: tracing_mark_write: E|778 19642 SensorService-1283 ( 1151) [007] ...1 1034711.918445: tracing_mark_write: E|1151 19643 SensorService-1283 ( 1151) [007] ...1 1034711.918508: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 19644 sensors@1.0-se-778 ( 778) [004] ...1 1034711.918544: tracing_mark_write: B|778|HIDL::ISensors::poll::server 19645 sensors@1.0-se-778 ( 778) [004] ...1 1034711.937704: tracing_mark_write: E|778 19646 SensorService-1283 ( 1151) [007] ...1 1034711.937770: tracing_mark_write: E|1151 19647 SensorService-1283 ( 1151) [007] ...1 1034711.937990: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 19648 sensors@1.0-se-778 ( 778) [004] ...1 1034711.938144: tracing_mark_write: B|778|HIDL::ISensors::poll::server 19649 surfaceflinger-591 ( 591) [002] ...1 1034711.956698: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 19650 composer@2.1-s-593 ( 593) [000] ...1 1034711.956936: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 19651 composer@2.1-s-593 ( 593) [000] ...1 1034711.957067: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 19652 composer@2.1-s-593 ( 593) [000] ...1 1034711.957107: tracing_mark_write: B|593|HWDevice::Commit:: 19653 sensors@1.0-se-778 ( 778) [004] ...1 1034711.957299: tracing_mark_write: E|778 19654 composer@2.1-s-593 ( 593) [000] ...1 1034711.957342: tracing_mark_write: E|593 19655 composer@2.1-s-593 ( 593) [000] ...1 1034711.957398: tracing_mark_write: E|593 19656 SensorService-1283 ( 1151) [007] ...1 1034711.957415: tracing_mark_write: E|1151 19657 composer@2.1-s-593 ( 593) [000] ...1 1034711.957465: tracing_mark_write: E|593 19658 SensorService-1283 ( 1151) [007] ...1 1034711.957558: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 19659 surfaceflinger-591 ( 591) [003] ...1 1034711.957656: tracing_mark_write: E|591 19660 sensors@1.0-se-778 ( 778) [004] ...1 1034711.957678: tracing_mark_write: B|778|HIDL::ISensors::poll::server 19661 sensors@1.0-se-778 ( 778) [004] ...1 1034711.976408: tracing_mark_write: E|778 19662 SensorService-1283 ( 1151) [007] ...1 1034711.976471: tracing_mark_write: E|1151 19663 SensorService-1283 ( 1151) [007] ...1 1034711.976516: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 19664 sensors@1.0-se-778 ( 778) [004] ...1 1034711.976581: tracing_mark_write: B|778|HIDL::ISensors::poll::server 19665 surfaceflinger-591 ( 591) [000] ...1 1034711.989911: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 19666 composer@2.1-s-593 ( 593) [001] ...1 1034711.990151: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 19667 composer@2.1-s-593 ( 593) [001] ...1 1034711.990250: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 19668 composer@2.1-s-593 ( 593) [001] ...1 1034711.990279: tracing_mark_write: B|593|HWDevice::Commit:: 19669 composer@2.1-s-593 ( 593) [001] ...1 1034711.990424: tracing_mark_write: E|593 19670 composer@2.1-s-593 ( 593) [001] ...1 1034711.990460: tracing_mark_write: E|593 19671 composer@2.1-s-593 ( 593) [001] ...1 1034711.990500: tracing_mark_write: E|593 19672 surfaceflinger-591 ( 591) [000] ...1 1034711.990591: tracing_mark_write: E|591 19673 sensors@1.0-se-778 ( 778) [004] ...1 1034711.995190: tracing_mark_write: E|778 19674 SensorService-1283 ( 1151) [007] ...1 1034711.995226: tracing_mark_write: E|1151 19675 SensorService-1283 ( 1151) [007] ...1 1034711.995309: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 19676 sensors@1.0-se-778 ( 778) [004] ...1 1034711.995428: tracing_mark_write: B|778|HIDL::ISensors::poll::server 19677 sensors@1.0-se-778 ( 778) [005] ...1 1034712.014706: tracing_mark_write: E|778 19678 SensorService-1283 ( 1151) [007] ...1 1034712.014883: tracing_mark_write: E|1151 19679 SensorService-1283 ( 1151) [007] ...1 1034712.015054: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 19680 sensors@1.0-se-778 ( 778) [005] ...1 1034712.015218: tracing_mark_write: B|778|HIDL::ISensors::poll::server 19681 sensors@1.0-se-778 ( 778) [004] ...1 1034712.033619: tracing_mark_write: E|778 19682 SensorService-1283 ( 1151) [007] ...1 1034712.033720: tracing_mark_write: E|1151 19683 SensorService-1283 ( 1151) [007] ...1 1034712.033808: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 19684 sensors@1.0-se-778 ( 778) [004] ...1 1034712.033881: tracing_mark_write: B|778|HIDL::ISensors::poll::server 19685 surfaceflinger-591 ( 591) [000] ...1 1034712.040192: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 19686 composer@2.1-s-593 ( 593) [001] ...1 1034712.040376: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 19687 composer@2.1-s-593 ( 593) [001] ...1 1034712.040451: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 19688 composer@2.1-s-593 ( 593) [001] ...1 1034712.040474: tracing_mark_write: B|593|HWDevice::Commit:: 19689 composer@2.1-s-593 ( 593) [001] ...1 1034712.040611: tracing_mark_write: E|593 19690 composer@2.1-s-593 ( 593) [001] ...1 1034712.040641: tracing_mark_write: E|593 19691 composer@2.1-s-593 ( 593) [001] ...1 1034712.040676: tracing_mark_write: E|593 19692 surfaceflinger-591 ( 591) [000] ...1 1034712.040751: tracing_mark_write: E|591 19693 sensors@1.0-se-778 ( 778) [004] ...1 1034712.052803: tracing_mark_write: E|778 19694 SensorService-1283 ( 1151) [007] ...1 1034712.052881: tracing_mark_write: E|1151 19695 SensorService-1283 ( 1151) [007] ...1 1034712.052948: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 19696 sensors@1.0-se-778 ( 778) [004] ...1 1034712.052990: tracing_mark_write: B|778|HIDL::ISensors::poll::server 19697 sensors@1.0-se-778 ( 778) [004] ...1 1034712.072030: tracing_mark_write: E|778 19698 SensorService-1283 ( 1151) [007] ...1 1034712.072108: tracing_mark_write: E|1151 19699 SensorService-1283 ( 1151) [007] ...1 1034712.072167: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 19700 sensors@1.0-se-778 ( 778) [004] ...1 1034712.072203: tracing_mark_write: B|778|HIDL::ISensors::poll::server 19701 surfaceflinger-591 ( 591) [002] ...1 1034712.073671: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 19702 composer@2.1-s-593 ( 593) [001] ...1 1034712.073793: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 19703 composer@2.1-s-593 ( 593) [001] ...1 1034712.073858: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 19704 composer@2.1-s-593 ( 593) [001] ...1 1034712.073878: tracing_mark_write: B|593|HWDevice::Commit:: 19705 composer@2.1-s-593 ( 593) [001] ...1 1034712.073987: tracing_mark_write: E|593 19706 composer@2.1-s-593 ( 593) [001] ...1 1034712.074014: tracing_mark_write: E|593 19707 composer@2.1-s-593 ( 593) [001] ...1 1034712.074047: tracing_mark_write: E|593 19708 surfaceflinger-591 ( 591) [003] ...1 1034712.074133: tracing_mark_write: E|591 19709 sensors@1.0-se-778 ( 778) [004] ...1 1034712.091207: tracing_mark_write: E|778 19710 SensorService-1283 ( 1151) [007] ...1 1034712.091261: tracing_mark_write: E|1151 19711 SensorService-1283 ( 1151) [007] ...1 1034712.091313: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 19712 sensors@1.0-se-778 ( 778) [004] ...1 1034712.091345: tracing_mark_write: B|778|HIDL::ISensors::poll::server 19713 sensors@1.0-se-778 ( 778) [004] ...1 1034712.110542: tracing_mark_write: E|778 19714 SensorService-1283 ( 1151) [007] ...1 1034712.110605: tracing_mark_write: E|1151 19715 SensorService-1283 ( 1151) [007] ...1 1034712.110662: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 19716 sensors@1.0-se-778 ( 778) [004] ...1 1034712.110697: tracing_mark_write: B|778|HIDL::ISensors::poll::server 19717 surfaceflinger-591 ( 591) [002] ...1 1034712.123987: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 19718 composer@2.1-s-593 ( 593) [001] ...1 1034712.124146: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 19719 composer@2.1-s-593 ( 593) [001] ...1 1034712.124207: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 19720 composer@2.1-s-593 ( 593) [001] ...1 1034712.124225: tracing_mark_write: B|593|HWDevice::Commit:: 19721 composer@2.1-s-593 ( 593) [001] ...1 1034712.124325: tracing_mark_write: E|593 19722 composer@2.1-s-593 ( 593) [001] ...1 1034712.124352: tracing_mark_write: E|593 19723 composer@2.1-s-593 ( 593) [001] ...1 1034712.124380: tracing_mark_write: E|593 19724 surfaceflinger-591 ( 591) [003] ...1 1034712.124475: tracing_mark_write: E|591 19725 sensors@1.0-se-778 ( 778) [006] ...1 1034712.129732: tracing_mark_write: E|778 19726 SensorService-1283 ( 1151) [007] ...1 1034712.129791: tracing_mark_write: E|1151 19727 SensorService-1283 ( 1151) [007] ...1 1034712.129842: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 19728 sensors@1.0-se-778 ( 778) [006] ...1 1034712.129899: tracing_mark_write: B|778|HIDL::ISensors::poll::server 19729 sensors@1.0-se-778 ( 778) [006] ...1 1034712.149032: tracing_mark_write: E|778 19730 SensorService-1283 ( 1151) [007] ...1 1034712.149087: tracing_mark_write: E|1151 19731 SensorService-1283 ( 1151) [007] ...1 1034712.149141: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 19732 sensors@1.0-se-778 ( 778) [006] ...1 1034712.149175: tracing_mark_write: B|778|HIDL::ISensors::poll::server 19733 surfaceflinger-591 ( 591) [002] ...1 1034712.157527: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 19734 composer@2.1-s-593 ( 593) [001] ...1 1034712.157655: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 19735 composer@2.1-s-593 ( 593) [001] ...1 1034712.157719: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 19736 composer@2.1-s-593 ( 593) [001] ...1 1034712.157739: tracing_mark_write: B|593|HWDevice::Commit:: 19737 composer@2.1-s-593 ( 593) [001] ...1 1034712.157840: tracing_mark_write: E|593 19738 composer@2.1-s-593 ( 593) [001] ...1 1034712.157865: tracing_mark_write: E|593 19739 composer@2.1-s-593 ( 593) [001] ...1 1034712.157896: tracing_mark_write: E|593 19740 surfaceflinger-591 ( 591) [003] ...1 1034712.157977: tracing_mark_write: E|591 19741 sensors@1.0-se-778 ( 778) [004] ...1 1034712.168267: tracing_mark_write: E|778 19742 SensorService-1283 ( 1151) [007] ...1 1034712.168330: tracing_mark_write: E|1151 19743 SensorService-1283 ( 1151) [007] ...1 1034712.168382: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 19744 sensors@1.0-se-778 ( 778) [004] ...1 1034712.168416: tracing_mark_write: B|778|HIDL::ISensors::poll::server 19745 sensors@1.0-se-778 ( 778) [007] ...1 1034712.187485: tracing_mark_write: E|778 19746 SensorService-1283 ( 1151) [002] ...1 1034712.187558: tracing_mark_write: E|1151 19747 SensorService-1283 ( 1151) [002] ...1 1034712.187630: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 19748 sensors@1.0-se-778 ( 778) [007] ...1 1034712.187679: tracing_mark_write: B|778|HIDL::ISensors::poll::server 19749 sensors@1.0-se-778 ( 778) [007] ...1 1034712.206818: tracing_mark_write: E|778 19750 SensorService-1283 ( 1151) [002] ...1 1034712.206892: tracing_mark_write: E|1151 19751 SensorService-1283 ( 1151) [002] ...1 1034712.206964: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 19752 sensors@1.0-se-778 ( 778) [007] ...1 1034712.207012: tracing_mark_write: B|778|HIDL::ISensors::poll::server 19753 surfaceflinger-591 ( 591) [002] ...1 1034712.207791: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 19754 composer@2.1-s-593 ( 593) [001] ...1 1034712.207905: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 19755 composer@2.1-s-593 ( 593) [001] ...1 1034712.207969: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 19756 composer@2.1-s-593 ( 593) [001] ...1 1034712.207988: tracing_mark_write: B|593|HWDevice::Commit:: 19757 composer@2.1-s-593 ( 593) [001] ...1 1034712.208091: tracing_mark_write: E|593 19758 composer@2.1-s-593 ( 593) [001] ...1 1034712.208117: tracing_mark_write: E|593 19759 composer@2.1-s-593 ( 593) [001] ...1 1034712.208144: tracing_mark_write: E|593 19760 surfaceflinger-591 ( 591) [003] ...1 1034712.208217: tracing_mark_write: E|591 19761 sensors@1.0-se-778 ( 778) [004] ...1 1034712.226100: tracing_mark_write: E|778 19762 SensorService-1283 ( 1151) [002] ...1 1034712.226197: tracing_mark_write: E|1151 19763 SensorService-1283 ( 1151) [002] ...1 1034712.226274: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 19764 sensors@1.0-se-778 ( 778) [004] ...1 1034712.226352: tracing_mark_write: B|778|HIDL::ISensors::poll::server 19765 surfaceflinger-591 ( 591) [002] ...1 1034712.241446: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 19766 composer@2.1-s-593 ( 593) [001] ...1 1034712.241580: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 19767 composer@2.1-s-593 ( 593) [001] ...1 1034712.241646: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 19768 composer@2.1-s-593 ( 593) [001] ...1 1034712.241664: tracing_mark_write: B|593|HWDevice::Commit:: 19769 composer@2.1-s-593 ( 593) [001] ...1 1034712.241770: tracing_mark_write: E|593 19770 composer@2.1-s-593 ( 593) [001] ...1 1034712.241797: tracing_mark_write: E|593 19771 composer@2.1-s-593 ( 593) [001] ...1 1034712.241827: tracing_mark_write: E|593 19772 surfaceflinger-591 ( 591) [003] ...1 1034712.241915: tracing_mark_write: E|591 19773 sensors@1.0-se-778 ( 778) [004] ...1 1034712.245379: tracing_mark_write: E|778 19774 SensorService-1283 ( 1151) [002] ...1 1034712.245477: tracing_mark_write: E|1151 19775 SensorService-1283 ( 1151) [002] ...1 1034712.245557: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 19776 sensors@1.0-se-778 ( 778) [004] ...1 1034712.245639: tracing_mark_write: B|778|HIDL::ISensors::poll::server 19777 sensors@1.0-se-778 ( 778) [004] ...1 1034712.264660: tracing_mark_write: E|778 19778 SensorService-1283 ( 1151) [002] ...1 1034712.264783: tracing_mark_write: E|1151 19779 SensorService-1283 ( 1151) [002] ...1 1034712.264865: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 19780 sensors@1.0-se-778 ( 778) [004] ...1 1034712.264965: tracing_mark_write: B|778|HIDL::ISensors::poll::server 19781 sensors@1.0-se-778 ( 778) [004] ...1 1034712.283892: tracing_mark_write: E|778 19782 SensorService-1283 ( 1151) [002] ...1 1034712.283986: tracing_mark_write: E|1151 19783 SensorService-1283 ( 1151) [002] ...1 1034712.284062: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 19784 sensors@1.0-se-778 ( 778) [004] ...1 1034712.284159: tracing_mark_write: B|778|HIDL::ISensors::poll::server 19785 surfaceflinger-591 ( 591) [002] ...1 1034712.291745: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 19786 composer@2.1-s-593 ( 593) [001] ...1 1034712.291876: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 19787 composer@2.1-s-593 ( 593) [001] ...1 1034712.291941: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 19788 composer@2.1-s-593 ( 593) [001] ...1 1034712.291960: tracing_mark_write: B|593|HWDevice::Commit:: 19789 composer@2.1-s-593 ( 593) [001] ...1 1034712.292064: tracing_mark_write: E|593 19790 composer@2.1-s-593 ( 593) [001] ...1 1034712.292090: tracing_mark_write: E|593 19791 composer@2.1-s-593 ( 593) [001] ...1 1034712.292119: tracing_mark_write: E|593 19792 surfaceflinger-591 ( 591) [003] ...1 1034712.292191: tracing_mark_write: E|591 19793 sensors@1.0-se-778 ( 778) [004] ...1 1034712.303120: tracing_mark_write: E|778 19794 SensorService-1283 ( 1151) [002] ...1 1034712.303258: tracing_mark_write: E|1151 19795 SensorService-1283 ( 1151) [002] ...1 1034712.303351: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 19796 sensors@1.0-se-778 ( 778) [004] ...1 1034712.303438: tracing_mark_write: B|778|HIDL::ISensors::poll::server 19797 sensors@1.0-se-778 ( 778) [004] ...1 1034712.322584: tracing_mark_write: E|778 19798 SensorService-1283 ( 1151) [002] ...1 1034712.322696: tracing_mark_write: E|1151 19799 SensorService-1283 ( 1151) [002] ...1 1034712.322790: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 19800 sensors@1.0-se-778 ( 778) [004] ...1 1034712.322880: tracing_mark_write: B|778|HIDL::ISensors::poll::server 19801 surfaceflinger-591 ( 591) [000] ...1 1034712.325380: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 19802 composer@2.1-s-593 ( 593) [001] ...1 1034712.325527: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 19803 composer@2.1-s-593 ( 593) [001] ...1 1034712.325604: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 19804 composer@2.1-s-593 ( 593) [001] ...1 1034712.325627: tracing_mark_write: B|593|HWDevice::Commit:: 19805 composer@2.1-s-593 ( 593) [001] ...1 1034712.325747: tracing_mark_write: E|593 19806 composer@2.1-s-593 ( 593) [001] ...1 1034712.325776: tracing_mark_write: E|593 19807 composer@2.1-s-593 ( 593) [001] ...1 1034712.325807: tracing_mark_write: E|593 19808 surfaceflinger-591 ( 591) [000] ...1 1034712.325881: tracing_mark_write: E|591 19809 sensors@1.0-se-778 ( 778) [004] ...1 1034712.342105: tracing_mark_write: E|778 19810 SensorService-1283 ( 1151) [002] ...1 1034712.342278: tracing_mark_write: E|1151 19811 SensorService-1283 ( 1151) [002] ...1 1034712.342360: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 19812 HwBinder:778_1-1087 ( 778) [000] ...1 1034712.342472: tracing_mark_write: B|778|HIDL::ISensors::poll::server 19813 HwBinder:778_1-1087 ( 778) [000] ...1 1034712.360910: tracing_mark_write: E|778 19814 SensorService-1283 ( 1151) [002] ...1 1034712.361036: tracing_mark_write: E|1151 19815 SensorService-1283 ( 1151) [002] ...1 1034712.361148: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 19816 HwBinder:778_1-1087 ( 778) [000] ...1 1034712.361212: tracing_mark_write: B|778|HIDL::ISensors::poll::server 19817 surfaceflinger-591 ( 591) [000] ...1 1034712.375850: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 19818 composer@2.1-s-593 ( 593) [001] ...1 1034712.376041: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 19819 composer@2.1-s-593 ( 593) [001] ...1 1034712.376129: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 19820 composer@2.1-s-593 ( 593) [001] ...1 1034712.376156: tracing_mark_write: B|593|HWDevice::Commit:: 19821 composer@2.1-s-593 ( 593) [001] ...1 1034712.376300: tracing_mark_write: E|593 19822 composer@2.1-s-593 ( 593) [001] ...1 1034712.376333: tracing_mark_write: E|593 19823 composer@2.1-s-593 ( 593) [001] ...1 1034712.376371: tracing_mark_write: E|593 19824 surfaceflinger-591 ( 591) [000] ...1 1034712.376452: tracing_mark_write: E|591 19825 HwBinder:778_1-1087 ( 778) [000] ...1 1034712.380405: tracing_mark_write: E|778 19826 SensorService-1283 ( 1151) [002] ...1 1034712.380520: tracing_mark_write: E|1151 19827 SensorService-1283 ( 1151) [002] ...1 1034712.380616: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 19828 HwBinder:778_1-1087 ( 778) [000] ...1 1034712.380675: tracing_mark_write: B|778|HIDL::ISensors::poll::server 19829 HwBinder:778_1-1087 ( 778) [000] ...1 1034712.399665: tracing_mark_write: E|778 19830 SensorService-1283 ( 1151) [002] ...1 1034712.399791: tracing_mark_write: E|1151 19831 SensorService-1283 ( 1151) [002] ...1 1034712.399921: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 19832 HwBinder:778_1-1087 ( 778) [000] ...1 1034712.399979: tracing_mark_write: B|778|HIDL::ISensors::poll::server 19833 surfaceflinger-591 ( 591) [000] ...1 1034712.409411: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 19834 composer@2.1-s-593 ( 593) [001] ...1 1034712.409599: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 19835 composer@2.1-s-593 ( 593) [001] ...1 1034712.409680: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 19836 composer@2.1-s-593 ( 593) [001] ...1 1034712.409703: tracing_mark_write: B|593|HWDevice::Commit:: 19837 composer@2.1-s-593 ( 593) [001] ...1 1034712.409834: tracing_mark_write: E|593 19838 composer@2.1-s-593 ( 593) [001] ...1 1034712.409914: tracing_mark_write: E|593 19839 composer@2.1-s-593 ( 593) [001] ...1 1034712.409948: tracing_mark_write: E|593 19840 surfaceflinger-591 ( 591) [000] ...1 1034712.410048: tracing_mark_write: E|591 19841 HwBinder:778_1-1087 ( 778) [000] ...1 1034712.418893: tracing_mark_write: E|778 19842 SensorService-1283 ( 1151) [002] ...1 1034712.419022: tracing_mark_write: E|1151 19843 SensorService-1283 ( 1151) [002] ...1 1034712.419126: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 19844 HwBinder:778_1-1087 ( 778) [000] ...1 1034712.419188: tracing_mark_write: B|778|HIDL::ISensors::poll::server 19845 HwBinder:778_1-1087 ( 778) [000] ...1 1034712.438048: tracing_mark_write: E|778 19846 SensorService-1283 ( 1151) [002] ...1 1034712.438162: tracing_mark_write: E|1151 19847 SensorService-1283 ( 1151) [002] ...1 1034712.438254: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 19848 HwBinder:778_1-1087 ( 778) [000] ...1 1034712.438314: tracing_mark_write: B|778|HIDL::ISensors::poll::server 19849 HwBinder:778_1-1087 ( 778) [000] ...1 1034712.457329: tracing_mark_write: E|778 19850 SensorService-1283 ( 1151) [002] ...1 1034712.457438: tracing_mark_write: E|1151 19851 SensorService-1283 ( 1151) [002] ...1 1034712.457537: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 19852 HwBinder:778_1-1087 ( 778) [000] ...1 1034712.457596: tracing_mark_write: B|778|HIDL::ISensors::poll::server 19853 surfaceflinger-591 ( 591) [000] ...1 1034712.459604: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 19854 composer@2.1-s-593 ( 593) [001] ...1 1034712.459742: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 19855 composer@2.1-s-593 ( 593) [001] ...1 1034712.459820: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 19856 composer@2.1-s-593 ( 593) [001] ...1 1034712.459843: tracing_mark_write: B|593|HWDevice::Commit:: 19857 composer@2.1-s-593 ( 593) [001] ...1 1034712.460033: tracing_mark_write: E|593 19858 composer@2.1-s-593 ( 593) [001] ...1 1034712.460062: tracing_mark_write: E|593 19859 composer@2.1-s-593 ( 593) [001] ...1 1034712.460095: tracing_mark_write: E|593 19860 surfaceflinger-591 ( 591) [000] ...1 1034712.460167: tracing_mark_write: E|591 19861 HwBinder:778_1-1087 ( 778) [000] ...1 1034712.476426: tracing_mark_write: E|778 19862 SensorService-1283 ( 1151) [002] ...1 1034712.476556: tracing_mark_write: E|1151 19863 SensorService-1283 ( 1151) [002] ...1 1034712.476630: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 19864 HwBinder:778_1-1087 ( 778) [000] ...1 1034712.476688: tracing_mark_write: B|778|HIDL::ISensors::poll::server 19865 surfaceflinger-591 ( 591) [000] ...1 1034712.493321: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 19866 composer@2.1-s-593 ( 593) [001] ...1 1034712.493516: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 19867 composer@2.1-s-593 ( 593) [001] ...1 1034712.493605: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 19868 composer@2.1-s-593 ( 593) [001] ...1 1034712.493631: tracing_mark_write: B|593|HWDevice::Commit:: 19869 composer@2.1-s-593 ( 593) [001] ...1 1034712.493768: tracing_mark_write: E|593 19870 composer@2.1-s-593 ( 593) [001] ...1 1034712.493802: tracing_mark_write: E|593 19871 composer@2.1-s-593 ( 593) [001] ...1 1034712.493840: tracing_mark_write: E|593 19872 surfaceflinger-591 ( 591) [000] ...1 1034712.493923: tracing_mark_write: E|591 19873 HwBinder:778_1-1087 ( 778) [000] ...1 1034712.495753: tracing_mark_write: E|778 19874 SensorService-1283 ( 1151) [003] ...1 1034712.495864: tracing_mark_write: E|1151 19875 SensorService-1283 ( 1151) [003] ...1 1034712.495968: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 19876 HwBinder:778_1-1087 ( 778) [000] ...1 1034712.496042: tracing_mark_write: B|778|HIDL::ISensors::poll::server 19877 HwBinder:778_1-1087 ( 778) [000] ...1 1034712.515027: tracing_mark_write: E|778 19878 SensorService-1283 ( 1151) [003] ...1 1034712.515153: tracing_mark_write: E|1151 19879 SensorService-1283 ( 1151) [003] ...1 1034712.515263: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 19880 HwBinder:778_1-1087 ( 778) [000] ...1 1034712.515332: tracing_mark_write: B|778|HIDL::ISensors::poll::server 19881 HwBinder:778_1-1087 ( 778) [000] ...1 1034712.534371: tracing_mark_write: E|778 19882 SensorService-1283 ( 1151) [003] ...1 1034712.534525: tracing_mark_write: E|1151 19883 SensorService-1283 ( 1151) [003] ...1 1034712.534702: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 19884 HwBinder:778_1-1087 ( 778) [000] ...1 1034712.534855: tracing_mark_write: B|778|HIDL::ISensors::poll::server 19885 surfaceflinger-591 ( 591) [001] ...1 1034712.543715: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 19886 composer@2.1-s-593 ( 593) [000] ...1 1034712.543930: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 19887 composer@2.1-s-593 ( 593) [000] ...1 1034712.544043: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 19888 composer@2.1-s-593 ( 593) [000] ...1 1034712.544075: tracing_mark_write: B|593|HWDevice::Commit:: 19889 composer@2.1-s-593 ( 593) [000] ...1 1034712.544249: tracing_mark_write: E|593 19890 composer@2.1-s-593 ( 593) [000] ...1 1034712.544288: tracing_mark_write: E|593 19891 composer@2.1-s-593 ( 593) [000] ...1 1034712.544334: tracing_mark_write: E|593 19892 surfaceflinger-591 ( 591) [001] ...1 1034712.544439: tracing_mark_write: E|591 19893 HwBinder:778_1-1087 ( 778) [000] ...1 1034712.554234: tracing_mark_write: E|778 19894 SensorService-1283 ( 1151) [003] ...1 1034712.554367: tracing_mark_write: E|1151 19895 SensorService-1283 ( 1151) [003] ...1 1034712.554483: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 19896 HwBinder:778_1-1087 ( 778) [000] ...1 1034712.554549: tracing_mark_write: B|778|HIDL::ISensors::poll::server 19897 HwBinder:778_1-1087 ( 778) [000] ...1 1034712.573196: tracing_mark_write: E|778 19898 SensorService-1283 ( 1151) [003] ...1 1034712.573301: tracing_mark_write: E|1151 19899 SensorService-1283 ( 1151) [003] ...1 1034712.573445: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 19900 HwBinder:778_1-1087 ( 778) [000] ...1 1034712.573542: tracing_mark_write: B|778|HIDL::ISensors::poll::server 19901 surfaceflinger-591 ( 591) [000] ...1 1034712.577253: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 19902 composer@2.1-s-593 ( 593) [001] ...1 1034712.577453: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 19903 composer@2.1-s-593 ( 593) [001] ...1 1034712.577582: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 19904 composer@2.1-s-593 ( 593) [001] ...1 1034712.577622: tracing_mark_write: B|593|HWDevice::Commit:: 19905 composer@2.1-s-593 ( 593) [001] ...1 1034712.577814: tracing_mark_write: E|593 19906 composer@2.1-s-593 ( 593) [001] ...1 1034712.577862: tracing_mark_write: E|593 19907 composer@2.1-s-593 ( 593) [001] ...1 1034712.577914: tracing_mark_write: E|593 19908 surfaceflinger-591 ( 591) [000] ...1 1034712.578012: tracing_mark_write: E|591 19909 HwBinder:778_1-1087 ( 778) [000] ...1 1034712.592382: tracing_mark_write: E|778 19910 SensorService-1283 ( 1151) [003] ...1 1034712.592527: tracing_mark_write: E|1151 19911 SensorService-1283 ( 1151) [003] ...1 1034712.592707: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 19912 HwBinder:778_1-1087 ( 778) [000] ...1 1034712.592842: tracing_mark_write: B|778|HIDL::ISensors::poll::server 19913 HwBinder:778_1-1087 ( 778) [000] ...1 1034712.611350: tracing_mark_write: E|778 19914 SensorService-1283 ( 1151) [003] ...1 1034712.611475: tracing_mark_write: E|1151 19915 SensorService-1283 ( 1151) [003] ...1 1034712.611617: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 19916 HwBinder:778_1-1087 ( 778) [000] ...1 1034712.611740: tracing_mark_write: B|778|HIDL::ISensors::poll::server 19917 surfaceflinger-591 ( 591) [000] ...1 1034712.628015: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 19918 composer@2.1-s-593 ( 593) [001] ...1 1034712.628320: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 19919 composer@2.1-s-593 ( 593) [001] ...1 1034712.628507: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 19920 composer@2.1-s-593 ( 593) [001] ...1 1034712.628570: tracing_mark_write: B|593|HWDevice::Commit:: 19921 composer@2.1-s-593 ( 593) [001] ...1 1034712.628891: tracing_mark_write: E|593 19922 composer@2.1-s-593 ( 593) [001] ...1 1034712.628973: tracing_mark_write: E|593 19923 composer@2.1-s-593 ( 593) [001] ...1 1034712.629058: tracing_mark_write: E|593 19924 surfaceflinger-591 ( 591) [000] ...1 1034712.629279: tracing_mark_write: E|591 19925 HwBinder:778_1-1087 ( 778) [000] ...1 1034712.630774: tracing_mark_write: E|778 19926 SensorService-1283 ( 1151) [003] ...1 1034712.630918: tracing_mark_write: E|1151 19927 SensorService-1283 ( 1151) [003] ...1 1034712.631103: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 19928 HwBinder:778_1-1087 ( 778) [000] ...1 1034712.631263: tracing_mark_write: B|778|HIDL::ISensors::poll::server 19929 HwBinder:778_1-1087 ( 778) [001] ...1 1034712.650124: tracing_mark_write: E|778 19930 SensorService-1283 ( 1151) [003] ...1 1034712.650284: tracing_mark_write: E|1151 19931 SensorService-1283 ( 1151) [003] ...1 1034712.650413: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 19932 HwBinder:778_1-1087 ( 778) [001] ...1 1034712.650491: tracing_mark_write: B|778|HIDL::ISensors::poll::server 19933 surfaceflinger-591 ( 591) [001] ...1 1034712.661299: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 19934 composer@2.1-s-593 ( 593) [000] ...1 1034712.661600: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 19935 composer@2.1-s-593 ( 593) [000] ...1 1034712.661739: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 19936 composer@2.1-s-593 ( 593) [000] ...1 1034712.661778: tracing_mark_write: B|593|HWDevice::Commit:: 19937 composer@2.1-s-593 ( 593) [000] ...1 1034712.661996: tracing_mark_write: E|593 19938 composer@2.1-s-593 ( 593) [000] ...1 1034712.662046: tracing_mark_write: E|593 19939 composer@2.1-s-593 ( 593) [000] ...1 1034712.662102: tracing_mark_write: E|593 19940 surfaceflinger-591 ( 591) [001] ...1 1034712.662229: tracing_mark_write: E|591 19941 HwBinder:778_1-1087 ( 778) [000] ...1 1034712.669203: tracing_mark_write: E|778 19942 SensorService-1283 ( 1151) [003] ...1 1034712.669359: tracing_mark_write: E|1151 19943 SensorService-1283 ( 1151) [003] ...1 1034712.669531: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 19944 HwBinder:778_1-1087 ( 778) [000] ...1 1034712.669608: tracing_mark_write: B|778|HIDL::ISensors::poll::server 19945 HwBinder:778_1-1087 ( 778) [001] ...1 1034712.688301: tracing_mark_write: E|778 19946 SensorService-1283 ( 1151) [003] ...1 1034712.688459: tracing_mark_write: E|1151 19947 SensorService-1283 ( 1151) [003] ...1 1034712.688616: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 19948 HwBinder:778_1-1087 ( 778) [001] ...1 1034712.688767: tracing_mark_write: B|778|HIDL::ISensors::poll::server 19949 HwBinder:778_1-1087 ( 778) [000] ...1 1034712.707382: tracing_mark_write: E|778 19950 SensorService-1283 ( 1151) [003] ...1 1034712.707445: tracing_mark_write: E|1151 19951 SensorService-1283 ( 1151) [003] ...1 1034712.707515: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 19952 HwBinder:778_1-1087 ( 778) [000] ...1 1034712.707564: tracing_mark_write: B|778|HIDL::ISensors::poll::server 19953 surfaceflinger-591 ( 591) [000] ...1 1034712.711214: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 19954 composer@2.1-s-593 ( 593) [001] ...1 1034712.711329: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 19955 composer@2.1-s-593 ( 593) [001] ...1 1034712.711404: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 19956 composer@2.1-s-593 ( 593) [001] ...1 1034712.711427: tracing_mark_write: B|593|HWDevice::Commit:: 19957 composer@2.1-s-593 ( 593) [001] ...1 1034712.711543: tracing_mark_write: E|593 19958 composer@2.1-s-593 ( 593) [001] ...1 1034712.711571: tracing_mark_write: E|593 19959 composer@2.1-s-593 ( 593) [001] ...1 1034712.711602: tracing_mark_write: E|593 19960 surfaceflinger-591 ( 591) [000] ...1 1034712.711671: tracing_mark_write: E|591 19961 HwBinder:778_1-1087 ( 778) [000] ...1 1034712.726827: tracing_mark_write: E|778 19962 SensorService-1283 ( 1151) [003] ...1 1034712.726992: tracing_mark_write: E|1151 19963 SensorService-1283 ( 1151) [003] ...1 1034712.727211: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 19964 HwBinder:778_1-1087 ( 778) [000] ...1 1034712.727358: tracing_mark_write: B|778|HIDL::ISensors::poll::server 19965 HwBinder:778_1-1087 ( 778) [003] ...1 1034712.746321: tracing_mark_write: E|778 19966 SensorService-1283 ( 1151) [001] ...1 1034712.746691: tracing_mark_write: E|1151 19967 SensorService-1283 ( 1151) [001] ...1 1034712.746920: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 19968 HwBinder:778_1-1087 ( 778) [003] ...1 1034712.747109: tracing_mark_write: B|778|HIDL::ISensors::poll::server 19969 surfaceflinger-591 ( 591) [000] ...1 1034712.762011: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 19970 composer@2.1-s-593 ( 593) [001] ...1 1034712.762254: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 19971 composer@2.1-s-593 ( 593) [001] ...1 1034712.762388: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 19972 composer@2.1-s-593 ( 593) [001] ...1 1034712.762427: tracing_mark_write: B|593|HWDevice::Commit:: 19973 composer@2.1-s-593 ( 593) [001] ...1 1034712.762620: tracing_mark_write: E|593 19974 composer@2.1-s-593 ( 593) [001] ...1 1034712.762668: tracing_mark_write: E|593 19975 composer@2.1-s-593 ( 593) [001] ...1 1034712.762722: tracing_mark_write: E|593 19976 surfaceflinger-591 ( 591) [000] ...1 1034712.762836: tracing_mark_write: E|591 19977 surfaceflinger-668 ( 591) [001] ...1 1034712.763242: tracing_mark_write: B|591|HIDL::IComposerClient::setVsyncEnabled::client 19978 composer@2.1-s-593 ( 593) [001] ...1 1034712.763331: tracing_mark_write: B|593|HIDL::IComposerClient::setVsyncEnabled::server 19979 composer@2.1-s-593 ( 593) [001] ...1 1034712.763344: tracing_mark_write: C|593|SetVsyncState |1 19980 composer@2.1-s-593 ( 593) [001] ...1 1034712.763352: tracing_mark_write: B|593|HWPrimary::SetVSyncState:: 19981 composer@2.1-s-593 ( 593) [001] ...1 1034712.764696: tracing_mark_write: E|593 19982 composer@2.1-s-593 ( 593) [001] ...1 1034712.764705: tracing_mark_write: E|593 19983 surfaceflinger-668 ( 591) [001] ...1 1034712.764734: tracing_mark_write: E|591 19984 HwBinder:778_1-1087 ( 778) [000] ...1 1034712.765197: tracing_mark_write: E|778 19985 SensorService-1283 ( 1151) [001] ...1 1034712.765293: tracing_mark_write: E|1151 19986 SensorService-1283 ( 1151) [001] ...1 1034712.765415: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 19987 HwBinder:778_1-1087 ( 778) [000] ...1 1034712.765467: tracing_mark_write: B|778|HIDL::ISensors::poll::server 19988 SDM_EventThrea-634 ( 593) [000] ...1 1034712.772497: tracing_mark_write: B|593|HWCCallbacks::Vsync:: 19989 SDM_EventThrea-634 ( 593) [000] ...1 1034712.772505: tracing_mark_write: B|593|HIDL::IComposerCallback::onVsync::client 19990 SDM_EventThrea-634 ( 593) [000] ...1 1034712.772605: tracing_mark_write: E|593 19991 SDM_EventThrea-634 ( 593) [000] ...1 1034712.772613: tracing_mark_write: E|593 19992 HwBinder:591_1-620 ( 591) [001] ...1 1034712.772641: tracing_mark_write: B|591|HIDL::IComposerCallback::onVsync::server 19993 HwBinder:591_1-620 ( 591) [001] ...1 1034712.772672: tracing_mark_write: E|591 19994 HwBinder:778_1-1087 ( 778) [000] ...1 1034712.784755: tracing_mark_write: E|778 19995 SensorService-1283 ( 1151) [001] ...1 1034712.784908: tracing_mark_write: E|1151 19996 SensorService-1283 ( 1151) [001] ...1 1034712.785084: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 19997 HwBinder:778_1-1087 ( 778) [000] ...1 1034712.785225: tracing_mark_write: B|778|HIDL::ISensors::poll::server 19998 SDM_EventThrea-634 ( 593) [000] ...1 1034712.789294: tracing_mark_write: B|593|HWCCallbacks::Vsync:: 19999 SDM_EventThrea-634 ( 593) [000] ...1 1034712.789309: tracing_mark_write: B|593|HIDL::IComposerCallback::onVsync::client 20000 SDM_EventThrea-634 ( 593) [000] ...1 1034712.789379: tracing_mark_write: E|593 20001 SDM_EventThrea-634 ( 593) [000] ...1 1034712.789393: tracing_mark_write: E|593 20002 HwBinder:591_1-620 ( 591) [001] ...1 1034712.789418: tracing_mark_write: B|591|HIDL::IComposerCallback::onVsync::server 20003 HwBinder:591_1-620 ( 591) [001] ...1 1034712.789440: tracing_mark_write: E|591 20004 surfaceflinger-591 ( 591) [000] ...1 1034712.795787: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 20005 composer@2.1-s-593 ( 593) [001] ...1 1034712.795955: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 20006 composer@2.1-s-593 ( 593) [001] ...1 1034712.796072: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 20007 composer@2.1-s-593 ( 593) [001] ...1 1034712.796106: tracing_mark_write: B|593|HWDevice::Commit:: 20008 composer@2.1-s-593 ( 593) [001] ...1 1034712.796300: tracing_mark_write: E|593 20009 composer@2.1-s-593 ( 593) [001] ...1 1034712.796351: tracing_mark_write: E|593 20010 composer@2.1-s-593 ( 593) [001] ...1 1034712.796409: tracing_mark_write: E|593 20011 surfaceflinger-591 ( 591) [000] ...1 1034712.796580: tracing_mark_write: E|591 20012 HwBinder:778_1-1087 ( 778) [000] ...1 1034712.804289: tracing_mark_write: E|778 20013 SensorService-1283 ( 1151) [001] ...1 1034712.804507: tracing_mark_write: E|1151 20014 SensorService-1283 ( 1151) [001] ...1 1034712.804724: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 20015 HwBinder:778_1-1087 ( 778) [000] ...1 1034712.804881: tracing_mark_write: B|778|HIDL::ISensors::poll::server 20016 SDM_EventThrea-634 ( 593) [000] ...1 1034712.806169: tracing_mark_write: B|593|HWCCallbacks::Vsync:: 20017 SDM_EventThrea-634 ( 593) [000] ...1 1034712.806188: tracing_mark_write: B|593|HIDL::IComposerCallback::onVsync::client 20018 SDM_EventThrea-634 ( 593) [000] ...1 1034712.806297: tracing_mark_write: E|593 20019 SDM_EventThrea-634 ( 593) [000] ...1 1034712.806319: tracing_mark_write: E|593 20020 HwBinder:591_1-620 ( 591) [001] ...1 1034712.806354: tracing_mark_write: B|591|HIDL::IComposerCallback::onVsync::server 20021 HwBinder:591_1-620 ( 591) [001] ...1 1034712.806387: tracing_mark_write: E|591 20022 SDM_EventThrea-634 ( 593) [000] ...1 1034712.822955: tracing_mark_write: B|593|HWCCallbacks::Vsync:: 20023 SDM_EventThrea-634 ( 593) [000] ...1 1034712.822982: tracing_mark_write: B|593|HIDL::IComposerCallback::onVsync::client 20024 SDM_EventThrea-634 ( 593) [000] ...1 1034712.823154: tracing_mark_write: E|593 20025 SDM_EventThrea-634 ( 593) [000] ...1 1034712.823180: tracing_mark_write: E|593 20026 HwBinder:591_1-620 ( 591) [001] ...1 1034712.823267: tracing_mark_write: B|591|HIDL::IComposerCallback::onVsync::server 20027 HwBinder:591_1-620 ( 591) [001] ...1 1034712.823305: tracing_mark_write: E|591 20028 HwBinder:778_1-1087 ( 778) [000] ...1 1034712.825489: tracing_mark_write: E|778 20029 SensorService-1283 ( 1151) [001] ...1 1034712.825681: tracing_mark_write: E|1151 20030 SensorService-1283 ( 1151) [001] ...1 1034712.825902: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 20031 HwBinder:778_1-1087 ( 778) [000] ...1 1034712.826052: tracing_mark_write: B|778|HIDL::ISensors::poll::server 20032 SDM_EventThrea-634 ( 593) [000] ...1 1034712.839756: tracing_mark_write: B|593|HWCCallbacks::Vsync:: 20033 SDM_EventThrea-634 ( 593) [000] ...1 1034712.839785: tracing_mark_write: B|593|HIDL::IComposerCallback::onVsync::client 20034 SDM_EventThrea-634 ( 593) [000] ...1 1034712.839992: tracing_mark_write: E|593 20035 SDM_EventThrea-634 ( 593) [000] ...1 1034712.840019: tracing_mark_write: E|593 20036 HwBinder:591_1-620 ( 591) [001] ...1 1034712.840058: tracing_mark_write: B|591|HIDL::IComposerCallback::onVsync::server 20037 HwBinder:591_1-620 ( 591) [001] ...1 1034712.840097: tracing_mark_write: E|591 20038 HwBinder:778_1-1087 ( 778) [001] ...1 1034712.842775: tracing_mark_write: E|778 20039 SensorService-1283 ( 1151) [002] ...1 1034712.842990: tracing_mark_write: E|1151 20040 SensorService-1283 ( 1151) [002] ...1 1034712.843309: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 20041 HwBinder:778_1-1087 ( 778) [001] ...1 1034712.843473: tracing_mark_write: B|778|HIDL::ISensors::poll::server 20042 surfaceflinger-591 ( 591) [002] ...1 1034712.847091: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 20043 composer@2.1-s-593 ( 593) [001] ...1 1034712.847445: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 20044 composer@2.1-s-593 ( 593) [001] ...1 1034712.847644: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 20045 composer@2.1-s-593 ( 593) [001] ...1 1034712.847703: tracing_mark_write: B|593|HWDevice::Commit:: 20046 composer@2.1-s-593 ( 593) [001] ...1 1034712.848024: tracing_mark_write: E|593 20047 composer@2.1-s-593 ( 593) [001] ...1 1034712.848106: tracing_mark_write: E|593 20048 composer@2.1-s-593 ( 593) [001] ...1 1034712.848199: tracing_mark_write: E|593 20049 surfaceflinger-591 ( 591) [000] ...1 1034712.848453: tracing_mark_write: E|591 20050 SDM_EventThrea-634 ( 593) [000] ...1 1034712.856506: tracing_mark_write: B|593|HWCCallbacks::Vsync:: 20051 SDM_EventThrea-634 ( 593) [000] ...1 1034712.856526: tracing_mark_write: B|593|HIDL::IComposerCallback::onVsync::client 20052 SDM_EventThrea-634 ( 593) [000] ...1 1034712.856707: tracing_mark_write: E|593 20053 SDM_EventThrea-634 ( 593) [000] ...1 1034712.856730: tracing_mark_write: E|593 20054 HwBinder:591_1-620 ( 591) [001] ...1 1034712.856773: tracing_mark_write: B|591|HIDL::IComposerCallback::onVsync::server 20055 HwBinder:591_1-620 ( 591) [001] ...1 1034712.856912: tracing_mark_write: E|591 20056 HwBinder:778_1-1087 ( 778) [002] ...1 1034712.861923: tracing_mark_write: E|778 20057 SensorService-1283 ( 1151) [000] ...1 1034712.862141: tracing_mark_write: E|1151 20058 SensorService-1283 ( 1151) [000] ...1 1034712.862400: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 20059 HwBinder:778_1-1087 ( 778) [004] ...1 1034712.862657: tracing_mark_write: B|778|HIDL::ISensors::poll::server 20060 SDM_EventThrea-634 ( 593) [000] ...1 1034712.873550: tracing_mark_write: B|593|HWCCallbacks::Vsync:: 20061 SDM_EventThrea-634 ( 593) [000] ...1 1034712.873580: tracing_mark_write: B|593|HIDL::IComposerCallback::onVsync::client 20062 SDM_EventThrea-634 ( 593) [000] ...1 1034712.873770: tracing_mark_write: E|593 20063 SDM_EventThrea-634 ( 593) [000] ...1 1034712.873809: tracing_mark_write: E|593 20064 HwBinder:591_1-620 ( 591) [001] ...1 1034712.873944: tracing_mark_write: B|591|HIDL::IComposerCallback::onVsync::server 20065 HwBinder:591_1-620 ( 591) [001] ...1 1034712.874087: tracing_mark_write: E|591 20066 surfaceflinger-591 ( 591) [000] ...1 1034712.880427: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 20067 composer@2.1-s-593 ( 593) [001] ...1 1034712.880710: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 20068 composer@2.1-s-593 ( 593) [001] ...1 1034712.880890: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 20069 composer@2.1-s-593 ( 593) [001] ...1 1034712.880943: tracing_mark_write: B|593|HWDevice::Commit:: 20070 composer@2.1-s-593 ( 593) [001] ...1 1034712.881219: tracing_mark_write: E|593 20071 composer@2.1-s-593 ( 593) [001] ...1 1034712.881285: tracing_mark_write: E|593 20072 composer@2.1-s-593 ( 593) [001] ...1 1034712.881367: tracing_mark_write: E|593 20073 surfaceflinger-591 ( 591) [000] ...1 1034712.881544: tracing_mark_write: E|591 20074 HwBinder:778_1-1087 ( 778) [001] ...1 1034712.882068: tracing_mark_write: E|778 20075 surfaceflinger-668 ( 591) [001] ...1 1034712.882241: tracing_mark_write: B|591|HIDL::IComposerClient::setVsyncEnabled::client 20076 SensorService-1283 ( 1151) [006] ...1 1034712.882315: tracing_mark_write: E|1151 20077 SensorService-1283 ( 1151) [006] ...1 1034712.882547: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 20078 HwBinder:778_1-1087 ( 778) [001] ...1 1034712.882724: tracing_mark_write: B|778|HIDL::ISensors::poll::server 20079 composer@2.1-s-593 ( 593) [001] ...1 1034712.882810: tracing_mark_write: B|593|HIDL::IComposerClient::setVsyncEnabled::server 20080 composer@2.1-s-593 ( 593) [001] ...1 1034712.882832: tracing_mark_write: C|593|SetVsyncState |0 20081 composer@2.1-s-593 ( 593) [001] ...1 1034712.882851: tracing_mark_write: B|593|HWPrimary::SetVSyncState:: 20082 composer@2.1-s-593 ( 593) [001] ...1 1034712.882887: tracing_mark_write: E|593 20083 composer@2.1-s-593 ( 593) [001] ...1 1034712.882908: tracing_mark_write: E|593 20084 surfaceflinger-668 ( 591) [001] ...1 1034712.882991: tracing_mark_write: E|591 20085 HwBinder:778_1-1087 ( 778) [000] ...1 1034712.900376: tracing_mark_write: E|778 20086 SensorService-1283 ( 1151) [006] ...1 1034712.900537: tracing_mark_write: E|1151 20087 SensorService-1283 ( 1151) [006] ...1 1034712.900684: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 20088 HwBinder:778_1-1087 ( 778) [000] ...1 1034712.900824: tracing_mark_write: B|778|HIDL::ISensors::poll::server 20089 HwBinder:778_1-1087 ( 778) [000] ...1 1034712.919749: tracing_mark_write: E|778 20090 SensorService-1283 ( 1151) [006] ...1 1034712.919991: tracing_mark_write: E|1151 20091 SensorService-1283 ( 1151) [006] ...1 1034712.920146: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 20092 HwBinder:778_1-1087 ( 778) [000] ...1 1034712.920290: tracing_mark_write: B|778|HIDL::ISensors::poll::server 20093 surfaceflinger-591 ( 591) [001] ...1 1034712.930686: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 20094 composer@2.1-s-593 ( 593) [000] ...1 1034712.931044: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 20095 composer@2.1-s-593 ( 593) [000] ...1 1034712.931233: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 20096 composer@2.1-s-593 ( 593) [000] ...1 1034712.931289: tracing_mark_write: B|593|HWDevice::Commit:: 20097 composer@2.1-s-593 ( 593) [000] ...1 1034712.931580: tracing_mark_write: E|593 20098 composer@2.1-s-593 ( 593) [000] ...1 1034712.931654: tracing_mark_write: E|593 20099 composer@2.1-s-593 ( 593) [000] ...1 1034712.931735: tracing_mark_write: E|593 20100 surfaceflinger-591 ( 591) [001] ...1 1034712.931939: tracing_mark_write: E|591 20101 HwBinder:778_1-1087 ( 778) [001] ...1 1034712.938776: tracing_mark_write: E|778 20102 SensorService-1283 ( 1151) [006] ...1 1034712.938936: tracing_mark_write: E|1151 20103 SensorService-1283 ( 1151) [006] ...1 1034712.939067: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 20104 HwBinder:778_1-1087 ( 778) [001] ...1 1034712.939205: tracing_mark_write: B|778|HIDL::ISensors::poll::server 20105 HwBinder:778_1-1087 ( 778) [000] ...1 1034712.958334: tracing_mark_write: E|778 20106 SensorService-1283 ( 1151) [006] ...1 1034712.958586: tracing_mark_write: E|1151 20107 SensorService-1283 ( 1151) [006] ...1 1034712.958759: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 20108 HwBinder:778_1-1087 ( 778) [000] ...1 1034712.958936: tracing_mark_write: B|778|HIDL::ISensors::poll::server 20109 surfaceflinger-591 ( 591) [001] ...1 1034712.964027: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 20110 composer@2.1-s-593 ( 593) [000] ...1 1034712.964329: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 20111 composer@2.1-s-593 ( 593) [000] ...1 1034712.964502: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 20112 composer@2.1-s-593 ( 593) [000] ...1 1034712.964554: tracing_mark_write: B|593|HWDevice::Commit:: 20113 composer@2.1-s-593 ( 593) [000] ...1 1034712.964823: tracing_mark_write: E|593 20114 composer@2.1-s-593 ( 593) [000] ...1 1034712.964890: tracing_mark_write: E|593 20115 composer@2.1-s-593 ( 593) [000] ...1 1034712.964963: tracing_mark_write: E|593 20116 surfaceflinger-591 ( 591) [001] ...1 1034712.965139: tracing_mark_write: E|591 20117 HwBinder:778_1-1087 ( 778) [000] ...1 1034712.977371: tracing_mark_write: E|778 20118 SensorService-1283 ( 1151) [006] ...1 1034712.977537: tracing_mark_write: E|1151 20119 SensorService-1283 ( 1151) [006] ...1 1034712.977699: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 20120 HwBinder:778_1-1087 ( 778) [000] ...1 1034712.977834: tracing_mark_write: B|778|HIDL::ISensors::poll::server 20121 HwBinder:778_1-1087 ( 778) [000] ...1 1034712.996692: tracing_mark_write: E|778 20122 SensorService-1283 ( 1151) [006] ...1 1034712.996872: tracing_mark_write: E|1151 20123 SensorService-1283 ( 1151) [006] ...1 1034712.997017: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 20124 HwBinder:778_1-1087 ( 778) [000] ...1 1034712.997170: tracing_mark_write: B|778|HIDL::ISensors::poll::server 20125 surfaceflinger-591 ( 591) [001] ...1 1034713.014505: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 20126 composer@2.1-s-593 ( 593) [000] ...1 1034713.014904: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 20127 composer@2.1-s-593 ( 593) [000] ...1 1034713.015104: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 20128 composer@2.1-s-593 ( 593) [000] ...1 1034713.015161: tracing_mark_write: B|593|HWDevice::Commit:: 20129 composer@2.1-s-593 ( 593) [000] ...1 1034713.015469: tracing_mark_write: E|593 20130 composer@2.1-s-593 ( 593) [000] ...1 1034713.015546: tracing_mark_write: E|593 20131 composer@2.1-s-593 ( 593) [000] ...1 1034713.015634: tracing_mark_write: E|593 20132 surfaceflinger-591 ( 591) [001] ...1 1034713.015855: tracing_mark_write: E|591 20133 HwBinder:778_1-1087 ( 778) [003] ...1 1034713.016054: tracing_mark_write: E|778 20134 SensorService-1283 ( 1151) [006] ...1 1034713.016229: tracing_mark_write: E|1151 20135 SensorService-1283 ( 1151) [006] ...1 1034713.016382: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 20136 HwBinder:778_1-1087 ( 778) [003] ...1 1034713.016605: tracing_mark_write: B|778|HIDL::ISensors::poll::server 20137 HwBinder:778_1-1087 ( 778) [002] ...1 1034713.035224: tracing_mark_write: E|778 20138 SensorService-1283 ( 1151) [006] ...1 1034713.035404: tracing_mark_write: E|1151 20139 SensorService-1283 ( 1151) [006] ...1 1034713.035530: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 20140 HwBinder:778_1-1087 ( 778) [002] ...1 1034713.035679: tracing_mark_write: B|778|HIDL::ISensors::poll::server 20141 HwBinder:778_1-1087 ( 778) [001] ...1 1034713.054548: tracing_mark_write: E|778 20142 SensorService-1283 ( 1151) [006] ...1 1034713.054730: tracing_mark_write: E|1151 20143 SensorService-1283 ( 1151) [006] ...1 1034713.054873: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 20144 HwBinder:778_1-1087 ( 778) [001] ...1 1034713.055030: tracing_mark_write: B|778|HIDL::ISensors::poll::server 20145 surfaceflinger-591 ( 591) [002] ...1 1034713.064817: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 20146 composer@2.1-s-593 ( 593) [000] ...1 1034713.065150: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 20147 composer@2.1-s-593 ( 593) [000] ...1 1034713.065342: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 20148 composer@2.1-s-593 ( 593) [000] ...1 1034713.065395: tracing_mark_write: B|593|HWDevice::Commit:: 20149 composer@2.1-s-593 ( 593) [000] ...1 1034713.065686: tracing_mark_write: E|593 20150 composer@2.1-s-593 ( 593) [000] ...1 1034713.065757: tracing_mark_write: E|593 20151 composer@2.1-s-593 ( 593) [000] ...1 1034713.065836: tracing_mark_write: E|593 20152 surfaceflinger-591 ( 591) [001] ...1 1034713.066064: tracing_mark_write: E|591 20153 HwBinder:778_1-1087 ( 778) [001] ...1 1034713.073795: tracing_mark_write: E|778 20154 SensorService-1283 ( 1151) [006] ...1 1034713.073950: tracing_mark_write: E|1151 20155 SensorService-1283 ( 1151) [006] ...1 1034713.074071: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 20156 HwBinder:778_1-1087 ( 778) [001] ...1 1034713.074212: tracing_mark_write: B|778|HIDL::ISensors::poll::server 20157 HwBinder:778_1-1087 ( 778) [000] ...1 1034713.093055: tracing_mark_write: E|778 20158 SensorService-1283 ( 1151) [006] ...1 1034713.093364: tracing_mark_write: E|1151 20159 SensorService-1283 ( 1151) [006] ...1 1034713.093533: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 20160 HwBinder:778_1-1087 ( 778) [000] ...1 1034713.093675: tracing_mark_write: B|778|HIDL::ISensors::poll::server 20161 surfaceflinger-591 ( 591) [001] ...1 1034713.098324: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 20162 composer@2.1-s-593 ( 593) [000] ...1 1034713.098645: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 20163 composer@2.1-s-593 ( 593) [000] ...1 1034713.098825: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 20164 composer@2.1-s-593 ( 593) [000] ...1 1034713.098879: tracing_mark_write: B|593|HWDevice::Commit:: 20165 composer@2.1-s-593 ( 593) [000] ...1 1034713.099161: tracing_mark_write: E|593 20166 composer@2.1-s-593 ( 593) [000] ...1 1034713.099231: tracing_mark_write: E|593 20167 composer@2.1-s-593 ( 593) [000] ...1 1034713.099309: tracing_mark_write: E|593 20168 surfaceflinger-591 ( 591) [001] ...1 1034713.099496: tracing_mark_write: E|591 20169 HwBinder:778_1-1087 ( 778) [000] ...1 1034713.112188: tracing_mark_write: E|778 20170 SensorService-1283 ( 1151) [006] ...1 1034713.112353: tracing_mark_write: E|1151 20171 SensorService-1283 ( 1151) [006] ...1 1034713.112490: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 20172 HwBinder:778_1-1087 ( 778) [000] ...1 1034713.112626: tracing_mark_write: B|778|HIDL::ISensors::poll::server 20173 HwBinder:778_1-1087 ( 778) [001] ...1 1034713.131594: tracing_mark_write: E|778 20174 SensorService-1283 ( 1151) [006] ...1 1034713.131791: tracing_mark_write: E|1151 20175 SensorService-1283 ( 1151) [006] ...1 1034713.131931: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 20176 HwBinder:778_1-1087 ( 778) [001] ...1 1034713.132087: tracing_mark_write: B|778|HIDL::ISensors::poll::server 20177 surfaceflinger-591 ( 591) [000] ...1 1034713.148721: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 20178 composer@2.1-s-593 ( 593) [001] ...1 1034713.149080: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 20179 composer@2.1-s-593 ( 593) [001] ...1 1034713.149271: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 20180 composer@2.1-s-593 ( 593) [001] ...1 1034713.149327: tracing_mark_write: B|593|HWDevice::Commit:: 20181 composer@2.1-s-593 ( 593) [001] ...1 1034713.149619: tracing_mark_write: E|593 20182 composer@2.1-s-593 ( 593) [001] ...1 1034713.149690: tracing_mark_write: E|593 20183 composer@2.1-s-593 ( 593) [001] ...1 1034713.149771: tracing_mark_write: E|593 20184 surfaceflinger-591 ( 591) [000] ...1 1034713.150078: tracing_mark_write: E|591 20185 HwBinder:778_1-1087 ( 778) [001] ...1 1034713.153462: tracing_mark_write: E|778 20186 SensorService-1283 ( 1151) [006] ...1 1034713.153613: tracing_mark_write: E|1151 20187 SensorService-1283 ( 1151) [006] ...1 1034713.153756: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 20188 HwBinder:778_1-1087 ( 778) [001] ...1 1034713.153904: tracing_mark_write: B|778|HIDL::ISensors::poll::server 20189 HwBinder:778_1-1087 ( 778) [001] ...1 1034713.169984: tracing_mark_write: E|778 20190 SensorService-1283 ( 1151) [006] ...1 1034713.170149: tracing_mark_write: E|1151 20191 SensorService-1283 ( 1151) [006] ...1 1034713.170262: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 20192 HwBinder:778_1-1087 ( 778) [001] ...1 1034713.170399: tracing_mark_write: B|778|HIDL::ISensors::poll::server 20193 surfaceflinger-591 ( 591) [001] ...1 1034713.182163: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 20194 composer@2.1-s-593 ( 593) [000] ...1 1034713.182513: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 20195 composer@2.1-s-593 ( 593) [000] ...1 1034713.182666: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 20196 composer@2.1-s-593 ( 593) [000] ...1 1034713.182709: tracing_mark_write: B|593|HWDevice::Commit:: 20197 composer@2.1-s-593 ( 593) [000] ...1 1034713.182946: tracing_mark_write: E|593 20198 composer@2.1-s-593 ( 593) [000] ...1 1034713.183002: tracing_mark_write: E|593 20199 composer@2.1-s-593 ( 593) [000] ...1 1034713.183068: tracing_mark_write: E|593 20200 surfaceflinger-591 ( 591) [001] ...1 1034713.183271: tracing_mark_write: E|591 20201 HwBinder:778_1-1087 ( 778) [001] ...1 1034713.189022: tracing_mark_write: E|778 20202 SensorService-1283 ( 1151) [006] ...1 1034713.189159: tracing_mark_write: E|1151 20203 SensorService-1283 ( 1151) [006] ...1 1034713.189267: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 20204 HwBinder:778_1-1087 ( 778) [001] ...1 1034713.189376: tracing_mark_write: B|778|HIDL::ISensors::poll::server 20205 HwBinder:778_1-1087 ( 778) [001] ...1 1034713.208372: tracing_mark_write: E|778 20206 SensorService-1283 ( 1151) [006] ...1 1034713.208515: tracing_mark_write: E|1151 20207 SensorService-1283 ( 1151) [006] ...1 1034713.208619: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 20208 HwBinder:778_1-1087 ( 778) [001] ...1 1034713.208720: tracing_mark_write: B|778|HIDL::ISensors::poll::server 20209 HwBinder:778_1-1087 ( 778) [000] ...1 1034713.227599: tracing_mark_write: E|778 20210 SensorService-1283 ( 1151) [006] ...1 1034713.227774: tracing_mark_write: E|1151 20211 SensorService-1283 ( 1151) [006] ...1 1034713.227862: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 20212 HwBinder:778_1-1087 ( 778) [000] ...1 1034713.227978: tracing_mark_write: B|778|HIDL::ISensors::poll::server 20213 surfaceflinger-591 ( 591) [000] ...1 1034713.232558: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 20214 composer@2.1-s-593 ( 593) [001] ...1 1034713.232898: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 20215 composer@2.1-s-593 ( 593) [001] ...1 1034713.233071: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 20216 composer@2.1-s-593 ( 593) [001] ...1 1034713.233122: tracing_mark_write: B|593|HWDevice::Commit:: 20217 composer@2.1-s-593 ( 593) [001] ...1 1034713.233428: tracing_mark_write: E|593 20218 composer@2.1-s-593 ( 593) [001] ...1 1034713.233492: tracing_mark_write: E|593 20219 composer@2.1-s-593 ( 593) [001] ...1 1034713.233569: tracing_mark_write: E|593 20220 surfaceflinger-591 ( 591) [000] ...1 1034713.233752: tracing_mark_write: E|591 20221 HwBinder:778_1-1087 ( 778) [002] ...1 1034713.246962: tracing_mark_write: E|778 20222 SensorService-1283 ( 1151) [006] ...1 1034713.247162: tracing_mark_write: E|1151 20223 SensorService-1283 ( 1151) [006] ...1 1034713.247257: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 20224 HwBinder:778_1-1087 ( 778) [002] ...1 1034713.247352: tracing_mark_write: B|778|HIDL::ISensors::poll::server 20225 surfaceflinger-591 ( 591) [001] ...1 1034713.266045: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 20226 composer@2.1-s-593 ( 593) [000] ...1 1034713.266404: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 20227 composer@2.1-s-593 ( 593) [000] ...1 1034713.266562: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 20228 composer@2.1-s-593 ( 593) [000] ...1 1034713.266598: tracing_mark_write: B|593|HWDevice::Commit:: 20229 HwBinder:778_1-1087 ( 778) [002] ...1 1034713.266756: tracing_mark_write: E|778 20230 composer@2.1-s-593 ( 593) [000] ...1 1034713.266797: tracing_mark_write: E|593 20231 composer@2.1-s-593 ( 593) [000] ...1 1034713.266843: tracing_mark_write: E|593 20232 SensorService-1283 ( 1151) [006] ...1 1034713.266866: tracing_mark_write: E|1151 20233 composer@2.1-s-593 ( 593) [000] ...1 1034713.266890: tracing_mark_write: E|593 20234 SensorService-1283 ( 1151) [006] ...1 1034713.266955: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 20235 surfaceflinger-591 ( 591) [001] ...1 1034713.267003: tracing_mark_write: E|591 20236 HwBinder:778_1-1087 ( 778) [002] ...1 1034713.267030: tracing_mark_write: B|778|HIDL::ISensors::poll::server 20237 HwBinder:778_1-1087 ( 778) [001] ...1 1034713.285043: tracing_mark_write: E|778 20238 SensorService-1283 ( 1151) [006] ...1 1034713.285142: tracing_mark_write: E|1151 20239 SensorService-1283 ( 1151) [006] ...1 1034713.285219: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 20240 HwBinder:778_1-1087 ( 778) [001] ...1 1034713.285285: tracing_mark_write: B|778|HIDL::ISensors::poll::server 20241 HwBinder:778_1-1087 ( 778) [001] ...1 1034713.304303: tracing_mark_write: E|778 20242 SensorService-1283 ( 1151) [006] ...1 1034713.304395: tracing_mark_write: E|1151 20243 SensorService-1283 ( 1151) [006] ...1 1034713.304516: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 20244 HwBinder:778_1-1087 ( 778) [001] ...1 1034713.304588: tracing_mark_write: B|778|HIDL::ISensors::poll::server 20245 surfaceflinger-591 ( 591) [000] ...1 1034713.315907: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 20246 composer@2.1-s-593 ( 593) [001] ...1 1034713.316081: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 20247 composer@2.1-s-593 ( 593) [001] ...1 1034713.316175: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 20248 composer@2.1-s-593 ( 593) [001] ...1 1034713.316203: tracing_mark_write: B|593|HWDevice::Commit:: 20249 composer@2.1-s-593 ( 593) [001] ...1 1034713.316346: tracing_mark_write: E|593 20250 composer@2.1-s-593 ( 593) [001] ...1 1034713.316383: tracing_mark_write: E|593 20251 composer@2.1-s-593 ( 593) [001] ...1 1034713.316425: tracing_mark_write: E|593 20252 surfaceflinger-591 ( 591) [000] ...1 1034713.316515: tracing_mark_write: E|591 20253 HwBinder:778_1-1087 ( 778) [000] ...1 1034713.323608: tracing_mark_write: E|778 20254 SensorService-1283 ( 1151) [006] ...1 1034713.323716: tracing_mark_write: E|1151 20255 SensorService-1283 ( 1151) [006] ...1 1034713.323868: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 20256 HwBinder:778_1-1087 ( 778) [000] ...1 1034713.323965: tracing_mark_write: B|778|HIDL::ISensors::poll::server 20257 HwBinder:778_1-1087 ( 778) [000] ...1 1034713.342812: tracing_mark_write: E|778 20258 SensorService-1283 ( 1151) [006] ...1 1034713.342936: tracing_mark_write: E|1151 20259 SensorService-1283 ( 1151) [006] ...1 1034713.343042: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 20260 HwBinder:778_1-1087 ( 778) [000] ...1 1034713.343191: tracing_mark_write: B|778|HIDL::ISensors::poll::server 20261 surfaceflinger-591 ( 591) [000] ...1 1034713.349688: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 20262 composer@2.1-s-593 ( 593) [001] ...1 1034713.349952: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 20263 composer@2.1-s-593 ( 593) [001] ...1 1034713.350080: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 20264 composer@2.1-s-593 ( 593) [001] ...1 1034713.350120: tracing_mark_write: B|593|HWDevice::Commit:: 20265 composer@2.1-s-593 ( 593) [001] ...1 1034713.350351: tracing_mark_write: E|593 20266 composer@2.1-s-593 ( 593) [001] ...1 1034713.350407: tracing_mark_write: E|593 20267 composer@2.1-s-593 ( 593) [001] ...1 1034713.350471: tracing_mark_write: E|593 20268 surfaceflinger-591 ( 591) [000] ...1 1034713.350618: tracing_mark_write: E|591 20269 HwBinder:778_1-1087 ( 778) [000] ...1 1034713.362048: tracing_mark_write: E|778 20270 SensorService-1283 ( 1151) [006] ...1 1034713.362170: tracing_mark_write: E|1151 20271 SensorService-1283 ( 1151) [006] ...1 1034713.362265: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 20272 HwBinder:778_1-1087 ( 778) [000] ...1 1034713.362390: tracing_mark_write: B|778|HIDL::ISensors::poll::server 20273 HwBinder:778_1-1087 ( 778) [000] ...1 1034713.381841: tracing_mark_write: E|778 20274 SensorService-1283 ( 1151) [006] ...1 1034713.381982: tracing_mark_write: E|1151 20275 SensorService-1283 ( 1151) [006] ...1 1034713.382082: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 20276 HwBinder:778_1-1087 ( 778) [000] ...1 1034713.382206: tracing_mark_write: B|778|HIDL::ISensors::poll::server 20277 surfaceflinger-591 ( 591) [000] ...1 1034713.400556: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 20278 composer@2.1-s-593 ( 593) [001] ...1 1034713.400883: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 20279 composer@2.1-s-593 ( 593) [001] ...1 1034713.401065: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 20280 composer@2.1-s-593 ( 593) [001] ...1 1034713.401118: tracing_mark_write: B|593|HWDevice::Commit:: 20281 composer@2.1-s-593 ( 593) [001] ...1 1034713.401433: tracing_mark_write: E|593 20282 composer@2.1-s-593 ( 593) [001] ...1 1034713.401515: tracing_mark_write: E|593 20283 HwBinder:778_1-1087 ( 778) [000] ...1 1034713.401602: tracing_mark_write: E|778 20284 composer@2.1-s-593 ( 593) [001] ...1 1034713.401603: tracing_mark_write: E|593 20285 SensorService-1283 ( 1151) [006] ...1 1034713.401719: tracing_mark_write: E|1151 20286 SensorService-1283 ( 1151) [006] ...1 1034713.401782: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 20287 sensors@1.0-se-778 ( 778) [004] ...1 1034713.401868: tracing_mark_write: B|778|HIDL::ISensors::poll::server 20288 surfaceflinger-591 ( 591) [003] ...1 1034713.401995: tracing_mark_write: E|591 20289 sensors@1.0-se-778 ( 778) [006] ...1 1034713.420099: tracing_mark_write: E|778 20290 SensorService-1283 ( 1151) [000] ...1 1034713.420292: tracing_mark_write: E|1151 20291 SensorService-1283 ( 1151) [000] ...1 1034713.420511: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 20292 sensors@1.0-se-778 ( 778) [006] ...1 1034713.420689: tracing_mark_write: B|778|HIDL::ISensors::poll::server 20293 sensors@1.0-se-778 ( 778) [006] ...1 1034713.439228: tracing_mark_write: E|778 20294 SensorService-1283 ( 1151) [000] ...1 1034713.439447: tracing_mark_write: E|1151 20295 SensorService-1283 ( 1151) [000] ...1 1034713.439710: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 20296 sensors@1.0-se-778 ( 778) [006] ...1 1034713.439896: tracing_mark_write: B|778|HIDL::ISensors::poll::server 20297 surfaceflinger-591 ( 591) [000] ...1 1034713.450848: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 20298 composer@2.1-s-593 ( 593) [001] ...1 1034713.451185: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 20299 composer@2.1-s-593 ( 593) [001] ...1 1034713.451369: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 20300 composer@2.1-s-593 ( 593) [001] ...1 1034713.451426: tracing_mark_write: B|593|HWDevice::Commit:: 20301 composer@2.1-s-593 ( 593) [001] ...1 1034713.451742: tracing_mark_write: E|593 20302 composer@2.1-s-593 ( 593) [001] ...1 1034713.451817: tracing_mark_write: E|593 20303 composer@2.1-s-593 ( 593) [001] ...1 1034713.451904: tracing_mark_write: E|593 20304 surfaceflinger-591 ( 591) [000] ...1 1034713.452123: tracing_mark_write: E|591 20305 sensors@1.0-se-778 ( 778) [006] ...1 1034713.458496: tracing_mark_write: E|778 20306 SensorService-1283 ( 1151) [000] ...1 1034713.458696: tracing_mark_write: E|1151 20307 SensorService-1283 ( 1151) [000] ...1 1034713.458942: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 20308 sensors@1.0-se-778 ( 778) [006] ...1 1034713.459091: tracing_mark_write: B|778|HIDL::ISensors::poll::server 20309 sensors@1.0-se-778 ( 778) [004] ...1 1034713.478548: tracing_mark_write: E|778 20310 SensorService-1283 ( 1151) [000] ...1 1034713.478821: tracing_mark_write: E|1151 20311 SensorService-1283 ( 1151) [000] ...1 1034713.479062: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 20312 sensors@1.0-se-778 ( 778) [004] ...1 1034713.479262: tracing_mark_write: B|778|HIDL::ISensors::poll::server 20313 surfaceflinger-591 ( 591) [001] ...1 1034713.484522: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 20314 composer@2.1-s-593 ( 593) [000] ...1 1034713.484905: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 20315 composer@2.1-s-593 ( 593) [000] ...1 1034713.485112: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 20316 composer@2.1-s-593 ( 593) [000] ...1 1034713.485169: tracing_mark_write: B|593|HWDevice::Commit:: 20317 composer@2.1-s-593 ( 593) [000] ...1 1034713.485480: tracing_mark_write: E|593 20318 composer@2.1-s-593 ( 593) [000] ...1 1034713.485558: tracing_mark_write: E|593 20319 composer@2.1-s-593 ( 593) [000] ...1 1034713.485644: tracing_mark_write: E|593 20320 surfaceflinger-591 ( 591) [001] ...1 1034713.485863: tracing_mark_write: E|591 20321 sensors@1.0-se-778 ( 778) [004] ...1 1034713.497074: tracing_mark_write: E|778 20322 SensorService-1283 ( 1151) [000] ...1 1034713.497265: tracing_mark_write: E|1151 20323 SensorService-1283 ( 1151) [000] ...1 1034713.497412: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 20324 sensors@1.0-se-778 ( 778) [004] ...1 1034713.497534: tracing_mark_write: B|778|HIDL::ISensors::poll::server 20325 sensors@1.0-se-778 ( 778) [004] ...1 1034713.516254: tracing_mark_write: E|778 20326 SensorService-1283 ( 1151) [000] ...1 1034713.516438: tracing_mark_write: E|1151 20327 SensorService-1283 ( 1151) [000] ...1 1034713.516637: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 20328 sensors@1.0-se-778 ( 778) [004] ...1 1034713.516803: tracing_mark_write: B|778|HIDL::ISensors::poll::server 20329 surfaceflinger-591 ( 591) [002] ...1 1034713.534448: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 20330 composer@2.1-s-593 ( 593) [000] ...1 1034713.534649: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 20331 composer@2.1-s-593 ( 593) [000] ...1 1034713.534763: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 20332 composer@2.1-s-593 ( 593) [000] ...1 1034713.534796: tracing_mark_write: B|593|HWDevice::Commit:: 20333 composer@2.1-s-593 ( 593) [000] ...1 1034713.534979: tracing_mark_write: E|593 20334 composer@2.1-s-593 ( 593) [000] ...1 1034713.535026: tracing_mark_write: E|593 20335 composer@2.1-s-593 ( 593) [000] ...1 1034713.535077: tracing_mark_write: E|593 20336 surfaceflinger-591 ( 591) [003] ...1 1034713.535230: tracing_mark_write: E|591 20337 sensors@1.0-se-778 ( 778) [004] ...1 1034713.535389: tracing_mark_write: E|778 20338 SensorService-1283 ( 1151) [000] ...1 1034713.535501: tracing_mark_write: E|1151 20339 SensorService-1283 ( 1151) [000] ...1 1034713.535644: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 20340 sensors@1.0-se-778 ( 778) [004] ...1 1034713.535735: tracing_mark_write: B|778|HIDL::ISensors::poll::server 20341 sensors@1.0-se-778 ( 778) [004] ...1 1034713.554846: tracing_mark_write: E|778 20342 SensorService-1283 ( 1151) [000] ...1 1034713.555002: tracing_mark_write: E|1151 20343 SensorService-1283 ( 1151) [000] ...1 1034713.555152: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 20344 sensors@1.0-se-778 ( 778) [004] ...1 1034713.555269: tracing_mark_write: B|778|HIDL::ISensors::poll::server 20345 sensors@1.0-se-778 ( 778) [004] ...1 1034713.574732: tracing_mark_write: E|778 20346 SensorService-1283 ( 1151) [000] ...1 1034713.574973: tracing_mark_write: E|1151 20347 SensorService-1283 ( 1151) [000] ...1 1034713.575216: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 20348 sensors@1.0-se-778 ( 778) [004] ...1 1034713.575378: tracing_mark_write: B|778|HIDL::ISensors::poll::server 20349 surfaceflinger-591 ( 591) [000] ...1 1034713.585123: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 20350 composer@2.1-s-593 ( 593) [001] ...1 1034713.585463: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 20351 composer@2.1-s-593 ( 593) [001] ...1 1034713.585658: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 20352 composer@2.1-s-593 ( 593) [001] ...1 1034713.585716: tracing_mark_write: B|593|HWDevice::Commit:: 20353 composer@2.1-s-593 ( 593) [001] ...1 1034713.586029: tracing_mark_write: E|593 20354 composer@2.1-s-593 ( 593) [001] ...1 1034713.586106: tracing_mark_write: E|593 20355 composer@2.1-s-593 ( 593) [001] ...1 1034713.586193: tracing_mark_write: E|593 20356 surfaceflinger-591 ( 591) [000] ...1 1034713.586408: tracing_mark_write: E|591 20357 sensors@1.0-se-778 ( 778) [004] ...1 1034713.593578: tracing_mark_write: E|778 20358 SensorService-1283 ( 1151) [000] ...1 1034713.593852: tracing_mark_write: E|1151 20359 SensorService-1283 ( 1151) [000] ...1 1034713.594172: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 20360 sensors@1.0-se-778 ( 778) [004] ...1 1034713.594354: tracing_mark_write: B|778|HIDL::ISensors::poll::server 20361 sensors@1.0-se-778 ( 778) [004] ...1 1034713.613014: tracing_mark_write: E|778 20362 SensorService-1283 ( 1151) [000] ...1 1034713.613301: tracing_mark_write: E|1151 20363 SensorService-1283 ( 1151) [000] ...1 1034713.613547: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 20364 sensors@1.0-se-778 ( 778) [004] ...1 1034713.613668: tracing_mark_write: B|778|HIDL::ISensors::poll::server 20365 surfaceflinger-591 ( 591) [001] ...1 1034713.618894: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 20366 composer@2.1-s-593 ( 593) [000] ...1 1034713.619268: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 20367 composer@2.1-s-593 ( 593) [000] ...1 1034713.619469: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 20368 composer@2.1-s-593 ( 593) [000] ...1 1034713.619528: tracing_mark_write: B|593|HWDevice::Commit:: 20369 composer@2.1-s-593 ( 593) [000] ...1 1034713.619842: tracing_mark_write: E|593 20370 composer@2.1-s-593 ( 593) [000] ...1 1034713.619988: tracing_mark_write: E|593 20371 composer@2.1-s-593 ( 593) [000] ...1 1034713.620074: tracing_mark_write: E|593 20372 surfaceflinger-591 ( 591) [001] ...1 1034713.620301: tracing_mark_write: E|591 20373 sensors@1.0-se-778 ( 778) [004] ...1 1034713.632055: tracing_mark_write: E|778 20374 SensorService-1283 ( 1151) [000] ...1 1034713.632284: tracing_mark_write: E|1151 20375 SensorService-1283 ( 1151) [000] ...1 1034713.632517: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 20376 sensors@1.0-se-778 ( 778) [004] ...1 1034713.632695: tracing_mark_write: B|778|HIDL::ISensors::poll::server 20377 sensors@1.0-se-778 ( 778) [004] ...1 1034713.651185: tracing_mark_write: E|778 20378 SensorService-1283 ( 1151) [000] ...1 1034713.651355: tracing_mark_write: E|1151 20379 SensorService-1283 ( 1151) [000] ...1 1034713.651469: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 20380 sensors@1.0-se-778 ( 778) [004] ...1 1034713.651627: tracing_mark_write: B|778|HIDL::ISensors::poll::server 20381 surfaceflinger-591 ( 591) [002] ...1 1034713.668791: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 20382 composer@2.1-s-593 ( 593) [000] ...1 1034713.669089: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 20383 composer@2.1-s-593 ( 593) [000] ...1 1034713.669256: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 20384 composer@2.1-s-593 ( 593) [000] ...1 1034713.669305: tracing_mark_write: B|593|HWDevice::Commit:: 20385 composer@2.1-s-593 ( 593) [000] ...1 1034713.669582: tracing_mark_write: E|593 20386 composer@2.1-s-593 ( 593) [000] ...1 1034713.669649: tracing_mark_write: E|593 20387 composer@2.1-s-593 ( 593) [000] ...1 1034713.669727: tracing_mark_write: E|593 20388 surfaceflinger-591 ( 591) [001] ...1 1034713.669992: tracing_mark_write: E|591 20389 sensors@1.0-se-778 ( 778) [004] ...1 1034713.671490: tracing_mark_write: E|778 20390 SensorService-1283 ( 1151) [000] ...1 1034713.671671: tracing_mark_write: E|1151 20391 SensorService-1283 ( 1151) [000] ...1 1034713.671872: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 20392 sensors@1.0-se-778 ( 778) [004] ...1 1034713.672012: tracing_mark_write: B|778|HIDL::ISensors::poll::server 20393 sensors@1.0-se-778 ( 778) [004] ...1 1034713.689459: tracing_mark_write: E|778 20394 SensorService-1283 ( 1151) [000] ...1 1034713.689591: tracing_mark_write: E|1151 20395 SensorService-1283 ( 1151) [000] ...1 1034713.689714: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 20396 sensors@1.0-se-778 ( 778) [004] ...1 1034713.689838: tracing_mark_write: B|778|HIDL::ISensors::poll::server 20397 sensors@1.0-se-778 ( 778) [004] ...1 1034713.708705: tracing_mark_write: E|778 20398 SensorService-1283 ( 1151) [000] ...1 1034713.708886: tracing_mark_write: E|1151 20399 SensorService-1283 ( 1151) [000] ...1 1034713.709079: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 20400 sensors@1.0-se-778 ( 778) [004] ...1 1034713.709220: tracing_mark_write: B|778|HIDL::ISensors::poll::server 20401 surfaceflinger-591 ( 591) [000] ...1 1034713.719240: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 20402 composer@2.1-s-593 ( 593) [001] ...1 1034713.719580: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 20403 composer@2.1-s-593 ( 593) [001] ...1 1034713.719747: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 20404 composer@2.1-s-593 ( 593) [001] ...1 1034713.719800: tracing_mark_write: B|593|HWDevice::Commit:: 20405 composer@2.1-s-593 ( 593) [001] ...1 1034713.720169: tracing_mark_write: E|593 20406 composer@2.1-s-593 ( 593) [001] ...1 1034713.720240: tracing_mark_write: E|593 20407 composer@2.1-s-593 ( 593) [001] ...1 1034713.720320: tracing_mark_write: E|593 20408 surfaceflinger-591 ( 591) [000] ...1 1034713.720535: tracing_mark_write: E|591 20409 sensors@1.0-se-778 ( 778) [004] ...1 1034713.727892: tracing_mark_write: E|778 20410 SensorService-1283 ( 1151) [000] ...1 1034713.728050: tracing_mark_write: E|1151 20411 SensorService-1283 ( 1151) [000] ...1 1034713.728256: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 20412 sensors@1.0-se-778 ( 778) [004] ...1 1034713.728380: tracing_mark_write: B|778|HIDL::ISensors::poll::server 20413 sensors@1.0-se-778 ( 778) [004] ...1 1034713.747131: tracing_mark_write: E|778 20414 SensorService-1283 ( 1151) [000] ...1 1034713.747305: tracing_mark_write: E|1151 20415 SensorService-1283 ( 1151) [000] ...1 1034713.747493: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 20416 sensors@1.0-se-778 ( 778) [004] ...1 1034713.747622: tracing_mark_write: B|778|HIDL::ISensors::poll::server 20417 surfaceflinger-591 ( 591) [000] ...1 1034713.752771: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 20418 composer@2.1-s-593 ( 593) [001] ...1 1034713.753040: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 20419 composer@2.1-s-593 ( 593) [001] ...1 1034713.753292: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 20420 composer@2.1-s-593 ( 593) [001] ...1 1034713.753341: tracing_mark_write: B|593|HWDevice::Commit:: 20421 composer@2.1-s-593 ( 593) [001] ...1 1034713.753624: tracing_mark_write: E|593 20422 composer@2.1-s-593 ( 593) [001] ...1 1034713.753690: tracing_mark_write: E|593 20423 composer@2.1-s-593 ( 593) [001] ...1 1034713.753763: tracing_mark_write: E|593 20424 surfaceflinger-591 ( 591) [000] ...1 1034713.753971: tracing_mark_write: E|591 20425 sensors@1.0-se-778 ( 778) [004] ...1 1034713.766584: tracing_mark_write: E|778 20426 SensorService-1283 ( 1151) [000] ...1 1034713.766736: tracing_mark_write: E|1151 20427 SensorService-1283 ( 1151) [000] ...1 1034713.766894: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 20428 sensors@1.0-se-778 ( 778) [004] ...1 1034713.767017: tracing_mark_write: B|778|HIDL::ISensors::poll::server 20429 sensors@1.0-se-778 ( 778) [004] ...1 1034713.785920: tracing_mark_write: E|778 20430 SensorService-1283 ( 1151) [000] ...1 1034713.786085: tracing_mark_write: E|1151 20431 SensorService-1283 ( 1151) [000] ...1 1034713.786258: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 20432 sensors@1.0-se-778 ( 778) [004] ...1 1034713.786386: tracing_mark_write: B|778|HIDL::ISensors::poll::server 20433 surfaceflinger-591 ( 591) [000] ...1 1034713.803156: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 20434 composer@2.1-s-593 ( 593) [001] ...1 1034713.803552: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 20435 composer@2.1-s-593 ( 593) [001] ...1 1034713.803731: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 20436 composer@2.1-s-593 ( 593) [001] ...1 1034713.803784: tracing_mark_write: B|593|HWDevice::Commit:: 20437 composer@2.1-s-593 ( 593) [001] ...1 1034713.804091: tracing_mark_write: E|593 20438 composer@2.1-s-593 ( 593) [001] ...1 1034713.804168: tracing_mark_write: E|593 20439 composer@2.1-s-593 ( 593) [001] ...1 1034713.804253: tracing_mark_write: E|593 20440 surfaceflinger-591 ( 591) [000] ...1 1034713.804472: tracing_mark_write: E|591 20441 sensors@1.0-se-778 ( 778) [004] ...1 1034713.805386: tracing_mark_write: E|778 20442 SensorService-1283 ( 1151) [000] ...1 1034713.805560: tracing_mark_write: E|1151 20443 SensorService-1283 ( 1151) [000] ...1 1034713.805786: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 20444 sensors@1.0-se-778 ( 778) [004] ...1 1034713.805912: tracing_mark_write: B|778|HIDL::ISensors::poll::server 20445 sensors@1.0-se-778 ( 778) [004] ...1 1034713.824295: tracing_mark_write: E|778 20446 SensorService-1283 ( 1151) [000] ...1 1034713.824435: tracing_mark_write: E|1151 20447 SensorService-1283 ( 1151) [000] ...1 1034713.824600: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 20448 sensors@1.0-se-778 ( 778) [004] ...1 1034713.824722: tracing_mark_write: B|778|HIDL::ISensors::poll::server 20449 surfaceflinger-591 ( 591) [000] ...1 1034713.836702: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 20450 composer@2.1-s-593 ( 593) [001] ...1 1034713.837005: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 20451 composer@2.1-s-593 ( 593) [001] ...1 1034713.837163: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 20452 composer@2.1-s-593 ( 593) [001] ...1 1034713.837209: tracing_mark_write: B|593|HWDevice::Commit:: 20453 composer@2.1-s-593 ( 593) [001] ...1 1034713.837482: tracing_mark_write: E|593 20454 composer@2.1-s-593 ( 593) [001] ...1 1034713.837549: tracing_mark_write: E|593 20455 composer@2.1-s-593 ( 593) [001] ...1 1034713.837630: tracing_mark_write: E|593 20456 surfaceflinger-591 ( 591) [000] ...1 1034713.837841: tracing_mark_write: E|591 20457 sensors@1.0-se-778 ( 778) [004] ...1 1034713.843534: tracing_mark_write: E|778 20458 SensorService-1283 ( 1151) [000] ...1 1034713.843683: tracing_mark_write: E|1151 20459 SensorService-1283 ( 1151) [000] ...1 1034713.843896: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 20460 sensors@1.0-se-778 ( 778) [004] ...1 1034713.844013: tracing_mark_write: B|778|HIDL::ISensors::poll::server 20461 sensors@1.0-se-778 ( 778) [004] ...1 1034713.862589: tracing_mark_write: E|778 20462 SensorService-1283 ( 1151) [000] ...1 1034713.862747: tracing_mark_write: E|1151 20463 SensorService-1283 ( 1151) [000] ...1 1034713.862906: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 20464 sensors@1.0-se-778 ( 778) [004] ...1 1034713.863005: tracing_mark_write: B|778|HIDL::ISensors::poll::server 20465 sensors@1.0-se-778 ( 778) [004] ...1 1034713.882129: tracing_mark_write: E|778 20466 SensorService-1283 ( 1151) [000] ...1 1034713.882266: tracing_mark_write: E|1151 20467 SensorService-1283 ( 1151) [000] ...1 1034713.882454: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 20468 sensors@1.0-se-778 ( 778) [004] ...1 1034713.882554: tracing_mark_write: B|778|HIDL::ISensors::poll::server 20469 surfaceflinger-591 ( 591) [001] ...1 1034713.886513: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 20470 composer@2.1-s-593 ( 593) [000] ...1 1034713.886733: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 20471 composer@2.1-s-593 ( 593) [000] ...1 1034713.886839: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 20472 composer@2.1-s-593 ( 593) [000] ...1 1034713.886865: tracing_mark_write: B|593|HWDevice::Commit:: 20473 composer@2.1-s-593 ( 593) [000] ...1 1034713.887007: tracing_mark_write: E|593 20474 composer@2.1-s-593 ( 593) [000] ...1 1034713.887041: tracing_mark_write: E|593 20475 composer@2.1-s-593 ( 593) [000] ...1 1034713.887081: tracing_mark_write: E|593 20476 surfaceflinger-591 ( 591) [001] ...1 1034713.887194: tracing_mark_write: E|591 20477 sensors@1.0-se-778 ( 778) [004] ...1 1034713.901086: tracing_mark_write: E|778 20478 SensorService-1283 ( 1151) [000] ...1 1034713.901186: tracing_mark_write: E|1151 20479 SensorService-1283 ( 1151) [000] ...1 1034713.901281: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 20480 sensors@1.0-se-778 ( 778) [004] ...1 1034713.901344: tracing_mark_write: B|778|HIDL::ISensors::poll::server 20481 surfaceflinger-591 ( 591) [000] ...1 1034713.919948: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 20482 composer@2.1-s-593 ( 593) [001] ...1 1034713.920085: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 20483 composer@2.1-s-593 ( 593) [001] ...1 1034713.920147: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 20484 composer@2.1-s-593 ( 593) [001] ...1 1034713.920166: tracing_mark_write: B|593|HWDevice::Commit:: 20485 sensors@1.0-se-778 ( 778) [004] ...1 1034713.920261: tracing_mark_write: E|778 20486 composer@2.1-s-593 ( 593) [001] ...1 1034713.920271: tracing_mark_write: E|593 20487 composer@2.1-s-593 ( 593) [001] ...1 1034713.920296: tracing_mark_write: E|593 20488 composer@2.1-s-593 ( 593) [001] ...1 1034713.920322: tracing_mark_write: E|593 20489 SensorService-1283 ( 1151) [000] ...1 1034713.920337: tracing_mark_write: E|1151 20490 surfaceflinger-591 ( 591) [003] ...1 1034713.920394: tracing_mark_write: E|591 20491 SensorService-1283 ( 1151) [000] ...1 1034713.920412: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 20492 sensors@1.0-se-778 ( 778) [004] ...1 1034713.920474: tracing_mark_write: B|778|HIDL::ISensors::poll::server 20493 sensors@1.0-se-778 ( 778) [004] ...1 1034713.939488: tracing_mark_write: E|778 20494 SensorService-1283 ( 1151) [000] ...1 1034713.939562: tracing_mark_write: E|1151 20495 SensorService-1283 ( 1151) [000] ...1 1034713.939626: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 20496 sensors@1.0-se-778 ( 778) [004] ...1 1034713.939687: tracing_mark_write: B|778|HIDL::ISensors::poll::server 20497 sensors@1.0-se-778 ( 778) [004] ...1 1034713.959370: tracing_mark_write: E|778 20498 SensorService-1283 ( 1151) [000] ...1 1034713.959572: tracing_mark_write: E|1151 20499 SensorService-1283 ( 1151) [000] ...1 1034713.959835: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 20500 sensors@1.0-se-778 ( 778) [004] ...1 1034713.960023: tracing_mark_write: B|778|HIDL::ISensors::poll::server 20501 surfaceflinger-591 ( 591) [000] ...1 1034713.971148: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 20502 composer@2.1-s-593 ( 593) [002] ...1 1034713.971452: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 20503 composer@2.1-s-593 ( 593) [002] ...1 1034713.971618: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 20504 composer@2.1-s-593 ( 593) [002] ...1 1034713.971667: tracing_mark_write: B|593|HWDevice::Commit:: 20505 composer@2.1-s-593 ( 593) [002] ...1 1034713.971944: tracing_mark_write: E|593 20506 composer@2.1-s-593 ( 593) [002] ...1 1034713.972011: tracing_mark_write: E|593 20507 composer@2.1-s-593 ( 593) [002] ...1 1034713.972086: tracing_mark_write: E|593 20508 surfaceflinger-591 ( 591) [000] ...1 1034713.972289: tracing_mark_write: E|591 20509 sensors@1.0-se-778 ( 778) [004] ...1 1034713.978364: tracing_mark_write: E|778 20510 SensorService-1283 ( 1151) [000] ...1 1034713.978528: tracing_mark_write: E|1151 20511 SensorService-1283 ( 1151) [000] ...1 1034713.978721: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 20512 sensors@1.0-se-778 ( 778) [004] ...1 1034713.978838: tracing_mark_write: B|778|HIDL::ISensors::poll::server 20513 sensors@1.0-se-778 ( 778) [004] ...1 1034713.997923: tracing_mark_write: E|778 20514 SensorService-1283 ( 1151) [000] ...1 1034713.998177: tracing_mark_write: E|1151 20515 SensorService-1283 ( 1151) [000] ...1 1034713.998404: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 20516 sensors@1.0-se-778 ( 778) [004] ...1 1034713.998586: tracing_mark_write: B|778|HIDL::ISensors::poll::server 20517 surfaceflinger-591 ( 591) [000] ...1 1034714.004477: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 20518 composer@2.1-s-593 ( 593) [002] ...1 1034714.004781: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 20519 composer@2.1-s-593 ( 593) [002] ...1 1034714.004948: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 20520 composer@2.1-s-593 ( 593) [002] ...1 1034714.004996: tracing_mark_write: B|593|HWDevice::Commit:: 20521 composer@2.1-s-593 ( 593) [002] ...1 1034714.005283: tracing_mark_write: E|593 20522 composer@2.1-s-593 ( 593) [002] ...1 1034714.005351: tracing_mark_write: E|593 20523 composer@2.1-s-593 ( 593) [002] ...1 1034714.005428: tracing_mark_write: E|593 20524 surfaceflinger-591 ( 591) [000] ...1 1034714.005731: tracing_mark_write: E|591 20525 sensors@1.0-se-778 ( 778) [004] ...1 1034714.016858: tracing_mark_write: E|778 20526 SensorService-1283 ( 1151) [000] ...1 1034714.017011: tracing_mark_write: E|1151 20527 SensorService-1283 ( 1151) [000] ...1 1034714.017192: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 20528 sensors@1.0-se-778 ( 778) [004] ...1 1034714.017320: tracing_mark_write: B|778|HIDL::ISensors::poll::server 20529 sensors@1.0-se-778 ( 778) [004] ...1 1034714.036117: tracing_mark_write: E|778 20530 SensorService-1283 ( 1151) [000] ...1 1034714.036239: tracing_mark_write: E|1151 20531 SensorService-1283 ( 1151) [000] ...1 1034714.036362: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 20532 sensors@1.0-se-778 ( 778) [004] ...1 1034714.036448: tracing_mark_write: B|778|HIDL::ISensors::poll::server 20533 surfaceflinger-591 ( 591) [001] ...1 1034714.054350: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 20534 composer@2.1-s-593 ( 593) [002] ...1 1034714.054521: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 20535 composer@2.1-s-593 ( 593) [002] ...1 1034714.054613: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 20536 composer@2.1-s-593 ( 593) [002] ...1 1034714.054641: tracing_mark_write: B|593|HWDevice::Commit:: 20537 composer@2.1-s-593 ( 593) [002] ...1 1034714.054803: tracing_mark_write: E|593 20538 composer@2.1-s-593 ( 593) [002] ...1 1034714.054844: tracing_mark_write: E|593 20539 composer@2.1-s-593 ( 593) [002] ...1 1034714.054888: tracing_mark_write: E|593 20540 surfaceflinger-591 ( 591) [001] ...1 1034714.055018: tracing_mark_write: E|591 20541 sensors@1.0-se-778 ( 778) [004] ...1 1034714.055182: tracing_mark_write: E|778 20542 SensorService-1283 ( 1151) [000] ...1 1034714.055277: tracing_mark_write: E|1151 20543 SensorService-1283 ( 1151) [000] ...1 1034714.055395: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 20544 sensors@1.0-se-778 ( 778) [004] ...1 1034714.055472: tracing_mark_write: B|778|HIDL::ISensors::poll::server 20545 sensors@1.0-se-778 ( 778) [004] ...1 1034714.074513: tracing_mark_write: E|778 20546 SensorService-1283 ( 1151) [000] ...1 1034714.074645: tracing_mark_write: E|1151 20547 SensorService-1283 ( 1151) [000] ...1 1034714.074758: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 20548 sensors@1.0-se-778 ( 778) [004] ...1 1034714.074846: tracing_mark_write: B|778|HIDL::ISensors::poll::server 20549 surfaceflinger-591 ( 591) [002] ...1 1034714.087977: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 20550 composer@2.1-s-593 ( 593) [000] ...1 1034714.088178: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 20551 composer@2.1-s-593 ( 593) [000] ...1 1034714.088268: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 20552 composer@2.1-s-593 ( 593) [000] ...1 1034714.088295: tracing_mark_write: B|593|HWDevice::Commit:: 20553 composer@2.1-s-593 ( 593) [000] ...1 1034714.088430: tracing_mark_write: E|593 20554 composer@2.1-s-593 ( 593) [000] ...1 1034714.088462: tracing_mark_write: E|593 20555 composer@2.1-s-593 ( 593) [000] ...1 1034714.088497: tracing_mark_write: E|593 20556 surfaceflinger-591 ( 591) [003] ...1 1034714.088595: tracing_mark_write: E|591 20557 sensors@1.0-se-778 ( 778) [004] ...1 1034714.093560: tracing_mark_write: E|778 20558 SensorService-1283 ( 1151) [000] ...1 1034714.093647: tracing_mark_write: E|1151 20559 SensorService-1283 ( 1151) [000] ...1 1034714.093734: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 20560 sensors@1.0-se-778 ( 778) [004] ...1 1034714.093789: tracing_mark_write: B|778|HIDL::ISensors::poll::server 20561 sensors@1.0-se-778 ( 778) [004] ...1 1034714.112821: tracing_mark_write: E|778 20562 SensorService-1283 ( 1151) [000] ...1 1034714.112904: tracing_mark_write: E|1151 20563 SensorService-1283 ( 1151) [000] ...1 1034714.112978: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 20564 sensors@1.0-se-778 ( 778) [004] ...1 1034714.113096: tracing_mark_write: B|778|HIDL::ISensors::poll::server 20565 sensors@1.0-se-778 ( 778) [007] ...1 1034714.132117: tracing_mark_write: E|778 20566 SensorService-1283 ( 1151) [000] ...1 1034714.132271: tracing_mark_write: E|1151 20567 SensorService-1283 ( 1151) [000] ...1 1034714.132341: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 20568 sensors@1.0-se-778 ( 778) [007] ...1 1034714.132397: tracing_mark_write: B|778|HIDL::ISensors::poll::server 20569 surfaceflinger-591 ( 591) [002] ...1 1034714.138054: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 20570 composer@2.1-s-593 ( 593) [000] ...1 1034714.138178: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 20571 composer@2.1-s-593 ( 593) [000] ...1 1034714.138243: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 20572 composer@2.1-s-593 ( 593) [000] ...1 1034714.138263: tracing_mark_write: B|593|HWDevice::Commit:: 20573 composer@2.1-s-593 ( 593) [000] ...1 1034714.138375: tracing_mark_write: E|593 20574 composer@2.1-s-593 ( 593) [000] ...1 1034714.138405: tracing_mark_write: E|593 20575 composer@2.1-s-593 ( 593) [000] ...1 1034714.138438: tracing_mark_write: E|593 20576 surfaceflinger-591 ( 591) [003] ...1 1034714.138529: tracing_mark_write: E|591 20577 sensors@1.0-se-778 ( 778) [006] ...1 1034714.151325: tracing_mark_write: E|778 20578 SensorService-1283 ( 1151) [000] ...1 1034714.151413: tracing_mark_write: E|1151 20579 SensorService-1283 ( 1151) [000] ...1 1034714.151488: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 20580 sensors@1.0-se-778 ( 778) [006] ...1 1034714.151539: tracing_mark_write: B|778|HIDL::ISensors::poll::server 20581 sensors@1.0-se-778 ( 778) [006] ...1 1034714.170566: tracing_mark_write: E|778 20582 SensorService-1283 ( 1151) [000] ...1 1034714.170643: tracing_mark_write: E|1151 20583 SensorService-1283 ( 1151) [000] ...1 1034714.170716: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 20584 sensors@1.0-se-778 ( 778) [006] ...1 1034714.170768: tracing_mark_write: B|778|HIDL::ISensors::poll::server 20585 surfaceflinger-591 ( 591) [003] ...1 1034714.171567: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 20586 composer@2.1-s-593 ( 593) [000] ...1 1034714.171670: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 20587 composer@2.1-s-593 ( 593) [000] ...1 1034714.171730: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 20588 composer@2.1-s-593 ( 593) [000] ...1 1034714.171748: tracing_mark_write: B|593|HWDevice::Commit:: 20589 composer@2.1-s-593 ( 593) [000] ...1 1034714.171846: tracing_mark_write: E|593 20590 composer@2.1-s-593 ( 593) [000] ...1 1034714.171870: tracing_mark_write: E|593 20591 composer@2.1-s-593 ( 593) [000] ...1 1034714.171899: tracing_mark_write: E|593 20592 surfaceflinger-591 ( 591) [003] ...1 1034714.171966: tracing_mark_write: E|591 20593 sensors@1.0-se-778 ( 778) [006] ...1 1034714.189842: tracing_mark_write: E|778 20594 SensorService-1283 ( 1151) [000] ...1 1034714.189973: tracing_mark_write: E|1151 20595 SensorService-1283 ( 1151) [000] ...1 1034714.190050: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 20596 sensors@1.0-se-778 ( 778) [006] ...1 1034714.190115: tracing_mark_write: B|778|HIDL::ISensors::poll::server 20597 sensors@1.0-se-778 ( 778) [004] ...1 1034714.209077: tracing_mark_write: E|778 20598 SensorService-1283 ( 1151) [000] ...1 1034714.209159: tracing_mark_write: E|1151 20599 SensorService-1283 ( 1151) [000] ...1 1034714.209241: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 20600 sensors@1.0-se-778 ( 778) [004] ...1 1034714.209294: tracing_mark_write: B|778|HIDL::ISensors::poll::server 20601 surfaceflinger-591 ( 591) [000] ...1 1034714.221926: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 20602 composer@2.1-s-593 ( 593) [001] ...1 1034714.222056: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 20603 composer@2.1-s-593 ( 593) [001] ...1 1034714.222122: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 20604 composer@2.1-s-593 ( 593) [001] ...1 1034714.222141: tracing_mark_write: B|593|HWDevice::Commit:: 20605 composer@2.1-s-593 ( 593) [001] ...1 1034714.222247: tracing_mark_write: E|593 20606 composer@2.1-s-593 ( 593) [001] ...1 1034714.222272: tracing_mark_write: E|593 20607 composer@2.1-s-593 ( 593) [001] ...1 1034714.222300: tracing_mark_write: E|593 20608 surfaceflinger-591 ( 591) [000] ...1 1034714.222368: tracing_mark_write: E|591 20609 sensors@1.0-se-778 ( 778) [004] ...1 1034714.228309: tracing_mark_write: E|778 20610 SensorService-1283 ( 1151) [000] ...1 1034714.228385: tracing_mark_write: E|1151 20611 SensorService-1283 ( 1151) [000] ...1 1034714.228456: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 20612 sensors@1.0-se-778 ( 778) [004] ...1 1034714.228510: tracing_mark_write: B|778|HIDL::ISensors::poll::server 20613 sensors@1.0-se-778 ( 778) [004] ...1 1034714.248098: tracing_mark_write: E|778 20614 SensorService-1283 ( 1151) [000] ...1 1034714.248268: tracing_mark_write: E|1151 20615 SensorService-1283 ( 1151) [000] ...1 1034714.248362: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 20616 sensors@1.0-se-778 ( 778) [004] ...1 1034714.248501: tracing_mark_write: B|778|HIDL::ISensors::poll::server 20617 surfaceflinger-591 ( 591) [001] ...1 1034714.255842: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 20618 composer@2.1-s-593 ( 593) [000] ...1 1034714.256066: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 20619 composer@2.1-s-593 ( 593) [000] ...1 1034714.256165: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 20620 composer@2.1-s-593 ( 593) [000] ...1 1034714.256193: tracing_mark_write: B|593|HWDevice::Commit:: 20621 composer@2.1-s-593 ( 593) [000] ...1 1034714.256349: tracing_mark_write: E|593 20622 composer@2.1-s-593 ( 593) [000] ...1 1034714.256389: tracing_mark_write: E|593 20623 composer@2.1-s-593 ( 593) [000] ...1 1034714.256435: tracing_mark_write: E|593 20624 surfaceflinger-591 ( 591) [001] ...1 1034714.256597: tracing_mark_write: E|591 20625 sensors@1.0-se-778 ( 778) [004] ...1 1034714.267257: tracing_mark_write: E|778 20626 SensorService-1283 ( 1151) [000] ...1 1034714.267422: tracing_mark_write: E|1151 20627 SensorService-1283 ( 1151) [000] ...1 1034714.267559: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 20628 sensors@1.0-se-778 ( 778) [004] ...1 1034714.267725: tracing_mark_write: B|778|HIDL::ISensors::poll::server 20629 sensors@1.0-se-778 ( 778) [004] ...1 1034714.286435: tracing_mark_write: E|778 20630 SensorService-1283 ( 1151) [000] ...1 1034714.286639: tracing_mark_write: E|1151 20631 SensorService-1283 ( 1151) [000] ...1 1034714.286763: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 20632 sensors@1.0-se-778 ( 778) [004] ...1 1034714.287006: tracing_mark_write: B|778|HIDL::ISensors::poll::server 20633 sensors@1.0-se-778 ( 778) [004] ...1 1034714.305780: tracing_mark_write: E|778 20634 SensorService-1283 ( 1151) [000] ...1 1034714.305997: tracing_mark_write: E|1151 20635 SensorService-1283 ( 1151) [000] ...1 1034714.306175: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 20636 sensors@1.0-se-778 ( 778) [004] ...1 1034714.306366: tracing_mark_write: B|778|HIDL::ISensors::poll::server 20637 surfaceflinger-591 ( 591) [001] ...1 1034714.306604: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 20638 composer@2.1-s-593 ( 593) [000] ...1 1034714.306856: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 20639 composer@2.1-s-593 ( 593) [000] ...1 1034714.306998: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 20640 composer@2.1-s-593 ( 593) [000] ...1 1034714.307042: tracing_mark_write: B|593|HWDevice::Commit:: 20641 composer@2.1-s-593 ( 593) [000] ...1 1034714.307261: tracing_mark_write: E|593 20642 composer@2.1-s-593 ( 593) [000] ...1 1034714.307320: tracing_mark_write: E|593 20643 composer@2.1-s-593 ( 593) [000] ...1 1034714.307387: tracing_mark_write: E|593 20644 surfaceflinger-591 ( 591) [001] ...1 1034714.307548: tracing_mark_write: E|591 20645 sensors@1.0-se-778 ( 778) [004] ...1 1034714.324957: tracing_mark_write: E|778 20646 SensorService-1283 ( 1151) [000] ...1 1034714.325220: tracing_mark_write: E|1151 20647 SensorService-1283 ( 1151) [000] ...1 1034714.325394: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 20648 sensors@1.0-se-778 ( 778) [004] ...1 1034714.325592: tracing_mark_write: B|778|HIDL::ISensors::poll::server 20649 surfaceflinger-591 ( 591) [000] ...1 1034714.339842: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 20650 composer@2.1-s-593 ( 593) [001] ...1 1034714.340129: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 20651 composer@2.1-s-593 ( 593) [001] ...1 1034714.340255: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 20652 composer@2.1-s-593 ( 593) [001] ...1 1034714.340292: tracing_mark_write: B|593|HWDevice::Commit:: 20653 composer@2.1-s-593 ( 593) [001] ...1 1034714.340496: tracing_mark_write: E|593 20654 composer@2.1-s-593 ( 593) [001] ...1 1034714.340545: tracing_mark_write: E|593 20655 composer@2.1-s-593 ( 593) [001] ...1 1034714.340603: tracing_mark_write: E|593 20656 surfaceflinger-591 ( 591) [000] ...1 1034714.340739: tracing_mark_write: E|591 20657 sensors@1.0-se-778 ( 778) [004] ...1 1034714.344278: tracing_mark_write: E|778 20658 SensorService-1283 ( 1151) [000] ...1 1034714.344448: tracing_mark_write: E|1151 20659 SensorService-1283 ( 1151) [000] ...1 1034714.344573: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 20660 sensors@1.0-se-778 ( 778) [004] ...1 1034714.344722: tracing_mark_write: B|778|HIDL::ISensors::poll::server 20661 sensors@1.0-se-778 ( 778) [004] ...1 1034714.363946: tracing_mark_write: E|778 20662 SensorService-1283 ( 1151) [000] ...1 1034714.364119: tracing_mark_write: E|1151 20663 SensorService-1283 ( 1151) [000] ...1 1034714.364251: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 20664 sensors@1.0-se-778 ( 778) [004] ...1 1034714.364417: tracing_mark_write: B|778|HIDL::ISensors::poll::server 20665 sensors@1.0-se-778 ( 778) [004] ...1 1034714.382865: tracing_mark_write: E|778 20666 SensorService-1283 ( 1151) [000] ...1 1034714.383071: tracing_mark_write: E|1151 20667 SensorService-1283 ( 1151) [000] ...1 1034714.383304: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 20668 sensors@1.0-se-778 ( 778) [004] ...1 1034714.383474: tracing_mark_write: B|778|HIDL::ISensors::poll::server 20669 surfaceflinger-591 ( 591) [001] ...1 1034714.390195: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 20670 composer@2.1-s-593 ( 593) [000] ...1 1034714.390453: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 20671 composer@2.1-s-593 ( 593) [000] ...1 1034714.390570: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 20672 composer@2.1-s-593 ( 593) [000] ...1 1034714.390606: tracing_mark_write: B|593|HWDevice::Commit:: 20673 composer@2.1-s-593 ( 593) [000] ...1 1034714.390782: tracing_mark_write: E|593 20674 composer@2.1-s-593 ( 593) [000] ...1 1034714.390824: tracing_mark_write: E|593 20675 composer@2.1-s-593 ( 593) [000] ...1 1034714.390874: tracing_mark_write: E|593 20676 surfaceflinger-591 ( 591) [001] ...1 1034714.390996: tracing_mark_write: E|591 20677 sensors@1.0-se-778 ( 778) [004] ...1 1034714.401872: tracing_mark_write: E|778 20678 SensorService-1283 ( 1151) [000] ...1 1034714.402043: tracing_mark_write: E|1151 20679 SensorService-1283 ( 1151) [000] ...1 1034714.402180: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 20680 sensors@1.0-se-778 ( 778) [004] ...1 1034714.402338: tracing_mark_write: B|778|HIDL::ISensors::poll::server 20681 sensors@1.0-se-778 ( 778) [004] ...1 1034714.421373: tracing_mark_write: E|778 20682 SensorService-1283 ( 1151) [000] ...1 1034714.421620: tracing_mark_write: E|1151 20683 SensorService-1283 ( 1151) [000] ...1 1034714.421958: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 20684 sensors@1.0-se-778 ( 778) [004] ...1 1034714.422137: tracing_mark_write: B|778|HIDL::ISensors::poll::server 20685 sensors@1.0-se-778 ( 778) [004] ...1 1034714.440503: tracing_mark_write: E|778 20686 SensorService-1283 ( 1151) [000] ...1 1034714.440695: tracing_mark_write: E|1151 20687 surfaceflinger-591 ( 591) [001] ...1 1034714.440850: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 20688 SensorService-1283 ( 1151) [000] ...1 1034714.440857: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 20689 sensors@1.0-se-778 ( 778) [004] ...1 1034714.441034: tracing_mark_write: B|778|HIDL::ISensors::poll::server 20690 composer@2.1-s-593 ( 593) [000] ...1 1034714.441101: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 20691 composer@2.1-s-593 ( 593) [000] ...1 1034714.441253: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 20692 composer@2.1-s-593 ( 593) [000] ...1 1034714.441306: tracing_mark_write: B|593|HWDevice::Commit:: 20693 composer@2.1-s-593 ( 593) [000] ...1 1034714.441543: tracing_mark_write: E|593 20694 composer@2.1-s-593 ( 593) [000] ...1 1034714.441598: tracing_mark_write: E|593 20695 composer@2.1-s-593 ( 593) [000] ...1 1034714.441661: tracing_mark_write: E|593 20696 surfaceflinger-591 ( 591) [001] ...1 1034714.441808: tracing_mark_write: E|591 20697 sensors@1.0-se-778 ( 778) [004] ...1 1034714.459811: tracing_mark_write: E|778 20698 SensorService-1283 ( 1151) [000] ...1 1034714.460007: tracing_mark_write: E|1151 20699 SensorService-1283 ( 1151) [000] ...1 1034714.460165: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 20700 sensors@1.0-se-778 ( 778) [004] ...1 1034714.460338: tracing_mark_write: B|778|HIDL::ISensors::poll::server 20701 surfaceflinger-591 ( 591) [001] ...1 1034714.474466: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 20702 composer@2.1-s-593 ( 593) [000] ...1 1034714.474819: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 20703 composer@2.1-s-593 ( 593) [000] ...1 1034714.474990: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 20704 composer@2.1-s-593 ( 593) [000] ...1 1034714.475040: tracing_mark_write: B|593|HWDevice::Commit:: 20705 composer@2.1-s-593 ( 593) [000] ...1 1034714.475302: tracing_mark_write: E|593 20706 composer@2.1-s-593 ( 593) [000] ...1 1034714.475366: tracing_mark_write: E|593 20707 composer@2.1-s-593 ( 593) [000] ...1 1034714.475437: tracing_mark_write: E|593 20708 surfaceflinger-591 ( 591) [001] ...1 1034714.475602: tracing_mark_write: E|591 20709 sensors@1.0-se-778 ( 778) [004] ...1 1034714.479208: tracing_mark_write: E|778 20710 SensorService-1283 ( 1151) [000] ...1 1034714.479409: tracing_mark_write: E|1151 20711 SensorService-1283 ( 1151) [000] ...1 1034714.479590: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 20712 sensors@1.0-se-778 ( 778) [004] ...1 1034714.479766: tracing_mark_write: B|778|HIDL::ISensors::poll::server 20713 sensors@1.0-se-778 ( 778) [004] ...1 1034714.498333: tracing_mark_write: E|778 20714 SensorService-1283 ( 1151) [000] ...1 1034714.498522: tracing_mark_write: E|1151 20715 SensorService-1283 ( 1151) [000] ...1 1034714.498676: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 20716 sensors@1.0-se-778 ( 778) [004] ...1 1034714.498838: tracing_mark_write: B|778|HIDL::ISensors::poll::server 20717 sensors@1.0-se-778 ( 778) [004] ...1 1034714.517452: tracing_mark_write: E|778 20718 SensorService-1283 ( 1151) [000] ...1 1034714.517633: tracing_mark_write: E|1151 20719 SensorService-1283 ( 1151) [000] ...1 1034714.517780: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 20720 sensors@1.0-se-778 ( 778) [004] ...1 1034714.517940: tracing_mark_write: B|778|HIDL::ISensors::poll::server 20721 surfaceflinger-591 ( 591) [003] ...1 1034714.524653: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 20722 composer@2.1-s-593 ( 593) [000] ...1 1034714.524904: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 20723 composer@2.1-s-593 ( 593) [000] ...1 1034714.525026: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 20724 composer@2.1-s-593 ( 593) [000] ...1 1034714.525062: tracing_mark_write: B|593|HWDevice::Commit:: 20725 composer@2.1-s-593 ( 593) [000] ...1 1034714.525249: tracing_mark_write: E|593 20726 composer@2.1-s-593 ( 593) [000] ...1 1034714.525293: tracing_mark_write: E|593 20727 composer@2.1-s-593 ( 593) [000] ...1 1034714.525346: tracing_mark_write: E|593 20728 surfaceflinger-591 ( 591) [003] ...1 1034714.525471: tracing_mark_write: E|591 20729 sensors@1.0-se-778 ( 778) [004] ...1 1034714.536731: tracing_mark_write: E|778 20730 SensorService-1283 ( 1151) [000] ...1 1034714.536915: tracing_mark_write: E|1151 20731 SensorService-1283 ( 1151) [000] ...1 1034714.537068: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 20732 sensors@1.0-se-778 ( 778) [004] ...1 1034714.537228: tracing_mark_write: B|778|HIDL::ISensors::poll::server 20733 sensors@1.0-se-778 ( 778) [004] ...1 1034714.556072: tracing_mark_write: E|778 20734 SensorService-1283 ( 1151) [000] ...1 1034714.556250: tracing_mark_write: E|1151 20735 SensorService-1283 ( 1151) [000] ...1 1034714.556403: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 20736 sensors@1.0-se-778 ( 778) [004] ...1 1034714.556611: tracing_mark_write: B|778|HIDL::ISensors::poll::server 20737 surfaceflinger-591 ( 591) [000] ...1 1034714.558166: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 20738 composer@2.1-s-593 ( 593) [001] ...1 1034714.558424: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 20739 composer@2.1-s-593 ( 593) [001] ...1 1034714.558577: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 20740 composer@2.1-s-593 ( 593) [001] ...1 1034714.558622: tracing_mark_write: B|593|HWDevice::Commit:: 20741 composer@2.1-s-593 ( 593) [001] ...1 1034714.558859: tracing_mark_write: E|593 20742 composer@2.1-s-593 ( 593) [001] ...1 1034714.558915: tracing_mark_write: E|593 20743 composer@2.1-s-593 ( 593) [001] ...1 1034714.558974: tracing_mark_write: E|593 20744 surfaceflinger-591 ( 591) [000] ...1 1034714.559114: tracing_mark_write: E|591 20745 sensors@1.0-se-778 ( 778) [004] ...1 1034714.575094: tracing_mark_write: E|778 20746 SensorService-1283 ( 1151) [000] ...1 1034714.575245: tracing_mark_write: E|1151 20747 SensorService-1283 ( 1151) [000] ...1 1034714.575356: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 20748 sensors@1.0-se-778 ( 778) [004] ...1 1034714.575487: tracing_mark_write: B|778|HIDL::ISensors::poll::server 20749 sensors@1.0-se-778 ( 778) [004] ...1 1034714.594487: tracing_mark_write: E|778 20750 SensorService-1283 ( 1151) [000] ...1 1034714.594706: tracing_mark_write: E|1151 20751 SensorService-1283 ( 1151) [000] ...1 1034714.594946: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 20752 sensors@1.0-se-778 ( 778) [004] ...1 1034714.595050: tracing_mark_write: B|778|HIDL::ISensors::poll::server 20753 surfaceflinger-591 ( 591) [001] ...1 1034714.608249: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 20754 composer@2.1-s-593 ( 593) [000] ...1 1034714.608468: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 20755 composer@2.1-s-593 ( 593) [000] ...1 1034714.608575: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 20756 composer@2.1-s-593 ( 593) [000] ...1 1034714.608607: tracing_mark_write: B|593|HWDevice::Commit:: 20757 composer@2.1-s-593 ( 593) [000] ...1 1034714.608766: tracing_mark_write: E|593 20758 composer@2.1-s-593 ( 593) [000] ...1 1034714.608806: tracing_mark_write: E|593 20759 composer@2.1-s-593 ( 593) [000] ...1 1034714.608851: tracing_mark_write: E|593 20760 surfaceflinger-591 ( 591) [001] ...1 1034714.608957: tracing_mark_write: E|591 20761 sensors@1.0-se-778 ( 778) [004] ...1 1034714.613740: tracing_mark_write: E|778 20762 SensorService-1283 ( 1151) [000] ...1 1034714.613883: tracing_mark_write: E|1151 20763 SensorService-1283 ( 1151) [000] ...1 1034714.613999: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 20764 sensors@1.0-se-778 ( 778) [004] ...1 1034714.614130: tracing_mark_write: B|778|HIDL::ISensors::poll::server 20765 sensors@1.0-se-778 ( 778) [004] ...1 1034714.632941: tracing_mark_write: E|778 20766 SensorService-1283 ( 1151) [000] ...1 1034714.633118: tracing_mark_write: E|1151 20767 SensorService-1283 ( 1151) [000] ...1 1034714.633294: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 20768 sensors@1.0-se-778 ( 778) [004] ...1 1034714.633531: tracing_mark_write: B|778|HIDL::ISensors::poll::server 20769 surfaceflinger-591 ( 591) [000] ...1 1034714.642055: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 20770 composer@2.1-s-593 ( 593) [001] ...1 1034714.642358: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 20771 composer@2.1-s-593 ( 593) [001] ...1 1034714.642508: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 20772 composer@2.1-s-593 ( 593) [001] ...1 1034714.642554: tracing_mark_write: B|593|HWDevice::Commit:: 20773 composer@2.1-s-593 ( 593) [001] ...1 1034714.642786: tracing_mark_write: E|593 20774 composer@2.1-s-593 ( 593) [001] ...1 1034714.642841: tracing_mark_write: E|593 20775 composer@2.1-s-593 ( 593) [001] ...1 1034714.642900: tracing_mark_write: E|593 20776 surfaceflinger-591 ( 591) [000] ...1 1034714.643046: tracing_mark_write: E|591 20777 sensors@1.0-se-778 ( 778) [004] ...1 1034714.652314: tracing_mark_write: E|778 20778 SensorService-1283 ( 1151) [000] ...1 1034714.652484: tracing_mark_write: E|1151 20779 SensorService-1283 ( 1151) [000] ...1 1034714.652615: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 20780 sensors@1.0-se-778 ( 778) [004] ...1 1034714.652774: tracing_mark_write: B|778|HIDL::ISensors::poll::server 20781 sensors@1.0-se-778 ( 778) [004] ...1 1034714.671594: tracing_mark_write: E|778 20782 SensorService-1283 ( 1151) [000] ...1 1034714.671829: tracing_mark_write: E|1151 20783 SensorService-1283 ( 1151) [000] ...1 1034714.672050: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 20784 sensors@1.0-se-778 ( 778) [004] ...1 1034714.672250: tracing_mark_write: B|778|HIDL::ISensors::poll::server 20785 sensors@1.0-se-778 ( 778) [004] ...1 1034714.690903: tracing_mark_write: E|778 20786 SensorService-1283 ( 1151) [000] ...1 1034714.691112: tracing_mark_write: E|1151 20787 SensorService-1283 ( 1151) [000] ...1 1034714.691283: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 20788 sensors@1.0-se-778 ( 778) [004] ...1 1034714.691466: tracing_mark_write: B|778|HIDL::ISensors::poll::server 20789 surfaceflinger-591 ( 591) [002] ...1 1034714.692351: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 20790 composer@2.1-s-593 ( 593) [001] ...1 1034714.692634: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 20791 composer@2.1-s-593 ( 593) [001] ...1 1034714.692778: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 20792 composer@2.1-s-593 ( 593) [001] ...1 1034714.692822: tracing_mark_write: B|593|HWDevice::Commit:: 20793 composer@2.1-s-593 ( 593) [001] ...1 1034714.693058: tracing_mark_write: E|593 20794 composer@2.1-s-593 ( 593) [001] ...1 1034714.693115: tracing_mark_write: E|593 20795 composer@2.1-s-593 ( 593) [001] ...1 1034714.693181: tracing_mark_write: E|593 20796 surfaceflinger-591 ( 591) [003] ...1 1034714.693434: tracing_mark_write: E|591 20797 sensors@1.0-se-778 ( 778) [004] ...1 1034714.710192: tracing_mark_write: E|778 20798 SensorService-1283 ( 1151) [000] ...1 1034714.710386: tracing_mark_write: E|1151 20799 SensorService-1283 ( 1151) [000] ...1 1034714.710519: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 20800 sensors@1.0-se-778 ( 778) [004] ...1 1034714.710701: tracing_mark_write: B|778|HIDL::ISensors::poll::server 20801 sensors@1.0-se-778 ( 778) [004] ...1 1034714.729244: tracing_mark_write: E|778 20802 SensorService-1283 ( 1151) [000] ...1 1034714.729408: tracing_mark_write: E|1151 20803 SensorService-1283 ( 1151) [000] ...1 1034714.729531: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 20804 sensors@1.0-se-778 ( 778) [004] ...1 1034714.729674: tracing_mark_write: B|778|HIDL::ISensors::poll::server 20805 surfaceflinger-591 ( 591) [003] ...1 1034714.742567: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 20806 composer@2.1-s-593 ( 593) [001] ...1 1034714.742814: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 20807 composer@2.1-s-593 ( 593) [001] ...1 1034714.742926: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 20808 composer@2.1-s-593 ( 593) [001] ...1 1034714.742958: tracing_mark_write: B|593|HWDevice::Commit:: 20809 composer@2.1-s-593 ( 593) [001] ...1 1034714.743124: tracing_mark_write: E|593 20810 composer@2.1-s-593 ( 593) [001] ...1 1034714.743164: tracing_mark_write: E|593 20811 composer@2.1-s-593 ( 593) [001] ...1 1034714.743260: tracing_mark_write: E|593 20812 surfaceflinger-591 ( 591) [003] ...1 1034714.743372: tracing_mark_write: E|591 20813 sensors@1.0-se-778 ( 778) [004] ...1 1034714.748475: tracing_mark_write: E|778 20814 SensorService-1283 ( 1151) [000] ...1 1034714.748622: tracing_mark_write: E|1151 20815 SensorService-1283 ( 1151) [000] ...1 1034714.748741: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 20816 sensors@1.0-se-778 ( 778) [004] ...1 1034714.748881: tracing_mark_write: B|778|HIDL::ISensors::poll::server 20817 sensors@1.0-se-778 ( 778) [004] ...1 1034714.769096: tracing_mark_write: E|778 20818 SensorService-1283 ( 1151) [000] ...1 1034714.769286: tracing_mark_write: E|1151 20819 SensorService-1283 ( 1151) [000] ...1 1034714.769502: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 20820 sensors@1.0-se-778 ( 778) [004] ...1 1034714.769630: tracing_mark_write: B|778|HIDL::ISensors::poll::server 20821 surfaceflinger-591 ( 591) [001] ...1 1034714.776123: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 20822 composer@2.1-s-593 ( 593) [000] ...1 1034714.776344: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 20823 composer@2.1-s-593 ( 593) [000] ...1 1034714.776452: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 20824 composer@2.1-s-593 ( 593) [000] ...1 1034714.776485: tracing_mark_write: B|593|HWDevice::Commit:: 20825 composer@2.1-s-593 ( 593) [000] ...1 1034714.776703: tracing_mark_write: E|593 20826 composer@2.1-s-593 ( 593) [000] ...1 1034714.776743: tracing_mark_write: E|593 20827 composer@2.1-s-593 ( 593) [000] ...1 1034714.776790: tracing_mark_write: E|593 20828 surfaceflinger-591 ( 591) [001] ...1 1034714.776904: tracing_mark_write: E|591 20829 sensors@1.0-se-778 ( 778) [004] ...1 1034714.787145: tracing_mark_write: E|778 20830 SensorService-1283 ( 1151) [000] ...1 1034714.787315: tracing_mark_write: E|1151 20831 SensorService-1283 ( 1151) [000] ...1 1034714.787434: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 20832 sensors@1.0-se-778 ( 778) [004] ...1 1034714.787595: tracing_mark_write: B|778|HIDL::ISensors::poll::server 20833 sensors@1.0-se-778 ( 778) [004] ...1 1034714.806380: tracing_mark_write: E|778 20834 SensorService-1283 ( 1151) [000] ...1 1034714.806643: tracing_mark_write: E|1151 20835 SensorService-1283 ( 1151) [000] ...1 1034714.806825: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 20836 sensors@1.0-se-778 ( 778) [004] ...1 1034714.806993: tracing_mark_write: B|778|HIDL::ISensors::poll::server 20837 sensors@1.0-se-778 ( 778) [004] ...1 1034714.825593: tracing_mark_write: E|778 20838 SensorService-1283 ( 1151) [000] ...1 1034714.825798: tracing_mark_write: E|1151 20839 SensorService-1283 ( 1151) [000] ...1 1034714.825945: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 20840 sensors@1.0-se-778 ( 778) [004] ...1 1034714.826078: tracing_mark_write: B|778|HIDL::ISensors::poll::server 20841 surfaceflinger-591 ( 591) [003] ...1 1034714.826685: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 20842 composer@2.1-s-593 ( 593) [000] ...1 1034714.826936: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 20843 composer@2.1-s-593 ( 593) [000] ...1 1034714.827092: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 20844 composer@2.1-s-593 ( 593) [000] ...1 1034714.827137: tracing_mark_write: B|593|HWDevice::Commit:: 20845 composer@2.1-s-593 ( 593) [000] ...1 1034714.827384: tracing_mark_write: E|593 20846 composer@2.1-s-593 ( 593) [000] ...1 1034714.827437: tracing_mark_write: E|593 20847 composer@2.1-s-593 ( 593) [000] ...1 1034714.827498: tracing_mark_write: E|593 20848 surfaceflinger-591 ( 591) [003] ...1 1034714.827637: tracing_mark_write: E|591 20849 sensors@1.0-se-778 ( 778) [004] ...1 1034714.844810: tracing_mark_write: E|778 20850 SensorService-1283 ( 1151) [000] ...1 1034714.844985: tracing_mark_write: E|1151 20851 SensorService-1283 ( 1151) [000] ...1 1034714.845129: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 20852 sensors@1.0-se-778 ( 778) [004] ...1 1034714.845288: tracing_mark_write: B|778|HIDL::ISensors::poll::server 20853 surfaceflinger-591 ( 591) [000] ...1 1034714.860448: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 20854 composer@2.1-s-593 ( 593) [001] ...1 1034714.860741: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 20855 composer@2.1-s-593 ( 593) [001] ...1 1034714.860897: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 20856 composer@2.1-s-593 ( 593) [001] ...1 1034714.860944: tracing_mark_write: B|593|HWDevice::Commit:: 20857 composer@2.1-s-593 ( 593) [001] ...1 1034714.861195: tracing_mark_write: E|593 20858 composer@2.1-s-593 ( 593) [001] ...1 1034714.861258: tracing_mark_write: E|593 20859 composer@2.1-s-593 ( 593) [001] ...1 1034714.861340: tracing_mark_write: E|593 20860 surfaceflinger-591 ( 591) [000] ...1 1034714.861505: tracing_mark_write: E|591 20861 sensors@1.0-se-778 ( 778) [004] ...1 1034714.864160: tracing_mark_write: E|778 20862 SensorService-1283 ( 1151) [000] ...1 1034714.864328: tracing_mark_write: E|1151 20863 SensorService-1283 ( 1151) [000] ...1 1034714.864496: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 20864 sensors@1.0-se-778 ( 778) [004] ...1 1034714.864641: tracing_mark_write: B|778|HIDL::ISensors::poll::server 20865 sensors@1.0-se-778 ( 778) [004] ...1 1034714.883325: tracing_mark_write: E|778 20866 SensorService-1283 ( 1151) [000] ...1 1034714.883503: tracing_mark_write: E|1151 20867 SensorService-1283 ( 1151) [000] ...1 1034714.883651: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 20868 sensors@1.0-se-778 ( 778) [004] ...1 1034714.883806: tracing_mark_write: B|778|HIDL::ISensors::poll::server 20869 sensors@1.0-se-778 ( 778) [004] ...1 1034714.902745: tracing_mark_write: E|778 20870 SensorService-1283 ( 1151) [000] ...1 1034714.902903: tracing_mark_write: E|1151 20871 SensorService-1283 ( 1151) [000] ...1 1034714.903034: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 20872 sensors@1.0-se-778 ( 778) [004] ...1 1034714.903183: tracing_mark_write: B|778|HIDL::ISensors::poll::server 20873 surfaceflinger-591 ( 591) [000] ...1 1034714.910196: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 20874 composer@2.1-s-593 ( 593) [001] ...1 1034714.910415: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 20875 composer@2.1-s-593 ( 593) [001] ...1 1034714.910521: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 20876 composer@2.1-s-593 ( 593) [001] ...1 1034714.910553: tracing_mark_write: B|593|HWDevice::Commit:: 20877 composer@2.1-s-593 ( 593) [001] ...1 1034714.910712: tracing_mark_write: E|593 20878 composer@2.1-s-593 ( 593) [001] ...1 1034714.910751: tracing_mark_write: E|593 20879 composer@2.1-s-593 ( 593) [001] ...1 1034714.910794: tracing_mark_write: E|593 20880 surfaceflinger-591 ( 591) [000] ...1 1034714.910893: tracing_mark_write: E|591 20881 sensors@1.0-se-778 ( 778) [004] ...1 1034714.921503: tracing_mark_write: E|778 20882 SensorService-1283 ( 1151) [000] ...1 1034714.921599: tracing_mark_write: E|1151 20883 SensorService-1283 ( 1151) [000] ...1 1034714.921695: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 20884 sensors@1.0-se-778 ( 778) [004] ...1 1034714.921761: tracing_mark_write: B|778|HIDL::ISensors::poll::server 20885 sensors@1.0-se-778 ( 778) [004] ...1 1034714.940925: tracing_mark_write: E|778 20886 SensorService-1283 ( 1151) [000] ...1 1034714.941101: tracing_mark_write: E|1151 20887 SensorService-1283 ( 1151) [000] ...1 1034714.941347: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 20888 sensors@1.0-se-778 ( 778) [004] ...1 1034714.941457: tracing_mark_write: B|778|HIDL::ISensors::poll::server 20889 surfaceflinger-591 ( 591) [000] ...1 1034714.944065: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 20890 composer@2.1-s-593 ( 593) [001] ...1 1034714.944311: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 20891 composer@2.1-s-593 ( 593) [001] ...1 1034714.944458: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 20892 composer@2.1-s-593 ( 593) [001] ...1 1034714.944499: tracing_mark_write: B|593|HWDevice::Commit:: 20893 composer@2.1-s-593 ( 593) [001] ...1 1034714.944741: tracing_mark_write: E|593 20894 composer@2.1-s-593 ( 593) [001] ...1 1034714.944801: tracing_mark_write: E|593 20895 composer@2.1-s-593 ( 593) [001] ...1 1034714.944868: tracing_mark_write: E|593 20896 surfaceflinger-591 ( 591) [000] ...1 1034714.945042: tracing_mark_write: E|591 20897 sensors@1.0-se-778 ( 778) [004] ...1 1034714.960108: tracing_mark_write: E|778 20898 SensorService-1283 ( 1151) [001] ...1 1034714.960259: tracing_mark_write: E|1151 20899 SensorService-1283 ( 1151) [001] ...1 1034714.960454: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 20900 sensors@1.0-se-778 ( 778) [004] ...1 1034714.960559: tracing_mark_write: B|778|HIDL::ISensors::poll::server 20901 sensors@1.0-se-778 ( 778) [004] ...1 1034714.979314: tracing_mark_write: E|778 20902 SensorService-1283 ( 1151) [001] ...1 1034714.979428: tracing_mark_write: E|1151 20903 SensorService-1283 ( 1151) [001] ...1 1034714.979596: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 20904 sensors@1.0-se-778 ( 778) [004] ...1 1034714.979695: tracing_mark_write: B|778|HIDL::ISensors::poll::server 20905 surfaceflinger-591 ( 591) [000] ...1 1034714.994771: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 20906 composer@2.1-s-593 ( 593) [001] ...1 1034714.995160: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 20907 composer@2.1-s-593 ( 593) [001] ...1 1034714.995374: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 20908 composer@2.1-s-593 ( 593) [001] ...1 1034714.995441: tracing_mark_write: B|593|HWDevice::Commit:: 20909 composer@2.1-s-593 ( 593) [001] ...1 1034714.995779: tracing_mark_write: E|593 20910 composer@2.1-s-593 ( 593) [001] ...1 1034714.995864: tracing_mark_write: E|593 20911 composer@2.1-s-593 ( 593) [001] ...1 1034714.995959: tracing_mark_write: E|593 20912 surfaceflinger-591 ( 591) [000] ...1 1034714.996196: tracing_mark_write: E|591 20913 sensors@1.0-se-778 ( 778) [004] ...1 1034714.998785: tracing_mark_write: E|778 20914 SensorService-1283 ( 1151) [001] ...1 1034714.998964: tracing_mark_write: E|1151 20915 SensorService-1283 ( 1151) [001] ...1 1034714.999232: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 20916 sensors@1.0-se-778 ( 778) [004] ...1 1034714.999361: tracing_mark_write: B|778|HIDL::ISensors::poll::server 20917 sensors@1.0-se-778 ( 778) [004] ...1 1034715.017815: tracing_mark_write: E|778 20918 SensorService-1283 ( 1151) [001] ...1 1034715.017994: tracing_mark_write: E|1151 20919 SensorService-1283 ( 1151) [001] ...1 1034715.018177: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 20920 sensors@1.0-se-778 ( 778) [004] ...1 1034715.018396: tracing_mark_write: B|778|HIDL::ISensors::poll::server 20921 sensors@1.0-se-778 ( 778) [004] ...1 1034715.037130: tracing_mark_write: E|778 20922 SensorService-1283 ( 1151) [001] ...1 1034715.037255: tracing_mark_write: E|1151 20923 SensorService-1283 ( 1151) [001] ...1 1034715.037397: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 20924 sensors@1.0-se-778 ( 778) [004] ...1 1034715.037489: tracing_mark_write: B|778|HIDL::ISensors::poll::server 20925 surfaceflinger-591 ( 591) [002] ...1 1034715.044596: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 20926 composer@2.1-s-593 ( 593) [001] ...1 1034715.044803: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 20927 composer@2.1-s-593 ( 593) [001] ...1 1034715.044915: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 20928 composer@2.1-s-593 ( 593) [001] ...1 1034715.044945: tracing_mark_write: B|593|HWDevice::Commit:: 20929 composer@2.1-s-593 ( 593) [001] ...1 1034715.045103: tracing_mark_write: E|593 20930 composer@2.1-s-593 ( 593) [001] ...1 1034715.045141: tracing_mark_write: E|593 20931 composer@2.1-s-593 ( 593) [001] ...1 1034715.045183: tracing_mark_write: E|593 20932 surfaceflinger-591 ( 591) [000] ...1 1034715.045304: tracing_mark_write: E|591 20933 sensors@1.0-se-778 ( 778) [004] ...1 1034715.056333: tracing_mark_write: E|778 20934 SensorService-1283 ( 1151) [001] ...1 1034715.056431: tracing_mark_write: E|1151 20935 SensorService-1283 ( 1151) [001] ...1 1034715.056571: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 20936 sensors@1.0-se-778 ( 778) [004] ...1 1034715.056672: tracing_mark_write: B|778|HIDL::ISensors::poll::server 20937 sensors@1.0-se-778 ( 778) [004] ...1 1034715.075993: tracing_mark_write: E|778 20938 SensorService-1283 ( 1151) [001] ...1 1034715.076153: tracing_mark_write: E|1151 20939 SensorService-1283 ( 1151) [001] ...1 1034715.076273: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 20940 sensors@1.0-se-778 ( 778) [004] ...1 1034715.076424: tracing_mark_write: B|778|HIDL::ISensors::poll::server 20941 surfaceflinger-591 ( 591) [000] ...1 1034715.077940: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 20942 composer@2.1-s-593 ( 593) [001] ...1 1034715.078105: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 20943 composer@2.1-s-593 ( 593) [001] ...1 1034715.078189: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 20944 composer@2.1-s-593 ( 593) [001] ...1 1034715.078215: tracing_mark_write: B|593|HWDevice::Commit:: 20945 composer@2.1-s-593 ( 593) [001] ...1 1034715.078351: tracing_mark_write: E|593 20946 composer@2.1-s-593 ( 593) [001] ...1 1034715.078384: tracing_mark_write: E|593 20947 composer@2.1-s-593 ( 593) [001] ...1 1034715.078421: tracing_mark_write: E|593 20948 surfaceflinger-591 ( 591) [000] ...1 1034715.078517: tracing_mark_write: E|591 20949 sensors@1.0-se-778 ( 778) [004] ...1 1034715.094943: tracing_mark_write: E|778 20950 SensorService-1283 ( 1151) [001] ...1 1034715.095086: tracing_mark_write: E|1151 20951 SensorService-1283 ( 1151) [001] ...1 1034715.095179: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 20952 sensors@1.0-se-778 ( 778) [004] ...1 1034715.095325: tracing_mark_write: B|778|HIDL::ISensors::poll::server 20953 sensors@1.0-se-778 ( 778) [004] ...1 1034715.114072: tracing_mark_write: E|778 20954 SensorService-1283 ( 1151) [001] ...1 1034715.114179: tracing_mark_write: E|1151 20955 SensorService-1283 ( 1151) [001] ...1 1034715.114287: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 20956 sensors@1.0-se-778 ( 778) [004] ...1 1034715.114362: tracing_mark_write: B|778|HIDL::ISensors::poll::server 20957 surfaceflinger-591 ( 591) [000] ...1 1034715.128810: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 20958 composer@2.1-s-593 ( 593) [001] ...1 1034715.129075: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 20959 composer@2.1-s-593 ( 593) [001] ...1 1034715.129231: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 20960 composer@2.1-s-593 ( 593) [001] ...1 1034715.129277: tracing_mark_write: B|593|HWDevice::Commit:: 20961 composer@2.1-s-593 ( 593) [001] ...1 1034715.129505: tracing_mark_write: E|593 20962 composer@2.1-s-593 ( 593) [001] ...1 1034715.129566: tracing_mark_write: E|593 20963 composer@2.1-s-593 ( 593) [001] ...1 1034715.129632: tracing_mark_write: E|593 20964 surfaceflinger-591 ( 591) [000] ...1 1034715.129775: tracing_mark_write: E|591 20965 sensors@1.0-se-778 ( 778) [004] ...1 1034715.133658: tracing_mark_write: E|778 20966 SensorService-1283 ( 1151) [001] ...1 1034715.133825: tracing_mark_write: E|1151 20967 SensorService-1283 ( 1151) [001] ...1 1034715.134009: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 20968 sensors@1.0-se-778 ( 778) [004] ...1 1034715.134131: tracing_mark_write: B|778|HIDL::ISensors::poll::server 20969 sensors@1.0-se-778 ( 778) [004] ...1 1034715.152716: tracing_mark_write: E|778 20970 SensorService-1283 ( 1151) [001] ...1 1034715.152869: tracing_mark_write: E|1151 20971 SensorService-1283 ( 1151) [001] ...1 1034715.153065: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 20972 sensors@1.0-se-778 ( 778) [004] ...1 1034715.153183: tracing_mark_write: B|778|HIDL::ISensors::poll::server 20973 surfaceflinger-591 ( 591) [000] ...1 1034715.162386: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 20974 composer@2.1-s-593 ( 593) [001] ...1 1034715.162665: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 20975 composer@2.1-s-593 ( 593) [001] ...1 1034715.162818: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 20976 composer@2.1-s-593 ( 593) [001] ...1 1034715.162863: tracing_mark_write: B|593|HWDevice::Commit:: 20977 composer@2.1-s-593 ( 593) [001] ...1 1034715.163123: tracing_mark_write: E|593 20978 composer@2.1-s-593 ( 593) [001] ...1 1034715.163187: tracing_mark_write: E|593 20979 composer@2.1-s-593 ( 593) [001] ...1 1034715.163323: tracing_mark_write: E|593 20980 surfaceflinger-591 ( 591) [000] ...1 1034715.163530: tracing_mark_write: E|591 20981 sensors@1.0-se-778 ( 778) [004] ...1 1034715.173435: tracing_mark_write: E|778 20982 SensorService-1283 ( 1151) [001] ...1 1034715.173584: tracing_mark_write: E|1151 20983 SensorService-1283 ( 1151) [001] ...1 1034715.173775: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 20984 sensors@1.0-se-778 ( 778) [004] ...1 1034715.173890: tracing_mark_write: B|778|HIDL::ISensors::poll::server 20985 sensors@1.0-se-778 ( 778) [004] ...1 1034715.191217: tracing_mark_write: E|778 20986 SensorService-1283 ( 1151) [001] ...1 1034715.191335: tracing_mark_write: E|1151 20987 SensorService-1283 ( 1151) [001] ...1 1034715.191480: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 20988 sensors@1.0-se-778 ( 778) [004] ...1 1034715.191581: tracing_mark_write: B|778|HIDL::ISensors::poll::server 20989 sensors@1.0-se-778 ( 778) [004] ...1 1034715.210744: tracing_mark_write: E|778 20990 SensorService-1283 ( 1151) [001] ...1 1034715.210897: tracing_mark_write: E|1151 20991 SensorService-1283 ( 1151) [001] ...1 1034715.211083: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 20992 sensors@1.0-se-778 ( 778) [004] ...1 1034715.211191: tracing_mark_write: B|778|HIDL::ISensors::poll::server 20993 surfaceflinger-591 ( 591) [000] ...1 1034715.212708: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 20994 composer@2.1-s-593 ( 593) [001] ...1 1034715.213017: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 20995 composer@2.1-s-593 ( 593) [001] ...1 1034715.213178: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 20996 composer@2.1-s-593 ( 593) [001] ...1 1034715.213278: tracing_mark_write: B|593|HWDevice::Commit:: 20997 composer@2.1-s-593 ( 593) [001] ...1 1034715.213550: tracing_mark_write: E|593 20998 composer@2.1-s-593 ( 593) [001] ...1 1034715.213619: tracing_mark_write: E|593 20999 composer@2.1-s-593 ( 593) [001] ...1 1034715.213695: tracing_mark_write: E|593 21000 surfaceflinger-591 ( 591) [002] ...1 1034715.213919: tracing_mark_write: E|591 21001 sensors@1.0-se-778 ( 778) [004] ...1 1034715.229782: tracing_mark_write: E|778 21002 SensorService-1283 ( 1151) [001] ...1 1034715.230090: tracing_mark_write: E|1151 21003 SensorService-1283 ( 1151) [001] ...1 1034715.230260: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 21004 sensors@1.0-se-778 ( 778) [004] ...1 1034715.230365: tracing_mark_write: B|778|HIDL::ISensors::poll::server 21005 surfaceflinger-591 ( 591) [000] ...1 1034715.246309: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 21006 composer@2.1-s-593 ( 593) [001] ...1 1034715.246701: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 21007 composer@2.1-s-593 ( 593) [001] ...1 1034715.246860: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 21008 composer@2.1-s-593 ( 593) [001] ...1 1034715.246909: tracing_mark_write: B|593|HWDevice::Commit:: 21009 composer@2.1-s-593 ( 593) [001] ...1 1034715.247265: tracing_mark_write: E|593 21010 composer@2.1-s-593 ( 593) [001] ...1 1034715.247332: tracing_mark_write: E|593 21011 composer@2.1-s-593 ( 593) [001] ...1 1034715.247411: tracing_mark_write: E|593 21012 surfaceflinger-591 ( 591) [000] ...1 1034715.247622: tracing_mark_write: E|591 21013 sensors@1.0-se-778 ( 778) [004] ...1 1034715.248879: tracing_mark_write: E|778 21014 SensorService-1283 ( 1151) [000] ...1 1034715.249052: tracing_mark_write: E|1151 21015 SensorService-1283 ( 1151) [000] ...1 1034715.249262: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 21016 sensors@1.0-se-778 ( 778) [004] ...1 1034715.249383: tracing_mark_write: B|778|HIDL::ISensors::poll::server 21017 sensors@1.0-se-778 ( 778) [004] ...1 1034715.268539: tracing_mark_write: E|778 21018 SensorService-1283 ( 1151) [000] ...1 1034715.268695: tracing_mark_write: E|1151 21019 SensorService-1283 ( 1151) [000] ...1 1034715.268829: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 21020 sensors@1.0-se-778 ( 778) [004] ...1 1034715.268959: tracing_mark_write: B|778|HIDL::ISensors::poll::server 21021 sensors@1.0-se-778 ( 778) [004] ...1 1034715.288676: tracing_mark_write: E|778 21022 SensorService-1283 ( 1151) [000] ...1 1034715.288818: tracing_mark_write: E|1151 21023 SensorService-1283 ( 1151) [000] ...1 1034715.288955: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 21024 sensors@1.0-se-778 ( 778) [004] ...1 1034715.289071: tracing_mark_write: B|778|HIDL::ISensors::poll::server 21025 surfaceflinger-591 ( 591) [000] ...1 1034715.296222: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 21026 composer@2.1-s-593 ( 593) [000] ...1 1034715.296452: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 21027 composer@2.1-s-593 ( 593) [000] ...1 1034715.296608: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 21028 composer@2.1-s-593 ( 593) [000] ...1 1034715.296640: tracing_mark_write: B|593|HWDevice::Commit:: 21029 composer@2.1-s-593 ( 593) [000] ...1 1034715.296805: tracing_mark_write: E|593 21030 composer@2.1-s-593 ( 593) [000] ...1 1034715.296849: tracing_mark_write: E|593 21031 composer@2.1-s-593 ( 593) [000] ...1 1034715.296901: tracing_mark_write: E|593 21032 surfaceflinger-591 ( 591) [001] ...1 1034715.297060: tracing_mark_write: E|591 21033 sensors@1.0-se-778 ( 778) [004] ...1 1034715.306809: tracing_mark_write: E|778 21034 SensorService-1283 ( 1151) [000] ...1 1034715.306930: tracing_mark_write: E|1151 21035 SensorService-1283 ( 1151) [000] ...1 1034715.307025: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 21036 sensors@1.0-se-778 ( 778) [004] ...1 1034715.307111: tracing_mark_write: B|778|HIDL::ISensors::poll::server 21037 android.bg-1184 ( 1151) [000] ...1 1034715.307414: tracing_mark_write: B|1151|HIDL::IMemtrack::getMemory::client 21038 memtrack@1.0-s-748 ( 748) [000] ...1 1034715.307540: tracing_mark_write: B|748|HIDL::IMemtrack::getMemory::server 21039 memtrack@1.0-s-748 ( 748) [000] ...1 1034715.307568: tracing_mark_write: E|748 21040 android.bg-1184 ( 1151) [000] ...1 1034715.307645: tracing_mark_write: E|1151 21041 android.bg-1184 ( 1151) [000] ...1 1034715.307656: tracing_mark_write: B|1151|HIDL::IMemtrack::getMemory::client 21042 memtrack@1.0-s-748 ( 748) [000] ...1 1034715.307687: tracing_mark_write: B|748|HIDL::IMemtrack::getMemory::server 21043 memtrack@1.0-s-748 ( 748) [000] ...1 1034715.307793: tracing_mark_write: E|748 21044 android.bg-1184 ( 1151) [000] ...1 1034715.307840: tracing_mark_write: E|1151 21045 android.bg-1184 ( 1151) [000] ...1 1034715.307849: tracing_mark_write: B|1151|HIDL::IMemtrack::getMemory::client 21046 memtrack@1.0-s-748 ( 748) [000] ...1 1034715.307880: tracing_mark_write: B|748|HIDL::IMemtrack::getMemory::server 21047 memtrack@1.0-s-748 ( 748) [000] ...1 1034715.307910: tracing_mark_write: E|748 21048 android.bg-1184 ( 1151) [000] ...1 1034715.307946: tracing_mark_write: E|1151 21049 android.bg-1184 ( 1151) [000] ...1 1034715.307953: tracing_mark_write: B|1151|HIDL::IMemtrack::getMemory::client 21050 memtrack@1.0-s-748 ( 748) [000] ...1 1034715.307980: tracing_mark_write: B|748|HIDL::IMemtrack::getMemory::server 21051 memtrack@1.0-s-748 ( 748) [000] ...1 1034715.307987: tracing_mark_write: E|748 21052 android.bg-1184 ( 1151) [000] ...1 1034715.308018: tracing_mark_write: E|1151 21053 android.bg-1184 ( 1151) [000] ...1 1034715.308024: tracing_mark_write: B|1151|HIDL::IMemtrack::getMemory::client 21054 memtrack@1.0-s-748 ( 748) [000] ...1 1034715.308049: tracing_mark_write: B|748|HIDL::IMemtrack::getMemory::server 21055 memtrack@1.0-s-748 ( 748) [000] ...1 1034715.308056: tracing_mark_write: E|748 21056 android.bg-1184 ( 1151) [000] ...1 1034715.308088: tracing_mark_write: E|1151 21057 sensors@1.0-se-778 ( 778) [005] ...1 1034715.325902: tracing_mark_write: E|778 21058 SensorService-1283 ( 1151) [000] ...1 1034715.326030: tracing_mark_write: E|1151 21059 SensorService-1283 ( 1151) [000] ...1 1034715.326128: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 21060 sensors@1.0-se-778 ( 778) [005] ...1 1034715.326212: tracing_mark_write: B|778|HIDL::ISensors::poll::server 21061 surfaceflinger-591 ( 591) [002] ...1 1034715.329633: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 21062 composer@2.1-s-593 ( 593) [000] ...1 1034715.329805: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 21063 composer@2.1-s-593 ( 593) [000] ...1 1034715.329930: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 21064 composer@2.1-s-593 ( 593) [000] ...1 1034715.329952: tracing_mark_write: B|593|HWDevice::Commit:: 21065 composer@2.1-s-593 ( 593) [000] ...1 1034715.330082: tracing_mark_write: E|593 21066 composer@2.1-s-593 ( 593) [000] ...1 1034715.330110: tracing_mark_write: E|593 21067 composer@2.1-s-593 ( 593) [000] ...1 1034715.330143: tracing_mark_write: E|593 21068 surfaceflinger-591 ( 591) [003] ...1 1034715.330229: tracing_mark_write: E|591 21069 sensors@1.0-se-778 ( 778) [007] ...1 1034715.345069: tracing_mark_write: E|778 21070 SensorService-1283 ( 1151) [000] ...1 1034715.345149: tracing_mark_write: E|1151 21071 SensorService-1283 ( 1151) [000] ...1 1034715.345225: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 21072 sensors@1.0-se-778 ( 778) [007] ...1 1034715.345276: tracing_mark_write: B|778|HIDL::ISensors::poll::server 21073 sensors@1.0-se-778 ( 778) [004] ...1 1034715.364227: tracing_mark_write: E|778 21074 SensorService-1283 ( 1151) [000] ...1 1034715.364313: tracing_mark_write: E|1151 21075 SensorService-1283 ( 1151) [000] ...1 1034715.364389: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 21076 sensors@1.0-se-778 ( 778) [004] ...1 1034715.364445: tracing_mark_write: B|778|HIDL::ISensors::poll::server 21077 surfaceflinger-591 ( 591) [002] ...1 1034715.379849: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 21078 composer@2.1-s-593 ( 593) [000] ...1 1034715.380036: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 21079 composer@2.1-s-593 ( 593) [000] ...1 1034715.380098: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 21080 composer@2.1-s-593 ( 593) [000] ...1 1034715.380118: tracing_mark_write: B|593|HWDevice::Commit:: 21081 composer@2.1-s-593 ( 593) [000] ...1 1034715.380224: tracing_mark_write: E|593 21082 composer@2.1-s-593 ( 593) [000] ...1 1034715.380248: tracing_mark_write: E|593 21083 composer@2.1-s-593 ( 593) [000] ...1 1034715.380276: tracing_mark_write: E|593 21084 surfaceflinger-591 ( 591) [003] ...1 1034715.380352: tracing_mark_write: E|591 21085 sensors@1.0-se-778 ( 778) [004] ...1 1034715.383735: tracing_mark_write: E|778 21086 SensorService-1283 ( 1151) [000] ...1 1034715.383815: tracing_mark_write: E|1151 21087 SensorService-1283 ( 1151) [000] ...1 1034715.383892: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 21088 sensors@1.0-se-778 ( 778) [004] ...1 1034715.383943: tracing_mark_write: B|778|HIDL::ISensors::poll::server 21089 android.bg-1184 ( 1151) [000] ...1 1034715.395623: tracing_mark_write: B|1151|HIDL::IMemtrack::getMemory::client 21090 memtrack@1.0-s-748 ( 748) [004] ...1 1034715.395710: tracing_mark_write: B|748|HIDL::IMemtrack::getMemory::server 21091 memtrack@1.0-s-748 ( 748) [004] ...1 1034715.395725: tracing_mark_write: E|748 21092 android.bg-1184 ( 1151) [000] ...1 1034715.396110: tracing_mark_write: E|1151 21093 android.bg-1184 ( 1151) [000] ...1 1034715.396123: tracing_mark_write: B|1151|HIDL::IMemtrack::getMemory::client 21094 memtrack@1.0-s-748 ( 748) [004] ...1 1034715.396161: tracing_mark_write: B|748|HIDL::IMemtrack::getMemory::server 21095 memtrack@1.0-s-748 ( 748) [004] ...1 1034715.396197: tracing_mark_write: E|748 21096 android.bg-1184 ( 1151) [000] ...1 1034715.396229: tracing_mark_write: E|1151 21097 android.bg-1184 ( 1151) [000] ...1 1034715.396236: tracing_mark_write: B|1151|HIDL::IMemtrack::getMemory::client 21098 memtrack@1.0-s-748 ( 748) [004] ...1 1034715.396266: tracing_mark_write: B|748|HIDL::IMemtrack::getMemory::server 21099 memtrack@1.0-s-748 ( 748) [004] ...1 1034715.396279: tracing_mark_write: E|748 21100 android.bg-1184 ( 1151) [000] ...1 1034715.396307: tracing_mark_write: E|1151 21101 android.bg-1184 ( 1151) [000] ...1 1034715.396313: tracing_mark_write: B|1151|HIDL::IMemtrack::getMemory::client 21102 memtrack@1.0-s-748 ( 748) [004] ...1 1034715.396343: tracing_mark_write: B|748|HIDL::IMemtrack::getMemory::server 21103 memtrack@1.0-s-748 ( 748) [004] ...1 1034715.396346: tracing_mark_write: E|748 21104 android.bg-1184 ( 1151) [001] ...1 1034715.396382: tracing_mark_write: E|1151 21105 android.bg-1184 ( 1151) [001] ...1 1034715.396390: tracing_mark_write: B|1151|HIDL::IMemtrack::getMemory::client 21106 memtrack@1.0-s-748 ( 748) [004] ...1 1034715.396418: tracing_mark_write: B|748|HIDL::IMemtrack::getMemory::server 21107 memtrack@1.0-s-748 ( 748) [004] ...1 1034715.396421: tracing_mark_write: E|748 21108 android.bg-1184 ( 1151) [001] ...1 1034715.396452: tracing_mark_write: E|1151 21109 sensors@1.0-se-778 ( 778) [004] ...1 1034715.402867: tracing_mark_write: E|778 21110 SensorService-1283 ( 1151) [000] ...1 1034715.402937: tracing_mark_write: E|1151 21111 SensorService-1283 ( 1151) [000] ...1 1034715.403006: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 21112 sensors@1.0-se-778 ( 778) [004] ...1 1034715.403058: tracing_mark_write: B|778|HIDL::ISensors::poll::server 21113 surfaceflinger-591 ( 591) [002] ...1 1034715.413431: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 21114 composer@2.1-s-593 ( 593) [000] ...1 1034715.413541: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 21115 composer@2.1-s-593 ( 593) [000] ...1 1034715.413603: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 21116 composer@2.1-s-593 ( 593) [000] ...1 1034715.413623: tracing_mark_write: B|593|HWDevice::Commit:: 21117 composer@2.1-s-593 ( 593) [000] ...1 1034715.413725: tracing_mark_write: E|593 21118 composer@2.1-s-593 ( 593) [000] ...1 1034715.413750: tracing_mark_write: E|593 21119 composer@2.1-s-593 ( 593) [000] ...1 1034715.413779: tracing_mark_write: E|593 21120 surfaceflinger-591 ( 591) [003] ...1 1034715.413861: tracing_mark_write: E|591 21121 sensors@1.0-se-778 ( 778) [004] ...1 1034715.421930: tracing_mark_write: E|778 21122 SensorService-1283 ( 1151) [000] ...1 1034715.422006: tracing_mark_write: E|1151 21123 SensorService-1283 ( 1151) [000] ...1 1034715.422083: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 21124 sensors@1.0-se-778 ( 778) [004] ...1 1034715.422132: tracing_mark_write: B|778|HIDL::ISensors::poll::server 21125 android.bg-1184 ( 1151) [001] ...1 1034715.428194: tracing_mark_write: B|1151|HIDL::IMemtrack::getMemory::client 21126 memtrack@1.0-s-748 ( 748) [004] ...1 1034715.428271: tracing_mark_write: B|748|HIDL::IMemtrack::getMemory::server 21127 memtrack@1.0-s-748 ( 748) [004] ...1 1034715.428284: tracing_mark_write: E|748 21128 android.bg-1184 ( 1151) [001] ...1 1034715.428333: tracing_mark_write: E|1151 21129 android.bg-1184 ( 1151) [001] ...1 1034715.428342: tracing_mark_write: B|1151|HIDL::IMemtrack::getMemory::client 21130 memtrack@1.0-s-748 ( 748) [004] ...1 1034715.428376: tracing_mark_write: B|748|HIDL::IMemtrack::getMemory::server 21131 memtrack@1.0-s-748 ( 748) [004] ...1 1034715.428410: tracing_mark_write: E|748 21132 android.bg-1184 ( 1151) [000] ...1 1034715.428449: tracing_mark_write: E|1151 21133 android.bg-1184 ( 1151) [000] ...1 1034715.428456: tracing_mark_write: B|1151|HIDL::IMemtrack::getMemory::client 21134 memtrack@1.0-s-748 ( 748) [004] ...1 1034715.428492: tracing_mark_write: B|748|HIDL::IMemtrack::getMemory::server 21135 memtrack@1.0-s-748 ( 748) [004] ...1 1034715.428507: tracing_mark_write: E|748 21136 android.bg-1184 ( 1151) [000] ...1 1034715.428537: tracing_mark_write: E|1151 21137 android.bg-1184 ( 1151) [000] ...1 1034715.428542: tracing_mark_write: B|1151|HIDL::IMemtrack::getMemory::client 21138 memtrack@1.0-s-748 ( 748) [004] ...1 1034715.428575: tracing_mark_write: B|748|HIDL::IMemtrack::getMemory::server 21139 memtrack@1.0-s-748 ( 748) [004] ...1 1034715.428579: tracing_mark_write: E|748 21140 android.bg-1184 ( 1151) [001] ...1 1034715.428611: tracing_mark_write: E|1151 21141 android.bg-1184 ( 1151) [001] ...1 1034715.428617: tracing_mark_write: B|1151|HIDL::IMemtrack::getMemory::client 21142 memtrack@1.0-s-748 ( 748) [004] ...1 1034715.428649: tracing_mark_write: B|748|HIDL::IMemtrack::getMemory::server 21143 memtrack@1.0-s-748 ( 748) [004] ...1 1034715.428653: tracing_mark_write: E|748 21144 android.bg-1184 ( 1151) [001] ...1 1034715.428682: tracing_mark_write: E|1151 21145 sensors@1.0-se-778 ( 778) [006] ...1 1034715.441250: tracing_mark_write: E|778 21146 SensorService-1283 ( 1151) [000] ...1 1034715.441331: tracing_mark_write: E|1151 21147 SensorService-1283 ( 1151) [000] ...1 1034715.441406: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 21148 sensors@1.0-se-778 ( 778) [006] ...1 1034715.441459: tracing_mark_write: B|778|HIDL::ISensors::poll::server 21149 sensors@1.0-se-778 ( 778) [006] ...1 1034715.460548: tracing_mark_write: E|778 21150 SensorService-1283 ( 1151) [000] ...1 1034715.460623: tracing_mark_write: E|1151 21151 SensorService-1283 ( 1151) [000] ...1 1034715.460715: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 21152 sensors@1.0-se-778 ( 778) [006] ...1 1034715.460767: tracing_mark_write: B|778|HIDL::ISensors::poll::server 21153 surfaceflinger-591 ( 591) [002] ...1 1034715.463738: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 21154 composer@2.1-s-593 ( 593) [000] ...1 1034715.463864: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 21155 composer@2.1-s-593 ( 593) [000] ...1 1034715.463928: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 21156 composer@2.1-s-593 ( 593) [000] ...1 1034715.463947: tracing_mark_write: B|593|HWDevice::Commit:: 21157 composer@2.1-s-593 ( 593) [000] ...1 1034715.464050: tracing_mark_write: E|593 21158 composer@2.1-s-593 ( 593) [000] ...1 1034715.464074: tracing_mark_write: E|593 21159 composer@2.1-s-593 ( 593) [000] ...1 1034715.464103: tracing_mark_write: E|593 21160 surfaceflinger-591 ( 591) [003] ...1 1034715.464178: tracing_mark_write: E|591 21161 sensors@1.0-se-778 ( 778) [006] ...1 1034715.479761: tracing_mark_write: E|778 21162 SensorService-1283 ( 1151) [000] ...1 1034715.479847: tracing_mark_write: E|1151 21163 SensorService-1283 ( 1151) [000] ...1 1034715.479947: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 21164 sensors@1.0-se-778 ( 778) [006] ...1 1034715.480006: tracing_mark_write: B|778|HIDL::ISensors::poll::server 21165 surfaceflinger-591 ( 591) [000] ...1 1034715.497358: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 21166 composer@2.1-s-593 ( 593) [001] ...1 1034715.497513: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 21167 composer@2.1-s-593 ( 593) [001] ...1 1034715.497578: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 21168 composer@2.1-s-593 ( 593) [001] ...1 1034715.497597: tracing_mark_write: B|593|HWDevice::Commit:: 21169 composer@2.1-s-593 ( 593) [001] ...1 1034715.497700: tracing_mark_write: E|593 21170 composer@2.1-s-593 ( 593) [001] ...1 1034715.497726: tracing_mark_write: E|593 21171 composer@2.1-s-593 ( 593) [001] ...1 1034715.497755: tracing_mark_write: E|593 21172 surfaceflinger-591 ( 591) [000] ...1 1034715.497831: tracing_mark_write: E|591 21173 sensors@1.0-se-778 ( 778) [007] ...1 1034715.498999: tracing_mark_write: E|778 21174 SensorService-1283 ( 1151) [000] ...1 1034715.499068: tracing_mark_write: E|1151 21175 SensorService-1283 ( 1151) [000] ...1 1034715.499143: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 21176 sensors@1.0-se-778 ( 778) [007] ...1 1034715.499195: tracing_mark_write: B|778|HIDL::ISensors::poll::server 21177 sensors@1.0-se-778 ( 778) [005] ...1 1034715.518309: tracing_mark_write: E|778 21178 SensorService-1283 ( 1151) [000] ...1 1034715.518391: tracing_mark_write: E|1151 21179 SensorService-1283 ( 1151) [000] ...1 1034715.518458: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 21180 sensors@1.0-se-778 ( 778) [005] ...1 1034715.518513: tracing_mark_write: B|778|HIDL::ISensors::poll::server 21181 sensors@1.0-se-778 ( 778) [005] ...1 1034715.537468: tracing_mark_write: E|778 21182 SensorService-1283 ( 1151) [000] ...1 1034715.537578: tracing_mark_write: E|1151 21183 SensorService-1283 ( 1151) [000] ...1 1034715.537702: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 21184 sensors@1.0-se-778 ( 778) [005] ...1 1034715.537797: tracing_mark_write: B|778|HIDL::ISensors::poll::server 21185 surfaceflinger-591 ( 591) [000] ...1 1034715.548155: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 21186 composer@2.1-s-593 ( 593) [001] ...1 1034715.548405: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 21187 composer@2.1-s-593 ( 593) [001] ...1 1034715.548598: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 21188 composer@2.1-s-593 ( 593) [001] ...1 1034715.548642: tracing_mark_write: B|593|HWDevice::Commit:: 21189 composer@2.1-s-593 ( 593) [001] ...1 1034715.548903: tracing_mark_write: E|593 21190 composer@2.1-s-593 ( 593) [001] ...1 1034715.548966: tracing_mark_write: E|593 21191 composer@2.1-s-593 ( 593) [001] ...1 1034715.549038: tracing_mark_write: E|593 21192 surfaceflinger-591 ( 591) [000] ...1 1034715.549228: tracing_mark_write: E|591 21193 sensors@1.0-se-778 ( 778) [005] ...1 1034715.556789: tracing_mark_write: E|778 21194 SensorService-1283 ( 1151) [000] ...1 1034715.556913: tracing_mark_write: E|1151 21195 SensorService-1283 ( 1151) [000] ...1 1034715.557064: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 21196 sensors@1.0-se-778 ( 778) [005] ...1 1034715.557162: tracing_mark_write: B|778|HIDL::ISensors::poll::server 21197 sensors@1.0-se-778 ( 778) [005] ...1 1034715.576152: tracing_mark_write: E|778 21198 SensorService-1283 ( 1151) [000] ...1 1034715.576279: tracing_mark_write: E|1151 21199 SensorService-1283 ( 1151) [000] ...1 1034715.576466: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 21200 sensors@1.0-se-778 ( 778) [005] ...1 1034715.576614: tracing_mark_write: B|778|HIDL::ISensors::poll::server 21201 surfaceflinger-591 ( 591) [000] ...1 1034715.581769: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 21202 composer@2.1-s-593 ( 593) [001] ...1 1034715.582017: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 21203 composer@2.1-s-593 ( 593) [001] ...1 1034715.582167: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 21204 composer@2.1-s-593 ( 593) [001] ...1 1034715.582212: tracing_mark_write: B|593|HWDevice::Commit:: 21205 composer@2.1-s-593 ( 593) [001] ...1 1034715.582471: tracing_mark_write: E|593 21206 composer@2.1-s-593 ( 593) [001] ...1 1034715.582534: tracing_mark_write: E|593 21207 composer@2.1-s-593 ( 593) [001] ...1 1034715.582604: tracing_mark_write: E|593 21208 surfaceflinger-591 ( 591) [000] ...1 1034715.582792: tracing_mark_write: E|591 21209 sensors@1.0-se-778 ( 778) [005] ...1 1034715.595448: tracing_mark_write: E|778 21210 SensorService-1283 ( 1151) [000] ...1 1034715.595583: tracing_mark_write: E|1151 21211 SensorService-1283 ( 1151) [000] ...1 1034715.595763: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 21212 sensors@1.0-se-778 ( 778) [005] ...1 1034715.595875: tracing_mark_write: B|778|HIDL::ISensors::poll::server 21213 sensors@1.0-se-778 ( 778) [005] ...1 1034715.614712: tracing_mark_write: E|778 21214 SensorService-1283 ( 1151) [000] ...1 1034715.614871: tracing_mark_write: E|1151 21215 SensorService-1283 ( 1151) [000] ...1 1034715.615049: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 21216 sensors@1.0-se-778 ( 778) [005] ...1 1034715.615170: tracing_mark_write: B|778|HIDL::ISensors::poll::server 21217 surfaceflinger-591 ( 591) [001] ...1 1034715.631732: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 21218 composer@2.1-s-593 ( 593) [000] ...1 1034715.631892: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 21219 composer@2.1-s-593 ( 593) [000] ...1 1034715.631975: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 21220 composer@2.1-s-593 ( 593) [000] ...1 1034715.632000: tracing_mark_write: B|593|HWDevice::Commit:: 21221 composer@2.1-s-593 ( 593) [000] ...1 1034715.632134: tracing_mark_write: E|593 21222 composer@2.1-s-593 ( 593) [000] ...1 1034715.632167: tracing_mark_write: E|593 21223 composer@2.1-s-593 ( 593) [000] ...1 1034715.632203: tracing_mark_write: E|593 21224 surfaceflinger-591 ( 591) [001] ...1 1034715.632289: tracing_mark_write: E|591 21225 sensors@1.0-se-778 ( 778) [005] ...1 1034715.634628: tracing_mark_write: E|778 21226 SensorService-1283 ( 1151) [000] ...1 1034715.634772: tracing_mark_write: E|1151 21227 SensorService-1283 ( 1151) [000] ...1 1034715.634885: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 21228 sensors@1.0-se-778 ( 778) [005] ...1 1034715.635028: tracing_mark_write: B|778|HIDL::ISensors::poll::server 21229 sensors@1.0-se-778 ( 778) [005] ...1 1034715.653016: tracing_mark_write: E|778 21230 SensorService-1283 ( 1151) [000] ...1 1034715.653107: tracing_mark_write: E|1151 21231 SensorService-1283 ( 1151) [000] ...1 1034715.653193: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 21232 sensors@1.0-se-778 ( 778) [005] ...1 1034715.653284: tracing_mark_write: B|778|HIDL::ISensors::poll::server 21233 surfaceflinger-591 ( 591) [000] ...1 1034715.665320: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 21234 composer@2.1-s-593 ( 593) [001] ...1 1034715.665523: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 21235 composer@2.1-s-593 ( 593) [001] ...1 1034715.665629: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 21236 composer@2.1-s-593 ( 593) [001] ...1 1034715.665659: tracing_mark_write: B|593|HWDevice::Commit:: 21237 composer@2.1-s-593 ( 593) [001] ...1 1034715.665823: tracing_mark_write: E|593 21238 composer@2.1-s-593 ( 593) [001] ...1 1034715.665862: tracing_mark_write: E|593 21239 composer@2.1-s-593 ( 593) [001] ...1 1034715.665908: tracing_mark_write: E|593 21240 surfaceflinger-591 ( 591) [000] ...1 1034715.666011: tracing_mark_write: E|591 21241 sensors@1.0-se-778 ( 778) [005] ...1 1034715.672547: tracing_mark_write: E|778 21242 SensorService-1283 ( 1151) [000] ...1 1034715.672711: tracing_mark_write: E|1151 21243 SensorService-1283 ( 1151) [000] ...1 1034715.672933: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 21244 sensors@1.0-se-778 ( 778) [005] ...1 1034715.673058: tracing_mark_write: B|778|HIDL::ISensors::poll::server 21245 sensors@1.0-se-778 ( 778) [005] ...1 1034715.691925: tracing_mark_write: E|778 21246 SensorService-1283 ( 1151) [000] ...1 1034715.692084: tracing_mark_write: E|1151 21247 SensorService-1283 ( 1151) [000] ...1 1034715.692272: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 21248 sensors@1.0-se-778 ( 778) [005] ...1 1034715.692403: tracing_mark_write: B|778|HIDL::ISensors::poll::server 21249 sensors@1.0-se-778 ( 778) [005] ...1 1034715.711280: tracing_mark_write: E|778 21250 SensorService-1283 ( 1151) [000] ...1 1034715.711413: tracing_mark_write: E|1151 21251 SensorService-1283 ( 1151) [000] ...1 1034715.711586: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 21252 sensors@1.0-se-778 ( 778) [005] ...1 1034715.711695: tracing_mark_write: B|778|HIDL::ISensors::poll::server 21253 surfaceflinger-591 ( 591) [000] ...1 1034715.716063: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 21254 composer@2.1-s-593 ( 593) [001] ...1 1034715.716324: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 21255 composer@2.1-s-593 ( 593) [001] ...1 1034715.716483: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 21256 composer@2.1-s-593 ( 593) [001] ...1 1034715.716588: tracing_mark_write: B|593|HWDevice::Commit:: 21257 composer@2.1-s-593 ( 593) [001] ...1 1034715.716866: tracing_mark_write: E|593 21258 composer@2.1-s-593 ( 593) [001] ...1 1034715.716933: tracing_mark_write: E|593 21259 composer@2.1-s-593 ( 593) [001] ...1 1034715.717011: tracing_mark_write: E|593 21260 surfaceflinger-591 ( 591) [000] ...1 1034715.717212: tracing_mark_write: E|591 21261 sensors@1.0-se-778 ( 778) [005] ...1 1034715.730517: tracing_mark_write: E|778 21262 SensorService-1283 ( 1151) [000] ...1 1034715.730660: tracing_mark_write: E|1151 21263 SensorService-1283 ( 1151) [000] ...1 1034715.730862: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 21264 sensors@1.0-se-778 ( 778) [005] ...1 1034715.730978: tracing_mark_write: B|778|HIDL::ISensors::poll::server 21265 surfaceflinger-591 ( 591) [000] ...1 1034715.749531: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 21266 composer@2.1-s-593 ( 593) [001] ...1 1034715.749797: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 21267 composer@2.1-s-593 ( 593) [001] ...1 1034715.750055: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 21268 composer@2.1-s-593 ( 593) [001] ...1 1034715.750158: tracing_mark_write: B|593|HWDevice::Commit:: 21269 sensors@1.0-se-778 ( 778) [005] ...1 1034715.750300: tracing_mark_write: E|778 21270 composer@2.1-s-593 ( 593) [001] ...1 1034715.750430: tracing_mark_write: E|593 21271 SensorService-1283 ( 1151) [000] ...1 1034715.750446: tracing_mark_write: E|1151 21272 composer@2.1-s-593 ( 593) [001] ...1 1034715.750496: tracing_mark_write: E|593 21273 composer@2.1-s-593 ( 593) [001] ...1 1034715.750570: tracing_mark_write: E|593 21274 SensorService-1283 ( 1151) [000] ...1 1034715.750616: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 21275 sensors@1.0-se-778 ( 778) [005] ...1 1034715.750725: tracing_mark_write: B|778|HIDL::ISensors::poll::server 21276 surfaceflinger-591 ( 591) [003] ...1 1034715.750801: tracing_mark_write: E|591 21277 sensors@1.0-se-778 ( 778) [005] ...1 1034715.768842: tracing_mark_write: E|778 21278 SensorService-1283 ( 1151) [000] ...1 1034715.769001: tracing_mark_write: E|1151 21279 SensorService-1283 ( 1151) [000] ...1 1034715.769184: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 21280 sensors@1.0-se-778 ( 778) [005] ...1 1034715.769299: tracing_mark_write: B|778|HIDL::ISensors::poll::server 21281 sensors@1.0-se-778 ( 778) [005] ...1 1034715.788772: tracing_mark_write: E|778 21282 SensorService-1283 ( 1151) [000] ...1 1034715.788931: tracing_mark_write: E|1151 21283 SensorService-1283 ( 1151) [000] ...1 1034715.789126: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 21284 sensors@1.0-se-778 ( 778) [005] ...1 1034715.789257: tracing_mark_write: B|778|HIDL::ISensors::poll::server 21285 surfaceflinger-591 ( 591) [003] ...1 1034715.800086: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 21286 composer@2.1-s-593 ( 593) [000] ...1 1034715.800398: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 21287 composer@2.1-s-593 ( 593) [000] ...1 1034715.800543: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 21288 composer@2.1-s-593 ( 593) [000] ...1 1034715.800586: tracing_mark_write: B|593|HWDevice::Commit:: 21289 composer@2.1-s-593 ( 593) [000] ...1 1034715.800822: tracing_mark_write: E|593 21290 composer@2.1-s-593 ( 593) [000] ...1 1034715.800885: tracing_mark_write: E|593 21291 composer@2.1-s-593 ( 593) [000] ...1 1034715.800953: tracing_mark_write: E|593 21292 surfaceflinger-591 ( 591) [003] ...1 1034715.801139: tracing_mark_write: E|591 21293 sensors@1.0-se-778 ( 778) [005] ...1 1034715.807797: tracing_mark_write: E|778 21294 SensorService-1283 ( 1151) [000] ...1 1034715.807934: tracing_mark_write: E|1151 21295 SensorService-1283 ( 1151) [000] ...1 1034715.808103: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 21296 sensors@1.0-se-778 ( 778) [005] ...1 1034715.808208: tracing_mark_write: B|778|HIDL::ISensors::poll::server 21297 sensors@1.0-se-778 ( 778) [005] ...1 1034715.826563: tracing_mark_write: E|778 21298 SensorService-1283 ( 1151) [000] ...1 1034715.826662: tracing_mark_write: E|1151 21299 SensorService-1283 ( 1151) [000] ...1 1034715.826762: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 21300 sensors@1.0-se-778 ( 778) [005] ...1 1034715.826831: tracing_mark_write: B|778|HIDL::ISensors::poll::server 21301 surfaceflinger-591 ( 591) [003] ...1 1034715.833099: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 21302 composer@2.1-s-593 ( 593) [000] ...1 1034715.833287: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 21303 composer@2.1-s-593 ( 593) [000] ...1 1034715.833367: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 21304 composer@2.1-s-593 ( 593) [000] ...1 1034715.833390: tracing_mark_write: B|593|HWDevice::Commit:: 21305 composer@2.1-s-593 ( 593) [000] ...1 1034715.833512: tracing_mark_write: E|593 21306 composer@2.1-s-593 ( 593) [000] ...1 1034715.833543: tracing_mark_write: E|593 21307 composer@2.1-s-593 ( 593) [000] ...1 1034715.833579: tracing_mark_write: E|593 21308 surfaceflinger-591 ( 591) [003] ...1 1034715.833681: tracing_mark_write: E|591 21309 sensors@1.0-se-778 ( 778) [004] ...1 1034715.845668: tracing_mark_write: E|778 21310 SensorService-1283 ( 1151) [000] ...1 1034715.845767: tracing_mark_write: E|1151 21311 SensorService-1283 ( 1151) [000] ...1 1034715.845845: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 21312 sensors@1.0-se-778 ( 778) [004] ...1 1034715.845918: tracing_mark_write: B|778|HIDL::ISensors::poll::server 21313 sensors@1.0-se-778 ( 778) [006] ...1 1034715.864934: tracing_mark_write: E|778 21314 SensorService-1283 ( 1151) [000] ...1 1034715.865028: tracing_mark_write: E|1151 21315 SensorService-1283 ( 1151) [000] ...1 1034715.865111: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 21316 sensors@1.0-se-778 ( 778) [006] ...1 1034715.865169: tracing_mark_write: B|778|HIDL::ISensors::poll::server 21317 surfaceflinger-591 ( 591) [000] ...1 1034715.866494: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 21318 composer@2.1-s-593 ( 593) [001] ...1 1034715.866631: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 21319 composer@2.1-s-593 ( 593) [001] ...1 1034715.866692: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 21320 composer@2.1-s-593 ( 593) [001] ...1 1034715.866711: tracing_mark_write: B|593|HWDevice::Commit:: 21321 composer@2.1-s-593 ( 593) [001] ...1 1034715.866812: tracing_mark_write: E|593 21322 composer@2.1-s-593 ( 593) [001] ...1 1034715.866836: tracing_mark_write: E|593 21323 composer@2.1-s-593 ( 593) [001] ...1 1034715.866863: tracing_mark_write: E|593 21324 surfaceflinger-591 ( 591) [000] ...1 1034715.866934: tracing_mark_write: E|591 21325 sensors@1.0-se-778 ( 778) [005] ...1 1034715.884081: tracing_mark_write: E|778 21326 SensorService-1283 ( 1151) [000] ...1 1034715.884158: tracing_mark_write: E|1151 21327 SensorService-1283 ( 1151) [000] ...1 1034715.884226: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 21328 sensors@1.0-se-778 ( 778) [005] ...1 1034715.884280: tracing_mark_write: B|778|HIDL::ISensors::poll::server 21329 sensors@1.0-se-778 ( 778) [002] ...1 1034715.903428: tracing_mark_write: E|778 21330 SensorService-1283 ( 1151) [000] ...1 1034715.903508: tracing_mark_write: E|1151 21331 SensorService-1283 ( 1151) [000] ...1 1034715.903578: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 21332 sensors@1.0-se-778 ( 778) [002] ...1 1034715.903633: tracing_mark_write: B|778|HIDL::ISensors::poll::server 21333 surfaceflinger-591 ( 591) [000] ...1 1034715.916870: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 21334 composer@2.1-s-593 ( 593) [001] ...1 1034715.916984: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 21335 composer@2.1-s-593 ( 593) [001] ...1 1034715.917050: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 21336 composer@2.1-s-593 ( 593) [001] ...1 1034715.917069: tracing_mark_write: B|593|HWDevice::Commit:: 21337 composer@2.1-s-593 ( 593) [001] ...1 1034715.917169: tracing_mark_write: E|593 21338 composer@2.1-s-593 ( 593) [001] ...1 1034715.917194: tracing_mark_write: E|593 21339 composer@2.1-s-593 ( 593) [001] ...1 1034715.917223: tracing_mark_write: E|593 21340 surfaceflinger-591 ( 591) [000] ...1 1034715.917295: tracing_mark_write: E|591 21341 sensors@1.0-se-778 ( 778) [002] ...1 1034715.922644: tracing_mark_write: E|778 21342 SensorService-1283 ( 1151) [000] ...1 1034715.922722: tracing_mark_write: E|1151 21343 SensorService-1283 ( 1151) [000] ...1 1034715.922797: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 21344 sensors@1.0-se-778 ( 778) [002] ...1 1034715.922847: tracing_mark_write: B|778|HIDL::ISensors::poll::server 21345 sensors@1.0-se-778 ( 778) [002] ...1 1034715.941847: tracing_mark_write: E|778 21346 SensorService-1283 ( 1151) [000] ...1 1034715.941921: tracing_mark_write: E|1151 21347 SensorService-1283 ( 1151) [000] ...1 1034715.941993: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 21348 sensors@1.0-se-778 ( 778) [002] ...1 1034715.942046: tracing_mark_write: B|778|HIDL::ISensors::poll::server 21349 surfaceflinger-591 ( 591) [001] ...1 1034715.950423: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 21350 composer@2.1-s-593 ( 593) [000] ...1 1034715.950546: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 21351 composer@2.1-s-593 ( 593) [000] ...1 1034715.950610: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 21352 composer@2.1-s-593 ( 593) [000] ...1 1034715.950629: tracing_mark_write: B|593|HWDevice::Commit:: 21353 composer@2.1-s-593 ( 593) [000] ...1 1034715.950732: tracing_mark_write: E|593 21354 composer@2.1-s-593 ( 593) [000] ...1 1034715.950759: tracing_mark_write: E|593 21355 composer@2.1-s-593 ( 593) [000] ...1 1034715.950807: tracing_mark_write: E|593 21356 surfaceflinger-591 ( 591) [003] ...1 1034715.950895: tracing_mark_write: E|591 21357 sensors@1.0-se-778 ( 778) [002] ...1 1034715.961127: tracing_mark_write: E|778 21358 SensorService-1283 ( 1151) [000] ...1 1034715.961211: tracing_mark_write: E|1151 21359 SensorService-1283 ( 1151) [000] ...1 1034715.961292: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 21360 sensors@1.0-se-778 ( 778) [002] ...1 1034715.961343: tracing_mark_write: B|778|HIDL::ISensors::poll::server 21361 sensors@1.0-se-778 ( 778) [003] ...1 1034715.980484: tracing_mark_write: E|778 21362 SensorService-1283 ( 1151) [000] ...1 1034715.980573: tracing_mark_write: E|1151 21363 SensorService-1283 ( 1151) [000] ...1 1034715.980647: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 21364 sensors@1.0-se-778 ( 778) [003] ...1 1034715.980698: tracing_mark_write: B|778|HIDL::ISensors::poll::server 21365 sensors@1.0-se-778 ( 778) [003] ...1 1034715.999731: tracing_mark_write: E|778 21366 SensorService-1283 ( 1151) [000] ...1 1034715.999827: tracing_mark_write: E|1151 21367 SensorService-1283 ( 1151) [000] ...1 1034715.999965: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 21368 sensors@1.0-se-778 ( 778) [003] ...1 1034716.000030: tracing_mark_write: B|778|HIDL::ISensors::poll::server 21369 surfaceflinger-591 ( 591) [000] ...1 1034716.000804: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 21370 composer@2.1-s-593 ( 593) [001] ...1 1034716.000927: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 21371 composer@2.1-s-593 ( 593) [001] ...1 1034716.001002: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 21372 composer@2.1-s-593 ( 593) [001] ...1 1034716.001024: tracing_mark_write: B|593|HWDevice::Commit:: 21373 composer@2.1-s-593 ( 593) [001] ...1 1034716.001150: tracing_mark_write: E|593 21374 composer@2.1-s-593 ( 593) [001] ...1 1034716.001178: tracing_mark_write: E|593 21375 composer@2.1-s-593 ( 593) [001] ...1 1034716.001210: tracing_mark_write: E|593 21376 surfaceflinger-591 ( 591) [000] ...1 1034716.001280: tracing_mark_write: E|591 21377 sensors@1.0-se-778 ( 778) [003] ...1 1034716.018884: tracing_mark_write: E|778 21378 SensorService-1283 ( 1151) [000] ...1 1034716.018954: tracing_mark_write: E|1151 21379 SensorService-1283 ( 1151) [000] ...1 1034716.019018: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 21380 sensors@1.0-se-778 ( 778) [003] ...1 1034716.019067: tracing_mark_write: B|778|HIDL::ISensors::poll::server 21381 surfaceflinger-591 ( 591) [000] ...1 1034716.034314: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 21382 composer@2.1-s-593 ( 593) [001] ...1 1034716.034431: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 21383 composer@2.1-s-593 ( 593) [001] ...1 1034716.034507: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 21384 composer@2.1-s-593 ( 593) [001] ...1 1034716.034532: tracing_mark_write: B|593|HWDevice::Commit:: 21385 composer@2.1-s-593 ( 593) [001] ...1 1034716.034656: tracing_mark_write: E|593 21386 composer@2.1-s-593 ( 593) [001] ...1 1034716.034690: tracing_mark_write: E|593 21387 composer@2.1-s-593 ( 593) [001] ...1 1034716.034727: tracing_mark_write: E|593 21388 surfaceflinger-591 ( 591) [000] ...1 1034716.034806: tracing_mark_write: E|591 21389 sensors@1.0-se-778 ( 778) [003] ...1 1034716.038367: tracing_mark_write: E|778 21390 SensorService-1283 ( 1151) [000] ...1 1034716.038464: tracing_mark_write: E|1151 21391 SensorService-1283 ( 1151) [000] ...1 1034716.038589: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 21392 sensors@1.0-se-778 ( 778) [003] ...1 1034716.038651: tracing_mark_write: B|778|HIDL::ISensors::poll::server 21393 sensors@1.0-se-778 ( 778) [003] ...1 1034716.057766: tracing_mark_write: E|778 21394 SensorService-1283 ( 1151) [000] ...1 1034716.057905: tracing_mark_write: E|1151 21395 SensorService-1283 ( 1151) [000] ...1 1034716.058075: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 21396 sensors@1.0-se-778 ( 778) [003] ...1 1034716.058216: tracing_mark_write: B|778|HIDL::ISensors::poll::server 21397 sensors@1.0-se-778 ( 778) [003] ...1 1034716.077068: tracing_mark_write: E|778 21398 SensorService-1283 ( 1151) [000] ...1 1034716.077208: tracing_mark_write: E|1151 21399 SensorService-1283 ( 1151) [000] ...1 1034716.077383: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 21400 sensors@1.0-se-778 ( 778) [003] ...1 1034716.077522: tracing_mark_write: B|778|HIDL::ISensors::poll::server 21401 surfaceflinger-591 ( 591) [000] ...1 1034716.085371: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 21402 composer@2.1-s-593 ( 593) [001] ...1 1034716.085685: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 21403 composer@2.1-s-593 ( 593) [001] ...1 1034716.085878: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 21404 composer@2.1-s-593 ( 593) [001] ...1 1034716.085935: tracing_mark_write: B|593|HWDevice::Commit:: 21405 composer@2.1-s-593 ( 593) [001] ...1 1034716.086275: tracing_mark_write: E|593 21406 composer@2.1-s-593 ( 593) [001] ...1 1034716.086356: tracing_mark_write: E|593 21407 composer@2.1-s-593 ( 593) [001] ...1 1034716.086445: tracing_mark_write: E|593 21408 surfaceflinger-591 ( 591) [000] ...1 1034716.086675: tracing_mark_write: E|591 21409 sensors@1.0-se-778 ( 778) [003] ...1 1034716.096612: tracing_mark_write: E|778 21410 SensorService-1283 ( 1151) [000] ...1 1034716.096795: tracing_mark_write: E|1151 21411 SensorService-1283 ( 1151) [000] ...1 1034716.097039: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 21412 sensors@1.0-se-778 ( 778) [003] ...1 1034716.097201: tracing_mark_write: B|778|HIDL::ISensors::poll::server 21413 sensors@1.0-se-778 ( 778) [003] ...1 1034716.115867: tracing_mark_write: E|778 21414 SensorService-1283 ( 1151) [000] ...1 1034716.116106: tracing_mark_write: E|1151 21415 SensorService-1283 ( 1151) [000] ...1 1034716.116385: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 21416 sensors@1.0-se-778 ( 778) [003] ...1 1034716.116644: tracing_mark_write: B|778|HIDL::ISensors::poll::server 21417 surfaceflinger-591 ( 591) [000] ...1 1034716.119096: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 21418 composer@2.1-s-593 ( 593) [001] ...1 1034716.119410: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 21419 composer@2.1-s-593 ( 593) [001] ...1 1034716.119612: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 21420 composer@2.1-s-593 ( 593) [001] ...1 1034716.119672: tracing_mark_write: B|593|HWDevice::Commit:: 21421 composer@2.1-s-593 ( 593) [001] ...1 1034716.120146: tracing_mark_write: E|593 21422 composer@2.1-s-593 ( 593) [001] ...1 1034716.120233: tracing_mark_write: E|593 21423 composer@2.1-s-593 ( 593) [001] ...1 1034716.120325: tracing_mark_write: E|593 21424 surfaceflinger-591 ( 591) [000] ...1 1034716.120537: tracing_mark_write: E|591 21425 sensors@1.0-se-778 ( 778) [003] ...1 1034716.134983: tracing_mark_write: E|778 21426 SensorService-1283 ( 1151) [001] ...1 1034716.135179: tracing_mark_write: E|1151 21427 SensorService-1283 ( 1151) [001] ...1 1034716.135405: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 21428 sensors@1.0-se-778 ( 778) [003] ...1 1034716.135579: tracing_mark_write: B|778|HIDL::ISensors::poll::server 21429 sensors@1.0-se-778 ( 778) [003] ...1 1034716.154160: tracing_mark_write: E|778 21430 SensorService-1283 ( 1151) [001] ...1 1034716.154318: tracing_mark_write: E|1151 21431 SensorService-1283 ( 1151) [001] ...1 1034716.154488: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 21432 sensors@1.0-se-778 ( 778) [003] ...1 1034716.154631: tracing_mark_write: B|778|HIDL::ISensors::poll::server 21433 surfaceflinger-591 ( 591) [001] ...1 1034716.169235: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 21434 composer@2.1-s-593 ( 593) [000] ...1 1034716.169558: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 21435 composer@2.1-s-593 ( 593) [000] ...1 1034716.169726: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 21436 composer@2.1-s-593 ( 593) [000] ...1 1034716.169771: tracing_mark_write: B|593|HWDevice::Commit:: 21437 composer@2.1-s-593 ( 593) [000] ...1 1034716.170171: tracing_mark_write: E|593 21438 composer@2.1-s-593 ( 593) [000] ...1 1034716.170240: tracing_mark_write: E|593 21439 composer@2.1-s-593 ( 593) [000] ...1 1034716.170317: tracing_mark_write: E|593 21440 surfaceflinger-591 ( 591) [001] ...1 1034716.170531: tracing_mark_write: E|591 21441 sensors@1.0-se-778 ( 778) [003] ...1 1034716.173104: tracing_mark_write: E|778 21442 SensorService-1283 ( 1151) [001] ...1 1034716.173271: tracing_mark_write: E|1151 21443 SensorService-1283 ( 1151) [001] ...1 1034716.173403: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 21444 sensors@1.0-se-778 ( 778) [003] ...1 1034716.173493: tracing_mark_write: B|778|HIDL::ISensors::poll::server 21445 sensors@1.0-se-778 ( 778) [003] ...1 1034716.192325: tracing_mark_write: E|778 21446 SensorService-1283 ( 1151) [001] ...1 1034716.192433: tracing_mark_write: E|1151 21447 SensorService-1283 ( 1151) [001] ...1 1034716.192529: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 21448 sensors@1.0-se-778 ( 778) [003] ...1 1034716.192595: tracing_mark_write: B|778|HIDL::ISensors::poll::server 21449 surfaceflinger-591 ( 591) [001] ...1 1034716.202258: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 21450 composer@2.1-s-593 ( 593) [000] ...1 1034716.202428: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 21451 composer@2.1-s-593 ( 593) [000] ...1 1034716.202513: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 21452 composer@2.1-s-593 ( 593) [000] ...1 1034716.202538: tracing_mark_write: B|593|HWDevice::Commit:: 21453 composer@2.1-s-593 ( 593) [000] ...1 1034716.202671: tracing_mark_write: E|593 21454 composer@2.1-s-593 ( 593) [000] ...1 1034716.202702: tracing_mark_write: E|593 21455 composer@2.1-s-593 ( 593) [000] ...1 1034716.202740: tracing_mark_write: E|593 21456 surfaceflinger-591 ( 591) [001] ...1 1034716.202830: tracing_mark_write: E|591 21457 sensors@1.0-se-778 ( 778) [000] ...1 1034716.211722: tracing_mark_write: E|778 21458 SensorService-1283 ( 1151) [001] ...1 1034716.211894: tracing_mark_write: E|1151 21459 SensorService-1283 ( 1151) [001] ...1 1034716.212042: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 21460 sensors@1.0-se-778 ( 778) [000] ...1 1034716.212124: tracing_mark_write: B|778|HIDL::ISensors::poll::server 21461 sensors@1.0-se-778 ( 778) [000] ...1 1034716.231157: tracing_mark_write: E|778 21462 SensorService-1283 ( 1151) [001] ...1 1034716.231412: tracing_mark_write: E|1151 21463 SensorService-1283 ( 1151) [001] ...1 1034716.231607: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 21464 sensors@1.0-se-778 ( 778) [000] ...1 1034716.231768: tracing_mark_write: B|778|HIDL::ISensors::poll::server 21465 sensors@1.0-se-778 ( 778) [000] ...1 1034716.250428: tracing_mark_write: E|778 21466 SensorService-1283 ( 1151) [001] ...1 1034716.250577: tracing_mark_write: E|1151 21467 SensorService-1283 ( 1151) [001] ...1 1034716.250744: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 21468 sensors@1.0-se-778 ( 778) [000] ...1 1034716.250902: tracing_mark_write: B|778|HIDL::ISensors::poll::server 21469 surfaceflinger-591 ( 591) [001] ...1 1034716.253354: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 21470 composer@2.1-s-593 ( 593) [000] ...1 1034716.253630: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 21471 composer@2.1-s-593 ( 593) [000] ...1 1034716.253789: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 21472 composer@2.1-s-593 ( 593) [000] ...1 1034716.253836: tracing_mark_write: B|593|HWDevice::Commit:: 21473 composer@2.1-s-593 ( 593) [000] ...1 1034716.254111: tracing_mark_write: E|593 21474 composer@2.1-s-593 ( 593) [001] ...1 1034716.254264: tracing_mark_write: E|593 21475 composer@2.1-s-593 ( 593) [001] ...1 1034716.254369: tracing_mark_write: E|593 21476 surfaceflinger-591 ( 591) [000] ...1 1034716.254590: tracing_mark_write: E|591 21477 sensors@1.0-se-778 ( 778) [000] ...1 1034716.270012: tracing_mark_write: E|778 21478 SensorService-1283 ( 1151) [001] ...1 1034716.270192: tracing_mark_write: E|1151 21479 SensorService-1283 ( 1151) [001] ...1 1034716.270376: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 21480 sensors@1.0-se-778 ( 778) [000] ...1 1034716.270533: tracing_mark_write: B|778|HIDL::ISensors::poll::server 21481 surfaceflinger-591 ( 591) [000] ...1 1034716.286680: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 21482 composer@2.1-s-593 ( 593) [001] ...1 1034716.286950: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 21483 composer@2.1-s-593 ( 593) [001] ...1 1034716.287105: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 21484 composer@2.1-s-593 ( 593) [001] ...1 1034716.287151: tracing_mark_write: B|593|HWDevice::Commit:: 21485 composer@2.1-s-593 ( 593) [001] ...1 1034716.287421: tracing_mark_write: E|593 21486 composer@2.1-s-593 ( 593) [001] ...1 1034716.287487: tracing_mark_write: E|593 21487 composer@2.1-s-593 ( 593) [001] ...1 1034716.287561: tracing_mark_write: E|593 21488 surfaceflinger-591 ( 591) [000] ...1 1034716.287757: tracing_mark_write: E|591 21489 sensors@1.0-se-778 ( 778) [000] ...1 1034716.289977: tracing_mark_write: E|778 21490 SensorService-1283 ( 1151) [001] ...1 1034716.290134: tracing_mark_write: E|1151 21491 SensorService-1283 ( 1151) [001] ...1 1034716.290322: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 21492 sensors@1.0-se-778 ( 778) [000] ...1 1034716.290466: tracing_mark_write: B|778|HIDL::ISensors::poll::server 21493 sensors@1.0-se-778 ( 778) [000] ...1 1034716.308162: tracing_mark_write: E|778 21494 SensorService-1283 ( 1151) [001] ...1 1034716.308302: tracing_mark_write: E|1151 21495 SensorService-1283 ( 1151) [001] ...1 1034716.308457: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 21496 sensors@1.0-se-778 ( 778) [000] ...1 1034716.308595: tracing_mark_write: B|778|HIDL::ISensors::poll::server 21497 sensors@1.0-se-778 ( 778) [000] ...1 1034716.327516: tracing_mark_write: E|778 21498 SensorService-1283 ( 1151) [001] ...1 1034716.327676: tracing_mark_write: E|1151 21499 SensorService-1283 ( 1151) [001] ...1 1034716.327850: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 21500 sensors@1.0-se-778 ( 778) [000] ...1 1034716.327988: tracing_mark_write: B|778|HIDL::ISensors::poll::server 21501 surfaceflinger-591 ( 591) [000] ...1 1034716.337107: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 21502 composer@2.1-s-593 ( 593) [001] ...1 1034716.337395: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 21503 composer@2.1-s-593 ( 593) [001] ...1 1034716.337559: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 21504 composer@2.1-s-593 ( 593) [001] ...1 1034716.337607: tracing_mark_write: B|593|HWDevice::Commit:: 21505 composer@2.1-s-593 ( 593) [001] ...1 1034716.337878: tracing_mark_write: E|593 21506 composer@2.1-s-593 ( 593) [001] ...1 1034716.337944: tracing_mark_write: E|593 21507 composer@2.1-s-593 ( 593) [001] ...1 1034716.338022: tracing_mark_write: E|593 21508 surfaceflinger-591 ( 591) [000] ...1 1034716.338231: tracing_mark_write: E|591 21509 sensors@1.0-se-778 ( 778) [003] ...1 1034716.347463: tracing_mark_write: E|778 21510 SensorService-1283 ( 1151) [001] ...1 1034716.347627: tracing_mark_write: E|1151 21511 SensorService-1283 ( 1151) [001] ...1 1034716.347792: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 21512 sensors@1.0-se-778 ( 778) [003] ...1 1034716.347916: tracing_mark_write: B|778|HIDL::ISensors::poll::server 21513 sensors@1.0-se-778 ( 778) [003] ...1 1034716.365860: tracing_mark_write: E|778 21514 SensorService-1283 ( 1151) [001] ...1 1034716.365997: tracing_mark_write: E|1151 21515 SensorService-1283 ( 1151) [001] ...1 1034716.366101: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 21516 sensors@1.0-se-778 ( 778) [003] ...1 1034716.366183: tracing_mark_write: B|778|HIDL::ISensors::poll::server 21517 surfaceflinger-591 ( 591) [002] ...1 1034716.370185: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 21518 composer@2.1-s-593 ( 593) [001] ...1 1034716.370348: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 21519 composer@2.1-s-593 ( 593) [001] ...1 1034716.370431: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 21520 composer@2.1-s-593 ( 593) [001] ...1 1034716.370456: tracing_mark_write: B|593|HWDevice::Commit:: 21521 composer@2.1-s-593 ( 593) [001] ...1 1034716.370605: tracing_mark_write: E|593 21522 composer@2.1-s-593 ( 593) [001] ...1 1034716.370640: tracing_mark_write: E|593 21523 composer@2.1-s-593 ( 593) [001] ...1 1034716.370679: tracing_mark_write: E|593 21524 surfaceflinger-591 ( 591) [003] ...1 1034716.370797: tracing_mark_write: E|591 21525 sensors@1.0-se-778 ( 778) [003] ...1 1034716.384881: tracing_mark_write: E|778 21526 SensorService-1283 ( 1151) [001] ...1 1034716.384985: tracing_mark_write: E|1151 21527 SensorService-1283 ( 1151) [001] ...1 1034716.385086: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 21528 sensors@1.0-se-778 ( 778) [003] ...1 1034716.385149: tracing_mark_write: B|778|HIDL::ISensors::poll::server 21529 sensors@1.0-se-778 ( 778) [001] ...1 1034716.403957: tracing_mark_write: E|778 21530 SensorService-1283 ( 1151) [002] ...1 1034716.404054: tracing_mark_write: E|1151 21531 SensorService-1283 ( 1151) [002] ...1 1034716.404133: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 21532 sensors@1.0-se-778 ( 778) [001] ...1 1034716.404191: tracing_mark_write: B|778|HIDL::ISensors::poll::server 21533 surfaceflinger-591 ( 591) [002] ...1 1034716.420377: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 21534 composer@2.1-s-593 ( 593) [001] ...1 1034716.420561: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 21535 composer@2.1-s-593 ( 593) [001] ...1 1034716.420625: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 21536 composer@2.1-s-593 ( 593) [001] ...1 1034716.420644: tracing_mark_write: B|593|HWDevice::Commit:: 21537 composer@2.1-s-593 ( 593) [001] ...1 1034716.420751: tracing_mark_write: E|593 21538 composer@2.1-s-593 ( 593) [001] ...1 1034716.420776: tracing_mark_write: E|593 21539 composer@2.1-s-593 ( 593) [001] ...1 1034716.420805: tracing_mark_write: E|593 21540 surfaceflinger-591 ( 591) [003] ...1 1034716.420950: tracing_mark_write: E|591 21541 sensors@1.0-se-778 ( 778) [002] ...1 1034716.423485: tracing_mark_write: E|778 21542 SensorService-1283 ( 1151) [003] ...1 1034716.423566: tracing_mark_write: E|1151 21543 SensorService-1283 ( 1151) [003] ...1 1034716.423636: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 21544 sensors@1.0-se-778 ( 778) [002] ...1 1034716.423692: tracing_mark_write: B|778|HIDL::ISensors::poll::server 21545 sensors@1.0-se-778 ( 778) [002] ...1 1034716.442490: tracing_mark_write: E|778 21546 SensorService-1283 ( 1151) [003] ...1 1034716.442567: tracing_mark_write: E|1151 21547 SensorService-1283 ( 1151) [003] ...1 1034716.442637: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 21548 sensors@1.0-se-778 ( 778) [002] ...1 1034716.442695: tracing_mark_write: B|778|HIDL::ISensors::poll::server 21549 surfaceflinger-591 ( 591) [002] ...1 1034716.453896: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 21550 composer@2.1-s-593 ( 593) [001] ...1 1034716.454021: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 21551 composer@2.1-s-593 ( 593) [001] ...1 1034716.454083: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 21552 composer@2.1-s-593 ( 593) [001] ...1 1034716.454102: tracing_mark_write: B|593|HWDevice::Commit:: 21553 composer@2.1-s-593 ( 593) [001] ...1 1034716.454204: tracing_mark_write: E|593 21554 composer@2.1-s-593 ( 593) [001] ...1 1034716.454229: tracing_mark_write: E|593 21555 composer@2.1-s-593 ( 593) [001] ...1 1034716.454259: tracing_mark_write: E|593 21556 surfaceflinger-591 ( 591) [003] ...1 1034716.454350: tracing_mark_write: E|591 21557 sensors@1.0-se-778 ( 778) [002] ...1 1034716.461657: tracing_mark_write: E|778 21558 SensorService-1283 ( 1151) [003] ...1 1034716.461730: tracing_mark_write: E|1151 21559 SensorService-1283 ( 1151) [003] ...1 1034716.461797: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 21560 sensors@1.0-se-778 ( 778) [002] ...1 1034716.461847: tracing_mark_write: B|778|HIDL::ISensors::poll::server 21561 sensors@1.0-se-778 ( 778) [002] ...1 1034716.480986: tracing_mark_write: E|778 21562 SensorService-1283 ( 1151) [003] ...1 1034716.481065: tracing_mark_write: E|1151 21563 SensorService-1283 ( 1151) [003] ...1 1034716.481137: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 21564 sensors@1.0-se-778 ( 778) [002] ...1 1034716.481187: tracing_mark_write: B|778|HIDL::ISensors::poll::server 21565 sensors@1.0-se-778 ( 778) [002] ...1 1034716.500293: tracing_mark_write: E|778 21566 SensorService-1283 ( 1151) [003] ...1 1034716.500364: tracing_mark_write: E|1151 21567 SensorService-1283 ( 1151) [003] ...1 1034716.500438: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 21568 sensors@1.0-se-778 ( 778) [002] ...1 1034716.500491: tracing_mark_write: B|778|HIDL::ISensors::poll::server 21569 surfaceflinger-591 ( 591) [000] ...1 1034716.504203: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 21570 composer@2.1-s-593 ( 593) [001] ...1 1034716.504376: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 21571 composer@2.1-s-593 ( 593) [001] ...1 1034716.504445: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 21572 composer@2.1-s-593 ( 593) [001] ...1 1034716.504466: tracing_mark_write: B|593|HWDevice::Commit:: 21573 composer@2.1-s-593 ( 593) [001] ...1 1034716.504579: tracing_mark_write: E|593 21574 composer@2.1-s-593 ( 593) [001] ...1 1034716.504609: tracing_mark_write: E|593 21575 composer@2.1-s-593 ( 593) [001] ...1 1034716.504642: tracing_mark_write: E|593 21576 surfaceflinger-591 ( 591) [000] ...1 1034716.504722: tracing_mark_write: E|591 21577 sensors@1.0-se-778 ( 778) [002] ...1 1034716.519492: tracing_mark_write: E|778 21578 SensorService-1283 ( 1151) [003] ...1 1034716.519572: tracing_mark_write: E|1151 21579 SensorService-1283 ( 1151) [003] ...1 1034716.519650: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 21580 sensors@1.0-se-778 ( 778) [002] ...1 1034716.519699: tracing_mark_write: B|778|HIDL::ISensors::poll::server 21581 surfaceflinger-591 ( 591) [000] ...1 1034716.537934: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 21582 composer@2.1-s-593 ( 593) [001] ...1 1034716.538118: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 21583 composer@2.1-s-593 ( 593) [001] ...1 1034716.538205: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 21584 composer@2.1-s-593 ( 593) [001] ...1 1034716.538232: tracing_mark_write: B|593|HWDevice::Commit:: 21585 composer@2.1-s-593 ( 593) [001] ...1 1034716.538362: tracing_mark_write: E|593 21586 composer@2.1-s-593 ( 593) [001] ...1 1034716.538396: tracing_mark_write: E|593 21587 composer@2.1-s-593 ( 593) [001] ...1 1034716.538436: tracing_mark_write: E|593 21588 surfaceflinger-591 ( 591) [000] ...1 1034716.538519: tracing_mark_write: E|591 21589 sensors@1.0-se-778 ( 778) [002] ...1 1034716.540466: tracing_mark_write: E|778 21590 SensorService-1283 ( 1151) [003] ...1 1034716.540564: tracing_mark_write: E|1151 21591 SensorService-1283 ( 1151) [003] ...1 1034716.540658: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 21592 sensors@1.0-se-778 ( 778) [002] ...1 1034716.540719: tracing_mark_write: B|778|HIDL::ISensors::poll::server 21593 sensors@1.0-se-778 ( 778) [002] ...1 1034716.558312: tracing_mark_write: E|778 21594 SensorService-1283 ( 1151) [003] ...1 1034716.558429: tracing_mark_write: E|1151 21595 SensorService-1283 ( 1151) [003] ...1 1034716.558521: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 21596 sensors@1.0-se-778 ( 778) [002] ...1 1034716.558588: tracing_mark_write: B|778|HIDL::ISensors::poll::server 21597 sensors@1.0-se-778 ( 778) [002] ...1 1034716.577737: tracing_mark_write: E|778 21598 SensorService-1283 ( 1151) [003] ...1 1034716.577933: tracing_mark_write: E|1151 21599 SensorService-1283 ( 1151) [003] ...1 1034716.578108: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 21600 sensors@1.0-se-778 ( 778) [002] ...1 1034716.578266: tracing_mark_write: B|778|HIDL::ISensors::poll::server 21601 surfaceflinger-591 ( 591) [000] ...1 1034716.588978: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 21602 composer@2.1-s-593 ( 593) [001] ...1 1034716.589346: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 21603 composer@2.1-s-593 ( 593) [001] ...1 1034716.589566: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 21604 composer@2.1-s-593 ( 593) [001] ...1 1034716.589632: tracing_mark_write: B|593|HWDevice::Commit:: 21605 composer@2.1-s-593 ( 593) [001] ...1 1034716.590052: tracing_mark_write: E|593 21606 composer@2.1-s-593 ( 593) [001] ...1 1034716.590139: tracing_mark_write: E|593 21607 composer@2.1-s-593 ( 593) [001] ...1 1034716.590229: tracing_mark_write: E|593 21608 surfaceflinger-591 ( 591) [000] ...1 1034716.590462: tracing_mark_write: E|591 21609 sensors@1.0-se-778 ( 778) [002] ...1 1034716.597252: tracing_mark_write: E|778 21610 SensorService-1283 ( 1151) [003] ...1 1034716.597430: tracing_mark_write: E|1151 21611 SensorService-1283 ( 1151) [003] ...1 1034716.597639: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 21612 sensors@1.0-se-778 ( 778) [002] ...1 1034716.597802: tracing_mark_write: B|778|HIDL::ISensors::poll::server 21613 sensors@1.0-se-778 ( 778) [002] ...1 1034716.616352: tracing_mark_write: E|778 21614 SensorService-1283 ( 1151) [003] ...1 1034716.616510: tracing_mark_write: E|1151 21615 SensorService-1283 ( 1151) [003] ...1 1034716.616804: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 21616 sensors@1.0-se-778 ( 778) [002] ...1 1034716.616954: tracing_mark_write: B|778|HIDL::ISensors::poll::server 21617 surfaceflinger-591 ( 591) [000] ...1 1034716.622358: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 21618 composer@2.1-s-593 ( 593) [001] ...1 1034716.622651: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 21619 composer@2.1-s-593 ( 593) [001] ...1 1034716.622841: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 21620 composer@2.1-s-593 ( 593) [001] ...1 1034716.622898: tracing_mark_write: B|593|HWDevice::Commit:: 21621 composer@2.1-s-593 ( 593) [001] ...1 1034716.623309: tracing_mark_write: E|593 21622 composer@2.1-s-593 ( 593) [001] ...1 1034716.623391: tracing_mark_write: E|593 21623 composer@2.1-s-593 ( 593) [001] ...1 1034716.623476: tracing_mark_write: E|593 21624 surfaceflinger-591 ( 591) [000] ...1 1034716.623699: tracing_mark_write: E|591 21625 sensors@1.0-se-778 ( 778) [002] ...1 1034716.635478: tracing_mark_write: E|778 21626 SensorService-1283 ( 1151) [003] ...1 1034716.635640: tracing_mark_write: E|1151 21627 SensorService-1283 ( 1151) [003] ...1 1034716.635830: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 21628 sensors@1.0-se-778 ( 778) [002] ...1 1034716.635983: tracing_mark_write: B|778|HIDL::ISensors::poll::server 21629 sensors@1.0-se-778 ( 778) [002] ...1 1034716.654707: tracing_mark_write: E|778 21630 SensorService-1283 ( 1151) [003] ...1 1034716.654847: tracing_mark_write: E|1151 21631 SensorService-1283 ( 1151) [003] ...1 1034716.655003: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 21632 sensors@1.0-se-778 ( 778) [002] ...1 1034716.655144: tracing_mark_write: B|778|HIDL::ISensors::poll::server 21633 surfaceflinger-591 ( 591) [003] ...1 1034716.672753: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 21634 composer@2.1-s-593 ( 593) [001] ...1 1034716.673062: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 21635 composer@2.1-s-593 ( 593) [001] ...1 1034716.673326: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 21636 composer@2.1-s-593 ( 593) [001] ...1 1034716.673385: tracing_mark_write: B|593|HWDevice::Commit:: 21637 composer@2.1-s-593 ( 593) [001] ...1 1034716.673714: tracing_mark_write: E|593 21638 composer@2.1-s-593 ( 593) [001] ...1 1034716.673792: tracing_mark_write: E|593 21639 composer@2.1-s-593 ( 593) [001] ...1 1034716.673880: tracing_mark_write: E|593 21640 surfaceflinger-591 ( 591) [003] ...1 1034716.674100: tracing_mark_write: E|591 21641 sensors@1.0-se-778 ( 778) [002] ...1 1034716.676979: tracing_mark_write: E|778 21642 SensorService-1283 ( 1151) [003] ...1 1034716.677161: tracing_mark_write: E|1151 21643 SensorService-1283 ( 1151) [003] ...1 1034716.677377: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 21644 sensors@1.0-se-778 ( 778) [002] ...1 1034716.677540: tracing_mark_write: B|778|HIDL::ISensors::poll::server 21645 sensors@1.0-se-778 ( 778) [002] ...1 1034716.693145: tracing_mark_write: E|778 21646 SensorService-1283 ( 1151) [003] ...1 1034716.693279: tracing_mark_write: E|1151 21647 SensorService-1283 ( 1151) [003] ...1 1034716.693408: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 21648 sensors@1.0-se-778 ( 778) [002] ...1 1034716.693543: tracing_mark_write: B|778|HIDL::ISensors::poll::server 21649 surfaceflinger-591 ( 591) [000] ...1 1034716.706281: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 21650 composer@2.1-s-593 ( 593) [001] ...1 1034716.706657: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 21651 composer@2.1-s-593 ( 593) [001] ...1 1034716.706852: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 21652 composer@2.1-s-593 ( 593) [001] ...1 1034716.706908: tracing_mark_write: B|593|HWDevice::Commit:: 21653 composer@2.1-s-593 ( 593) [001] ...1 1034716.707228: tracing_mark_write: E|593 21654 composer@2.1-s-593 ( 593) [001] ...1 1034716.707310: tracing_mark_write: E|593 21655 composer@2.1-s-593 ( 593) [001] ...1 1034716.707395: tracing_mark_write: E|593 21656 surfaceflinger-591 ( 591) [000] ...1 1034716.707616: tracing_mark_write: E|591 21657 sensors@1.0-se-778 ( 778) [002] ...1 1034716.712552: tracing_mark_write: E|778 21658 SensorService-1283 ( 1151) [003] ...1 1034716.712726: tracing_mark_write: E|1151 21659 SensorService-1283 ( 1151) [003] ...1 1034716.712925: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 21660 sensors@1.0-se-778 ( 778) [002] ...1 1034716.713080: tracing_mark_write: B|778|HIDL::ISensors::poll::server 21661 sensors@1.0-se-778 ( 778) [002] ...1 1034716.731694: tracing_mark_write: E|778 21662 SensorService-1283 ( 1151) [003] ...1 1034716.731823: tracing_mark_write: E|1151 21663 SensorService-1283 ( 1151) [003] ...1 1034716.731976: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 21664 sensors@1.0-se-778 ( 778) [002] ...1 1034716.732112: tracing_mark_write: B|778|HIDL::ISensors::poll::server 21665 sensors@1.0-se-778 ( 778) [002] ...1 1034716.751196: tracing_mark_write: E|778 21666 SensorService-1283 ( 1151) [003] ...1 1034716.751338: tracing_mark_write: E|1151 21667 SensorService-1283 ( 1151) [003] ...1 1034716.751476: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 21668 sensors@1.0-se-778 ( 778) [002] ...1 1034716.751614: tracing_mark_write: B|778|HIDL::ISensors::poll::server 21669 surfaceflinger-591 ( 591) [000] ...1 1034716.756767: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 21670 composer@2.1-s-593 ( 593) [001] ...1 1034716.757080: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 21671 composer@2.1-s-593 ( 593) [001] ...1 1034716.757278: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 21672 composer@2.1-s-593 ( 593) [001] ...1 1034716.757337: tracing_mark_write: B|593|HWDevice::Commit:: 21673 composer@2.1-s-593 ( 593) [001] ...1 1034716.757687: tracing_mark_write: E|593 21674 composer@2.1-s-593 ( 593) [001] ...1 1034716.757770: tracing_mark_write: E|593 21675 composer@2.1-s-593 ( 593) [001] ...1 1034716.757856: tracing_mark_write: E|593 21676 surfaceflinger-591 ( 591) [000] ...1 1034716.758081: tracing_mark_write: E|591 21677 sensors@1.0-se-778 ( 778) [002] ...1 1034716.770485: tracing_mark_write: E|778 21678 SensorService-1283 ( 1151) [003] ...1 1034716.770672: tracing_mark_write: E|1151 21679 SensorService-1283 ( 1151) [003] ...1 1034716.770894: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 21680 sensors@1.0-se-778 ( 778) [002] ...1 1034716.771053: tracing_mark_write: B|778|HIDL::ISensors::poll::server 21681 sensors@1.0-se-778 ( 778) [002] ...1 1034716.789549: tracing_mark_write: E|778 21682 SensorService-1283 ( 1151) [003] ...1 1034716.789699: tracing_mark_write: E|1151 21683 SensorService-1283 ( 1151) [003] ...1 1034716.789861: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 21684 sensors@1.0-se-778 ( 778) [002] ...1 1034716.790074: tracing_mark_write: B|778|HIDL::ISensors::poll::server 21685 surfaceflinger-591 ( 591) [001] ...1 1034716.790269: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 21686 composer@2.1-s-593 ( 593) [000] ...1 1034716.790595: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 21687 composer@2.1-s-593 ( 593) [000] ...1 1034716.790804: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 21688 composer@2.1-s-593 ( 593) [000] ...1 1034716.790863: tracing_mark_write: B|593|HWDevice::Commit:: 21689 composer@2.1-s-593 ( 593) [000] ...1 1034716.791195: tracing_mark_write: E|593 21690 composer@2.1-s-593 ( 593) [000] ...1 1034716.791275: tracing_mark_write: E|593 21691 composer@2.1-s-593 ( 593) [000] ...1 1034716.791361: tracing_mark_write: E|593 21692 surfaceflinger-591 ( 591) [001] ...1 1034716.791583: tracing_mark_write: E|591 21693 sensors@1.0-se-778 ( 778) [002] ...1 1034716.808804: tracing_mark_write: E|778 21694 SensorService-1283 ( 1151) [003] ...1 1034716.808990: tracing_mark_write: E|1151 21695 SensorService-1283 ( 1151) [003] ...1 1034716.809189: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 21696 sensors@1.0-se-778 ( 778) [002] ...1 1034716.809349: tracing_mark_write: B|778|HIDL::ISensors::poll::server 21697 sensors@1.0-se-778 ( 778) [002] ...1 1034716.828312: tracing_mark_write: E|778 21698 SensorService-1283 ( 1151) [003] ...1 1034716.828549: tracing_mark_write: E|1151 21699 SensorService-1283 ( 1151) [003] ...1 1034716.828836: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 21700 sensors@1.0-se-778 ( 778) [002] ...1 1034716.829047: tracing_mark_write: B|778|HIDL::ISensors::poll::server 21701 surfaceflinger-591 ( 591) [002] ...1 1034716.841011: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 21702 composer@2.1-s-593 ( 593) [000] ...1 1034716.841454: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 21703 composer@2.1-s-593 ( 593) [000] ...1 1034716.841707: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 21704 composer@2.1-s-593 ( 593) [000] ...1 1034716.841785: tracing_mark_write: B|593|HWDevice::Commit:: 21705 composer@2.1-s-593 ( 593) [000] ...1 1034716.842190: tracing_mark_write: E|593 21706 composer@2.1-s-593 ( 593) [000] ...1 1034716.842289: tracing_mark_write: E|593 21707 composer@2.1-s-593 ( 593) [000] ...1 1034716.842400: tracing_mark_write: E|593 21708 surfaceflinger-591 ( 591) [001] ...1 1034716.842727: tracing_mark_write: E|591 21709 sensors@1.0-se-778 ( 778) [002] ...1 1034716.848036: tracing_mark_write: E|778 21710 SensorService-1283 ( 1151) [003] ...1 1034716.848251: tracing_mark_write: E|1151 21711 SensorService-1283 ( 1151) [003] ...1 1034716.848501: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 21712 sensors@1.0-se-778 ( 778) [002] ...1 1034716.848675: tracing_mark_write: B|778|HIDL::ISensors::poll::server 21713 sensors@1.0-se-778 ( 778) [002] ...1 1034716.867430: tracing_mark_write: E|778 21714 SensorService-1283 ( 1151) [003] ...1 1034716.867589: tracing_mark_write: E|1151 21715 SensorService-1283 ( 1151) [003] ...1 1034716.867761: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 21716 sensors@1.0-se-778 ( 778) [002] ...1 1034716.867914: tracing_mark_write: B|778|HIDL::ISensors::poll::server 21717 sensors@1.0-se-778 ( 778) [002] ...1 1034716.886120: tracing_mark_write: E|778 21718 SensorService-1283 ( 1151) [003] ...1 1034716.886345: tracing_mark_write: E|1151 21719 SensorService-1283 ( 1151) [003] ...1 1034716.886617: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 21720 sensors@1.0-se-778 ( 778) [002] ...1 1034716.886785: tracing_mark_write: B|778|HIDL::ISensors::poll::server 21721 surfaceflinger-591 ( 591) [002] ...1 1034716.891207: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 21722 composer@2.1-s-593 ( 593) [000] ...1 1034716.891548: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 21723 composer@2.1-s-593 ( 593) [000] ...1 1034716.891767: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 21724 composer@2.1-s-593 ( 593) [000] ...1 1034716.891834: tracing_mark_write: B|593|HWDevice::Commit:: 21725 composer@2.1-s-593 ( 593) [000] ...1 1034716.892183: tracing_mark_write: E|593 21726 composer@2.1-s-593 ( 593) [000] ...1 1034716.892268: tracing_mark_write: E|593 21727 composer@2.1-s-593 ( 593) [000] ...1 1034716.892362: tracing_mark_write: E|593 21728 surfaceflinger-591 ( 591) [001] ...1 1034716.892601: tracing_mark_write: E|591 21729 sensors@1.0-se-778 ( 778) [000] ...1 1034716.905177: tracing_mark_write: E|778 21730 SensorService-1283 ( 1151) [003] ...1 1034716.905353: tracing_mark_write: E|1151 21731 SensorService-1283 ( 1151) [003] ...1 1034716.905576: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 21732 sensors@1.0-se-778 ( 778) [000] ...1 1034716.905736: tracing_mark_write: B|778|HIDL::ISensors::poll::server 21733 surfaceflinger-591 ( 591) [000] ...1 1034716.924745: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 21734 composer@2.1-s-593 ( 593) [001] ...1 1034716.925155: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 21735 composer@2.1-s-593 ( 593) [001] ...1 1034716.925364: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 21736 composer@2.1-s-593 ( 593) [001] ...1 1034716.925424: tracing_mark_write: B|593|HWDevice::Commit:: 21737 composer@2.1-s-593 ( 593) [001] ...1 1034716.925758: tracing_mark_write: E|593 21738 sensors@1.0-se-778 ( 778) [000] ...1 1034716.925786: tracing_mark_write: E|778 21739 composer@2.1-s-593 ( 593) [001] ...1 1034716.925845: tracing_mark_write: E|593 21740 composer@2.1-s-593 ( 593) [001] ...1 1034716.925936: tracing_mark_write: E|593 21741 SensorService-1283 ( 1151) [003] ...1 1034716.925992: tracing_mark_write: E|1151 21742 surfaceflinger-591 ( 591) [000] ...1 1034716.926157: tracing_mark_write: E|591 21743 SensorService-1283 ( 1151) [003] ...1 1034716.926207: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 21744 HwBinder:778_1-1087 ( 778) [001] ...1 1034716.926405: tracing_mark_write: B|778|HIDL::ISensors::poll::server 21745 HwBinder:778_1-1087 ( 778) [002] ...1 1034716.943812: tracing_mark_write: E|778 21746 SensorService-1283 ( 1151) [003] ...1 1034716.944037: tracing_mark_write: E|1151 21747 SensorService-1283 ( 1151) [003] ...1 1034716.944255: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 21748 HwBinder:778_1-1087 ( 778) [002] ...1 1034716.944423: tracing_mark_write: B|778|HIDL::ISensors::poll::server 21749 HwBinder:778_1-1087 ( 778) [001] ...1 1034716.963679: tracing_mark_write: E|778 21750 SensorService-1283 ( 1151) [003] ...1 1034716.963948: tracing_mark_write: E|1151 21751 SensorService-1283 ( 1151) [003] ...1 1034716.964248: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 21752 HwBinder:778_1-1087 ( 778) [001] ...1 1034716.964456: tracing_mark_write: B|778|HIDL::ISensors::poll::server 21753 surfaceflinger-591 ( 591) [000] ...1 1034716.975043: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 21754 composer@2.1-s-593 ( 593) [001] ...1 1034716.975414: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 21755 composer@2.1-s-593 ( 593) [001] ...1 1034716.975636: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 21756 composer@2.1-s-593 ( 593) [001] ...1 1034716.975700: tracing_mark_write: B|593|HWDevice::Commit:: 21757 composer@2.1-s-593 ( 593) [001] ...1 1034716.976064: tracing_mark_write: E|593 21758 composer@2.1-s-593 ( 593) [001] ...1 1034716.976149: tracing_mark_write: E|593 21759 composer@2.1-s-593 ( 593) [001] ...1 1034716.976244: tracing_mark_write: E|593 21760 surfaceflinger-591 ( 591) [000] ...1 1034716.976479: tracing_mark_write: E|591 21761 HwBinder:778_1-1087 ( 778) [001] ...1 1034716.982217: tracing_mark_write: E|778 21762 SensorService-1283 ( 1151) [003] ...1 1034716.982396: tracing_mark_write: E|1151 21763 SensorService-1283 ( 1151) [003] ...1 1034716.982609: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 21764 HwBinder:778_1-1087 ( 778) [001] ...1 1034716.982773: tracing_mark_write: B|778|HIDL::ISensors::poll::server 21765 HwBinder:778_1-1087 ( 778) [001] ...1 1034717.001301: tracing_mark_write: E|778 21766 SensorService-1283 ( 1151) [003] ...1 1034717.001441: tracing_mark_write: E|1151 21767 SensorService-1283 ( 1151) [003] ...1 1034717.001593: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 21768 HwBinder:778_1-1087 ( 778) [001] ...1 1034717.001749: tracing_mark_write: B|778|HIDL::ISensors::poll::server 21769 surfaceflinger-591 ( 591) [001] ...1 1034717.008559: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 21770 composer@2.1-s-593 ( 593) [000] ...1 1034717.008966: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 21771 composer@2.1-s-593 ( 593) [000] ...1 1034717.009181: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 21772 composer@2.1-s-593 ( 593) [000] ...1 1034717.009246: tracing_mark_write: B|593|HWDevice::Commit:: 21773 composer@2.1-s-593 ( 593) [000] ...1 1034717.009601: tracing_mark_write: E|593 21774 composer@2.1-s-593 ( 593) [000] ...1 1034717.009688: tracing_mark_write: E|593 21775 composer@2.1-s-593 ( 593) [000] ...1 1034717.009780: tracing_mark_write: E|593 21776 surfaceflinger-591 ( 591) [001] ...1 1034717.010028: tracing_mark_write: E|591 21777 HwBinder:778_1-1087 ( 778) [001] ...1 1034717.020714: tracing_mark_write: E|778 21778 SensorService-1283 ( 1151) [003] ...1 1034717.020942: tracing_mark_write: E|1151 21779 SensorService-1283 ( 1151) [003] ...1 1034717.021207: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 21780 HwBinder:778_1-1087 ( 778) [001] ...1 1034717.021385: tracing_mark_write: B|778|HIDL::ISensors::poll::server 21781 HwBinder:778_1-1087 ( 778) [001] ...1 1034717.039576: tracing_mark_write: E|778 21782 SensorService-1283 ( 1151) [003] ...1 1034717.039718: tracing_mark_write: E|1151 21783 SensorService-1283 ( 1151) [003] ...1 1034717.039934: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 21784 HwBinder:778_1-1087 ( 778) [001] ...1 1034717.040084: tracing_mark_write: B|778|HIDL::ISensors::poll::server 21785 surfaceflinger-591 ( 591) [000] ...1 1034717.058939: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 21786 composer@2.1-s-593 ( 593) [001] ...1 1034717.059346: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 21787 composer@2.1-s-593 ( 593) [001] ...1 1034717.059548: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 21788 composer@2.1-s-593 ( 593) [001] ...1 1034717.059608: tracing_mark_write: B|593|HWDevice::Commit:: 21789 composer@2.1-s-593 ( 593) [001] ...1 1034717.060014: tracing_mark_write: E|593 21790 HwBinder:778_1-1087 ( 778) [003] ...1 1034717.060096: tracing_mark_write: E|778 21791 composer@2.1-s-593 ( 593) [001] ...1 1034717.060101: tracing_mark_write: E|593 21792 composer@2.1-s-593 ( 593) [001] ...1 1034717.060194: tracing_mark_write: E|593 21793 SensorService-1283 ( 1151) [000] ...1 1034717.060332: tracing_mark_write: E|1151 21794 surfaceflinger-591 ( 591) [003] ...1 1034717.060453: tracing_mark_write: E|591 21795 SensorService-1283 ( 1151) [000] ...1 1034717.060573: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 21796 sensors@1.0-se-778 ( 778) [001] ...1 1034717.060793: tracing_mark_write: B|778|HIDL::ISensors::poll::server 21797 sensors@1.0-se-778 ( 778) [000] ...1 1034717.078470: tracing_mark_write: E|778 21798 SensorService-1283 ( 1151) [001] ...1 1034717.078675: tracing_mark_write: E|1151 21799 SensorService-1283 ( 1151) [001] ...1 1034717.078858: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 21800 sensors@1.0-se-778 ( 778) [000] ...1 1034717.079022: tracing_mark_write: B|778|HIDL::ISensors::poll::server 21801 sensors@1.0-se-778 ( 778) [000] ...1 1034717.097703: tracing_mark_write: E|778 21802 SensorService-1283 ( 1151) [001] ...1 1034717.097957: tracing_mark_write: E|1151 21803 SensorService-1283 ( 1151) [001] ...1 1034717.098222: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 21804 sensors@1.0-se-778 ( 778) [000] ...1 1034717.098407: tracing_mark_write: B|778|HIDL::ISensors::poll::server 21805 surfaceflinger-591 ( 591) [002] ...1 1034717.109307: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 21806 composer@2.1-s-593 ( 593) [001] ...1 1034717.109672: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 21807 composer@2.1-s-593 ( 593) [001] ...1 1034717.109955: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 21808 composer@2.1-s-593 ( 593) [001] ...1 1034717.110018: tracing_mark_write: B|593|HWDevice::Commit:: 21809 composer@2.1-s-593 ( 593) [001] ...1 1034717.110387: tracing_mark_write: E|593 21810 composer@2.1-s-593 ( 593) [001] ...1 1034717.110474: tracing_mark_write: E|593 21811 composer@2.1-s-593 ( 593) [001] ...1 1034717.110568: tracing_mark_write: E|593 21812 surfaceflinger-591 ( 591) [000] ...1 1034717.110849: tracing_mark_write: E|591 21813 sensors@1.0-se-778 ( 778) [000] ...1 1034717.116802: tracing_mark_write: E|778 21814 SensorService-1283 ( 1151) [001] ...1 1034717.117039: tracing_mark_write: E|1151 21815 SensorService-1283 ( 1151) [001] ...1 1034717.117301: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 21816 sensors@1.0-se-778 ( 778) [000] ...1 1034717.117479: tracing_mark_write: B|778|HIDL::ISensors::poll::server 21817 sensors@1.0-se-778 ( 778) [003] ...1 1034717.135912: tracing_mark_write: E|778 21818 SensorService-1283 ( 1151) [001] ...1 1034717.136079: tracing_mark_write: E|1151 21819 SensorService-1283 ( 1151) [001] ...1 1034717.136239: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 21820 sensors@1.0-se-778 ( 778) [003] ...1 1034717.136394: tracing_mark_write: B|778|HIDL::ISensors::poll::server 21821 surfaceflinger-591 ( 591) [001] ...1 1034717.142475: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 21822 composer@2.1-s-593 ( 593) [000] ...1 1034717.142765: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 21823 composer@2.1-s-593 ( 593) [000] ...1 1034717.142931: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 21824 composer@2.1-s-593 ( 593) [000] ...1 1034717.142980: tracing_mark_write: B|593|HWDevice::Commit:: 21825 composer@2.1-s-593 ( 593) [000] ...1 1034717.143358: tracing_mark_write: E|593 21826 composer@2.1-s-593 ( 593) [000] ...1 1034717.143428: tracing_mark_write: E|593 21827 composer@2.1-s-593 ( 593) [000] ...1 1034717.143506: tracing_mark_write: E|593 21828 surfaceflinger-591 ( 591) [001] ...1 1034717.143711: tracing_mark_write: E|591 21829 sensors@1.0-se-778 ( 778) [003] ...1 1034717.155044: tracing_mark_write: E|778 21830 SensorService-1283 ( 1151) [001] ...1 1034717.155205: tracing_mark_write: E|1151 21831 SensorService-1283 ( 1151) [001] ...1 1034717.155375: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 21832 sensors@1.0-se-778 ( 778) [003] ...1 1034717.155522: tracing_mark_write: B|778|HIDL::ISensors::poll::server 21833 sensors@1.0-se-778 ( 778) [003] ...1 1034717.174276: tracing_mark_write: E|778 21834 SensorService-1283 ( 1151) [001] ...1 1034717.174436: tracing_mark_write: E|1151 21835 SensorService-1283 ( 1151) [001] ...1 1034717.174591: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 21836 sensors@1.0-se-778 ( 778) [003] ...1 1034717.174738: tracing_mark_write: B|778|HIDL::ISensors::poll::server 21837 surfaceflinger-591 ( 591) [000] ...1 1034717.192783: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 21838 composer@2.1-s-593 ( 593) [001] ...1 1034717.193070: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 21839 composer@2.1-s-593 ( 593) [001] ...1 1034717.193301: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 21840 composer@2.1-s-593 ( 593) [001] ...1 1034717.193374: tracing_mark_write: B|593|HWDevice::Commit:: 21841 sensors@1.0-se-778 ( 778) [003] ...1 1034717.193611: tracing_mark_write: E|778 21842 composer@2.1-s-593 ( 593) [001] ...1 1034717.193666: tracing_mark_write: E|593 21843 composer@2.1-s-593 ( 593) [001] ...1 1034717.193741: tracing_mark_write: E|593 21844 SensorService-1283 ( 1151) [000] ...1 1034717.193772: tracing_mark_write: E|1151 21845 composer@2.1-s-593 ( 593) [001] ...1 1034717.193823: tracing_mark_write: E|593 21846 SensorService-1283 ( 1151) [000] ...1 1034717.193938: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 21847 surfaceflinger-591 ( 591) [003] ...1 1034717.194068: tracing_mark_write: E|591 21848 sensors@1.0-se-778 ( 778) [004] ...1 1034717.194074: tracing_mark_write: B|778|HIDL::ISensors::poll::server 21849 sensors@1.0-se-778 ( 778) [004] ...1 1034717.212759: tracing_mark_write: E|778 21850 SensorService-1283 ( 1151) [000] ...1 1034717.212910: tracing_mark_write: E|1151 21851 SensorService-1283 ( 1151) [000] ...1 1034717.213067: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 21852 sensors@1.0-se-778 ( 778) [004] ...1 1034717.213190: tracing_mark_write: B|778|HIDL::ISensors::poll::server 21853 surfaceflinger-591 ( 591) [000] ...1 1034717.226629: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 21854 composer@2.1-s-593 ( 593) [001] ...1 1034717.226955: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 21855 composer@2.1-s-593 ( 593) [001] ...1 1034717.227117: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 21856 composer@2.1-s-593 ( 593) [001] ...1 1034717.227178: tracing_mark_write: B|593|HWDevice::Commit:: 21857 composer@2.1-s-593 ( 593) [001] ...1 1034717.227488: tracing_mark_write: E|593 21858 composer@2.1-s-593 ( 593) [001] ...1 1034717.227561: tracing_mark_write: E|593 21859 composer@2.1-s-593 ( 593) [001] ...1 1034717.227659: tracing_mark_write: E|593 21860 surfaceflinger-591 ( 591) [000] ...1 1034717.227902: tracing_mark_write: E|591 21861 sensors@1.0-se-778 ( 778) [004] ...1 1034717.231896: tracing_mark_write: E|778 21862 SensorService-1283 ( 1151) [000] ...1 1034717.232049: tracing_mark_write: E|1151 21863 SensorService-1283 ( 1151) [000] ...1 1034717.232225: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 21864 sensors@1.0-se-778 ( 778) [004] ...1 1034717.232331: tracing_mark_write: B|778|HIDL::ISensors::poll::server 21865 sensors@1.0-se-778 ( 778) [004] ...1 1034717.251151: tracing_mark_write: E|778 21866 SensorService-1283 ( 1151) [000] ...1 1034717.251267: tracing_mark_write: E|1151 21867 SensorService-1283 ( 1151) [000] ...1 1034717.251453: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 21868 sensors@1.0-se-778 ( 778) [004] ...1 1034717.251544: tracing_mark_write: B|778|HIDL::ISensors::poll::server 21869 sensors@1.0-se-778 ( 778) [004] ...1 1034717.270375: tracing_mark_write: E|778 21870 SensorService-1283 ( 1151) [000] ...1 1034717.270494: tracing_mark_write: E|1151 21871 SensorService-1283 ( 1151) [000] ...1 1034717.270616: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 21872 sensors@1.0-se-778 ( 778) [004] ...1 1034717.270721: tracing_mark_write: B|778|HIDL::ISensors::poll::server 21873 surfaceflinger-591 ( 591) [000] ...1 1034717.276744: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 21874 composer@2.1-s-593 ( 593) [001] ...1 1034717.277013: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 21875 composer@2.1-s-593 ( 593) [001] ...1 1034717.277196: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 21876 composer@2.1-s-593 ( 593) [001] ...1 1034717.277247: tracing_mark_write: B|593|HWDevice::Commit:: 21877 composer@2.1-s-593 ( 593) [001] ...1 1034717.277533: tracing_mark_write: E|593 21878 composer@2.1-s-593 ( 593) [001] ...1 1034717.277601: tracing_mark_write: E|593 21879 composer@2.1-s-593 ( 593) [001] ...1 1034717.277679: tracing_mark_write: E|593 21880 surfaceflinger-591 ( 591) [000] ...1 1034717.277877: tracing_mark_write: E|591 21881 sensors@1.0-se-778 ( 778) [004] ...1 1034717.289582: tracing_mark_write: E|778 21882 SensorService-1283 ( 1151) [000] ...1 1034717.289713: tracing_mark_write: E|1151 21883 SensorService-1283 ( 1151) [000] ...1 1034717.289929: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 21884 sensors@1.0-se-778 ( 778) [004] ...1 1034717.290160: tracing_mark_write: B|778|HIDL::ISensors::poll::server 21885 sensors@1.0-se-778 ( 778) [004] ...1 1034717.308958: tracing_mark_write: E|778 21886 SensorService-1283 ( 1151) [000] ...1 1034717.309094: tracing_mark_write: E|1151 21887 SensorService-1283 ( 1151) [000] ...1 1034717.309244: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 21888 sensors@1.0-se-778 ( 778) [004] ...1 1034717.309379: tracing_mark_write: B|778|HIDL::ISensors::poll::server 21889 surfaceflinger-591 ( 591) [001] ...1 1034717.310255: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 21890 composer@2.1-s-593 ( 593) [000] ...1 1034717.310498: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 21891 composer@2.1-s-593 ( 593) [000] ...1 1034717.310639: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 21892 composer@2.1-s-593 ( 593) [000] ...1 1034717.310682: tracing_mark_write: B|593|HWDevice::Commit:: 21893 composer@2.1-s-593 ( 593) [000] ...1 1034717.310923: tracing_mark_write: E|593 21894 composer@2.1-s-593 ( 593) [000] ...1 1034717.310972: tracing_mark_write: E|593 21895 composer@2.1-s-593 ( 593) [000] ...1 1034717.311026: tracing_mark_write: E|593 21896 surfaceflinger-591 ( 591) [001] ...1 1034717.311163: tracing_mark_write: E|591 21897 sensors@1.0-se-778 ( 778) [004] ...1 1034717.328102: tracing_mark_write: E|778 21898 SensorService-1283 ( 1151) [000] ...1 1034717.328222: tracing_mark_write: E|1151 21899 SensorService-1283 ( 1151) [000] ...1 1034717.328339: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 21900 sensors@1.0-se-778 ( 778) [004] ...1 1034717.328425: tracing_mark_write: B|778|HIDL::ISensors::poll::server 21901 sensors@1.0-se-778 ( 778) [004] ...1 1034717.347724: tracing_mark_write: E|778 21902 SensorService-1283 ( 1151) [000] ...1 1034717.347888: tracing_mark_write: E|1151 21903 SensorService-1283 ( 1151) [000] ...1 1034717.348091: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 21904 sensors@1.0-se-778 ( 778) [004] ...1 1034717.348225: tracing_mark_write: B|778|HIDL::ISensors::poll::server 21905 surfaceflinger-591 ( 591) [000] ...1 1034717.360893: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 21906 composer@2.1-s-593 ( 593) [001] ...1 1034717.361224: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 21907 composer@2.1-s-593 ( 593) [001] ...1 1034717.361410: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 21908 composer@2.1-s-593 ( 593) [001] ...1 1034717.361464: tracing_mark_write: B|593|HWDevice::Commit:: 21909 composer@2.1-s-593 ( 593) [001] ...1 1034717.361770: tracing_mark_write: E|593 21910 composer@2.1-s-593 ( 593) [001] ...1 1034717.361849: tracing_mark_write: E|593 21911 composer@2.1-s-593 ( 593) [001] ...1 1034717.361935: tracing_mark_write: E|593 21912 surfaceflinger-591 ( 591) [000] ...1 1034717.362152: tracing_mark_write: E|591 21913 sensors@1.0-se-778 ( 778) [004] ...1 1034717.367055: tracing_mark_write: E|778 21914 SensorService-1283 ( 1151) [000] ...1 1034717.367190: tracing_mark_write: E|1151 21915 SensorService-1283 ( 1151) [000] ...1 1034717.367303: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 21916 sensors@1.0-se-778 ( 778) [004] ...1 1034717.367378: tracing_mark_write: B|778|HIDL::ISensors::poll::server 21917 sensors@1.0-se-778 ( 778) [004] ...1 1034717.386246: tracing_mark_write: E|778 21918 SensorService-1283 ( 1151) [000] ...1 1034717.386769: tracing_mark_write: E|1151 21919 SensorService-1283 ( 1151) [000] ...1 1034717.387028: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 21920 sensors@1.0-se-778 ( 778) [004] ...1 1034717.387156: tracing_mark_write: B|778|HIDL::ISensors::poll::server 21921 surfaceflinger-591 ( 591) [000] ...1 1034717.394242: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 21922 composer@2.1-s-593 ( 593) [001] ...1 1034717.394599: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 21923 composer@2.1-s-593 ( 593) [001] ...1 1034717.394764: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 21924 composer@2.1-s-593 ( 593) [001] ...1 1034717.394813: tracing_mark_write: B|593|HWDevice::Commit:: 21925 composer@2.1-s-593 ( 593) [001] ...1 1034717.395090: tracing_mark_write: E|593 21926 composer@2.1-s-593 ( 593) [001] ...1 1034717.395157: tracing_mark_write: E|593 21927 composer@2.1-s-593 ( 593) [001] ...1 1034717.395234: tracing_mark_write: E|593 21928 surfaceflinger-591 ( 591) [000] ...1 1034717.395436: tracing_mark_write: E|591 21929 sensors@1.0-se-778 ( 778) [004] ...1 1034717.405368: tracing_mark_write: E|778 21930 SensorService-1283 ( 1151) [000] ...1 1034717.405518: tracing_mark_write: E|1151 21931 SensorService-1283 ( 1151) [000] ...1 1034717.405726: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 21932 sensors@1.0-se-778 ( 778) [004] ...1 1034717.405833: tracing_mark_write: B|778|HIDL::ISensors::poll::server 21933 sensors@1.0-se-778 ( 778) [005] ...1 1034717.424590: tracing_mark_write: E|778 21934 SensorService-1283 ( 1151) [000] ...1 1034717.424775: tracing_mark_write: E|1151 21935 SensorService-1283 ( 1151) [000] ...1 1034717.424983: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 21936 sensors@1.0-se-778 ( 778) [005] ...1 1034717.425116: tracing_mark_write: B|778|HIDL::ISensors::poll::server 21937 sensors@1.0-se-778 ( 778) [005] ...1 1034717.443769: tracing_mark_write: E|778 21938 SensorService-1283 ( 1151) [000] ...1 1034717.443891: tracing_mark_write: E|1151 21939 SensorService-1283 ( 1151) [000] ...1 1034717.444031: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 21940 sensors@1.0-se-778 ( 778) [005] ...1 1034717.444140: tracing_mark_write: B|778|HIDL::ISensors::poll::server 21941 surfaceflinger-591 ( 591) [000] ...1 1034717.444727: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 21942 composer@2.1-s-593 ( 593) [002] ...1 1034717.445002: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 21943 composer@2.1-s-593 ( 593) [002] ...1 1034717.445173: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 21944 composer@2.1-s-593 ( 593) [002] ...1 1034717.445221: tracing_mark_write: B|593|HWDevice::Commit:: 21945 composer@2.1-s-593 ( 593) [002] ...1 1034717.445518: tracing_mark_write: E|593 21946 composer@2.1-s-593 ( 593) [002] ...1 1034717.445588: tracing_mark_write: E|593 21947 composer@2.1-s-593 ( 593) [002] ...1 1034717.445669: tracing_mark_write: E|593 21948 surfaceflinger-591 ( 591) [000] ...1 1034717.445872: tracing_mark_write: E|591 21949 sensors@1.0-se-778 ( 778) [005] ...1 1034717.462929: tracing_mark_write: E|778 21950 SensorService-1283 ( 1151) [000] ...1 1034717.463053: tracing_mark_write: E|1151 21951 SensorService-1283 ( 1151) [000] ...1 1034717.463193: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 21952 sensors@1.0-se-778 ( 778) [005] ...1 1034717.463360: tracing_mark_write: B|778|HIDL::ISensors::poll::server 21953 surfaceflinger-591 ( 591) [000] ...1 1034717.477960: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 21954 composer@2.1-s-593 ( 593) [002] ...1 1034717.478188: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 21955 composer@2.1-s-593 ( 593) [002] ...1 1034717.478319: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 21956 composer@2.1-s-593 ( 593) [002] ...1 1034717.478358: tracing_mark_write: B|593|HWDevice::Commit:: 21957 composer@2.1-s-593 ( 593) [002] ...1 1034717.478610: tracing_mark_write: E|593 21958 composer@2.1-s-593 ( 593) [002] ...1 1034717.478672: tracing_mark_write: E|593 21959 composer@2.1-s-593 ( 593) [002] ...1 1034717.478736: tracing_mark_write: E|593 21960 surfaceflinger-591 ( 591) [000] ...1 1034717.478915: tracing_mark_write: E|591 21961 sensors@1.0-se-778 ( 778) [005] ...1 1034717.482191: tracing_mark_write: E|778 21962 SensorService-1283 ( 1151) [000] ...1 1034717.482305: tracing_mark_write: E|1151 21963 SensorService-1283 ( 1151) [000] ...1 1034717.482446: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 21964 sensors@1.0-se-778 ( 778) [005] ...1 1034717.482538: tracing_mark_write: B|778|HIDL::ISensors::poll::server 21965 sensors@1.0-se-778 ( 778) [005] ...1 1034717.501386: tracing_mark_write: E|778 21966 SensorService-1283 ( 1151) [000] ...1 1034717.501494: tracing_mark_write: E|1151 21967 SensorService-1283 ( 1151) [000] ...1 1034717.501612: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 21968 sensors@1.0-se-778 ( 778) [005] ...1 1034717.501703: tracing_mark_write: B|778|HIDL::ISensors::poll::server 21969 sensors@1.0-se-778 ( 778) [005] ...1 1034717.520695: tracing_mark_write: E|778 21970 SensorService-1283 ( 1151) [000] ...1 1034717.520844: tracing_mark_write: E|1151 21971 SensorService-1283 ( 1151) [000] ...1 1034717.521014: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 21972 sensors@1.0-se-778 ( 778) [005] ...1 1034717.521119: tracing_mark_write: B|778|HIDL::ISensors::poll::server 21973 surfaceflinger-591 ( 591) [000] ...1 1034717.528609: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 21974 composer@2.1-s-593 ( 593) [002] ...1 1034717.528883: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 21975 composer@2.1-s-593 ( 593) [002] ...1 1034717.529044: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 21976 composer@2.1-s-593 ( 593) [002] ...1 1034717.529091: tracing_mark_write: B|593|HWDevice::Commit:: 21977 composer@2.1-s-593 ( 593) [002] ...1 1034717.529379: tracing_mark_write: E|593 21978 composer@2.1-s-593 ( 593) [002] ...1 1034717.529444: tracing_mark_write: E|593 21979 composer@2.1-s-593 ( 593) [002] ...1 1034717.529518: tracing_mark_write: E|593 21980 surfaceflinger-591 ( 591) [000] ...1 1034717.529717: tracing_mark_write: E|591 21981 sensors@1.0-se-778 ( 778) [005] ...1 1034717.540175: tracing_mark_write: E|778 21982 SensorService-1283 ( 1151) [000] ...1 1034717.540323: tracing_mark_write: E|1151 21983 SensorService-1283 ( 1151) [000] ...1 1034717.540522: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 21984 sensors@1.0-se-778 ( 778) [005] ...1 1034717.540646: tracing_mark_write: B|778|HIDL::ISensors::poll::server 21985 sensors@1.0-se-778 ( 778) [005] ...1 1034717.559160: tracing_mark_write: E|778 21986 SensorService-1283 ( 1151) [000] ...1 1034717.559279: tracing_mark_write: E|1151 21987 SensorService-1283 ( 1151) [000] ...1 1034717.559389: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 21988 sensors@1.0-se-778 ( 778) [005] ...1 1034717.559481: tracing_mark_write: B|778|HIDL::ISensors::poll::server 21989 surfaceflinger-591 ( 591) [000] ...1 1034717.561772: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 21990 composer@2.1-s-593 ( 593) [002] ...1 1034717.561989: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 21991 composer@2.1-s-593 ( 593) [002] ...1 1034717.562118: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 21992 composer@2.1-s-593 ( 593) [002] ...1 1034717.562153: tracing_mark_write: B|593|HWDevice::Commit:: 21993 composer@2.1-s-593 ( 593) [002] ...1 1034717.562386: tracing_mark_write: E|593 21994 composer@2.1-s-593 ( 593) [002] ...1 1034717.562437: tracing_mark_write: E|593 21995 composer@2.1-s-593 ( 593) [002] ...1 1034717.562496: tracing_mark_write: E|593 21996 surfaceflinger-591 ( 591) [000] ...1 1034717.562635: tracing_mark_write: E|591 21997 sensors@1.0-se-778 ( 778) [005] ...1 1034717.578487: tracing_mark_write: E|778 21998 SensorService-1283 ( 1151) [000] ...1 1034717.578634: tracing_mark_write: E|1151 21999 SensorService-1283 ( 1151) [000] ...1 1034717.578791: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 22000 sensors@1.0-se-778 ( 778) [005] ...1 1034717.578902: tracing_mark_write: B|778|HIDL::ISensors::poll::server 22001 sensors@1.0-se-778 ( 778) [005] ...1 1034717.597728: tracing_mark_write: E|778 22002 SensorService-1283 ( 1151) [000] ...1 1034717.597838: tracing_mark_write: E|1151 22003 SensorService-1283 ( 1151) [000] ...1 1034717.597969: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 22004 sensors@1.0-se-778 ( 778) [005] ...1 1034717.598070: tracing_mark_write: B|778|HIDL::ISensors::poll::server 22005 surfaceflinger-591 ( 591) [000] ...1 1034717.612263: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 22006 composer@2.1-s-593 ( 593) [002] ...1 1034717.612507: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 22007 composer@2.1-s-593 ( 593) [002] ...1 1034717.612661: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 22008 composer@2.1-s-593 ( 593) [002] ...1 1034717.612708: tracing_mark_write: B|593|HWDevice::Commit:: 22009 composer@2.1-s-593 ( 593) [002] ...1 1034717.612987: tracing_mark_write: E|593 22010 composer@2.1-s-593 ( 593) [002] ...1 1034717.613054: tracing_mark_write: E|593 22011 composer@2.1-s-593 ( 593) [002] ...1 1034717.613127: tracing_mark_write: E|593 22012 surfaceflinger-591 ( 591) [000] ...1 1034717.613344: tracing_mark_write: E|591 22013 sensors@1.0-se-778 ( 778) [005] ...1 1034717.616897: tracing_mark_write: E|778 22014 SensorService-1283 ( 1151) [000] ...1 1034717.617020: tracing_mark_write: E|1151 22015 SensorService-1283 ( 1151) [000] ...1 1034717.617170: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 22016 sensors@1.0-se-778 ( 778) [005] ...1 1034717.617270: tracing_mark_write: B|778|HIDL::ISensors::poll::server 22017 sensors@1.0-se-778 ( 778) [005] ...1 1034717.636242: tracing_mark_write: E|778 22018 SensorService-1283 ( 1151) [000] ...1 1034717.636348: tracing_mark_write: E|1151 22019 SensorService-1283 ( 1151) [000] ...1 1034717.636463: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 22020 sensors@1.0-se-778 ( 778) [005] ...1 1034717.636597: tracing_mark_write: B|778|HIDL::ISensors::poll::server 22021 surfaceflinger-591 ( 591) [000] ...1 1034717.646132: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 22022 composer@2.1-s-593 ( 593) [002] ...1 1034717.646505: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 22023 composer@2.1-s-593 ( 593) [002] ...1 1034717.646738: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 22024 composer@2.1-s-593 ( 593) [002] ...1 1034717.646790: tracing_mark_write: B|593|HWDevice::Commit:: 22025 composer@2.1-s-593 ( 593) [002] ...1 1034717.647084: tracing_mark_write: E|593 22026 composer@2.1-s-593 ( 593) [002] ...1 1034717.647158: tracing_mark_write: E|593 22027 composer@2.1-s-593 ( 593) [002] ...1 1034717.647238: tracing_mark_write: E|593 22028 surfaceflinger-591 ( 591) [000] ...1 1034717.647465: tracing_mark_write: E|591 22029 sensors@1.0-se-778 ( 778) [005] ...1 1034717.655626: tracing_mark_write: E|778 22030 SensorService-1283 ( 1151) [000] ...1 1034717.655807: tracing_mark_write: E|1151 22031 SensorService-1283 ( 1151) [000] ...1 1034717.656082: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 22032 sensors@1.0-se-778 ( 778) [005] ...1 1034717.656224: tracing_mark_write: B|778|HIDL::ISensors::poll::server 22033 sensors@1.0-se-778 ( 778) [005] ...1 1034717.674688: tracing_mark_write: E|778 22034 SensorService-1283 ( 1151) [000] ...1 1034717.674816: tracing_mark_write: E|1151 22035 SensorService-1283 ( 1151) [000] ...1 1034717.674937: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 22036 sensors@1.0-se-778 ( 778) [005] ...1 1034717.675032: tracing_mark_write: B|778|HIDL::ISensors::poll::server 22037 sensors@1.0-se-778 ( 778) [005] ...1 1034717.693979: tracing_mark_write: E|778 22038 SensorService-1283 ( 1151) [000] ...1 1034717.694098: tracing_mark_write: E|1151 22039 SensorService-1283 ( 1151) [000] ...1 1034717.694225: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 22040 sensors@1.0-se-778 ( 778) [005] ...1 1034717.694323: tracing_mark_write: B|778|HIDL::ISensors::poll::server 22041 surfaceflinger-591 ( 591) [000] ...1 1034717.696260: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 22042 composer@2.1-s-593 ( 593) [002] ...1 1034717.696603: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 22043 composer@2.1-s-593 ( 593) [002] ...1 1034717.696787: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 22044 composer@2.1-s-593 ( 593) [002] ...1 1034717.696842: tracing_mark_write: B|593|HWDevice::Commit:: 22045 composer@2.1-s-593 ( 593) [002] ...1 1034717.697144: tracing_mark_write: E|593 22046 composer@2.1-s-593 ( 593) [002] ...1 1034717.697216: tracing_mark_write: E|593 22047 composer@2.1-s-593 ( 593) [002] ...1 1034717.697299: tracing_mark_write: E|593 22048 surfaceflinger-591 ( 591) [000] ...1 1034717.697508: tracing_mark_write: E|591 22049 sensors@1.0-se-778 ( 778) [005] ...1 1034717.713415: tracing_mark_write: E|778 22050 SensorService-1283 ( 1151) [000] ...1 1034717.713605: tracing_mark_write: E|1151 22051 SensorService-1283 ( 1151) [000] ...1 1034717.713795: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 22052 sensors@1.0-se-778 ( 778) [005] ...1 1034717.713919: tracing_mark_write: B|778|HIDL::ISensors::poll::server 22053 surfaceflinger-591 ( 591) [000] ...1 1034717.729747: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 22054 composer@2.1-s-593 ( 593) [002] ...1 1034717.730017: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 22055 composer@2.1-s-593 ( 593) [002] ...1 1034717.730114: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 22056 composer@2.1-s-593 ( 593) [002] ...1 1034717.730143: tracing_mark_write: B|593|HWDevice::Commit:: 22057 composer@2.1-s-593 ( 593) [002] ...1 1034717.730317: tracing_mark_write: E|593 22058 composer@2.1-s-593 ( 593) [002] ...1 1034717.730359: tracing_mark_write: E|593 22059 composer@2.1-s-593 ( 593) [002] ...1 1034717.730406: tracing_mark_write: E|593 22060 surfaceflinger-591 ( 591) [000] ...1 1034717.730534: tracing_mark_write: E|591 22061 sensors@1.0-se-778 ( 778) [005] ...1 1034717.733013: tracing_mark_write: E|778 22062 SensorService-1283 ( 1151) [000] ...1 1034717.733333: tracing_mark_write: E|1151 22063 SensorService-1283 ( 1151) [000] ...1 1034717.733461: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 22064 HwBinder:778_1-1087 ( 778) [003] ...1 1034717.733611: tracing_mark_write: B|778|HIDL::ISensors::poll::server 22065 HwBinder:778_1-1087 ( 778) [001] ...1 1034717.751858: tracing_mark_write: E|778 22066 SensorService-1283 ( 1151) [000] ...1 1034717.752001: tracing_mark_write: E|1151 22067 SensorService-1283 ( 1151) [000] ...1 1034717.752131: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 22068 HwBinder:778_1-1087 ( 778) [001] ...1 1034717.752268: tracing_mark_write: B|778|HIDL::ISensors::poll::server 22069 surfaceflinger-591 ( 591) [003] ...1 1034717.763141: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 22070 composer@2.1-s-593 ( 593) [002] ...1 1034717.763359: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 22071 composer@2.1-s-593 ( 593) [002] ...1 1034717.763459: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 22072 composer@2.1-s-593 ( 593) [002] ...1 1034717.763488: tracing_mark_write: B|593|HWDevice::Commit:: 22073 composer@2.1-s-593 ( 593) [002] ...1 1034717.763665: tracing_mark_write: E|593 22074 composer@2.1-s-593 ( 593) [002] ...1 1034717.763705: tracing_mark_write: E|593 22075 composer@2.1-s-593 ( 593) [002] ...1 1034717.763747: tracing_mark_write: E|593 22076 surfaceflinger-591 ( 591) [003] ...1 1034717.763854: tracing_mark_write: E|591 22077 HwBinder:778_1-1087 ( 778) [000] ...1 1034717.770944: tracing_mark_write: E|778 22078 SensorService-1283 ( 1151) [001] ...1 1034717.771041: tracing_mark_write: E|1151 22079 SensorService-1283 ( 1151) [001] ...1 1034717.771139: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 22080 HwBinder:778_1-1087 ( 778) [000] ...1 1034717.771219: tracing_mark_write: B|778|HIDL::ISensors::poll::server 22081 HwBinder:778_1-1087 ( 778) [001] ...1 1034717.790173: tracing_mark_write: E|778 22082 SensorService-1283 ( 1151) [000] ...1 1034717.790310: tracing_mark_write: E|1151 22083 SensorService-1283 ( 1151) [000] ...1 1034717.790444: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 22084 HwBinder:778_1-1087 ( 778) [001] ...1 1034717.790575: tracing_mark_write: B|778|HIDL::ISensors::poll::server 22085 HwBinder:778_1-1087 ( 778) [001] ...1 1034717.809452: tracing_mark_write: E|778 22086 SensorService-1283 ( 1151) [000] ...1 1034717.809573: tracing_mark_write: E|1151 22087 SensorService-1283 ( 1151) [000] ...1 1034717.809689: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 22088 HwBinder:778_1-1087 ( 778) [001] ...1 1034717.809812: tracing_mark_write: B|778|HIDL::ISensors::poll::server 22089 surfaceflinger-591 ( 591) [000] ...1 1034717.813678: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 22090 composer@2.1-s-593 ( 593) [002] ...1 1034717.813936: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 22091 composer@2.1-s-593 ( 593) [002] ...1 1034717.814093: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 22092 composer@2.1-s-593 ( 593) [002] ...1 1034717.814141: tracing_mark_write: B|593|HWDevice::Commit:: 22093 composer@2.1-s-593 ( 593) [002] ...1 1034717.814422: tracing_mark_write: E|593 22094 composer@2.1-s-593 ( 593) [002] ...1 1034717.814492: tracing_mark_write: E|593 22095 composer@2.1-s-593 ( 593) [002] ...1 1034717.814568: tracing_mark_write: E|593 22096 surfaceflinger-591 ( 591) [000] ...1 1034717.814764: tracing_mark_write: E|591 22097 HwBinder:778_1-1087 ( 778) [001] ...1 1034717.828890: tracing_mark_write: E|778 22098 SensorService-1283 ( 1151) [000] ...1 1034717.829032: tracing_mark_write: E|1151 22099 SensorService-1283 ( 1151) [000] ...1 1034717.829176: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 22100 HwBinder:778_1-1087 ( 778) [001] ...1 1034717.829313: tracing_mark_write: B|778|HIDL::ISensors::poll::server 22101 surfaceflinger-591 ( 591) [000] ...1 1034717.847757: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 22102 composer@2.1-s-593 ( 593) [002] ...1 1034717.848120: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 22103 HwBinder:778_1-1087 ( 778) [003] ...1 1034717.848141: tracing_mark_write: E|778 22104 composer@2.1-s-593 ( 593) [002] ...1 1034717.848283: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 22105 SensorService-1283 ( 1151) [000] ...1 1034717.848318: tracing_mark_write: E|1151 22106 composer@2.1-s-593 ( 593) [002] ...1 1034717.848330: tracing_mark_write: B|593|HWDevice::Commit:: 22107 SensorService-1283 ( 1151) [000] ...1 1034717.848483: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 22108 HwBinder:778_1-1087 ( 778) [003] ...1 1034717.848630: tracing_mark_write: B|778|HIDL::ISensors::poll::server 22109 composer@2.1-s-593 ( 593) [000] ...1 1034717.848695: tracing_mark_write: E|593 22110 composer@2.1-s-593 ( 593) [000] ...1 1034717.848775: tracing_mark_write: E|593 22111 composer@2.1-s-593 ( 593) [000] ...1 1034717.848859: tracing_mark_write: E|593 22112 surfaceflinger-591 ( 591) [001] ...1 1034717.849089: tracing_mark_write: E|591 22113 HwBinder:778_1-1087 ( 778) [000] ...1 1034717.867266: tracing_mark_write: E|778 22114 SensorService-1283 ( 1151) [001] ...1 1034717.867428: tracing_mark_write: E|1151 22115 SensorService-1283 ( 1151) [001] ...1 1034717.867560: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 22116 HwBinder:778_1-1087 ( 778) [000] ...1 1034717.867672: tracing_mark_write: B|778|HIDL::ISensors::poll::server 22117 HwBinder:778_1-1087 ( 778) [000] ...1 1034717.886773: tracing_mark_write: E|778 22118 SensorService-1283 ( 1151) [001] ...1 1034717.886971: tracing_mark_write: E|1151 22119 SensorService-1283 ( 1151) [001] ...1 1034717.887103: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 22120 HwBinder:778_1-1087 ( 778) [000] ...1 1034717.887245: tracing_mark_write: B|778|HIDL::ISensors::poll::server 22121 surfaceflinger-591 ( 591) [000] ...1 1034717.897525: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 22122 composer@2.1-s-593 ( 593) [001] ...1 1034717.897769: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 22123 composer@2.1-s-593 ( 593) [001] ...1 1034717.897906: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 22124 composer@2.1-s-593 ( 593) [001] ...1 1034717.897949: tracing_mark_write: B|593|HWDevice::Commit:: 22125 composer@2.1-s-593 ( 593) [001] ...1 1034717.898209: tracing_mark_write: E|593 22126 composer@2.1-s-593 ( 593) [001] ...1 1034717.898274: tracing_mark_write: E|593 22127 composer@2.1-s-593 ( 593) [001] ...1 1034717.898343: tracing_mark_write: E|593 22128 surfaceflinger-591 ( 591) [000] ...1 1034717.898533: tracing_mark_write: E|591 22129 HwBinder:778_1-1087 ( 778) [000] ...1 1034717.905765: tracing_mark_write: E|778 22130 SensorService-1283 ( 1151) [001] ...1 1034717.905913: tracing_mark_write: E|1151 22131 SensorService-1283 ( 1151) [001] ...1 1034717.906056: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 22132 HwBinder:778_1-1087 ( 778) [000] ...1 1034717.906194: tracing_mark_write: B|778|HIDL::ISensors::poll::server 22133 HwBinder:778_1-1087 ( 778) [000] ...1 1034717.925113: tracing_mark_write: E|778 22134 SensorService-1283 ( 1151) [001] ...1 1034717.925252: tracing_mark_write: E|1151 22135 SensorService-1283 ( 1151) [001] ...1 1034717.925378: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 22136 HwBinder:778_1-1087 ( 778) [000] ...1 1034717.925512: tracing_mark_write: B|778|HIDL::ISensors::poll::server 22137 surfaceflinger-591 ( 591) [001] ...1 1034717.928572: tracing_mark_write: B|591|HIDL::IComposerClient::getActiveConfig::client 22138 composer@2.1-s-593 ( 593) [000] ...1 1034717.928764: tracing_mark_write: B|593|HIDL::IComposerClient::getActiveConfig::server 22139 composer@2.1-s-593 ( 593) [000] ...1 1034717.928806: tracing_mark_write: E|593 22140 surfaceflinger-591 ( 591) [001] ...1 1034717.928934: tracing_mark_write: E|591 22141 surfaceflinger-591 ( 591) [000] ...1 1034717.930097: tracing_mark_write: B|591|HIDL::IComposerClient::getActiveConfig::client 22142 composer@2.1-s-593 ( 593) [001] ...1 1034717.930242: tracing_mark_write: B|593|HIDL::IComposerClient::getActiveConfig::server 22143 composer@2.1-s-593 ( 593) [001] ...1 1034717.930268: tracing_mark_write: E|593 22144 surfaceflinger-591 ( 591) [003] ...1 1034717.930391: tracing_mark_write: E|591 22145 surfaceflinger-591 ( 591) [003] ...1 1034717.932674: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 22146 composer@2.1-s-593 ( 593) [001] ...1 1034717.932884: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 22147 composer@2.1-s-593 ( 593) [001] ...1 1034717.933060: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 22148 composer@2.1-s-593 ( 593) [001] ...1 1034717.933101: tracing_mark_write: B|593|HWDevice::Commit:: 22149 composer@2.1-s-593 ( 593) [001] ...1 1034717.933471: tracing_mark_write: E|593 22150 composer@2.1-s-593 ( 593) [001] ...1 1034717.933534: tracing_mark_write: E|593 22151 composer@2.1-s-593 ( 593) [001] ...1 1034717.933610: tracing_mark_write: E|593 22152 surfaceflinger-591 ( 591) [003] ...1 1034717.933798: tracing_mark_write: E|591 22153 surfaceflinger-591 ( 591) [003] ...1 1034717.934719: tracing_mark_write: B|591|HIDL::IComposerClient::getActiveConfig::client 22154 composer@2.1-s-593 ( 593) [001] ...1 1034717.934869: tracing_mark_write: B|593|HIDL::IComposerClient::getActiveConfig::server 22155 composer@2.1-s-593 ( 593) [001] ...1 1034717.934893: tracing_mark_write: E|593 22156 surfaceflinger-591 ( 591) [003] ...1 1034717.935000: tracing_mark_write: E|591 22157 Binder:1151_9-1624 ( 1151) [007] ...1 1034717.939372: tracing_mark_write: B|1151|HIDL::IPower::powerHintAsync::client 22158 Binder:1151_9-1624 ( 1151) [007] ...1 1034717.939614: tracing_mark_write: E|1151 22159 power@1.2-serv-773 ( 773) [004] ...1 1034717.939694: tracing_mark_write: B|773|HIDL::IPower::powerHintAsync::server 22160 power@1.2-serv-773 ( 773) [004] ...1 1034717.940314: tracing_mark_write: B|773|launch 22161 power@1.2-serv-773 ( 773) [004] ...1 1034717.940328: tracing_mark_write: C|773|launch_lock|1 22162 power@1.2-serv-773 ( 773) [004] ...1 1034717.940708: tracing_mark_write: E|773 22163 power@1.2-serv-773 ( 773) [004] ...1 1034717.940723: tracing_mark_write: E|773 22164 surfaceflinger-591 ( 591) [000] ...1 1034717.941313: tracing_mark_write: B|591|HIDL::IComposerClient::getActiveConfig::client 22165 composer@2.1-s-593 ( 593) [001] ...1 1034717.941362: tracing_mark_write: B|593|HIDL::IComposerClient::getActiveConfig::server 22166 composer@2.1-s-593 ( 593) [001] ...1 1034717.941370: tracing_mark_write: E|593 22167 surfaceflinger-591 ( 591) [000] ...1 1034717.941396: tracing_mark_write: E|591 22168 surfaceflinger-591 ( 591) [000] ...1 1034717.947749: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 22169 composer@2.1-s-593 ( 593) [001] ...1 1034717.947883: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 22170 composer@2.1-s-593 ( 593) [001] ...1 1034717.947954: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 22171 composer@2.1-s-593 ( 593) [001] ...1 1034717.947963: tracing_mark_write: E|593 22172 composer@2.1-s-593 ( 593) [001] ...1 1034717.947968: tracing_mark_write: B|593|HWCSession::ValidateDisplay:: 22173 composer@2.1-s-593 ( 593) [001] ...1 1034717.948249: tracing_mark_write: B|593|HWDevice::Validate:: 22174 composer@2.1-s-593 ( 593) [001] ...1 1034717.948313: tracing_mark_write: E|593 22175 composer@2.1-s-593 ( 593) [001] ...1 1034717.948332: tracing_mark_write: E|593 22176 composer@2.1-s-593 ( 593) [001] ...1 1034717.948352: tracing_mark_write: E|593 22177 surfaceflinger-591 ( 591) [000] ...1 1034717.948407: tracing_mark_write: E|591 22178 surfaceflinger-591 ( 591) [000] ...1 1034717.948476: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 22179 composer@2.1-s-593 ( 593) [001] ...1 1034717.948526: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 22180 composer@2.1-s-593 ( 593) [001] ...1 1034717.948536: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 22181 composer@2.1-s-593 ( 593) [001] ...1 1034717.948547: tracing_mark_write: B|593|HWDevice::Commit:: 22182 HwBinder:778_1-1087 ( 778) [000] ...1 1034717.948604: tracing_mark_write: E|778 22183 composer@2.1-s-593 ( 593) [001] ...1 1034717.948634: tracing_mark_write: E|593 22184 composer@2.1-s-593 ( 593) [001] ...1 1034717.948652: tracing_mark_write: E|593 22185 SensorService-1283 ( 1151) [003] ...1 1034717.948663: tracing_mark_write: E|1151 22186 composer@2.1-s-593 ( 593) [001] ...1 1034717.948673: tracing_mark_write: E|593 22187 surfaceflinger-591 ( 591) [000] ...1 1034717.948720: tracing_mark_write: E|591 22188 SensorService-1283 ( 1151) [003] ...1 1034717.948730: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 22189 HwBinder:778_1-1087 ( 778) [004] ...1 1034717.948783: tracing_mark_write: B|778|HIDL::ISensors::poll::server 22190 surfaceflinger-591 ( 591) [000] ...1 1034717.948922: tracing_mark_write: B|591|HIDL::IComposerClient::getActiveConfig::client 22191 composer@2.1-s-593 ( 593) [001] ...1 1034717.948969: tracing_mark_write: B|593|HIDL::IComposerClient::getActiveConfig::server 22192 composer@2.1-s-593 ( 593) [001] ...1 1034717.948979: tracing_mark_write: E|593 22193 surfaceflinger-591 ( 591) [000] ...1 1034717.949005: tracing_mark_write: E|591 22194 surfaceflinger-591 ( 591) [001] ...1 1034717.961674: tracing_mark_write: B|591|HIDL::IComposerClient::getActiveConfig::client 22195 composer@2.1-s-593 ( 593) [000] ...1 1034717.961765: tracing_mark_write: B|593|HIDL::IComposerClient::getActiveConfig::server 22196 composer@2.1-s-593 ( 593) [000] ...1 1034717.961781: tracing_mark_write: E|593 22197 surfaceflinger-591 ( 591) [001] ...1 1034717.961819: tracing_mark_write: E|591 22198 HwBinder:778_1-1087 ( 778) [005] ...1 1034717.963511: tracing_mark_write: E|778 22199 SensorService-1283 ( 1151) [003] ...1 1034717.963585: tracing_mark_write: E|1151 22200 SensorService-1283 ( 1151) [003] ...1 1034717.963656: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 22201 HwBinder:778_1-1087 ( 778) [005] ...1 1034717.963707: tracing_mark_write: B|778|HIDL::ISensors::poll::server 22202 surfaceflinger-591 ( 591) [001] ...1 1034717.963855: tracing_mark_write: B|591|HIDL::IComposerClient::getActiveConfig::client 22203 composer@2.1-s-593 ( 593) [000] ...1 1034717.963929: tracing_mark_write: B|593|HIDL::IComposerClient::getActiveConfig::server 22204 composer@2.1-s-593 ( 593) [000] ...1 1034717.963946: tracing_mark_write: E|593 22205 surfaceflinger-591 ( 591) [001] ...1 1034717.963979: tracing_mark_write: E|591 22206 surfaceflinger-591 ( 591) [001] ...1 1034717.964750: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 22207 composer@2.1-s-593 ( 593) [000] ...1 1034717.964819: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 22208 composer@2.1-s-593 ( 593) [000] ...1 1034717.964886: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 22209 composer@2.1-s-593 ( 593) [000] ...1 1034717.964905: tracing_mark_write: B|593|HWDevice::Commit:: 22210 composer@2.1-s-593 ( 593) [000] ...1 1034717.965004: tracing_mark_write: E|593 22211 composer@2.1-s-593 ( 593) [000] ...1 1034717.965030: tracing_mark_write: E|593 22212 composer@2.1-s-593 ( 593) [000] ...1 1034717.965057: tracing_mark_write: E|593 22213 surfaceflinger-591 ( 591) [001] ...1 1034717.965113: tracing_mark_write: E|591 22214 surfaceflinger-591 ( 591) [001] ...1 1034717.965320: tracing_mark_write: B|591|HIDL::IComposerClient::getActiveConfig::client 22215 composer@2.1-s-593 ( 593) [000] ...1 1034717.965363: tracing_mark_write: B|593|HIDL::IComposerClient::getActiveConfig::server 22216 composer@2.1-s-593 ( 593) [000] ...1 1034717.965369: tracing_mark_write: E|593 22217 surfaceflinger-591 ( 591) [001] ...1 1034717.965395: tracing_mark_write: E|591 22218 Binder:591_4-1671 ( 591) [002] ...1 1034717.978916: tracing_mark_write: B|591|HIDL::IMapper::createDescriptor::passthrough 22219 Binder:591_4-1671 ( 591) [002] ...1 1034717.978932: tracing_mark_write: E|591 22220 Binder:591_4-1671 ( 591) [002] ...1 1034717.978947: tracing_mark_write: B|591|HIDL::IAllocator::allocate::client 22221 HwBinder:595_2-1778 ( 595) [003] ...1 1034717.979078: tracing_mark_write: B|595|HIDL::IAllocator::allocate::server 22222 HwBinder:595_2-1778 ( 595) [003] ...1 1034717.979124: tracing_mark_write: B|595|AllocBuffer 22223 HwBinder:595_2-1778 ( 595) [003] ...1 1034717.979135: tracing_mark_write: B|595|ION_IOC_ALLOC size: 8355840 22224 HwBinder:595_2-1778 ( 595) [003] ...1 1034717.979274: tracing_mark_write: E|595 22225 HwBinder:595_2-1778 ( 595) [003] ...1 1034717.979277: tracing_mark_write: B|595|ION_IOC_MAP 22226 HwBinder:595_2-1778 ( 595) [003] ...1 1034717.979290: tracing_mark_write: E|595 22227 HwBinder:595_2-1778 ( 595) [003] ...1 1034717.979294: tracing_mark_write: E|595 22228 HwBinder:595_2-1778 ( 595) [003] ...1 1034717.979297: tracing_mark_write: B|595|AllocBuffer 22229 HwBinder:595_2-1778 ( 595) [003] ...1 1034717.979301: tracing_mark_write: B|595|ION_IOC_ALLOC size: 4096 22230 HwBinder:595_2-1778 ( 595) [003] ...1 1034717.979308: tracing_mark_write: E|595 22231 HwBinder:595_2-1778 ( 595) [003] ...1 1034717.979311: tracing_mark_write: B|595|ION_IOC_MAP 22232 HwBinder:595_2-1778 ( 595) [003] ...1 1034717.979317: tracing_mark_write: E|595 22233 HwBinder:595_2-1778 ( 595) [003] ...1 1034717.979320: tracing_mark_write: E|595 22234 HwBinder:595_2-1778 ( 595) [003] ...1 1034717.979363: tracing_mark_write: E|595 22235 HwBinder:595_2-1778 ( 595) [003] ...1 1034717.979430: tracing_mark_write: B|595|FreeBuffer 22236 HwBinder:595_2-1778 ( 595) [003] ...1 1034717.979438: tracing_mark_write: E|595 22237 HwBinder:595_2-1778 ( 595) [003] ...1 1034717.979440: tracing_mark_write: B|595|FreeBuffer 22238 Binder:591_4-1671 ( 591) [000] ...1 1034717.979443: tracing_mark_write: B|591|HIDL::IMapper::importBuffer::passthrough 22239 HwBinder:595_2-1778 ( 595) [003] ...1 1034717.979443: tracing_mark_write: B|595|UnmapBuffer 22240 HwBinder:595_2-1778 ( 595) [003] ...1 1034717.979455: tracing_mark_write: E|595 22241 HwBinder:595_2-1778 ( 595) [003] ...1 1034717.979460: tracing_mark_write: E|595 22242 Binder:591_4-1671 ( 591) [000] ...1 1034717.979497: tracing_mark_write: E|591 22243 Binder:591_4-1671 ( 591) [000] ...1 1034717.979502: tracing_mark_write: E|591 22244 android.anim-1277 ( 1151) [007] ...1 1034717.979672: tracing_mark_write: B|1151|HIDL::IMapper::importBuffer::passthrough 22245 android.anim-1277 ( 1151) [007] ...1 1034717.979718: tracing_mark_write: E|1151 22246 android.anim-1277 ( 1151) [007] ...1 1034717.979743: tracing_mark_write: B|1151|HIDL::IMapper::lock::passthrough 22247 android.anim-1277 ( 1151) [007] ...1 1034717.979748: tracing_mark_write: B|1151|LockBuffer 22248 android.anim-1277 ( 1151) [007] ...1 1034717.979752: tracing_mark_write: B|1151|MapBuffer 22249 android.anim-1277 ( 1151) [007] ...1 1034717.979782: tracing_mark_write: E|1151 22250 android.anim-1277 ( 1151) [007] ...1 1034717.979784: tracing_mark_write: B|1151|CleanBuffer 22251 android.anim-1277 ( 1151) [007] ...1 1034717.979785: tracing_mark_write: C|1151|operation id|2 22252 surfaceflinger-591 ( 591) [002] ...1 1034717.980696: tracing_mark_write: B|591|HIDL::IComposerClient::getActiveConfig::client 22253 composer@2.1-s-593 ( 593) [000] ...1 1034717.980763: tracing_mark_write: B|593|HIDL::IComposerClient::getActiveConfig::server 22254 composer@2.1-s-593 ( 593) [000] ...1 1034717.980777: tracing_mark_write: E|593 22255 surfaceflinger-591 ( 591) [002] ...1 1034717.980807: tracing_mark_write: E|591 22256 surfaceflinger-591 ( 591) [002] ...1 1034717.981826: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 22257 composer@2.1-s-593 ( 593) [000] ...1 1034717.981950: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 22258 composer@2.1-s-593 ( 593) [000] ...1 1034717.982023: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 22259 composer@2.1-s-593 ( 593) [000] ...1 1034717.982034: tracing_mark_write: E|593 22260 composer@2.1-s-593 ( 593) [000] ...1 1034717.982038: tracing_mark_write: B|593|HWCSession::ValidateDisplay:: 22261 android.anim-1277 ( 1151) [007] ...1 1034717.982046: tracing_mark_write: E|1151 22262 android.anim-1277 ( 1151) [007] ...1 1034717.982051: tracing_mark_write: E|1151 22263 android.anim-1277 ( 1151) [007] ...1 1034717.982057: tracing_mark_write: E|1151 22264 composer@2.1-s-593 ( 593) [000] ...1 1034717.982342: tracing_mark_write: B|593|HWDevice::Validate:: 22265 composer@2.1-s-593 ( 593) [000] ...1 1034717.982429: tracing_mark_write: E|593 22266 Binder:591_4-1671 ( 591) [001] ...1 1034717.982441: tracing_mark_write: B|591|HIDL::IMapper::createDescriptor::passthrough 22267 composer@2.1-s-593 ( 593) [000] ...1 1034717.982449: tracing_mark_write: E|593 22268 Binder:591_4-1671 ( 591) [001] ...1 1034717.982450: tracing_mark_write: E|591 22269 Binder:591_4-1671 ( 591) [001] ...1 1034717.982466: tracing_mark_write: B|591|HIDL::IAllocator::allocate::client 22270 composer@2.1-s-593 ( 593) [000] ...1 1034717.982472: tracing_mark_write: E|593 22271 surfaceflinger-591 ( 591) [002] ...1 1034717.982535: tracing_mark_write: E|591 22272 HwBinder:595_2-1778 ( 595) [000] ...1 1034717.982586: tracing_mark_write: B|595|HIDL::IAllocator::allocate::server 22273 HwBinder:595_2-1778 ( 595) [000] ...1 1034717.982616: tracing_mark_write: B|595|AllocBuffer 22274 surfaceflinger-591 ( 591) [002] ...1 1034717.982617: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 22275 HwBinder:595_2-1778 ( 595) [000] ...1 1034717.982626: tracing_mark_write: B|595|ION_IOC_ALLOC size: 3891200 22276 composer@2.1-s-593 ( 593) [000] ...1 1034717.982663: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 22277 composer@2.1-s-593 ( 593) [000] ...1 1034717.982674: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 22278 composer@2.1-s-593 ( 593) [000] ...1 1034717.982687: tracing_mark_write: B|593|HWDevice::Commit:: 22279 composer@2.1-s-593 ( 593) [000] ...1 1034717.982785: tracing_mark_write: E|593 22280 composer@2.1-s-593 ( 593) [000] ...1 1034717.982807: tracing_mark_write: E|593 22281 HwBinder:778_1-1087 ( 778) [003] ...1 1034717.982822: tracing_mark_write: E|778 22282 composer@2.1-s-593 ( 593) [000] ...1 1034717.982830: tracing_mark_write: E|593 22283 surfaceflinger-591 ( 591) [002] ...1 1034717.982882: tracing_mark_write: E|591 22284 SensorService-1283 ( 1151) [001] ...1 1034717.982885: tracing_mark_write: E|1151 22285 HwBinder:595_2-1778 ( 595) [000] ...1 1034717.982939: tracing_mark_write: E|595 22286 HwBinder:595_2-1778 ( 595) [000] ...1 1034717.982942: tracing_mark_write: B|595|ION_IOC_MAP 22287 SensorService-1283 ( 1151) [001] ...1 1034717.982954: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 22288 HwBinder:595_2-1778 ( 595) [000] ...1 1034717.982955: tracing_mark_write: E|595 22289 HwBinder:595_2-1778 ( 595) [000] ...1 1034717.982960: tracing_mark_write: E|595 22290 HwBinder:595_2-1778 ( 595) [000] ...1 1034717.982964: tracing_mark_write: B|595|AllocBuffer 22291 HwBinder:595_2-1778 ( 595) [000] ...1 1034717.982970: tracing_mark_write: B|595|ION_IOC_ALLOC size: 4096 22292 HwBinder:595_2-1778 ( 595) [000] ...1 1034717.982981: tracing_mark_write: E|595 22293 HwBinder:595_2-1778 ( 595) [000] ...1 1034717.982984: tracing_mark_write: B|595|ION_IOC_MAP 22294 HwBinder:595_2-1778 ( 595) [000] ...1 1034717.982990: tracing_mark_write: E|595 22295 HwBinder:595_2-1778 ( 595) [000] ...1 1034717.982993: tracing_mark_write: E|595 22296 HwBinder:778_1-1087 ( 778) [003] ...1 1034717.982997: tracing_mark_write: B|778|HIDL::ISensors::poll::server 22297 HwBinder:595_2-1778 ( 595) [000] ...1 1034717.983035: tracing_mark_write: E|595 22298 HwBinder:595_2-1778 ( 595) [000] ...1 1034717.983074: tracing_mark_write: B|595|FreeBuffer 22299 Binder:591_4-1671 ( 591) [001] ...1 1034717.983082: tracing_mark_write: B|591|HIDL::IMapper::importBuffer::passthrough 22300 HwBinder:595_2-1778 ( 595) [000] ...1 1034717.983082: tracing_mark_write: E|595 22301 HwBinder:595_2-1778 ( 595) [000] ...1 1034717.983085: tracing_mark_write: B|595|FreeBuffer 22302 HwBinder:595_2-1778 ( 595) [000] ...1 1034717.983087: tracing_mark_write: B|595|UnmapBuffer 22303 HwBinder:595_2-1778 ( 595) [000] ...1 1034717.983099: tracing_mark_write: E|595 22304 HwBinder:595_2-1778 ( 595) [000] ...1 1034717.983105: tracing_mark_write: E|595 22305 Binder:591_4-1671 ( 591) [001] ...1 1034717.983113: tracing_mark_write: E|591 22306 Binder:591_4-1671 ( 591) [001] ...1 1034717.983118: tracing_mark_write: E|591 22307 Binder:591_4-1671 ( 591) [001] ...1 1034717.983152: tracing_mark_write: B|591|HIDL::IMapper::createDescriptor::passthrough 22308 Binder:591_4-1671 ( 591) [001] ...1 1034717.983157: tracing_mark_write: E|591 22309 Binder:591_4-1671 ( 591) [001] ...1 1034717.983166: tracing_mark_write: B|591|HIDL::IAllocator::allocate::client 22310 HwBinder:595_2-1778 ( 595) [000] ...1 1034717.983252: tracing_mark_write: B|595|HIDL::IAllocator::allocate::server 22311 HwBinder:595_2-1778 ( 595) [000] ...1 1034717.983267: tracing_mark_write: B|595|AllocBuffer 22312 HwBinder:595_2-1778 ( 595) [000] ...1 1034717.983271: tracing_mark_write: B|595|ION_IOC_ALLOC size: 3891200 22313 HwBinder:595_2-1778 ( 595) [000] ...1 1034717.983327: tracing_mark_write: E|595 22314 HwBinder:595_2-1778 ( 595) [000] ...1 1034717.983330: tracing_mark_write: B|595|ION_IOC_MAP 22315 HwBinder:595_2-1778 ( 595) [000] ...1 1034717.983338: tracing_mark_write: E|595 22316 HwBinder:595_2-1778 ( 595) [000] ...1 1034717.983341: tracing_mark_write: E|595 22317 HwBinder:595_2-1778 ( 595) [000] ...1 1034717.983343: tracing_mark_write: B|595|AllocBuffer 22318 HwBinder:595_2-1778 ( 595) [000] ...1 1034717.983347: tracing_mark_write: B|595|ION_IOC_ALLOC size: 4096 22319 HwBinder:595_2-1778 ( 595) [000] ...1 1034717.983354: tracing_mark_write: E|595 22320 HwBinder:595_2-1778 ( 595) [000] ...1 1034717.983356: tracing_mark_write: B|595|ION_IOC_MAP 22321 HwBinder:595_2-1778 ( 595) [000] ...1 1034717.983363: tracing_mark_write: E|595 22322 HwBinder:595_2-1778 ( 595) [000] ...1 1034717.983366: tracing_mark_write: E|595 22323 HwBinder:595_2-1778 ( 595) [000] ...1 1034717.983387: tracing_mark_write: E|595 22324 HwBinder:595_2-1778 ( 595) [000] ...1 1034717.983417: tracing_mark_write: B|595|FreeBuffer 22325 Binder:591_4-1671 ( 591) [001] ...1 1034717.983421: tracing_mark_write: B|591|HIDL::IMapper::importBuffer::passthrough 22326 HwBinder:595_2-1778 ( 595) [000] ...1 1034717.983423: tracing_mark_write: E|595 22327 HwBinder:595_2-1778 ( 595) [000] ...1 1034717.983425: tracing_mark_write: B|595|FreeBuffer 22328 HwBinder:595_2-1778 ( 595) [000] ...1 1034717.983428: tracing_mark_write: B|595|UnmapBuffer 22329 HwBinder:595_2-1778 ( 595) [000] ...1 1034717.983434: tracing_mark_write: E|595 22330 HwBinder:595_2-1778 ( 595) [000] ...1 1034717.983439: tracing_mark_write: E|595 22331 Binder:591_4-1671 ( 591) [001] ...1 1034717.983441: tracing_mark_write: E|591 22332 Binder:591_4-1671 ( 591) [001] ...1 1034717.983445: tracing_mark_write: E|591 22333 Binder:591_4-1671 ( 591) [001] ...1 1034717.983461: tracing_mark_write: B|591|HIDL::IMapper::createDescriptor::passthrough 22334 Binder:591_4-1671 ( 591) [001] ...1 1034717.983465: tracing_mark_write: E|591 22335 Binder:591_4-1671 ( 591) [001] ...1 1034717.983470: tracing_mark_write: B|591|HIDL::IAllocator::allocate::client 22336 HwBinder:595_2-1778 ( 595) [000] ...1 1034717.983503: tracing_mark_write: B|595|HIDL::IAllocator::allocate::server 22337 HwBinder:595_2-1778 ( 595) [000] ...1 1034717.983511: tracing_mark_write: B|595|AllocBuffer 22338 HwBinder:595_2-1778 ( 595) [000] ...1 1034717.983515: tracing_mark_write: B|595|ION_IOC_ALLOC size: 3891200 22339 HwBinder:595_2-1778 ( 595) [000] ...1 1034717.983562: tracing_mark_write: E|595 22340 HwBinder:595_2-1778 ( 595) [000] ...1 1034717.983564: tracing_mark_write: B|595|ION_IOC_MAP 22341 HwBinder:595_2-1778 ( 595) [000] ...1 1034717.983572: tracing_mark_write: E|595 22342 HwBinder:595_2-1778 ( 595) [000] ...1 1034717.983575: tracing_mark_write: E|595 22343 HwBinder:595_2-1778 ( 595) [000] ...1 1034717.983577: tracing_mark_write: B|595|AllocBuffer 22344 HwBinder:595_2-1778 ( 595) [000] ...1 1034717.983581: tracing_mark_write: B|595|ION_IOC_ALLOC size: 4096 22345 HwBinder:595_2-1778 ( 595) [000] ...1 1034717.983587: tracing_mark_write: E|595 22346 HwBinder:595_2-1778 ( 595) [000] ...1 1034717.983590: tracing_mark_write: B|595|ION_IOC_MAP 22347 HwBinder:595_2-1778 ( 595) [000] ...1 1034717.983597: tracing_mark_write: E|595 22348 HwBinder:595_2-1778 ( 595) [000] ...1 1034717.983599: tracing_mark_write: E|595 22349 HwBinder:595_2-1778 ( 595) [000] ...1 1034717.983616: tracing_mark_write: E|595 22350 HwBinder:595_2-1778 ( 595) [000] ...1 1034717.983643: tracing_mark_write: B|595|FreeBuffer 22351 Binder:591_4-1671 ( 591) [001] ...1 1034717.983647: tracing_mark_write: B|591|HIDL::IMapper::importBuffer::passthrough 22352 HwBinder:595_2-1778 ( 595) [000] ...1 1034717.983649: tracing_mark_write: E|595 22353 HwBinder:595_2-1778 ( 595) [000] ...1 1034717.983651: tracing_mark_write: B|595|FreeBuffer 22354 HwBinder:595_2-1778 ( 595) [000] ...1 1034717.983654: tracing_mark_write: B|595|UnmapBuffer 22355 HwBinder:595_2-1778 ( 595) [000] ...1 1034717.983659: tracing_mark_write: E|595 22356 Binder:591_4-1671 ( 591) [001] ...1 1034717.983661: tracing_mark_write: E|591 22357 HwBinder:595_2-1778 ( 595) [000] ...1 1034717.983664: tracing_mark_write: E|595 22358 Binder:591_4-1671 ( 591) [001] ...1 1034717.983664: tracing_mark_write: E|591 22359 android.anim-1277 ( 1151) [004] ...1 1034717.989541: tracing_mark_write: B|1151|HIDL::IMapper::unlock::passthrough 22360 android.anim-1277 ( 1151) [004] ...1 1034717.989557: tracing_mark_write: B|1151|CleanBuffer 22361 android.anim-1277 ( 1151) [004] ...1 1034717.989560: tracing_mark_write: C|1151|operation id|1 22362 android.anim-1277 ( 1151) [004] ...1 1034717.991550: tracing_mark_write: E|1151 22363 android.anim-1277 ( 1151) [004] ...1 1034717.991560: tracing_mark_write: E|1151 22364 surfaceflinger-591 ( 591) [000] ...1 1034717.992446: tracing_mark_write: B|591|HIDL::IComposerClient::getActiveConfig::client 22365 composer@2.1-s-593 ( 593) [001] ...1 1034717.992541: tracing_mark_write: B|593|HIDL::IComposerClient::getActiveConfig::server 22366 composer@2.1-s-593 ( 593) [001] ...1 1034717.992559: tracing_mark_write: E|593 22367 surfaceflinger-591 ( 591) [000] ...1 1034717.992593: tracing_mark_write: E|591 22368 surfaceflinger-591 ( 591) [000] ...1 1034717.995061: tracing_mark_write: B|591|HIDL::IComposerClient::getActiveConfig::client 22369 composer@2.1-s-593 ( 593) [001] ...1 1034717.995106: tracing_mark_write: B|593|HIDL::IComposerClient::getActiveConfig::server 22370 composer@2.1-s-593 ( 593) [001] ...1 1034717.995115: tracing_mark_write: E|593 22371 surfaceflinger-591 ( 591) [000] ...1 1034717.995142: tracing_mark_write: E|591 22372 surfaceflinger-591 ( 591) [000] ...1 1034717.996511: tracing_mark_write: B|591|HIDL::IComposerClient::getActiveConfig::client 22373 composer@2.1-s-593 ( 593) [001] ...1 1034717.996546: tracing_mark_write: B|593|HIDL::IComposerClient::getActiveConfig::server 22374 composer@2.1-s-593 ( 593) [001] ...1 1034717.996551: tracing_mark_write: E|593 22375 surfaceflinger-591 ( 591) [000] ...1 1034717.996576: tracing_mark_write: E|591 22376 surfaceflinger-591 ( 591) [000] ...1 1034717.998108: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 22377 composer@2.1-s-593 ( 593) [001] ...1 1034717.998170: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 22378 composer@2.1-s-593 ( 593) [001] ...1 1034717.998234: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 22379 composer@2.1-s-593 ( 593) [001] ...1 1034717.998243: tracing_mark_write: E|593 22380 composer@2.1-s-593 ( 593) [001] ...1 1034717.998248: tracing_mark_write: B|593|HWCSession::ValidateDisplay:: 22381 composer@2.1-s-593 ( 593) [001] ...1 1034717.998476: tracing_mark_write: B|593|HWDevice::Validate:: 22382 composer@2.1-s-593 ( 593) [001] ...1 1034717.998538: tracing_mark_write: E|593 22383 composer@2.1-s-593 ( 593) [001] ...1 1034717.998556: tracing_mark_write: E|593 22384 composer@2.1-s-593 ( 593) [001] ...1 1034717.998572: tracing_mark_write: E|593 22385 surfaceflinger-591 ( 591) [000] ...1 1034717.998614: tracing_mark_write: E|591 22386 surfaceflinger-591 ( 591) [000] ...1 1034717.998672: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 22387 composer@2.1-s-593 ( 593) [001] ...1 1034717.998710: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 22388 composer@2.1-s-593 ( 593) [001] ...1 1034717.998718: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 22389 composer@2.1-s-593 ( 593) [001] ...1 1034717.998729: tracing_mark_write: B|593|HWDevice::Commit:: 22390 composer@2.1-s-593 ( 593) [001] ...1 1034717.998813: tracing_mark_write: E|593 22391 composer@2.1-s-593 ( 593) [001] ...1 1034717.998830: tracing_mark_write: E|593 22392 composer@2.1-s-593 ( 593) [001] ...1 1034717.998850: tracing_mark_write: E|593 22393 surfaceflinger-591 ( 591) [000] ...1 1034717.998890: tracing_mark_write: E|591 22394 surfaceflinger-591 ( 591) [000] ...1 1034718.001338: tracing_mark_write: B|591|HIDL::IComposerClient::getActiveConfig::client 22395 composer@2.1-s-593 ( 593) [001] ...1 1034718.001376: tracing_mark_write: B|593|HIDL::IComposerClient::getActiveConfig::server 22396 composer@2.1-s-593 ( 593) [001] ...1 1034718.001382: tracing_mark_write: E|593 22397 surfaceflinger-591 ( 591) [000] ...1 1034718.001406: tracing_mark_write: E|591 22398 HwBinder:778_1-1087 ( 778) [001] ...1 1034718.001973: tracing_mark_write: E|778 22399 SensorService-1283 ( 1151) [000] ...1 1034718.002034: tracing_mark_write: E|1151 22400 SensorService-1283 ( 1151) [000] ...1 1034718.002097: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 22401 HwBinder:778_1-1087 ( 778) [001] ...1 1034718.002138: tracing_mark_write: B|778|HIDL::ISensors::poll::server 22402 Binder:591_3-1218 ( 591) [005] ...1 1034718.003009: tracing_mark_write: B|591|HIDL::IMapper::createDescriptor::passthrough 22403 Binder:591_3-1218 ( 591) [005] ...1 1034718.003016: tracing_mark_write: E|591 22404 Binder:591_3-1218 ( 591) [005] ...1 1034718.003025: tracing_mark_write: B|591|HIDL::IAllocator::allocate::client 22405 HwBinder:595_2-1778 ( 595) [000] ...1 1034718.003087: tracing_mark_write: B|595|HIDL::IAllocator::allocate::server 22406 HwBinder:595_2-1778 ( 595) [000] ...1 1034718.003116: tracing_mark_write: B|595|AllocBuffer 22407 HwBinder:595_2-1778 ( 595) [000] ...1 1034718.003124: tracing_mark_write: B|595|ION_IOC_ALLOC size: 8355840 22408 Binder:591_4-1671 ( 591) [006] ...1 1034718.004124: tracing_mark_write: B|591|HIDL::IMapper::freeBuffer::passthrough 22409 Binder:591_4-1671 ( 591) [006] ...1 1034718.004160: tracing_mark_write: B|591|FreeBuffer 22410 Binder:591_4-1671 ( 591) [006] ...1 1034718.004218: tracing_mark_write: E|591 22411 Binder:591_4-1671 ( 591) [006] ...1 1034718.004220: tracing_mark_write: B|591|FreeBuffer 22412 Binder:591_4-1671 ( 591) [006] ...1 1034718.004230: tracing_mark_write: E|591 22413 Binder:591_4-1671 ( 591) [006] ...1 1034718.004237: tracing_mark_write: E|591 22414 Binder:591_4-1671 ( 591) [006] ...1 1034718.004254: tracing_mark_write: B|591|HIDL::IMapper::createDescriptor::passthrough 22415 Binder:591_4-1671 ( 591) [006] ...1 1034718.004259: tracing_mark_write: E|591 22416 Binder:591_4-1671 ( 591) [006] ...1 1034718.004272: tracing_mark_write: B|591|HIDL::IAllocator::allocate::client 22417 allocator@2.0--595 ( 595) [006] ...1 1034718.004387: tracing_mark_write: B|595|HIDL::IAllocator::allocate::server 22418 HwBinder:595_2-1778 ( 595) [005] ...1 1034718.005344: tracing_mark_write: E|595 22419 HwBinder:595_2-1778 ( 595) [005] ...1 1034718.005347: tracing_mark_write: B|595|ION_IOC_MAP 22420 HwBinder:595_2-1778 ( 595) [005] ...1 1034718.005358: tracing_mark_write: E|595 22421 HwBinder:595_2-1778 ( 595) [005] ...1 1034718.005362: tracing_mark_write: E|595 22422 HwBinder:595_2-1778 ( 595) [005] ...1 1034718.005364: tracing_mark_write: B|595|AllocBuffer 22423 HwBinder:595_2-1778 ( 595) [005] ...1 1034718.005368: tracing_mark_write: B|595|ION_IOC_ALLOC size: 4096 22424 HwBinder:595_2-1778 ( 595) [000] ...1 1034718.005420: tracing_mark_write: E|595 22425 HwBinder:595_2-1778 ( 595) [000] ...1 1034718.005423: tracing_mark_write: B|595|ION_IOC_MAP 22426 HwBinder:595_2-1778 ( 595) [000] ...1 1034718.005435: tracing_mark_write: E|595 22427 HwBinder:595_2-1778 ( 595) [000] ...1 1034718.005438: tracing_mark_write: E|595 22428 HwBinder:595_2-1778 ( 595) [000] ...1 1034718.005501: tracing_mark_write: E|595 22429 allocator@2.0--595 ( 595) [006] ...1 1034718.005545: tracing_mark_write: B|595|AllocBuffer 22430 allocator@2.0--595 ( 595) [006] ...1 1034718.005549: tracing_mark_write: B|595|ION_IOC_ALLOC size: 3919872 22431 Binder:591_3-1218 ( 591) [000] ...1 1034718.005568: tracing_mark_write: B|591|HIDL::IMapper::importBuffer::passthrough 22432 allocator@2.0--595 ( 595) [006] ...1 1034718.005590: tracing_mark_write: E|595 22433 allocator@2.0--595 ( 595) [006] ...1 1034718.005592: tracing_mark_write: B|595|ION_IOC_MAP 22434 Binder:591_3-1218 ( 591) [000] ...1 1034718.005595: tracing_mark_write: E|591 22435 allocator@2.0--595 ( 595) [006] ...1 1034718.005598: tracing_mark_write: E|595 22436 allocator@2.0--595 ( 595) [006] ...1 1034718.005600: tracing_mark_write: E|595 22437 allocator@2.0--595 ( 595) [006] ...1 1034718.005601: tracing_mark_write: B|595|AllocBuffer 22438 Binder:591_3-1218 ( 591) [000] ...1 1034718.005601: tracing_mark_write: E|591 22439 allocator@2.0--595 ( 595) [006] ...1 1034718.005602: tracing_mark_write: B|595|ION_IOC_ALLOC size: 4096 22440 allocator@2.0--595 ( 595) [006] ...1 1034718.005607: tracing_mark_write: E|595 22441 allocator@2.0--595 ( 595) [006] ...1 1034718.005608: tracing_mark_write: B|595|ION_IOC_MAP 22442 allocator@2.0--595 ( 595) [006] ...1 1034718.005611: tracing_mark_write: E|595 22443 allocator@2.0--595 ( 595) [006] ...1 1034718.005612: tracing_mark_write: E|595 22444 allocator@2.0--595 ( 595) [006] ...1 1034718.005637: tracing_mark_write: E|595 22445 Binder:591_3-1218 ( 591) [000] ...1 1034718.005638: tracing_mark_write: B|591|HIDL::IMapper::createDescriptor::passthrough 22446 Binder:591_3-1218 ( 591) [000] ...1 1034718.005642: tracing_mark_write: E|591 22447 Binder:591_3-1218 ( 591) [000] ...1 1034718.005649: tracing_mark_write: B|591|HIDL::IAllocator::allocate::client 22448 HwBinder:595_2-1778 ( 595) [001] ...1 1034718.005650: tracing_mark_write: B|595|FreeBuffer 22449 HwBinder:595_2-1778 ( 595) [001] ...1 1034718.005659: tracing_mark_write: E|595 22450 HwBinder:595_2-1778 ( 595) [001] ...1 1034718.005662: tracing_mark_write: B|595|FreeBuffer 22451 HwBinder:595_2-1778 ( 595) [001] ...1 1034718.005664: tracing_mark_write: B|595|UnmapBuffer 22452 Binder:591_4-1671 ( 591) [006] ...1 1034718.005676: tracing_mark_write: B|591|HIDL::IMapper::importBuffer::passthrough 22453 HwBinder:595_2-1778 ( 595) [001] ...1 1034718.005678: tracing_mark_write: E|595 22454 HwBinder:595_2-1778 ( 595) [001] ...1 1034718.005683: tracing_mark_write: E|595 22455 Binder:591_4-1671 ( 591) [006] ...1 1034718.005689: tracing_mark_write: E|591 22456 Binder:591_4-1671 ( 591) [006] ...1 1034718.005692: tracing_mark_write: E|591 22457 allocator@2.0--595 ( 595) [006] ...1 1034718.005702: tracing_mark_write: B|595|FreeBuffer 22458 HwBinder:595_3-1779 ( 595) [000] ...1 1034718.005705: tracing_mark_write: B|595|HIDL::IAllocator::allocate::server 22459 allocator@2.0--595 ( 595) [006] ...1 1034718.005708: tracing_mark_write: E|595 22460 allocator@2.0--595 ( 595) [006] ...1 1034718.005709: tracing_mark_write: B|595|FreeBuffer 22461 allocator@2.0--595 ( 595) [006] ...1 1034718.005710: tracing_mark_write: B|595|UnmapBuffer 22462 allocator@2.0--595 ( 595) [006] ...1 1034718.005716: tracing_mark_write: E|595 22463 allocator@2.0--595 ( 595) [006] ...1 1034718.005718: tracing_mark_write: E|595 22464 HwBinder:595_3-1779 ( 595) [001] ...1 1034718.005742: tracing_mark_write: B|595|AllocBuffer 22465 HwBinder:595_3-1779 ( 595) [001] ...1 1034718.005747: tracing_mark_write: B|595|ION_IOC_ALLOC size: 8355840 22466 RenderThread-11249 ( 1151) [006] ...1 1034718.005864: tracing_mark_write: B|1151|HIDL::IMapper::importBuffer::passthrough 22467 RenderThread-11249 ( 1151) [006] ...1 1034718.005882: tracing_mark_write: E|1151 22468 HwBinder:595_3-1779 ( 595) [001] ...1 1034718.007742: tracing_mark_write: E|595 22469 HwBinder:595_3-1779 ( 595) [001] ...1 1034718.007746: tracing_mark_write: B|595|ION_IOC_MAP 22470 HwBinder:595_3-1779 ( 595) [001] ...1 1034718.007758: tracing_mark_write: E|595 22471 HwBinder:595_3-1779 ( 595) [001] ...1 1034718.007762: tracing_mark_write: E|595 22472 HwBinder:595_3-1779 ( 595) [001] ...1 1034718.007764: tracing_mark_write: B|595|AllocBuffer 22473 HwBinder:595_3-1779 ( 595) [001] ...1 1034718.007768: tracing_mark_write: B|595|ION_IOC_ALLOC size: 4096 22474 HwBinder:595_3-1779 ( 595) [000] ...1 1034718.007816: tracing_mark_write: E|595 22475 HwBinder:595_3-1779 ( 595) [000] ...1 1034718.007819: tracing_mark_write: B|595|ION_IOC_MAP 22476 HwBinder:595_3-1779 ( 595) [000] ...1 1034718.007828: tracing_mark_write: E|595 22477 HwBinder:595_3-1779 ( 595) [000] ...1 1034718.007830: tracing_mark_write: E|595 22478 HwBinder:595_3-1779 ( 595) [000] ...1 1034718.007863: tracing_mark_write: E|595 22479 HwBinder:595_3-1779 ( 595) [000] ...1 1034718.007894: tracing_mark_write: B|595|FreeBuffer 22480 HwBinder:595_3-1779 ( 595) [000] ...1 1034718.007900: tracing_mark_write: E|595 22481 HwBinder:595_3-1779 ( 595) [000] ...1 1034718.007902: tracing_mark_write: B|595|FreeBuffer 22482 HwBinder:595_3-1779 ( 595) [000] ...1 1034718.007905: tracing_mark_write: B|595|UnmapBuffer 22483 HwBinder:595_3-1779 ( 595) [000] ...1 1034718.007916: tracing_mark_write: E|595 22484 HwBinder:595_3-1779 ( 595) [000] ...1 1034718.007921: tracing_mark_write: E|595 22485 Binder:591_3-1218 ( 591) [000] ...1 1034718.007952: tracing_mark_write: B|591|HIDL::IMapper::importBuffer::passthrough 22486 Binder:591_3-1218 ( 591) [000] ...1 1034718.007973: tracing_mark_write: E|591 22487 Binder:591_3-1218 ( 591) [000] ...1 1034718.007977: tracing_mark_write: E|591 22488 Binder:591_3-1218 ( 591) [000] ...1 1034718.008007: tracing_mark_write: B|591|HIDL::IMapper::createDescriptor::passthrough 22489 Binder:591_3-1218 ( 591) [000] ...1 1034718.008011: tracing_mark_write: E|591 22490 Binder:591_3-1218 ( 591) [000] ...1 1034718.008016: tracing_mark_write: B|591|HIDL::IAllocator::allocate::client 22491 HwBinder:595_3-1779 ( 595) [000] ...1 1034718.008046: tracing_mark_write: B|595|HIDL::IAllocator::allocate::server 22492 HwBinder:595_3-1779 ( 595) [000] ...1 1034718.008055: tracing_mark_write: B|595|AllocBuffer 22493 HwBinder:595_3-1779 ( 595) [000] ...1 1034718.008059: tracing_mark_write: B|595|ION_IOC_ALLOC size: 8355840 22494 RenderThread-27026 (27005) [004] ...1 1034718.009950: tracing_mark_write: B|27005|HIDL::IServiceManager::getTransport::client 22495 hwservicemanag-570 ( 570) [003] ...1 1034718.010072: tracing_mark_write: B|570|HIDL::IServiceManager::getTransport::server 22496 HwBinder:595_3-1779 ( 595) [000] ...1 1034718.010358: tracing_mark_write: E|595 22497 HwBinder:595_3-1779 ( 595) [000] ...1 1034718.010362: tracing_mark_write: B|595|ION_IOC_MAP 22498 HwBinder:595_3-1779 ( 595) [000] ...1 1034718.010377: tracing_mark_write: E|595 22499 HwBinder:595_3-1779 ( 595) [000] ...1 1034718.010382: tracing_mark_write: E|595 22500 HwBinder:595_3-1779 ( 595) [000] ...1 1034718.010386: tracing_mark_write: B|595|AllocBuffer 22501 HwBinder:595_3-1779 ( 595) [000] ...1 1034718.010392: tracing_mark_write: B|595|ION_IOC_ALLOC size: 4096 22502 HwBinder:595_3-1779 ( 595) [000] ...1 1034718.010401: tracing_mark_write: E|595 22503 HwBinder:595_3-1779 ( 595) [000] ...1 1034718.010403: tracing_mark_write: B|595|ION_IOC_MAP 22504 HwBinder:595_3-1779 ( 595) [000] ...1 1034718.010410: tracing_mark_write: E|595 22505 HwBinder:595_3-1779 ( 595) [000] ...1 1034718.010413: tracing_mark_write: E|595 22506 HwBinder:595_3-1779 ( 595) [000] ...1 1034718.010456: tracing_mark_write: E|595 22507 HwBinder:595_3-1779 ( 595) [000] ...1 1034718.010498: tracing_mark_write: B|595|FreeBuffer 22508 HwBinder:595_3-1779 ( 595) [000] ...1 1034718.010505: tracing_mark_write: E|595 22509 HwBinder:595_3-1779 ( 595) [000] ...1 1034718.010507: tracing_mark_write: B|595|FreeBuffer 22510 HwBinder:595_3-1779 ( 595) [000] ...1 1034718.010510: tracing_mark_write: B|595|UnmapBuffer 22511 HwBinder:595_3-1779 ( 595) [000] ...1 1034718.010519: tracing_mark_write: E|595 22512 HwBinder:595_3-1779 ( 595) [000] ...1 1034718.010524: tracing_mark_write: E|595 22513 hwservicemanag-570 ( 570) [003] ...1 1034718.010539: tracing_mark_write: E|570 22514 Binder:591_3-1218 ( 591) [000] ...1 1034718.010573: tracing_mark_write: B|591|HIDL::IMapper::importBuffer::passthrough 22515 Binder:591_3-1218 ( 591) [000] ...1 1034718.010601: tracing_mark_write: E|591 22516 Binder:591_3-1218 ( 591) [000] ...1 1034718.010606: tracing_mark_write: E|591 22517 RenderThread-27026 (27005) [003] ...1 1034718.010630: tracing_mark_write: E|27005 22518 RenderThread-27026 (27005) [003] ...1 1034718.010656: tracing_mark_write: B|27005|HIDL::IServiceManager::registerForNotifications::client 22519 hwservicemanag-570 ( 570) [003] ...1 1034718.011094: tracing_mark_write: B|570|HIDL::IServiceManager::registerForNotifications::server 22520 hwservicemanag-570 ( 570) [003] ...1 1034718.011292: tracing_mark_write: B|570|HIDL::IServiceNotification::onRegistration::client 22521 hwservicemanag-570 ( 570) [003] ...1 1034718.011343: tracing_mark_write: E|570 22522 hwservicemanag-570 ( 570) [003] ...1 1034718.011351: tracing_mark_write: E|570 22523 HwBinder:27005-27027 (27005) [004] ...1 1034718.011364: tracing_mark_write: B|27005|HIDL::IServiceNotification::onRegistration::server 22524 HwBinder:27005-27027 (27005) [004] ...1 1034718.011371: tracing_mark_write: E|27005 22525 RenderThread-27026 (27005) [003] ...1 1034718.011406: tracing_mark_write: E|27005 22526 RenderThread-27026 (27005) [003] ...1 1034718.011422: tracing_mark_write: B|27005|HIDL::IServiceManager::get::client 22527 hwservicemanag-570 ( 570) [003] ...1 1034718.011462: tracing_mark_write: B|570|HIDL::IServiceManager::get::server 22528 hwservicemanag-570 ( 570) [003] ...1 1034718.011606: tracing_mark_write: E|570 22529 RenderThread-27026 (27005) [003] ...1 1034718.011671: tracing_mark_write: E|27005 22530 RenderThread-27026 (27005) [003] ...1 1034718.011681: tracing_mark_write: B|27005|HIDL::IBase::interfaceChain::client 22531 HwBinder:594_2-7100 ( 594) [003] ...1 1034718.011767: tracing_mark_write: B|594|HIDL::IBase::interfaceChain::server 22532 HwBinder:594_2-7100 ( 594) [003] ...1 1034718.011800: tracing_mark_write: E|594 22533 RenderThread-27026 (27005) [003] ...1 1034718.011861: tracing_mark_write: E|27005 22534 RenderThread-27026 (27005) [003] ...1 1034718.011870: tracing_mark_write: B|27005|HIDL::IServiceManager::unregisterForNotifications::client 22535 hwservicemanag-570 ( 570) [003] ...1 1034718.011940: tracing_mark_write: B|570|HIDL::IServiceManager::unregisterForNotifications::server 22536 hwservicemanag-570 ( 570) [003] ...1 1034718.011953: tracing_mark_write: E|570 22537 RenderThread-27026 (27005) [003] ...1 1034718.011997: tracing_mark_write: E|27005 22538 RenderThread-27026 (27005) [003] ...1 1034718.012058: tracing_mark_write: B|27005|HIDL::ISurfaceFlingerConfigs::hasWideColorDisplay::client 22539 HwBinder:594_2-7100 ( 594) [003] ...1 1034718.012089: tracing_mark_write: B|594|HIDL::ISurfaceFlingerConfigs::hasWideColorDisplay::server 22540 HwBinder:594_2-7100 ( 594) [003] ...1 1034718.012097: tracing_mark_write: E|594 22541 RenderThread-27026 (27005) [003] ...1 1034718.012133: tracing_mark_write: E|27005 22542 RenderThread-27026 (27005) [003] ...1 1034718.012281: tracing_mark_write: B|27005|HIDL::ISurfaceFlingerConfigs::hasHDRDisplay::client 22543 HwBinder:594_2-7100 ( 594) [003] ...1 1034718.012310: tracing_mark_write: B|594|HIDL::ISurfaceFlingerConfigs::hasHDRDisplay::server 22544 HwBinder:594_2-7100 ( 594) [003] ...1 1034718.012317: tracing_mark_write: E|594 22545 RenderThread-27026 (27005) [003] ...1 1034718.012339: tracing_mark_write: E|27005 22546 surfaceflinger-591 ( 591) [000] ...1 1034718.015259: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 22547 composer@2.1-s-593 ( 593) [001] ...1 1034718.015375: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 22548 composer@2.1-s-593 ( 593) [001] ...1 1034718.015449: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 22549 composer@2.1-s-593 ( 593) [001] ...1 1034718.015459: tracing_mark_write: E|593 22550 composer@2.1-s-593 ( 593) [001] ...1 1034718.015463: tracing_mark_write: B|593|HWCSession::ValidateDisplay:: 22551 composer@2.1-s-593 ( 593) [001] ...1 1034718.015702: tracing_mark_write: B|593|HWDevice::Validate:: 22552 composer@2.1-s-593 ( 593) [001] ...1 1034718.015766: tracing_mark_write: E|593 22553 composer@2.1-s-593 ( 593) [001] ...1 1034718.015784: tracing_mark_write: E|593 22554 composer@2.1-s-593 ( 593) [001] ...1 1034718.015804: tracing_mark_write: E|593 22555 surfaceflinger-591 ( 591) [000] ...1 1034718.015865: tracing_mark_write: E|591 22556 surfaceflinger-591 ( 591) [000] ...1 1034718.015935: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 22557 composer@2.1-s-593 ( 593) [001] ...1 1034718.015976: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 22558 composer@2.1-s-593 ( 593) [001] ...1 1034718.015986: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 22559 composer@2.1-s-593 ( 593) [001] ...1 1034718.015998: tracing_mark_write: B|593|HWDevice::Commit:: 22560 composer@2.1-s-593 ( 593) [001] ...1 1034718.016088: tracing_mark_write: E|593 22561 composer@2.1-s-593 ( 593) [001] ...1 1034718.016106: tracing_mark_write: E|593 22562 composer@2.1-s-593 ( 593) [001] ...1 1034718.016128: tracing_mark_write: E|593 22563 surfaceflinger-591 ( 591) [000] ...1 1034718.016175: tracing_mark_write: E|591 22564 Binder:591_4-1671 ( 591) [005] ...1 1034718.018549: tracing_mark_write: B|591|HIDL::IMapper::freeBuffer::passthrough 22565 Binder:591_4-1671 ( 591) [005] ...1 1034718.018565: tracing_mark_write: B|591|FreeBuffer 22566 Binder:591_4-1671 ( 591) [005] ...1 1034718.018588: tracing_mark_write: E|591 22567 Binder:591_4-1671 ( 591) [005] ...1 1034718.018589: tracing_mark_write: B|591|FreeBuffer 22568 Binder:591_4-1671 ( 591) [005] ...1 1034718.018596: tracing_mark_write: E|591 22569 Binder:591_4-1671 ( 591) [005] ...1 1034718.018600: tracing_mark_write: E|591 22570 Binder:591_4-1671 ( 591) [005] ...1 1034718.018609: tracing_mark_write: B|591|HIDL::IMapper::createDescriptor::passthrough 22571 Binder:591_4-1671 ( 591) [005] ...1 1034718.018612: tracing_mark_write: E|591 22572 Binder:591_4-1671 ( 591) [005] ...1 1034718.018619: tracing_mark_write: B|591|HIDL::IAllocator::allocate::client 22573 surfaceflinger-591 ( 591) [000] ...1 1034718.018633: tracing_mark_write: B|591|HIDL::IComposerClient::getActiveConfig::client 22574 HwBinder:595_3-1779 ( 595) [005] ...1 1034718.018690: tracing_mark_write: B|595|HIDL::IAllocator::allocate::server 22575 HwBinder:595_3-1779 ( 595) [005] ...1 1034718.018711: tracing_mark_write: B|595|AllocBuffer 22576 HwBinder:595_3-1779 ( 595) [005] ...1 1034718.018716: tracing_mark_write: B|595|ION_IOC_ALLOC size: 3919872 22577 composer@2.1-s-593 ( 593) [001] ...1 1034718.018717: tracing_mark_write: B|593|HIDL::IComposerClient::getActiveConfig::server 22578 composer@2.1-s-593 ( 593) [001] ...1 1034718.018731: tracing_mark_write: E|593 22579 surfaceflinger-591 ( 591) [000] ...1 1034718.018768: tracing_mark_write: E|591 22580 HwBinder:595_3-1779 ( 595) [005] ...1 1034718.020191: tracing_mark_write: E|595 22581 HwBinder:595_3-1779 ( 595) [005] ...1 1034718.020194: tracing_mark_write: B|595|ION_IOC_MAP 22582 HwBinder:595_3-1779 ( 595) [005] ...1 1034718.020206: tracing_mark_write: E|595 22583 HwBinder:595_3-1779 ( 595) [005] ...1 1034718.020208: tracing_mark_write: E|595 22584 HwBinder:595_3-1779 ( 595) [005] ...1 1034718.020210: tracing_mark_write: B|595|AllocBuffer 22585 HwBinder:595_3-1779 ( 595) [005] ...1 1034718.020213: tracing_mark_write: B|595|ION_IOC_ALLOC size: 4096 22586 HwBinder:595_3-1779 ( 595) [005] ...1 1034718.020219: tracing_mark_write: E|595 22587 HwBinder:595_3-1779 ( 595) [005] ...1 1034718.020220: tracing_mark_write: B|595|ION_IOC_MAP 22588 HwBinder:595_3-1779 ( 595) [005] ...1 1034718.020223: tracing_mark_write: E|595 22589 HwBinder:595_3-1779 ( 595) [005] ...1 1034718.020224: tracing_mark_write: E|595 22590 HwBinder:595_3-1779 ( 595) [005] ...1 1034718.020255: tracing_mark_write: E|595 22591 HwBinder:595_3-1779 ( 595) [005] ...1 1034718.020282: tracing_mark_write: B|595|FreeBuffer 22592 HwBinder:595_3-1779 ( 595) [005] ...1 1034718.020286: tracing_mark_write: E|595 22593 HwBinder:595_3-1779 ( 595) [005] ...1 1034718.020287: tracing_mark_write: B|595|FreeBuffer 22594 HwBinder:595_3-1779 ( 595) [005] ...1 1034718.020289: tracing_mark_write: B|595|UnmapBuffer 22595 HwBinder:595_3-1779 ( 595) [005] ...1 1034718.020294: tracing_mark_write: E|595 22596 HwBinder:595_3-1779 ( 595) [005] ...1 1034718.020297: tracing_mark_write: E|595 22597 Binder:591_4-1671 ( 591) [005] ...1 1034718.020333: tracing_mark_write: B|591|HIDL::IMapper::importBuffer::passthrough 22598 Binder:591_4-1671 ( 591) [005] ...1 1034718.020350: tracing_mark_write: E|591 22599 Binder:591_4-1671 ( 591) [005] ...1 1034718.020353: tracing_mark_write: E|591 22600 surfaceflinger-591 ( 591) [000] ...1 1034718.020475: tracing_mark_write: B|591|HIDL::IComposerClient::getActiveConfig::client 22601 RenderThread-11249 ( 1151) [006] ...1 1034718.020477: tracing_mark_write: B|1151|HIDL::IMapper::importBuffer::passthrough 22602 RenderThread-11249 ( 1151) [006] ...1 1034718.020496: tracing_mark_write: E|1151 22603 composer@2.1-s-593 ( 593) [001] ...1 1034718.020529: tracing_mark_write: B|593|HIDL::IComposerClient::getActiveConfig::server 22604 composer@2.1-s-593 ( 593) [001] ...1 1034718.020539: tracing_mark_write: E|593 22605 surfaceflinger-591 ( 591) [000] ...1 1034718.020568: tracing_mark_write: E|591 22606 HwBinder:778_1-1087 ( 778) [004] ...1 1034718.021161: tracing_mark_write: E|778 22607 surfaceflinger-591 ( 591) [001] ...1 1034718.021188: tracing_mark_write: B|591|HIDL::IComposerClient::getActiveConfig::client 22608 SensorService-1283 ( 1151) [000] ...1 1034718.021225: tracing_mark_write: E|1151 22609 composer@2.1-s-593 ( 593) [002] ...1 1034718.021247: tracing_mark_write: B|593|HIDL::IComposerClient::getActiveConfig::server 22610 composer@2.1-s-593 ( 593) [002] ...1 1034718.021260: tracing_mark_write: E|593 22611 surfaceflinger-591 ( 591) [001] ...1 1034718.021292: tracing_mark_write: E|591 22612 SensorService-1283 ( 1151) [000] ...1 1034718.021293: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 22613 HwBinder:778_1-1087 ( 778) [004] ...1 1034718.021335: tracing_mark_write: B|778|HIDL::ISensors::poll::server 22614 Binder:591_4-1671 ( 591) [006] ...1 1034718.022819: tracing_mark_write: B|591|HIDL::IMapper::freeBuffer::passthrough 22615 Binder:591_4-1671 ( 591) [006] ...1 1034718.022962: tracing_mark_write: B|591|FreeBuffer 22616 Binder:591_4-1671 ( 591) [006] ...1 1034718.022992: tracing_mark_write: E|591 22617 Binder:591_4-1671 ( 591) [006] ...1 1034718.022993: tracing_mark_write: B|591|FreeBuffer 22618 Binder:591_4-1671 ( 591) [006] ...1 1034718.023000: tracing_mark_write: E|591 22619 Binder:591_4-1671 ( 591) [006] ...1 1034718.023004: tracing_mark_write: E|591 22620 Binder:591_4-1671 ( 591) [006] ...1 1034718.023019: tracing_mark_write: B|591|HIDL::IMapper::createDescriptor::passthrough 22621 Binder:591_4-1671 ( 591) [006] ...1 1034718.023021: tracing_mark_write: E|591 22622 Binder:591_4-1671 ( 591) [006] ...1 1034718.023028: tracing_mark_write: B|591|HIDL::IAllocator::allocate::client 22623 HwBinder:595_3-1779 ( 595) [006] ...1 1034718.023081: tracing_mark_write: B|595|HIDL::IAllocator::allocate::server 22624 HwBinder:595_3-1779 ( 595) [006] ...1 1034718.023103: tracing_mark_write: B|595|AllocBuffer 22625 HwBinder:595_3-1779 ( 595) [006] ...1 1034718.023110: tracing_mark_write: B|595|ION_IOC_ALLOC size: 8417280 22626 HwBinder:595_3-1779 ( 595) [006] ...1 1034718.025001: tracing_mark_write: E|595 22627 HwBinder:595_3-1779 ( 595) [006] ...1 1034718.025005: tracing_mark_write: B|595|ION_IOC_MAP 22628 HwBinder:595_3-1779 ( 595) [006] ...1 1034718.025017: tracing_mark_write: E|595 22629 HwBinder:595_3-1779 ( 595) [006] ...1 1034718.025020: tracing_mark_write: E|595 22630 HwBinder:595_3-1779 ( 595) [006] ...1 1034718.025022: tracing_mark_write: B|595|AllocBuffer 22631 HwBinder:595_3-1779 ( 595) [006] ...1 1034718.025026: tracing_mark_write: B|595|ION_IOC_ALLOC size: 4096 22632 HwBinder:595_3-1779 ( 595) [006] ...1 1034718.025032: tracing_mark_write: E|595 22633 HwBinder:595_3-1779 ( 595) [006] ...1 1034718.025033: tracing_mark_write: B|595|ION_IOC_MAP 22634 HwBinder:595_3-1779 ( 595) [006] ...1 1034718.025037: tracing_mark_write: E|595 22635 HwBinder:595_3-1779 ( 595) [006] ...1 1034718.025038: tracing_mark_write: E|595 22636 HwBinder:595_3-1779 ( 595) [006] ...1 1034718.025077: tracing_mark_write: E|595 22637 HwBinder:595_3-1779 ( 595) [006] ...1 1034718.025113: tracing_mark_write: B|595|FreeBuffer 22638 HwBinder:595_3-1779 ( 595) [006] ...1 1034718.025118: tracing_mark_write: E|595 22639 HwBinder:595_3-1779 ( 595) [006] ...1 1034718.025119: tracing_mark_write: B|595|FreeBuffer 22640 HwBinder:595_3-1779 ( 595) [006] ...1 1034718.025120: tracing_mark_write: B|595|UnmapBuffer 22641 HwBinder:595_3-1779 ( 595) [006] ...1 1034718.025131: tracing_mark_write: E|595 22642 Binder:591_4-1671 ( 591) [005] ...1 1034718.025134: tracing_mark_write: B|591|HIDL::IMapper::importBuffer::passthrough 22643 HwBinder:595_3-1779 ( 595) [006] ...1 1034718.025135: tracing_mark_write: E|595 22644 Binder:591_4-1671 ( 591) [005] ...1 1034718.025159: tracing_mark_write: E|591 22645 Binder:591_4-1671 ( 591) [005] ...1 1034718.025163: tracing_mark_write: E|591 22646 RenderThread-27026 (27005) [006] ...1 1034718.025348: tracing_mark_write: B|27005|HIDL::IServiceManager::getTransport::client 22647 hwservicemanag-570 ( 570) [000] ...1 1034718.025432: tracing_mark_write: B|570|HIDL::IServiceManager::getTransport::server 22648 hwservicemanag-570 ( 570) [000] ...1 1034718.025772: tracing_mark_write: E|570 22649 RenderThread-27026 (27005) [005] ...1 1034718.025816: tracing_mark_write: E|27005 22650 RenderThread-27026 (27005) [005] ...1 1034718.025828: tracing_mark_write: B|27005|HIDL::IServiceManager::registerForNotifications::client 22651 hwservicemanag-570 ( 570) [000] ...1 1034718.025984: tracing_mark_write: B|570|HIDL::IServiceManager::registerForNotifications::server 22652 hwservicemanag-570 ( 570) [000] ...1 1034718.026127: tracing_mark_write: E|570 22653 RenderThread-27026 (27005) [007] ...1 1034718.026167: tracing_mark_write: E|27005 22654 RenderThread-27026 (27005) [007] ...1 1034718.026174: tracing_mark_write: B|27005|HIDL::IServiceManager::unregisterForNotifications::client 22655 hwservicemanag-570 ( 570) [000] ...1 1034718.026240: tracing_mark_write: B|570|HIDL::IServiceManager::unregisterForNotifications::server 22656 hwservicemanag-570 ( 570) [000] ...1 1034718.026255: tracing_mark_write: E|570 22657 RenderThread-27026 (27005) [005] ...1 1034718.026286: tracing_mark_write: E|27005 22658 RenderThread-27026 (27005) [005] ...1 1034718.027042: tracing_mark_write: B|27005|HIDL::IServiceManager::registerPassthroughClient::client 22659 hwservicemanag-570 ( 570) [000] ...1 1034718.027087: tracing_mark_write: B|570|HIDL::IServiceManager::registerPassthroughClient::server 22660 hwservicemanag-570 ( 570) [000] ...1 1034718.027214: tracing_mark_write: E|570 22661 RenderThread-27026 (27005) [004] ...1 1034718.027256: tracing_mark_write: E|27005 22662 RenderThread-27026 (27005) [004] ...1 1034718.027322: tracing_mark_write: B|27005|HIDL::IMapper::interfaceChain::passthrough 22663 RenderThread-27026 (27005) [004] ...1 1034718.027327: tracing_mark_write: E|27005 22664 RenderThread-27026 (27005) [004] ...1 1034718.027339: tracing_mark_write: B|27005|HIDL::IMapper::interfaceChain::passthrough 22665 RenderThread-27026 (27005) [004] ...1 1034718.027341: tracing_mark_write: E|27005 22666 RenderThread-27026 (27005) [004] ...1 1034718.027357: tracing_mark_write: B|27005|HIDL::IMapper::importBuffer::passthrough 22667 RenderThread-27026 (27005) [004] ...1 1034718.027391: tracing_mark_write: E|27005 22668 Binder:591_4-1671 ( 591) [005] ...1 1034718.027455: tracing_mark_write: B|591|HIDL::IMapper::freeBuffer::passthrough 22669 Binder:591_4-1671 ( 591) [005] ...1 1034718.027465: tracing_mark_write: B|591|FreeBuffer 22670 Binder:591_4-1671 ( 591) [005] ...1 1034718.027482: tracing_mark_write: E|591 22671 Binder:591_4-1671 ( 591) [005] ...1 1034718.027484: tracing_mark_write: B|591|FreeBuffer 22672 Binder:591_4-1671 ( 591) [005] ...1 1034718.027491: tracing_mark_write: E|591 22673 Binder:591_4-1671 ( 591) [005] ...1 1034718.027494: tracing_mark_write: E|591 22674 Binder:591_4-1671 ( 591) [005] ...1 1034718.027503: tracing_mark_write: B|591|HIDL::IMapper::createDescriptor::passthrough 22675 Binder:591_4-1671 ( 591) [005] ...1 1034718.027506: tracing_mark_write: E|591 22676 Binder:591_4-1671 ( 591) [005] ...1 1034718.027511: tracing_mark_write: B|591|HIDL::IAllocator::allocate::client 22677 HwBinder:595_3-1779 ( 595) [006] ...1 1034718.027551: tracing_mark_write: B|595|HIDL::IAllocator::allocate::server 22678 HwBinder:595_3-1779 ( 595) [006] ...1 1034718.027566: tracing_mark_write: B|595|AllocBuffer 22679 HwBinder:595_3-1779 ( 595) [006] ...1 1034718.027570: tracing_mark_write: B|595|ION_IOC_ALLOC size: 3919872 22680 HwBinder:595_3-1779 ( 595) [006] ...1 1034718.027615: tracing_mark_write: E|595 22681 HwBinder:595_3-1779 ( 595) [006] ...1 1034718.027616: tracing_mark_write: B|595|ION_IOC_MAP 22682 HwBinder:595_3-1779 ( 595) [006] ...1 1034718.027622: tracing_mark_write: E|595 22683 HwBinder:595_3-1779 ( 595) [006] ...1 1034718.027624: tracing_mark_write: E|595 22684 HwBinder:595_3-1779 ( 595) [006] ...1 1034718.027625: tracing_mark_write: B|595|AllocBuffer 22685 HwBinder:595_3-1779 ( 595) [006] ...1 1034718.027627: tracing_mark_write: B|595|ION_IOC_ALLOC size: 4096 22686 HwBinder:595_3-1779 ( 595) [006] ...1 1034718.027631: tracing_mark_write: E|595 22687 HwBinder:595_3-1779 ( 595) [006] ...1 1034718.027632: tracing_mark_write: B|595|ION_IOC_MAP 22688 HwBinder:595_3-1779 ( 595) [006] ...1 1034718.027636: tracing_mark_write: E|595 22689 HwBinder:595_3-1779 ( 595) [006] ...1 1034718.027638: tracing_mark_write: E|595 22690 HwBinder:595_3-1779 ( 595) [006] ...1 1034718.027659: tracing_mark_write: E|595 22691 HwBinder:595_3-1779 ( 595) [006] ...1 1034718.027679: tracing_mark_write: B|595|FreeBuffer 22692 HwBinder:595_3-1779 ( 595) [006] ...1 1034718.027684: tracing_mark_write: E|595 22693 HwBinder:595_3-1779 ( 595) [006] ...1 1034718.027686: tracing_mark_write: B|595|FreeBuffer 22694 HwBinder:595_3-1779 ( 595) [006] ...1 1034718.027687: tracing_mark_write: B|595|UnmapBuffer 22695 HwBinder:595_3-1779 ( 595) [006] ...1 1034718.027693: tracing_mark_write: E|595 22696 Binder:591_4-1671 ( 591) [004] ...1 1034718.027694: tracing_mark_write: B|591|HIDL::IMapper::importBuffer::passthrough 22697 HwBinder:595_3-1779 ( 595) [006] ...1 1034718.027697: tracing_mark_write: E|595 22698 Binder:591_4-1671 ( 591) [004] ...1 1034718.027708: tracing_mark_write: E|591 22699 Binder:591_4-1671 ( 591) [004] ...1 1034718.027711: tracing_mark_write: E|591 22700 RenderThread-11249 ( 1151) [006] ...1 1034718.027813: tracing_mark_write: B|1151|HIDL::IMapper::importBuffer::passthrough 22701 RenderThread-11249 ( 1151) [006] ...1 1034718.027831: tracing_mark_write: E|1151 22702 surfaceflinger-591 ( 591) [000] ...1 1034718.032046: tracing_mark_write: B|591|HIDL::IComposerClient::createLayer::client 22703 composer@2.1-s-593 ( 593) [002] ...1 1034718.032146: tracing_mark_write: B|593|HIDL::IComposerClient::createLayer::server 22704 composer@2.1-s-593 ( 593) [002] ...1 1034718.032205: tracing_mark_write: E|593 22705 surfaceflinger-591 ( 591) [000] ...1 1034718.032249: tracing_mark_write: E|591 22706 surfaceflinger-591 ( 591) [000] ...1 1034718.032369: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 22707 composer@2.1-s-593 ( 593) [002] ...1 1034718.032442: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 22708 composer@2.1-s-593 ( 593) [002] ...1 1034718.032515: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 22709 composer@2.1-s-593 ( 593) [002] ...1 1034718.032525: tracing_mark_write: E|593 22710 composer@2.1-s-593 ( 593) [002] ...1 1034718.032530: tracing_mark_write: B|593|HWCSession::ValidateDisplay:: 22711 composer@2.1-s-593 ( 593) [002] ...1 1034718.032888: tracing_mark_write: B|593|HWDevice::Validate:: 22712 composer@2.1-s-593 ( 593) [002] ...1 1034718.032986: tracing_mark_write: E|593 22713 composer@2.1-s-593 ( 593) [002] ...1 1034718.033009: tracing_mark_write: E|593 22714 composer@2.1-s-593 ( 593) [002] ...1 1034718.033030: tracing_mark_write: E|593 22715 surfaceflinger-591 ( 591) [000] ...1 1034718.033084: tracing_mark_write: E|591 22716 surfaceflinger-591 ( 591) [000] ...1 1034718.033154: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 22717 composer@2.1-s-593 ( 593) [002] ...1 1034718.033230: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 22718 composer@2.1-s-593 ( 593) [002] ...1 1034718.033242: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 22719 composer@2.1-s-593 ( 593) [002] ...1 1034718.033256: tracing_mark_write: B|593|HWDevice::Commit:: 22720 composer@2.1-s-593 ( 593) [002] ...1 1034718.033372: tracing_mark_write: E|593 22721 composer@2.1-s-593 ( 593) [002] ...1 1034718.033391: tracing_mark_write: E|593 22722 composer@2.1-s-593 ( 593) [002] ...1 1034718.033416: tracing_mark_write: E|593 22723 surfaceflinger-591 ( 591) [000] ...1 1034718.033462: tracing_mark_write: E|591 22724 HwBinder:778_1-1087 ( 778) [001] ...1 1034718.040462: tracing_mark_write: E|778 22725 SensorService-1283 ( 1151) [000] ...1 1034718.040546: tracing_mark_write: E|1151 22726 SensorService-1283 ( 1151) [000] ...1 1034718.040628: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 22727 HwBinder:778_1-1087 ( 778) [001] ...1 1034718.040687: tracing_mark_write: B|778|HIDL::ISensors::poll::server 22728 surfaceflinger-591 ( 591) [000] ...1 1034718.048840: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 22729 composer@2.1-s-593 ( 593) [002] ...1 1034718.048964: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 22730 composer@2.1-s-593 ( 593) [002] ...1 1034718.049045: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 22731 composer@2.1-s-593 ( 593) [002] ...1 1034718.049055: tracing_mark_write: E|593 22732 composer@2.1-s-593 ( 593) [002] ...1 1034718.049060: tracing_mark_write: B|593|HWCSession::ValidateDisplay:: 22733 composer@2.1-s-593 ( 593) [002] ...1 1034718.049344: tracing_mark_write: B|593|HWDevice::Validate:: 22734 composer@2.1-s-593 ( 593) [002] ...1 1034718.049416: tracing_mark_write: E|593 22735 composer@2.1-s-593 ( 593) [002] ...1 1034718.049436: tracing_mark_write: E|593 22736 composer@2.1-s-593 ( 593) [002] ...1 1034718.049459: tracing_mark_write: E|593 22737 surfaceflinger-591 ( 591) [000] ...1 1034718.049521: tracing_mark_write: E|591 22738 surfaceflinger-591 ( 591) [000] ...1 1034718.049599: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 22739 composer@2.1-s-593 ( 593) [002] ...1 1034718.049640: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 22740 composer@2.1-s-593 ( 593) [002] ...1 1034718.049650: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 22741 composer@2.1-s-593 ( 593) [002] ...1 1034718.049661: tracing_mark_write: B|593|HWDevice::Commit:: 22742 composer@2.1-s-593 ( 593) [002] ...1 1034718.049749: tracing_mark_write: E|593 22743 composer@2.1-s-593 ( 593) [002] ...1 1034718.049768: tracing_mark_write: E|593 22744 composer@2.1-s-593 ( 593) [002] ...1 1034718.049794: tracing_mark_write: E|593 22745 surfaceflinger-591 ( 591) [000] ...1 1034718.049839: tracing_mark_write: E|591 22746 Binder:591_4-1671 ( 591) [005] ...1 1034718.059510: tracing_mark_write: B|591|HIDL::IMapper::freeBuffer::passthrough 22747 Binder:591_4-1671 ( 591) [005] ...1 1034718.059528: tracing_mark_write: B|591|FreeBuffer 22748 Binder:591_4-1671 ( 591) [005] ...1 1034718.059571: tracing_mark_write: E|591 22749 Binder:591_4-1671 ( 591) [005] ...1 1034718.059573: tracing_mark_write: B|591|FreeBuffer 22750 Binder:591_4-1671 ( 591) [005] ...1 1034718.059580: tracing_mark_write: E|591 22751 Binder:591_4-1671 ( 591) [005] ...1 1034718.059584: tracing_mark_write: E|591 22752 Binder:591_4-1671 ( 591) [005] ...1 1034718.059600: tracing_mark_write: B|591|HIDL::IMapper::createDescriptor::passthrough 22753 Binder:591_4-1671 ( 591) [005] ...1 1034718.059603: tracing_mark_write: E|591 22754 Binder:591_4-1671 ( 591) [005] ...1 1034718.059611: tracing_mark_write: B|591|HIDL::IAllocator::allocate::client 22755 HwBinder:595_3-1779 ( 595) [007] ...1 1034718.059675: tracing_mark_write: B|595|HIDL::IAllocator::allocate::server 22756 HwBinder:595_3-1779 ( 595) [007] ...1 1034718.059696: tracing_mark_write: B|595|AllocBuffer 22757 HwBinder:595_3-1779 ( 595) [007] ...1 1034718.059706: tracing_mark_write: B|595|ION_IOC_ALLOC size: 8417280 22758 HwBinder:778_1-1087 ( 778) [001] ...1 1034718.059749: tracing_mark_write: E|778 22759 SensorService-1283 ( 1151) [000] ...1 1034718.059854: tracing_mark_write: E|1151 22760 SensorService-1283 ( 1151) [000] ...1 1034718.059977: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 22761 HwBinder:778_1-1087 ( 778) [001] ...1 1034718.060053: tracing_mark_write: B|778|HIDL::ISensors::poll::server 22762 HwBinder:595_3-1779 ( 595) [007] ...1 1034718.060495: tracing_mark_write: E|595 22763 HwBinder:595_3-1779 ( 595) [007] ...1 1034718.060497: tracing_mark_write: B|595|ION_IOC_MAP 22764 HwBinder:595_3-1779 ( 595) [007] ...1 1034718.060508: tracing_mark_write: E|595 22765 HwBinder:595_3-1779 ( 595) [007] ...1 1034718.060510: tracing_mark_write: E|595 22766 HwBinder:595_3-1779 ( 595) [007] ...1 1034718.060512: tracing_mark_write: B|595|AllocBuffer 22767 HwBinder:595_3-1779 ( 595) [007] ...1 1034718.060516: tracing_mark_write: B|595|ION_IOC_ALLOC size: 4096 22768 HwBinder:595_3-1779 ( 595) [007] ...1 1034718.060522: tracing_mark_write: E|595 22769 HwBinder:595_3-1779 ( 595) [007] ...1 1034718.060523: tracing_mark_write: B|595|ION_IOC_MAP 22770 HwBinder:595_3-1779 ( 595) [007] ...1 1034718.060527: tracing_mark_write: E|595 22771 HwBinder:595_3-1779 ( 595) [007] ...1 1034718.060528: tracing_mark_write: E|595 22772 HwBinder:595_3-1779 ( 595) [007] ...1 1034718.060562: tracing_mark_write: E|595 22773 HwBinder:595_3-1779 ( 595) [007] ...1 1034718.060594: tracing_mark_write: B|595|FreeBuffer 22774 HwBinder:595_3-1779 ( 595) [007] ...1 1034718.060599: tracing_mark_write: E|595 22775 HwBinder:595_3-1779 ( 595) [007] ...1 1034718.060600: tracing_mark_write: B|595|FreeBuffer 22776 HwBinder:595_3-1779 ( 595) [007] ...1 1034718.060601: tracing_mark_write: B|595|UnmapBuffer 22777 Binder:591_4-1671 ( 591) [005] ...1 1034718.060607: tracing_mark_write: B|591|HIDL::IMapper::importBuffer::passthrough 22778 HwBinder:595_3-1779 ( 595) [007] ...1 1034718.060615: tracing_mark_write: E|595 22779 HwBinder:595_3-1779 ( 595) [007] ...1 1034718.060618: tracing_mark_write: E|595 22780 Binder:591_4-1671 ( 591) [005] ...1 1034718.060628: tracing_mark_write: E|591 22781 Binder:591_4-1671 ( 591) [005] ...1 1034718.060632: tracing_mark_write: E|591 22782 RenderThread-27026 (27005) [005] ...1 1034718.061298: tracing_mark_write: B|27005|HIDL::IMapper::importBuffer::passthrough 22783 RenderThread-27026 (27005) [005] ...1 1034718.061996: tracing_mark_write: E|27005 22784 surfaceflinger-591 ( 591) [000] ...1 1034718.062894: tracing_mark_write: B|591|HIDL::IComposerClient::getActiveConfig::client 22785 composer@2.1-s-593 ( 593) [002] ...1 1034718.062992: tracing_mark_write: B|593|HIDL::IComposerClient::getActiveConfig::server 22786 composer@2.1-s-593 ( 593) [002] ...1 1034718.063009: tracing_mark_write: E|593 22787 surfaceflinger-591 ( 591) [000] ...1 1034718.063047: tracing_mark_write: E|591 22788 surfaceflinger-591 ( 591) [000] ...1 1034718.065644: tracing_mark_write: B|591|HIDL::IComposerClient::createLayer::client 22789 composer@2.1-s-593 ( 593) [002] ...1 1034718.065759: tracing_mark_write: B|593|HIDL::IComposerClient::createLayer::server 22790 composer@2.1-s-593 ( 593) [002] ...1 1034718.065803: tracing_mark_write: E|593 22791 surfaceflinger-591 ( 591) [000] ...1 1034718.065846: tracing_mark_write: E|591 22792 surfaceflinger-591 ( 591) [000] ...1 1034718.065977: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 22793 composer@2.1-s-593 ( 593) [002] ...1 1034718.066088: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 22794 composer@2.1-s-593 ( 593) [002] ...1 1034718.066158: tracing_mark_write: B|593|HIDL::IMapper::importBuffer::passthrough 22795 composer@2.1-s-593 ( 593) [002] ...1 1034718.066212: tracing_mark_write: E|593 22796 composer@2.1-s-593 ( 593) [002] ...1 1034718.066267: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 22797 composer@2.1-s-593 ( 593) [002] ...1 1034718.066276: tracing_mark_write: E|593 22798 composer@2.1-s-593 ( 593) [002] ...1 1034718.066281: tracing_mark_write: B|593|HWCSession::ValidateDisplay:: 22799 composer@2.1-s-593 ( 593) [002] ...1 1034718.066607: tracing_mark_write: B|593|HWDevice::Validate:: 22800 composer@2.1-s-593 ( 593) [002] ...1 1034718.066702: tracing_mark_write: E|593 22801 composer@2.1-s-593 ( 593) [002] ...1 1034718.066725: tracing_mark_write: E|593 22802 composer@2.1-s-593 ( 593) [002] ...1 1034718.066748: tracing_mark_write: E|593 22803 surfaceflinger-591 ( 591) [000] ...1 1034718.066817: tracing_mark_write: E|591 22804 surfaceflinger-591 ( 591) [000] ...1 1034718.066906: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 22805 composer@2.1-s-593 ( 593) [002] ...1 1034718.066956: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 22806 composer@2.1-s-593 ( 593) [002] ...1 1034718.066969: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 22807 composer@2.1-s-593 ( 593) [002] ...1 1034718.066984: tracing_mark_write: B|593|HWDevice::Commit:: 22808 composer@2.1-s-593 ( 593) [002] ...1 1034718.067095: tracing_mark_write: E|593 22809 composer@2.1-s-593 ( 593) [002] ...1 1034718.067118: tracing_mark_write: E|593 22810 composer@2.1-s-593 ( 593) [002] ...1 1034718.067146: tracing_mark_write: E|593 22811 surfaceflinger-591 ( 591) [000] ...1 1034718.067204: tracing_mark_write: E|591 22812 RenderThread-11249 ( 1151) [007] ...1 1034718.068600: tracing_mark_write: B|1151|HIDL::IMapper::createDescriptor::passthrough 22813 RenderThread-11249 ( 1151) [007] ...1 1034718.068607: tracing_mark_write: E|1151 22814 RenderThread-11249 ( 1151) [007] ...1 1034718.068621: tracing_mark_write: B|1151|HIDL::IAllocator::allocate::client 22815 HwBinder:595_3-1779 ( 595) [004] ...1 1034718.068705: tracing_mark_write: B|595|HIDL::IAllocator::allocate::server 22816 HwBinder:595_3-1779 ( 595) [004] ...1 1034718.068726: tracing_mark_write: B|595|AllocBuffer 22817 HwBinder:595_3-1779 ( 595) [004] ...1 1034718.068731: tracing_mark_write: B|595|ION_IOC_ALLOC size: 2211840 22818 HwBinder:595_3-1779 ( 595) [004] ...1 1034718.068774: tracing_mark_write: E|595 22819 HwBinder:595_3-1779 ( 595) [004] ...1 1034718.068775: tracing_mark_write: B|595|ION_IOC_MAP 22820 HwBinder:595_3-1779 ( 595) [004] ...1 1034718.068783: tracing_mark_write: E|595 22821 HwBinder:595_3-1779 ( 595) [004] ...1 1034718.068785: tracing_mark_write: E|595 22822 HwBinder:595_3-1779 ( 595) [004] ...1 1034718.068787: tracing_mark_write: B|595|AllocBuffer 22823 HwBinder:595_3-1779 ( 595) [004] ...1 1034718.068789: tracing_mark_write: B|595|ION_IOC_ALLOC size: 4096 22824 HwBinder:595_3-1779 ( 595) [004] ...1 1034718.068793: tracing_mark_write: E|595 22825 HwBinder:595_3-1779 ( 595) [004] ...1 1034718.068794: tracing_mark_write: B|595|ION_IOC_MAP 22826 HwBinder:595_3-1779 ( 595) [004] ...1 1034718.068798: tracing_mark_write: E|595 22827 HwBinder:595_3-1779 ( 595) [004] ...1 1034718.068799: tracing_mark_write: E|595 22828 HwBinder:595_3-1779 ( 595) [004] ...1 1034718.068828: tracing_mark_write: E|595 22829 HwBinder:595_3-1779 ( 595) [004] ...1 1034718.068850: tracing_mark_write: B|595|FreeBuffer 22830 HwBinder:595_3-1779 ( 595) [004] ...1 1034718.068855: tracing_mark_write: E|595 22831 HwBinder:595_3-1779 ( 595) [004] ...1 1034718.068856: tracing_mark_write: B|595|FreeBuffer 22832 HwBinder:595_3-1779 ( 595) [004] ...1 1034718.068857: tracing_mark_write: B|595|UnmapBuffer 22833 RenderThread-11249 ( 1151) [007] ...1 1034718.068862: tracing_mark_write: B|1151|HIDL::IMapper::importBuffer::passthrough 22834 HwBinder:595_3-1779 ( 595) [004] ...1 1034718.068866: tracing_mark_write: E|595 22835 HwBinder:595_3-1779 ( 595) [004] ...1 1034718.068869: tracing_mark_write: E|595 22836 RenderThread-11249 ( 1151) [007] ...1 1034718.068879: tracing_mark_write: E|1151 22837 RenderThread-11249 ( 1151) [007] ...1 1034718.068882: tracing_mark_write: E|1151 22838 RenderThread-11249 ( 1151) [007] ...1 1034718.069506: tracing_mark_write: B|1151|LockBuffer 22839 RenderThread-11249 ( 1151) [007] ...1 1034718.069511: tracing_mark_write: B|1151|MapBuffer 22840 RenderThread-11249 ( 1151) [007] ...1 1034718.069528: tracing_mark_write: E|1151 22841 RenderThread-11249 ( 1151) [007] ...1 1034718.069531: tracing_mark_write: B|1151|CleanBuffer 22842 RenderThread-11249 ( 1151) [007] ...1 1034718.069532: tracing_mark_write: C|1151|operation id|2 22843 RenderThread-11249 ( 1151) [007] ...1 1034718.070009: tracing_mark_write: E|1151 22844 RenderThread-11249 ( 1151) [007] ...1 1034718.070012: tracing_mark_write: E|1151 22845 RenderThread-11249 ( 1151) [007] ...1 1034718.071636: tracing_mark_write: B|1151|CleanBuffer 22846 RenderThread-11249 ( 1151) [007] ...1 1034718.071641: tracing_mark_write: C|1151|operation id|1 22847 RenderThread-11249 ( 1151) [007] ...1 1034718.072064: tracing_mark_write: E|1151 22848 Binder:2279_3-2325 ( 2279) [007] ...1 1034718.072623: tracing_mark_write: B|2279|HIDL::IMapper::importBuffer::passthrough 22849 Binder:2279_3-2325 ( 2279) [007] ...1 1034718.072679: tracing_mark_write: E|2279 22850 Binder:591_3-1218 ( 591) [004] ...1 1034718.074330: tracing_mark_write: B|591|HIDL::IMapper::freeBuffer::passthrough 22851 Binder:591_3-1218 ( 591) [004] ...1 1034718.074348: tracing_mark_write: B|591|FreeBuffer 22852 Binder:591_3-1218 ( 591) [004] ...1 1034718.074369: tracing_mark_write: E|591 22853 Binder:591_3-1218 ( 591) [004] ...1 1034718.074371: tracing_mark_write: B|591|FreeBuffer 22854 Binder:591_3-1218 ( 591) [004] ...1 1034718.074378: tracing_mark_write: E|591 22855 Binder:591_3-1218 ( 591) [004] ...1 1034718.074382: tracing_mark_write: E|591 22856 Binder:591_3-1218 ( 591) [004] ...1 1034718.074399: tracing_mark_write: B|591|HIDL::IMapper::createDescriptor::passthrough 22857 Binder:591_3-1218 ( 591) [004] ...1 1034718.074403: tracing_mark_write: E|591 22858 Binder:591_3-1218 ( 591) [004] ...1 1034718.074410: tracing_mark_write: B|591|HIDL::IAllocator::allocate::client 22859 HwBinder:595_3-1779 ( 595) [004] ...1 1034718.074473: tracing_mark_write: B|595|HIDL::IAllocator::allocate::server 22860 HwBinder:595_3-1779 ( 595) [004] ...1 1034718.074493: tracing_mark_write: B|595|AllocBuffer 22861 HwBinder:595_3-1779 ( 595) [004] ...1 1034718.074499: tracing_mark_write: B|595|ION_IOC_ALLOC size: 8417280 22862 HwBinder:595_3-1779 ( 595) [004] ...1 1034718.075553: tracing_mark_write: E|595 22863 HwBinder:595_3-1779 ( 595) [004] ...1 1034718.075555: tracing_mark_write: B|595|ION_IOC_MAP 22864 HwBinder:595_3-1779 ( 595) [004] ...1 1034718.075566: tracing_mark_write: E|595 22865 HwBinder:595_3-1779 ( 595) [004] ...1 1034718.075569: tracing_mark_write: E|595 22866 HwBinder:595_3-1779 ( 595) [004] ...1 1034718.075571: tracing_mark_write: B|595|AllocBuffer 22867 HwBinder:595_3-1779 ( 595) [004] ...1 1034718.075575: tracing_mark_write: B|595|ION_IOC_ALLOC size: 4096 22868 HwBinder:595_3-1779 ( 595) [004] ...1 1034718.075583: tracing_mark_write: E|595 22869 HwBinder:595_3-1779 ( 595) [004] ...1 1034718.075584: tracing_mark_write: B|595|ION_IOC_MAP 22870 HwBinder:595_3-1779 ( 595) [004] ...1 1034718.075588: tracing_mark_write: E|595 22871 HwBinder:595_3-1779 ( 595) [004] ...1 1034718.075589: tracing_mark_write: E|595 22872 HwBinder:595_3-1779 ( 595) [004] ...1 1034718.075621: tracing_mark_write: E|595 22873 HwBinder:595_3-1779 ( 595) [004] ...1 1034718.075659: tracing_mark_write: B|595|FreeBuffer 22874 HwBinder:595_3-1779 ( 595) [004] ...1 1034718.075664: tracing_mark_write: E|595 22875 HwBinder:595_3-1779 ( 595) [004] ...1 1034718.075665: tracing_mark_write: B|595|FreeBuffer 22876 HwBinder:595_3-1779 ( 595) [004] ...1 1034718.075667: tracing_mark_write: B|595|UnmapBuffer 22877 HwBinder:595_3-1779 ( 595) [004] ...1 1034718.075673: tracing_mark_write: E|595 22878 HwBinder:595_3-1779 ( 595) [004] ...1 1034718.075676: tracing_mark_write: E|595 22879 Binder:591_3-1218 ( 591) [004] ...1 1034718.075716: tracing_mark_write: B|591|HIDL::IMapper::importBuffer::passthrough 22880 Binder:591_3-1218 ( 591) [004] ...1 1034718.075735: tracing_mark_write: E|591 22881 Binder:591_3-1218 ( 591) [004] ...1 1034718.075739: tracing_mark_write: E|591 22882 RenderThread-27026 (27005) [005] ...1 1034718.075868: tracing_mark_write: B|27005|HIDL::IMapper::importBuffer::passthrough 22883 RenderThread-27026 (27005) [004] ...1 1034718.075942: tracing_mark_write: E|27005 22884 Binder:1151_D-2620 ( 1151) [007] ...1 1034718.078687: tracing_mark_write: B|1151|HIDL::IPower::powerHintAsync::client 22885 Binder:1151_D-2620 ( 1151) [007] ...1 1034718.078730: tracing_mark_write: E|1151 22886 power@1.2-serv-773 ( 773) [004] ...1 1034718.078771: tracing_mark_write: B|773|HIDL::IPower::powerHintAsync::server 22887 power@1.2-serv-773 ( 773) [004] ...1 1034718.078853: tracing_mark_write: B|773|launch 22888 power@1.2-serv-773 ( 773) [004] ...1 1034718.078856: tracing_mark_write: C|773|launch_lock|0 22889 HwBinder:778_1-1087 ( 778) [000] ...1 1034718.078903: tracing_mark_write: E|778 22890 power@1.2-serv-773 ( 773) [004] ...1 1034718.078903: tracing_mark_write: E|773 22891 power@1.2-serv-773 ( 773) [004] ...1 1034718.078906: tracing_mark_write: E|773 22892 SensorService-1283 ( 1151) [006] ...1 1034718.078979: tracing_mark_write: E|1151 22893 SensorService-1283 ( 1151) [006] ...1 1034718.079028: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 22894 HwBinder:778_1-1087 ( 778) [000] ...1 1034718.079084: tracing_mark_write: B|778|HIDL::ISensors::poll::server 22895 android.bg-1184 ( 1151) [000] ...1 1034718.079654: tracing_mark_write: B|1151|HIDL::IMemtrack::getMemory::client 22896 memtrack@1.0-s-748 ( 748) [004] ...1 1034718.079750: tracing_mark_write: B|748|HIDL::IMemtrack::getMemory::server 22897 memtrack@1.0-s-748 ( 748) [004] ...1 1034718.079764: tracing_mark_write: E|748 22898 android.bg-1184 ( 1151) [000] ...1 1034718.079813: tracing_mark_write: E|1151 22899 android.bg-1184 ( 1151) [000] ...1 1034718.079823: tracing_mark_write: B|1151|HIDL::IMemtrack::getMemory::client 22900 memtrack@1.0-s-748 ( 748) [001] ...1 1034718.079899: tracing_mark_write: B|748|HIDL::IMemtrack::getMemory::server 22901 memtrack@1.0-s-748 ( 748) [001] ...1 1034718.080002: tracing_mark_write: E|748 22902 android.bg-1184 ( 1151) [000] ...1 1034718.080040: tracing_mark_write: E|1151 22903 android.bg-1184 ( 1151) [000] ...1 1034718.080048: tracing_mark_write: B|1151|HIDL::IMemtrack::getMemory::client 22904 memtrack@1.0-s-748 ( 748) [001] ...1 1034718.080086: tracing_mark_write: B|748|HIDL::IMemtrack::getMemory::server 22905 memtrack@1.0-s-748 ( 748) [001] ...1 1034718.080115: tracing_mark_write: E|748 22906 android.bg-1184 ( 1151) [000] ...1 1034718.080141: tracing_mark_write: E|1151 22907 android.bg-1184 ( 1151) [000] ...1 1034718.080146: tracing_mark_write: B|1151|HIDL::IMemtrack::getMemory::client 22908 memtrack@1.0-s-748 ( 748) [001] ...1 1034718.080181: tracing_mark_write: B|748|HIDL::IMemtrack::getMemory::server 22909 memtrack@1.0-s-748 ( 748) [001] ...1 1034718.080189: tracing_mark_write: E|748 22910 android.bg-1184 ( 1151) [000] ...1 1034718.080220: tracing_mark_write: E|1151 22911 android.bg-1184 ( 1151) [000] ...1 1034718.080227: tracing_mark_write: B|1151|HIDL::IMemtrack::getMemory::client 22912 memtrack@1.0-s-748 ( 748) [001] ...1 1034718.080264: tracing_mark_write: B|748|HIDL::IMemtrack::getMemory::server 22913 memtrack@1.0-s-748 ( 748) [001] ...1 1034718.080271: tracing_mark_write: E|748 22914 android.bg-1184 ( 1151) [000] ...1 1034718.080302: tracing_mark_write: E|1151 22915 surfaceflinger-591 ( 591) [000] ...1 1034718.082795: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 22916 composer@2.1-s-593 ( 593) [002] ...1 1034718.082927: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 22917 composer@2.1-s-593 ( 593) [002] ...1 1034718.083005: tracing_mark_write: B|593|HIDL::IMapper::importBuffer::passthrough 22918 composer@2.1-s-593 ( 593) [002] ...1 1034718.083042: tracing_mark_write: E|593 22919 composer@2.1-s-593 ( 593) [002] ...1 1034718.083100: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 22920 composer@2.1-s-593 ( 593) [002] ...1 1034718.083111: tracing_mark_write: E|593 22921 composer@2.1-s-593 ( 593) [002] ...1 1034718.083116: tracing_mark_write: B|593|HWCSession::ValidateDisplay:: 22922 composer@2.1-s-593 ( 593) [002] ...1 1034718.083490: tracing_mark_write: B|593|HWDevice::Validate:: 22923 composer@2.1-s-593 ( 593) [002] ...1 1034718.083591: tracing_mark_write: E|593 22924 composer@2.1-s-593 ( 593) [002] ...1 1034718.083616: tracing_mark_write: E|593 22925 composer@2.1-s-593 ( 593) [002] ...1 1034718.083643: tracing_mark_write: E|593 22926 surfaceflinger-591 ( 591) [000] ...1 1034718.083722: tracing_mark_write: E|591 22927 surfaceflinger-591 ( 591) [000] ...1 1034718.083819: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 22928 composer@2.1-s-593 ( 593) [002] ...1 1034718.083866: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 22929 composer@2.1-s-593 ( 593) [002] ...1 1034718.083876: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 22930 composer@2.1-s-593 ( 593) [002] ...1 1034718.083887: tracing_mark_write: B|593|HWDevice::Commit:: 22931 composer@2.1-s-593 ( 593) [002] ...1 1034718.083988: tracing_mark_write: E|593 22932 composer@2.1-s-593 ( 593) [002] ...1 1034718.084009: tracing_mark_write: E|593 22933 composer@2.1-s-593 ( 593) [002] ...1 1034718.084033: tracing_mark_write: E|593 22934 surfaceflinger-591 ( 591) [000] ...1 1034718.084082: tracing_mark_write: E|591 22935 HwBinder:778_1-1087 ( 778) [004] ...1 1034718.098173: tracing_mark_write: E|778 22936 SensorService-1283 ( 1151) [006] ...1 1034718.098314: tracing_mark_write: E|1151 22937 SensorService-1283 ( 1151) [006] ...1 1034718.098365: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 22938 HwBinder:778_1-1087 ( 778) [004] ...1 1034718.098414: tracing_mark_write: B|778|HIDL::ISensors::poll::server 22939 surfaceflinger-591 ( 591) [000] ...1 1034718.099413: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 22940 composer@2.1-s-593 ( 593) [002] ...1 1034718.099530: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 22941 composer@2.1-s-593 ( 593) [002] ...1 1034718.099598: tracing_mark_write: B|593|HIDL::IMapper::importBuffer::passthrough 22942 composer@2.1-s-593 ( 593) [002] ...1 1034718.099643: tracing_mark_write: E|593 22943 composer@2.1-s-593 ( 593) [002] ...1 1034718.099695: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 22944 composer@2.1-s-593 ( 593) [002] ...1 1034718.099704: tracing_mark_write: E|593 22945 composer@2.1-s-593 ( 593) [002] ...1 1034718.099709: tracing_mark_write: B|593|HWCSession::ValidateDisplay:: 22946 composer@2.1-s-593 ( 593) [002] ...1 1034718.100140: tracing_mark_write: B|593|HWDevice::Validate:: 22947 composer@2.1-s-593 ( 593) [002] ...1 1034718.100258: tracing_mark_write: E|593 22948 composer@2.1-s-593 ( 593) [002] ...1 1034718.100288: tracing_mark_write: E|593 22949 composer@2.1-s-593 ( 593) [002] ...1 1034718.100315: tracing_mark_write: E|593 22950 surfaceflinger-591 ( 591) [000] ...1 1034718.100412: tracing_mark_write: E|591 22951 surfaceflinger-591 ( 591) [000] ...1 1034718.100529: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 22952 composer@2.1-s-593 ( 593) [002] ...1 1034718.100597: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 22953 composer@2.1-s-593 ( 593) [002] ...1 1034718.100613: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 22954 composer@2.1-s-593 ( 593) [002] ...1 1034718.100629: tracing_mark_write: B|593|HWDevice::Commit:: 22955 composer@2.1-s-593 ( 593) [002] ...1 1034718.100762: tracing_mark_write: E|593 22956 composer@2.1-s-593 ( 593) [002] ...1 1034718.100789: tracing_mark_write: E|593 22957 composer@2.1-s-593 ( 593) [002] ...1 1034718.100822: tracing_mark_write: E|593 22958 surfaceflinger-591 ( 591) [000] ...1 1034718.100890: tracing_mark_write: E|591 22959 surfaceflinger-591 ( 591) [001] ...1 1034718.115962: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 22960 composer@2.1-s-593 ( 593) [002] ...1 1034718.116079: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 22961 composer@2.1-s-593 ( 593) [002] ...1 1034718.116160: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 22962 composer@2.1-s-593 ( 593) [002] ...1 1034718.116170: tracing_mark_write: E|593 22963 composer@2.1-s-593 ( 593) [002] ...1 1034718.116174: tracing_mark_write: B|593|HWCSession::ValidateDisplay:: 22964 composer@2.1-s-593 ( 593) [002] ...1 1034718.116450: tracing_mark_write: B|593|HWDevice::Validate:: 22965 composer@2.1-s-593 ( 593) [002] ...1 1034718.116557: tracing_mark_write: E|593 22966 composer@2.1-s-593 ( 593) [002] ...1 1034718.116579: tracing_mark_write: E|593 22967 composer@2.1-s-593 ( 593) [002] ...1 1034718.116600: tracing_mark_write: E|593 22968 surfaceflinger-591 ( 591) [001] ...1 1034718.116657: tracing_mark_write: E|591 22969 surfaceflinger-591 ( 591) [001] ...1 1034718.116733: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 22970 composer@2.1-s-593 ( 593) [002] ...1 1034718.116775: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 22971 composer@2.1-s-593 ( 593) [002] ...1 1034718.116784: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 22972 composer@2.1-s-593 ( 593) [002] ...1 1034718.116796: tracing_mark_write: B|593|HWDevice::Commit:: 22973 composer@2.1-s-593 ( 593) [002] ...1 1034718.116889: tracing_mark_write: E|593 22974 composer@2.1-s-593 ( 593) [002] ...1 1034718.116909: tracing_mark_write: E|593 22975 composer@2.1-s-593 ( 593) [002] ...1 1034718.116933: tracing_mark_write: E|593 22976 surfaceflinger-591 ( 591) [001] ...1 1034718.117001: tracing_mark_write: E|591 22977 HwBinder:778_1-1087 ( 778) [001] ...1 1034718.117481: tracing_mark_write: E|778 22978 SensorService-1283 ( 1151) [006] ...1 1034718.117537: tracing_mark_write: E|1151 22979 SensorService-1283 ( 1151) [006] ...1 1034718.117586: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 22980 HwBinder:778_1-1087 ( 778) [001] ...1 1034718.117627: tracing_mark_write: B|778|HIDL::ISensors::poll::server 22981 surfaceflinger-591 ( 591) [000] ...1 1034718.133037: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 22982 composer@2.1-s-593 ( 593) [002] ...1 1034718.133280: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 22983 composer@2.1-s-593 ( 593) [002] ...1 1034718.133410: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 22984 composer@2.1-s-593 ( 593) [002] ...1 1034718.133421: tracing_mark_write: E|593 22985 composer@2.1-s-593 ( 593) [002] ...1 1034718.133426: tracing_mark_write: B|593|HWCSession::ValidateDisplay:: 22986 composer@2.1-s-593 ( 593) [002] ...1 1034718.133873: tracing_mark_write: B|593|HWDevice::Validate:: 22987 composer@2.1-s-593 ( 593) [002] ...1 1034718.134003: tracing_mark_write: E|593 22988 composer@2.1-s-593 ( 593) [002] ...1 1034718.134033: tracing_mark_write: E|593 22989 composer@2.1-s-593 ( 593) [002] ...1 1034718.134061: tracing_mark_write: E|593 22990 surfaceflinger-591 ( 591) [000] ...1 1034718.134149: tracing_mark_write: E|591 22991 surfaceflinger-591 ( 591) [000] ...1 1034718.134247: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 22992 composer@2.1-s-593 ( 593) [002] ...1 1034718.134299: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 22993 composer@2.1-s-593 ( 593) [002] ...1 1034718.134310: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 22994 composer@2.1-s-593 ( 593) [002] ...1 1034718.134325: tracing_mark_write: B|593|HWDevice::Commit:: 22995 composer@2.1-s-593 ( 593) [002] ...1 1034718.134463: tracing_mark_write: E|593 22996 composer@2.1-s-593 ( 593) [002] ...1 1034718.134491: tracing_mark_write: E|593 22997 composer@2.1-s-593 ( 593) [002] ...1 1034718.134527: tracing_mark_write: E|593 22998 surfaceflinger-591 ( 591) [000] ...1 1034718.134579: tracing_mark_write: E|591 22999 HwBinder:778_1-1087 ( 778) [000] ...1 1034718.136929: tracing_mark_write: E|778 23000 SensorService-1283 ( 1151) [006] ...1 1034718.137058: tracing_mark_write: E|1151 23001 SensorService-1283 ( 1151) [006] ...1 1034718.137116: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 23002 HwBinder:778_1-1087 ( 778) [000] ...1 1034718.137165: tracing_mark_write: B|778|HIDL::ISensors::poll::server 23003 surfaceflinger-591 ( 591) [001] ...1 1034718.150136: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 23004 composer@2.1-s-593 ( 593) [002] ...1 1034718.150276: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 23005 composer@2.1-s-593 ( 593) [002] ...1 1034718.150370: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 23006 composer@2.1-s-593 ( 593) [002] ...1 1034718.150380: tracing_mark_write: E|593 23007 composer@2.1-s-593 ( 593) [002] ...1 1034718.150386: tracing_mark_write: B|593|HWCSession::ValidateDisplay:: 23008 composer@2.1-s-593 ( 593) [002] ...1 1034718.150734: tracing_mark_write: B|593|HWDevice::Validate:: 23009 composer@2.1-s-593 ( 593) [002] ...1 1034718.150837: tracing_mark_write: E|593 23010 composer@2.1-s-593 ( 593) [002] ...1 1034718.150859: tracing_mark_write: E|593 23011 composer@2.1-s-593 ( 593) [002] ...1 1034718.150883: tracing_mark_write: E|593 23012 surfaceflinger-591 ( 591) [001] ...1 1034718.150945: tracing_mark_write: E|591 23013 surfaceflinger-591 ( 591) [001] ...1 1034718.151024: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 23014 composer@2.1-s-593 ( 593) [002] ...1 1034718.151063: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 23015 composer@2.1-s-593 ( 593) [002] ...1 1034718.151073: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 23016 composer@2.1-s-593 ( 593) [002] ...1 1034718.151085: tracing_mark_write: B|593|HWDevice::Commit:: 23017 composer@2.1-s-593 ( 593) [002] ...1 1034718.151197: tracing_mark_write: E|593 23018 composer@2.1-s-593 ( 593) [002] ...1 1034718.151217: tracing_mark_write: E|593 23019 composer@2.1-s-593 ( 593) [002] ...1 1034718.151243: tracing_mark_write: E|593 23020 surfaceflinger-591 ( 591) [001] ...1 1034718.151290: tracing_mark_write: E|591 23021 HwBinder:778_1-1087 ( 778) [000] ...1 1034718.155952: tracing_mark_write: E|778 23022 SensorService-1283 ( 1151) [006] ...1 1034718.156026: tracing_mark_write: E|1151 23023 SensorService-1283 ( 1151) [006] ...1 1034718.156086: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 23024 HwBinder:778_1-1087 ( 778) [000] ...1 1034718.156136: tracing_mark_write: B|778|HIDL::ISensors::poll::server 23025 surfaceflinger-591 ( 591) [000] ...1 1034718.166195: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 23026 composer@2.1-s-593 ( 593) [002] ...1 1034718.166288: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 23027 composer@2.1-s-593 ( 593) [002] ...1 1034718.166365: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 23028 composer@2.1-s-593 ( 593) [002] ...1 1034718.166373: tracing_mark_write: E|593 23029 composer@2.1-s-593 ( 593) [002] ...1 1034718.166378: tracing_mark_write: B|593|HWCSession::ValidateDisplay:: 23030 composer@2.1-s-593 ( 593) [002] ...1 1034718.166728: tracing_mark_write: B|593|HWDevice::Validate:: 23031 composer@2.1-s-593 ( 593) [002] ...1 1034718.166822: tracing_mark_write: E|593 23032 composer@2.1-s-593 ( 593) [002] ...1 1034718.166843: tracing_mark_write: E|593 23033 composer@2.1-s-593 ( 593) [002] ...1 1034718.166862: tracing_mark_write: E|593 23034 surfaceflinger-591 ( 591) [000] ...1 1034718.166913: tracing_mark_write: E|591 23035 surfaceflinger-591 ( 591) [000] ...1 1034718.166988: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 23036 composer@2.1-s-593 ( 593) [002] ...1 1034718.167028: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 23037 composer@2.1-s-593 ( 593) [002] ...1 1034718.167037: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 23038 composer@2.1-s-593 ( 593) [002] ...1 1034718.167049: tracing_mark_write: B|593|HWDevice::Commit:: 23039 composer@2.1-s-593 ( 593) [002] ...1 1034718.167148: tracing_mark_write: E|593 23040 composer@2.1-s-593 ( 593) [002] ...1 1034718.167168: tracing_mark_write: E|593 23041 composer@2.1-s-593 ( 593) [002] ...1 1034718.167194: tracing_mark_write: E|593 23042 surfaceflinger-591 ( 591) [000] ...1 1034718.167240: tracing_mark_write: E|591 23043 HwBinder:778_1-1087 ( 778) [000] ...1 1034718.175320: tracing_mark_write: E|778 23044 SensorService-1283 ( 1151) [006] ...1 1034718.175431: tracing_mark_write: E|1151 23045 SensorService-1283 ( 1151) [006] ...1 1034718.175500: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 23046 HwBinder:778_1-1087 ( 778) [000] ...1 1034718.175603: tracing_mark_write: B|778|HIDL::ISensors::poll::server 23047 surfaceflinger-591 ( 591) [000] ...1 1034718.185847: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 23048 composer@2.1-s-593 ( 593) [002] ...1 1034718.186084: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 23049 composer@2.1-s-593 ( 593) [002] ...1 1034718.186279: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 23050 composer@2.1-s-593 ( 593) [002] ...1 1034718.186305: tracing_mark_write: E|593 23051 composer@2.1-s-593 ( 593) [002] ...1 1034718.186321: tracing_mark_write: B|593|HWCSession::ValidateDisplay:: 23052 composer@2.1-s-593 ( 593) [002] ...1 1034718.187078: tracing_mark_write: B|593|HWDevice::Validate:: 23053 composer@2.1-s-593 ( 593) [002] ...1 1034718.187271: tracing_mark_write: E|593 23054 composer@2.1-s-593 ( 593) [002] ...1 1034718.187331: tracing_mark_write: E|593 23055 composer@2.1-s-593 ( 593) [002] ...1 1034718.187376: tracing_mark_write: E|593 23056 surfaceflinger-591 ( 591) [000] ...1 1034718.187517: tracing_mark_write: E|591 23057 surfaceflinger-591 ( 591) [000] ...1 1034718.187707: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 23058 composer@2.1-s-593 ( 593) [002] ...1 1034718.187840: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 23059 composer@2.1-s-593 ( 593) [002] ...1 1034718.187869: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 23060 composer@2.1-s-593 ( 593) [002] ...1 1034718.187900: tracing_mark_write: B|593|HWDevice::Commit:: 23061 composer@2.1-s-593 ( 593) [002] ...1 1034718.188169: tracing_mark_write: E|593 23062 composer@2.1-s-593 ( 593) [002] ...1 1034718.188225: tracing_mark_write: E|593 23063 composer@2.1-s-593 ( 593) [002] ...1 1034718.188296: tracing_mark_write: E|593 23064 surfaceflinger-591 ( 591) [000] ...1 1034718.188460: tracing_mark_write: E|591 23065 HwBinder:778_1-1087 ( 778) [000] ...1 1034718.194501: tracing_mark_write: E|778 23066 SensorService-1283 ( 1151) [006] ...1 1034718.194632: tracing_mark_write: E|1151 23067 SensorService-1283 ( 1151) [006] ...1 1034718.194839: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 23068 HwBinder:778_1-1087 ( 778) [000] ...1 1034718.194998: tracing_mark_write: B|778|HIDL::ISensors::poll::server 23069 surfaceflinger-591 ( 591) [000] ...1 1034718.202222: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 23070 composer@2.1-s-593 ( 593) [002] ...1 1034718.202455: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 23071 composer@2.1-s-593 ( 593) [002] ...1 1034718.202656: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 23072 composer@2.1-s-593 ( 593) [002] ...1 1034718.202683: tracing_mark_write: E|593 23073 composer@2.1-s-593 ( 593) [002] ...1 1034718.202699: tracing_mark_write: B|593|HWCSession::ValidateDisplay:: 23074 composer@2.1-s-593 ( 593) [002] ...1 1034718.203537: tracing_mark_write: B|593|HWDevice::Validate:: 23075 composer@2.1-s-593 ( 593) [002] ...1 1034718.203757: tracing_mark_write: E|593 23076 composer@2.1-s-593 ( 593) [002] ...1 1034718.203823: tracing_mark_write: E|593 23077 composer@2.1-s-593 ( 593) [002] ...1 1034718.203876: tracing_mark_write: E|593 23078 surfaceflinger-591 ( 591) [000] ...1 1034718.204033: tracing_mark_write: E|591 23079 surfaceflinger-591 ( 591) [000] ...1 1034718.204260: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 23080 composer@2.1-s-593 ( 593) [002] ...1 1034718.204406: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 23081 composer@2.1-s-593 ( 593) [002] ...1 1034718.204439: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 23082 composer@2.1-s-593 ( 593) [002] ...1 1034718.204478: tracing_mark_write: B|593|HWDevice::Commit:: 23083 composer@2.1-s-593 ( 593) [002] ...1 1034718.204797: tracing_mark_write: E|593 23084 composer@2.1-s-593 ( 593) [002] ...1 1034718.204861: tracing_mark_write: E|593 23085 composer@2.1-s-593 ( 593) [002] ...1 1034718.204938: tracing_mark_write: E|593 23086 surfaceflinger-591 ( 591) [000] ...1 1034718.205110: tracing_mark_write: E|591 23087 HwBinder:778_1-1087 ( 778) [000] ...1 1034718.213950: tracing_mark_write: E|778 23088 SensorService-1283 ( 1151) [006] ...1 1034718.214092: tracing_mark_write: E|1151 23089 SensorService-1283 ( 1151) [006] ...1 1034718.214194: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 23090 HwBinder:778_1-1087 ( 778) [000] ...1 1034718.214313: tracing_mark_write: B|778|HIDL::ISensors::poll::server 23091 surfaceflinger-591 ( 591) [000] ...1 1034718.218240: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 23092 composer@2.1-s-593 ( 593) [002] ...1 1034718.218402: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 23093 composer@2.1-s-593 ( 593) [002] ...1 1034718.218542: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 23094 composer@2.1-s-593 ( 593) [002] ...1 1034718.218558: tracing_mark_write: E|593 23095 composer@2.1-s-593 ( 593) [002] ...1 1034718.218567: tracing_mark_write: B|593|HWCSession::ValidateDisplay:: 23096 composer@2.1-s-593 ( 593) [002] ...1 1034718.219080: tracing_mark_write: B|593|HWDevice::Validate:: 23097 composer@2.1-s-593 ( 593) [002] ...1 1034718.219206: tracing_mark_write: E|593 23098 composer@2.1-s-593 ( 593) [002] ...1 1034718.219243: tracing_mark_write: E|593 23099 composer@2.1-s-593 ( 593) [002] ...1 1034718.219276: tracing_mark_write: E|593 23100 surfaceflinger-591 ( 591) [000] ...1 1034718.219376: tracing_mark_write: E|591 23101 surfaceflinger-591 ( 591) [000] ...1 1034718.219510: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 23102 composer@2.1-s-593 ( 593) [002] ...1 1034718.219590: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 23103 composer@2.1-s-593 ( 593) [002] ...1 1034718.219607: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 23104 composer@2.1-s-593 ( 593) [002] ...1 1034718.219628: tracing_mark_write: B|593|HWDevice::Commit:: 23105 composer@2.1-s-593 ( 593) [002] ...1 1034718.219807: tracing_mark_write: E|593 23106 composer@2.1-s-593 ( 593) [002] ...1 1034718.219840: tracing_mark_write: E|593 23107 composer@2.1-s-593 ( 593) [002] ...1 1034718.219944: tracing_mark_write: E|593 23108 surfaceflinger-591 ( 591) [000] ...1 1034718.220036: tracing_mark_write: E|591 23109 HwBinder:778_1-1087 ( 778) [006] ...1 1034718.233317: tracing_mark_write: E|778 23110 SensorService-1283 ( 1151) [003] ...1 1034718.233420: tracing_mark_write: E|1151 23111 SensorService-1283 ( 1151) [003] ...1 1034718.233543: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 23112 HwBinder:778_1-1087 ( 778) [006] ...1 1034718.233625: tracing_mark_write: B|778|HIDL::ISensors::poll::server 23113 surfaceflinger-591 ( 591) [000] ...1 1034718.234747: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 23114 composer@2.1-s-593 ( 593) [002] ...1 1034718.234908: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 23115 composer@2.1-s-593 ( 593) [002] ...1 1034718.235045: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 23116 composer@2.1-s-593 ( 593) [002] ...1 1034718.235062: tracing_mark_write: E|593 23117 composer@2.1-s-593 ( 593) [002] ...1 1034718.235070: tracing_mark_write: B|593|HWCSession::ValidateDisplay:: 23118 android.anim-1277 ( 1151) [004] ...1 1034718.235362: tracing_mark_write: B|1151|HIDL::IMapper::freeBuffer::passthrough 23119 android.anim-1277 ( 1151) [004] ...1 1034718.235387: tracing_mark_write: B|1151|FreeBuffer 23120 android.anim-1277 ( 1151) [004] ...1 1034718.235391: tracing_mark_write: B|1151|UnmapBuffer 23121 android.anim-1277 ( 1151) [004] ...1 1034718.235461: tracing_mark_write: E|1151 23122 android.anim-1277 ( 1151) [004] ...1 1034718.235508: tracing_mark_write: E|1151 23123 android.anim-1277 ( 1151) [004] ...1 1034718.235510: tracing_mark_write: B|1151|FreeBuffer 23124 android.anim-1277 ( 1151) [004] ...1 1034718.235515: tracing_mark_write: E|1151 23125 android.anim-1277 ( 1151) [004] ...1 1034718.235523: tracing_mark_write: E|1151 23126 composer@2.1-s-593 ( 593) [002] ...1 1034718.235598: tracing_mark_write: B|593|HWDevice::Validate:: 23127 composer@2.1-s-593 ( 593) [002] ...1 1034718.235725: tracing_mark_write: E|593 23128 composer@2.1-s-593 ( 593) [002] ...1 1034718.235765: tracing_mark_write: E|593 23129 composer@2.1-s-593 ( 593) [002] ...1 1034718.235800: tracing_mark_write: E|593 23130 surfaceflinger-591 ( 591) [000] ...1 1034718.235892: tracing_mark_write: E|591 23131 surfaceflinger-591 ( 591) [000] ...1 1034718.236022: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 23132 composer@2.1-s-593 ( 593) [002] ...1 1034718.236103: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 23133 composer@2.1-s-593 ( 593) [002] ...1 1034718.236120: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 23134 composer@2.1-s-593 ( 593) [002] ...1 1034718.236142: tracing_mark_write: B|593|HWDevice::Commit:: 23135 composer@2.1-s-593 ( 593) [002] ...1 1034718.236328: tracing_mark_write: E|593 23136 composer@2.1-s-593 ( 593) [002] ...1 1034718.236365: tracing_mark_write: E|593 23137 composer@2.1-s-593 ( 593) [002] ...1 1034718.236410: tracing_mark_write: E|593 23138 surfaceflinger-591 ( 591) [000] ...1 1034718.236510: tracing_mark_write: E|591 23139 surfaceflinger-591 ( 591) [000] ...1 1034718.249911: tracing_mark_write: B|591|HIDL::IMapper::freeBuffer::passthrough 23140 surfaceflinger-591 ( 591) [000] ...1 1034718.249945: tracing_mark_write: B|591|FreeBuffer 23141 surfaceflinger-591 ( 591) [000] ...1 1034718.250007: tracing_mark_write: E|591 23142 surfaceflinger-591 ( 591) [000] ...1 1034718.250014: tracing_mark_write: B|591|FreeBuffer 23143 surfaceflinger-591 ( 591) [000] ...1 1034718.250036: tracing_mark_write: E|591 23144 surfaceflinger-591 ( 591) [000] ...1 1034718.250047: tracing_mark_write: E|591 23145 surfaceflinger-591 ( 591) [000] ...1 1034718.251623: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 23146 composer@2.1-s-593 ( 593) [002] ...1 1034718.251837: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 23147 composer@2.1-s-593 ( 593) [002] ...1 1034718.251988: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 23148 composer@2.1-s-593 ( 593) [002] ...1 1034718.252006: tracing_mark_write: E|593 23149 composer@2.1-s-593 ( 593) [002] ...1 1034718.252016: tracing_mark_write: B|593|HWCSession::ValidateDisplay:: 23150 HwBinder:778_1-1087 ( 778) [000] ...1 1034718.252346: tracing_mark_write: E|778 23151 SensorService-1283 ( 1151) [003] ...1 1034718.252469: tracing_mark_write: E|1151 23152 composer@2.1-s-593 ( 593) [002] ...1 1034718.252563: tracing_mark_write: B|593|HWDevice::Validate:: 23153 SensorService-1283 ( 1151) [003] ...1 1034718.252617: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 23154 composer@2.1-s-593 ( 593) [002] ...1 1034718.252698: tracing_mark_write: E|593 23155 HwBinder:778_1-1087 ( 778) [000] ...1 1034718.252708: tracing_mark_write: B|778|HIDL::ISensors::poll::server 23156 composer@2.1-s-593 ( 593) [002] ...1 1034718.252741: tracing_mark_write: E|593 23157 composer@2.1-s-593 ( 593) [002] ...1 1034718.252777: tracing_mark_write: E|593 23158 surfaceflinger-591 ( 591) [000] ...1 1034718.252873: tracing_mark_write: E|591 23159 surfaceflinger-591 ( 591) [000] ...1 1034718.253014: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 23160 composer@2.1-s-593 ( 593) [002] ...1 1034718.253095: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 23161 composer@2.1-s-593 ( 593) [002] ...1 1034718.253115: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 23162 composer@2.1-s-593 ( 593) [002] ...1 1034718.253136: tracing_mark_write: B|593|HWDevice::Commit:: 23163 composer@2.1-s-593 ( 593) [002] ...1 1034718.253372: tracing_mark_write: E|593 23164 composer@2.1-s-593 ( 593) [002] ...1 1034718.253407: tracing_mark_write: E|593 23165 composer@2.1-s-593 ( 593) [002] ...1 1034718.253448: tracing_mark_write: E|593 23166 surfaceflinger-591 ( 591) [000] ...1 1034718.253543: tracing_mark_write: E|591 23167 surfaceflinger-591 ( 591) [000] ...1 1034718.268958: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 23168 composer@2.1-s-593 ( 593) [002] ...1 1034718.269089: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 23169 composer@2.1-s-593 ( 593) [002] ...1 1034718.269192: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 23170 composer@2.1-s-593 ( 593) [002] ...1 1034718.269205: tracing_mark_write: E|593 23171 composer@2.1-s-593 ( 593) [002] ...1 1034718.269211: tracing_mark_write: B|593|HWCSession::ValidateDisplay:: 23172 composer@2.1-s-593 ( 593) [002] ...1 1034718.269575: tracing_mark_write: B|593|HWDevice::Validate:: 23173 composer@2.1-s-593 ( 593) [002] ...1 1034718.269666: tracing_mark_write: E|593 23174 composer@2.1-s-593 ( 593) [002] ...1 1034718.269693: tracing_mark_write: E|593 23175 composer@2.1-s-593 ( 593) [002] ...1 1034718.269719: tracing_mark_write: E|593 23176 surfaceflinger-591 ( 591) [000] ...1 1034718.269792: tracing_mark_write: E|591 23177 surfaceflinger-591 ( 591) [000] ...1 1034718.269922: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 23178 composer@2.1-s-593 ( 593) [002] ...1 1034718.269983: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 23179 composer@2.1-s-593 ( 593) [002] ...1 1034718.269999: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 23180 composer@2.1-s-593 ( 593) [002] ...1 1034718.270014: tracing_mark_write: B|593|HWDevice::Commit:: 23181 composer@2.1-s-593 ( 593) [002] ...1 1034718.270146: tracing_mark_write: E|593 23182 composer@2.1-s-593 ( 593) [002] ...1 1034718.270171: tracing_mark_write: E|593 23183 composer@2.1-s-593 ( 593) [002] ...1 1034718.270201: tracing_mark_write: E|593 23184 surfaceflinger-591 ( 591) [000] ...1 1034718.270269: tracing_mark_write: E|591 23185 HwBinder:778_1-1087 ( 778) [000] ...1 1034718.271516: tracing_mark_write: E|778 23186 SensorService-1283 ( 1151) [003] ...1 1034718.271596: tracing_mark_write: E|1151 23187 SensorService-1283 ( 1151) [003] ...1 1034718.271696: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 23188 HwBinder:778_1-1087 ( 778) [000] ...1 1034718.271757: tracing_mark_write: B|778|HIDL::ISensors::poll::server 23189 surfaceflinger-591 ( 591) [002] ...1 1034718.284138: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 23190 composer@2.1-s-593 ( 593) [000] ...1 1034718.284268: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 23191 composer@2.1-s-593 ( 593) [000] ...1 1034718.284368: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 23192 composer@2.1-s-593 ( 593) [000] ...1 1034718.284380: tracing_mark_write: E|593 23193 composer@2.1-s-593 ( 593) [000] ...1 1034718.284388: tracing_mark_write: B|593|HWCSession::ValidateDisplay:: 23194 composer@2.1-s-593 ( 593) [000] ...1 1034718.284742: tracing_mark_write: B|593|HWDevice::Validate:: 23195 composer@2.1-s-593 ( 593) [000] ...1 1034718.284828: tracing_mark_write: E|593 23196 composer@2.1-s-593 ( 593) [000] ...1 1034718.284855: tracing_mark_write: E|593 23197 composer@2.1-s-593 ( 593) [000] ...1 1034718.284879: tracing_mark_write: E|593 23198 surfaceflinger-591 ( 591) [002] ...1 1034718.284944: tracing_mark_write: E|591 23199 surfaceflinger-591 ( 591) [002] ...1 1034718.285040: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 23200 composer@2.1-s-593 ( 593) [000] ...1 1034718.285096: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 23201 composer@2.1-s-593 ( 593) [000] ...1 1034718.285109: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 23202 composer@2.1-s-593 ( 593) [000] ...1 1034718.285124: tracing_mark_write: B|593|HWDevice::Commit:: 23203 composer@2.1-s-593 ( 593) [000] ...1 1034718.285248: tracing_mark_write: E|593 23204 composer@2.1-s-593 ( 593) [000] ...1 1034718.285273: tracing_mark_write: E|593 23205 composer@2.1-s-593 ( 593) [000] ...1 1034718.285303: tracing_mark_write: E|593 23206 surfaceflinger-591 ( 591) [002] ...1 1034718.285366: tracing_mark_write: E|591 23207 HwBinder:778_1-1087 ( 778) [000] ...1 1034718.291039: tracing_mark_write: E|778 23208 SensorService-1283 ( 1151) [003] ...1 1034718.291186: tracing_mark_write: E|1151 23209 SensorService-1283 ( 1151) [003] ...1 1034718.291422: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 23210 HwBinder:778_1-1087 ( 778) [000] ...1 1034718.291563: tracing_mark_write: B|778|HIDL::ISensors::poll::server 23211 surfaceflinger-591 ( 591) [000] ...1 1034718.302960: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 23212 composer@2.1-s-593 ( 593) [001] ...1 1034718.303260: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 23213 MobileIQWorker-27051 (27005) [005] ...1 1034718.303435: tracing_mark_write: B|27005|[NN_LA_PO]mobilenet_quantized 23214 composer@2.1-s-593 ( 593) [001] ...1 1034718.303487: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 23215 composer@2.1-s-593 ( 593) [001] ...1 1034718.303515: tracing_mark_write: E|593 23216 composer@2.1-s-593 ( 593) [001] ...1 1034718.303532: tracing_mark_write: B|593|HWCSession::ValidateDisplay:: 23217 composer@2.1-s-593 ( 593) [001] ...1 1034718.304285: tracing_mark_write: B|593|HWDevice::Validate:: 23218 composer@2.1-s-593 ( 593) [001] ...1 1034718.304456: tracing_mark_write: E|593 23219 composer@2.1-s-593 ( 593) [001] ...1 1034718.304521: tracing_mark_write: E|593 23220 composer@2.1-s-593 ( 593) [001] ...1 1034718.304575: tracing_mark_write: E|593 23221 surfaceflinger-591 ( 591) [000] ...1 1034718.304735: tracing_mark_write: E|591 23222 surfaceflinger-591 ( 591) [000] ...1 1034718.304961: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 23223 composer@2.1-s-593 ( 593) [001] ...1 1034718.305105: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 23224 composer@2.1-s-593 ( 593) [001] ...1 1034718.305134: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 23225 composer@2.1-s-593 ( 593) [001] ...1 1034718.305166: tracing_mark_write: B|593|HWDevice::Commit:: 23226 composer@2.1-s-593 ( 593) [001] ...1 1034718.305429: tracing_mark_write: E|593 23227 composer@2.1-s-593 ( 593) [001] ...1 1034718.305482: tracing_mark_write: E|593 23228 composer@2.1-s-593 ( 593) [001] ...1 1034718.305552: tracing_mark_write: E|593 23229 surfaceflinger-591 ( 591) [000] ...1 1034718.305713: tracing_mark_write: E|591 23230 HwBinder:778_1-1087 ( 778) [000] ...1 1034718.310433: tracing_mark_write: E|778 23231 SensorService-1283 ( 1151) [003] ...1 1034718.310583: tracing_mark_write: E|1151 23232 SensorService-1283 ( 1151) [003] ...1 1034718.310739: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 23233 HwBinder:778_1-1087 ( 778) [000] ...1 1034718.310881: tracing_mark_write: B|778|HIDL::ISensors::poll::server 23234 surfaceflinger-591 ( 591) [000] ...1 1034718.319671: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 23235 composer@2.1-s-593 ( 593) [001] ...1 1034718.319947: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 23236 composer@2.1-s-593 ( 593) [001] ...1 1034718.320145: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 23237 composer@2.1-s-593 ( 593) [001] ...1 1034718.320171: tracing_mark_write: E|593 23238 composer@2.1-s-593 ( 593) [001] ...1 1034718.320188: tracing_mark_write: B|593|HWCSession::ValidateDisplay:: 23239 composer@2.1-s-593 ( 593) [001] ...1 1034718.320894: tracing_mark_write: B|593|HWDevice::Validate:: 23240 composer@2.1-s-593 ( 593) [001] ...1 1034718.321058: tracing_mark_write: E|593 23241 composer@2.1-s-593 ( 593) [001] ...1 1034718.321117: tracing_mark_write: E|593 23242 composer@2.1-s-593 ( 593) [001] ...1 1034718.321163: tracing_mark_write: E|593 23243 surfaceflinger-591 ( 591) [000] ...1 1034718.321303: tracing_mark_write: E|591 23244 surfaceflinger-591 ( 591) [000] ...1 1034718.321503: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 23245 composer@2.1-s-593 ( 593) [001] ...1 1034718.321635: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 23246 composer@2.1-s-593 ( 593) [001] ...1 1034718.321664: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 23247 composer@2.1-s-593 ( 593) [001] ...1 1034718.321695: tracing_mark_write: B|593|HWDevice::Commit:: 23248 composer@2.1-s-593 ( 593) [001] ...1 1034718.321955: tracing_mark_write: E|593 23249 composer@2.1-s-593 ( 593) [001] ...1 1034718.322006: tracing_mark_write: E|593 23250 composer@2.1-s-593 ( 593) [001] ...1 1034718.322076: tracing_mark_write: E|593 23251 surfaceflinger-591 ( 591) [000] ...1 1034718.322231: tracing_mark_write: E|591 23252 HwBinder:778_1-1087 ( 778) [000] ...1 1034718.329559: tracing_mark_write: E|778 23253 SensorService-1283 ( 1151) [003] ...1 1034718.329711: tracing_mark_write: E|1151 23254 SensorService-1283 ( 1151) [003] ...1 1034718.329853: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 23255 HwBinder:778_1-1087 ( 778) [000] ...1 1034718.330045: tracing_mark_write: B|778|HIDL::ISensors::poll::server 23256 surfaceflinger-591 ( 591) [000] ...1 1034718.336034: tracing_mark_write: B|591|HIDL::IComposerClient::createLayer::client 23257 composer@2.1-s-593 ( 593) [001] ...1 1034718.336204: tracing_mark_write: B|593|HIDL::IComposerClient::createLayer::server 23258 composer@2.1-s-593 ( 593) [001] ...1 1034718.336297: tracing_mark_write: E|593 23259 surfaceflinger-591 ( 591) [000] ...1 1034718.336399: tracing_mark_write: E|591 23260 surfaceflinger-591 ( 591) [000] ...1 1034718.336962: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 23261 composer@2.1-s-593 ( 593) [001] ...1 1034718.337251: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 23262 composer@2.1-s-593 ( 593) [001] ...1 1034718.337412: tracing_mark_write: B|593|HIDL::IMapper::importBuffer::passthrough 23263 composer@2.1-s-593 ( 593) [001] ...1 1034718.337479: tracing_mark_write: E|593 23264 composer@2.1-s-593 ( 593) [001] ...1 1034718.337621: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 23265 composer@2.1-s-593 ( 593) [001] ...1 1034718.337650: tracing_mark_write: E|593 23266 composer@2.1-s-593 ( 593) [001] ...1 1034718.337669: tracing_mark_write: B|593|HWCSession::ValidateDisplay:: 23267 composer@2.1-s-593 ( 593) [001] ...1 1034718.338420: tracing_mark_write: B|593|HWDevice::Validate:: 23268 composer@2.1-s-593 ( 593) [001] ...1 1034718.338685: tracing_mark_write: E|593 23269 composer@2.1-s-593 ( 593) [001] ...1 1034718.338751: tracing_mark_write: E|593 23270 composer@2.1-s-593 ( 593) [001] ...1 1034718.338795: tracing_mark_write: E|593 23271 surfaceflinger-591 ( 591) [000] ...1 1034718.338923: tracing_mark_write: E|591 23272 surfaceflinger-591 ( 591) [000] ...1 1034718.339139: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 23273 composer@2.1-s-593 ( 593) [001] ...1 1034718.339269: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 23274 composer@2.1-s-593 ( 593) [001] ...1 1034718.339298: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 23275 composer@2.1-s-593 ( 593) [001] ...1 1034718.339330: tracing_mark_write: B|593|HWDevice::Commit:: 23276 composer@2.1-s-593 ( 593) [001] ...1 1034718.339632: tracing_mark_write: E|593 23277 composer@2.1-s-593 ( 593) [001] ...1 1034718.339690: tracing_mark_write: E|593 23278 composer@2.1-s-593 ( 593) [001] ...1 1034718.339766: tracing_mark_write: E|593 23279 surfaceflinger-591 ( 591) [000] ...1 1034718.339973: tracing_mark_write: E|591 23280 HwBinder:778_1-1087 ( 778) [000] ...1 1034718.348830: tracing_mark_write: E|778 23281 SensorService-1283 ( 1151) [003] ...1 1034718.348981: tracing_mark_write: E|1151 23282 SensorService-1283 ( 1151) [003] ...1 1034718.349124: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 23283 HwBinder:778_1-1087 ( 778) [000] ...1 1034718.349266: tracing_mark_write: B|778|HIDL::ISensors::poll::server 23284 surfaceflinger-591 ( 591) [002] ...1 1034718.353783: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 23285 composer@2.1-s-593 ( 593) [001] ...1 1034718.354080: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 23286 composer@2.1-s-593 ( 593) [001] ...1 1034718.354258: tracing_mark_write: B|593|HIDL::IMapper::importBuffer::passthrough 23287 composer@2.1-s-593 ( 593) [001] ...1 1034718.354345: tracing_mark_write: E|593 23288 composer@2.1-s-593 ( 593) [001] ...1 1034718.354516: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 23289 composer@2.1-s-593 ( 593) [001] ...1 1034718.354547: tracing_mark_write: E|593 23290 composer@2.1-s-593 ( 593) [001] ...1 1034718.354564: tracing_mark_write: B|593|HWCSession::ValidateDisplay:: 23291 composer@2.1-s-593 ( 593) [001] ...1 1034718.355434: tracing_mark_write: B|593|HWDevice::Validate:: 23292 composer@2.1-s-593 ( 593) [001] ...1 1034718.355677: tracing_mark_write: E|593 23293 composer@2.1-s-593 ( 593) [001] ...1 1034718.355749: tracing_mark_write: E|593 23294 composer@2.1-s-593 ( 593) [001] ...1 1034718.355804: tracing_mark_write: E|593 23295 surfaceflinger-591 ( 591) [002] ...1 1034718.355960: tracing_mark_write: E|591 23296 surfaceflinger-591 ( 591) [002] ...1 1034718.356203: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 23297 composer@2.1-s-593 ( 593) [001] ...1 1034718.356345: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 23298 composer@2.1-s-593 ( 593) [001] ...1 1034718.356376: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 23299 composer@2.1-s-593 ( 593) [001] ...1 1034718.356413: tracing_mark_write: B|593|HWDevice::Commit:: 23300 composer@2.1-s-593 ( 593) [001] ...1 1034718.356811: tracing_mark_write: E|593 23301 composer@2.1-s-593 ( 593) [001] ...1 1034718.356870: tracing_mark_write: E|593 23302 composer@2.1-s-593 ( 593) [001] ...1 1034718.356953: tracing_mark_write: E|593 23303 surfaceflinger-591 ( 591) [000] ...1 1034718.357143: tracing_mark_write: E|591 23304 HwBinder:778_1-1087 ( 778) [002] ...1 1034718.368109: tracing_mark_write: E|778 23305 SensorService-1283 ( 1151) [003] ...1 1034718.368287: tracing_mark_write: E|1151 23306 SensorService-1283 ( 1151) [003] ...1 1034718.368448: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 23307 HwBinder:778_1-1087 ( 778) [002] ...1 1034718.368592: tracing_mark_write: B|778|HIDL::ISensors::poll::server 23308 MobileIQWorker-27051 (27005) [005] ...1 1034718.370141: tracing_mark_write: B|27005|[NN_LA_PE]BenchmarkModel::benchmark 23309 surfaceflinger-591 ( 591) [000] ...1 1034718.370459: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 23310 MobileIQWorker-27051 (27005) [005] ...1 1034718.370644: tracing_mark_write: B|27005|HIDL::IServiceManager::listByInterface::client 23311 composer@2.1-s-593 ( 593) [001] ...1 1034718.370750: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 23312 hwservicemanag-570 ( 570) [003] ...1 1034718.370839: tracing_mark_write: B|570|HIDL::IServiceManager::listByInterface::server 23313 composer@2.1-s-593 ( 593) [001] ...1 1034718.370932: tracing_mark_write: B|593|HIDL::IMapper::importBuffer::passthrough 23314 composer@2.1-s-593 ( 593) [001] ...1 1034718.371015: tracing_mark_write: E|593 23315 composer@2.1-s-593 ( 593) [001] ...1 1034718.371180: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 23316 composer@2.1-s-593 ( 593) [001] ...1 1034718.371212: tracing_mark_write: E|593 23317 composer@2.1-s-593 ( 593) [001] ...1 1034718.371229: tracing_mark_write: B|593|HWCSession::ValidateDisplay:: 23318 composer@2.1-s-593 ( 593) [001] ...1 1034718.372111: tracing_mark_write: B|593|HWDevice::Validate:: 23319 hwservicemanag-570 ( 570) [003] ...1 1034718.372291: tracing_mark_write: E|570 23320 composer@2.1-s-593 ( 593) [001] ...1 1034718.372378: tracing_mark_write: E|593 23321 MobileIQWorker-27051 (27005) [004] ...1 1034718.372417: tracing_mark_write: B|27005|HIDL::IServiceManager::getTransport::client 23322 composer@2.1-s-593 ( 593) [001] ...1 1034718.372458: tracing_mark_write: E|593 23323 composer@2.1-s-593 ( 593) [001] ...1 1034718.372516: tracing_mark_write: E|593 23324 hwservicemanag-570 ( 570) [003] ...1 1034718.372573: tracing_mark_write: B|570|HIDL::IServiceManager::getTransport::server 23325 surfaceflinger-591 ( 591) [000] ...1 1034718.372688: tracing_mark_write: E|591 23326 surfaceflinger-591 ( 591) [000] ...1 1034718.373019: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 23327 composer@2.1-s-593 ( 593) [001] ...1 1034718.373168: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 23328 composer@2.1-s-593 ( 593) [001] ...1 1034718.373306: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 23329 composer@2.1-s-593 ( 593) [001] ...1 1034718.373350: tracing_mark_write: B|593|HWDevice::Commit:: 23330 hwservicemanag-570 ( 570) [003] .n.1 1034718.373539: tracing_mark_write: E|570 23331 composer@2.1-s-593 ( 593) [001] ...1 1034718.373692: tracing_mark_write: E|593 23332 MobileIQWorker-27051 (27005) [005] ...1 1034718.373711: tracing_mark_write: E|27005 23333 MobileIQWorker-27051 (27005) [005] ...1 1034718.373724: tracing_mark_write: B|27005|HIDL::IServiceManager::registerForNotifications::client 23334 composer@2.1-s-593 ( 593) [001] ...1 1034718.373751: tracing_mark_write: E|593 23335 composer@2.1-s-593 ( 593) [001] ...1 1034718.373852: tracing_mark_write: E|593 23336 hwservicemanag-570 ( 570) [003] ...1 1034718.374000: tracing_mark_write: B|570|HIDL::IServiceManager::registerForNotifications::server 23337 surfaceflinger-591 ( 591) [000] ...1 1034718.374031: tracing_mark_write: E|591 23338 hwservicemanag-570 ( 570) [003] ...1 1034718.374566: tracing_mark_write: B|570|HIDL::IServiceNotification::onRegistration::client 23339 HwBinder:27005-27027 (27005) [004] ...1 1034718.374714: tracing_mark_write: B|27005|HIDL::IServiceNotification::onRegistration::server 23340 hwservicemanag-570 ( 570) [003] ...1 1034718.374717: tracing_mark_write: E|570 23341 HwBinder:27005-27027 (27005) [004] ...1 1034718.374719: tracing_mark_write: E|27005 23342 hwservicemanag-570 ( 570) [003] ...1 1034718.374749: tracing_mark_write: E|570 23343 MobileIQWorker-27051 (27005) [004] ...1 1034718.374811: tracing_mark_write: E|27005 23344 MobileIQWorker-27051 (27005) [004] ...1 1034718.374816: tracing_mark_write: B|27005|HIDL::IServiceManager::get::client 23345 hwservicemanag-570 ( 570) [003] ...1 1034718.374871: tracing_mark_write: B|570|HIDL::IServiceManager::get::server 23346 hwservicemanag-570 ( 570) [003] ...1 1034718.375330: tracing_mark_write: E|570 23347 MobileIQWorker-27051 (27005) [005] ...1 1034718.375419: tracing_mark_write: E|27005 23348 MobileIQWorker-27051 (27005) [005] ...1 1034718.375425: tracing_mark_write: B|27005|HIDL::IBase::interfaceChain::client 23349 HwBinder:756_2-23196 ( 756) [006] ...1 1034718.375509: tracing_mark_write: B|756|HIDL::IBase::interfaceChain::server 23350 HwBinder:756_2-23196 ( 756) [006] ...1 1034718.375602: tracing_mark_write: E|756 23351 MobileIQWorker-27051 (27005) [005] ...1 1034718.375641: tracing_mark_write: E|27005 23352 MobileIQWorker-27051 (27005) [005] ...1 1034718.375646: tracing_mark_write: B|27005|HIDL::IServiceManager::unregisterForNotifications::client 23353 hwservicemanag-570 ( 570) [003] ...1 1034718.375846: tracing_mark_write: B|570|HIDL::IServiceManager::unregisterForNotifications::server 23354 hwservicemanag-570 ( 570) [003] ...1 1034718.375889: tracing_mark_write: E|570 23355 MobileIQWorker-27051 (27005) [004] ...1 1034718.375957: tracing_mark_write: E|27005 23356 MobileIQWorker-27051 (27005) [004] ...1 1034718.376005: tracing_mark_write: B|27005|HIDL::IBase::interfaceChain::client 23357 HwBinder:756_2-23196 ( 756) [006] ...1 1034718.376042: tracing_mark_write: B|756|HIDL::IBase::interfaceChain::server 23358 HwBinder:756_2-23196 ( 756) [006] ...1 1034718.376046: tracing_mark_write: E|756 23359 MobileIQWorker-27051 (27005) [004] ...1 1034718.376064: tracing_mark_write: E|27005 23360 MobileIQWorker-27051 (27005) [004] ...1 1034718.376073: tracing_mark_write: B|27005|HIDL::IDevice::getCapabilities::client 23361 HwBinder:756_2-23196 ( 756) [006] ...1 1034718.376094: tracing_mark_write: B|756|HIDL::IDevice::getCapabilities::server 23362 surfaceflinger-591 ( 591) [000] ...1 1034718.385754: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 23363 composer@2.1-s-593 ( 593) [001] ...1 1034718.385939: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 23364 composer@2.1-s-593 ( 593) [001] ...1 1034718.386101: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 23365 composer@2.1-s-593 ( 593) [001] ...1 1034718.386121: tracing_mark_write: E|593 23366 composer@2.1-s-593 ( 593) [001] ...1 1034718.386131: tracing_mark_write: B|593|HWCSession::ValidateDisplay:: 23367 composer@2.1-s-593 ( 593) [001] ...1 1034718.386742: tracing_mark_write: B|593|HWDevice::Validate:: 23368 composer@2.1-s-593 ( 593) [001] ...1 1034718.386910: tracing_mark_write: E|593 23369 composer@2.1-s-593 ( 593) [001] ...1 1034718.386970: tracing_mark_write: E|593 23370 composer@2.1-s-593 ( 593) [001] ...1 1034718.387013: tracing_mark_write: E|593 23371 surfaceflinger-591 ( 591) [000] ...1 1034718.387153: tracing_mark_write: E|591 23372 surfaceflinger-591 ( 591) [000] ...1 1034718.387370: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 23373 composer@2.1-s-593 ( 593) [001] ...1 1034718.387479: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 23374 composer@2.1-s-593 ( 593) [001] ...1 1034718.387511: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 23375 composer@2.1-s-593 ( 593) [001] ...1 1034718.387544: tracing_mark_write: B|593|HWDevice::Commit:: 23376 composer@2.1-s-593 ( 593) [001] ...1 1034718.387785: tracing_mark_write: E|593 23377 composer@2.1-s-593 ( 593) [001] ...1 1034718.387840: tracing_mark_write: E|593 23378 composer@2.1-s-593 ( 593) [001] ...1 1034718.387901: tracing_mark_write: E|593 23379 surfaceflinger-591 ( 591) [000] ...1 1034718.388030: tracing_mark_write: E|591 23380 HwBinder:778_1-1087 ( 778) [003] ...1 1034718.388153: tracing_mark_write: E|778 23381 SensorService-1283 ( 1151) [001] ...1 1034718.388281: tracing_mark_write: E|1151 23382 SensorService-1283 ( 1151) [001] ...1 1034718.388403: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 23383 HwBinder:778_1-1087 ( 778) [003] ...1 1034718.388504: tracing_mark_write: B|778|HIDL::ISensors::poll::server 23384 surfaceflinger-591 ( 591) [000] ...1 1034718.402050: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 23385 composer@2.1-s-593 ( 593) [001] ...1 1034718.402232: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 23386 composer@2.1-s-593 ( 593) [001] ...1 1034718.402378: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 23387 composer@2.1-s-593 ( 593) [001] ...1 1034718.402396: tracing_mark_write: E|593 23388 composer@2.1-s-593 ( 593) [001] ...1 1034718.402404: tracing_mark_write: B|593|HWCSession::ValidateDisplay:: 23389 composer@2.1-s-593 ( 593) [001] ...1 1034718.402887: tracing_mark_write: B|593|HWDevice::Validate:: 23390 composer@2.1-s-593 ( 593) [001] ...1 1034718.403027: tracing_mark_write: E|593 23391 composer@2.1-s-593 ( 593) [001] ...1 1034718.403064: tracing_mark_write: E|593 23392 composer@2.1-s-593 ( 593) [001] ...1 1034718.403097: tracing_mark_write: E|593 23393 surfaceflinger-591 ( 591) [000] ...1 1034718.403183: tracing_mark_write: E|591 23394 surfaceflinger-591 ( 591) [000] ...1 1034718.403397: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 23395 composer@2.1-s-593 ( 593) [001] ...1 1034718.403459: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 23396 composer@2.1-s-593 ( 593) [001] ...1 1034718.403475: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 23397 composer@2.1-s-593 ( 593) [001] ...1 1034718.403493: tracing_mark_write: B|593|HWDevice::Commit:: 23398 composer@2.1-s-593 ( 593) [001] ...1 1034718.403658: tracing_mark_write: E|593 23399 composer@2.1-s-593 ( 593) [001] ...1 1034718.403687: tracing_mark_write: E|593 23400 composer@2.1-s-593 ( 593) [001] ...1 1034718.403726: tracing_mark_write: E|593 23401 surfaceflinger-591 ( 591) [000] ...1 1034718.403802: tracing_mark_write: E|591 23402 HwBinder:778_1-1087 ( 778) [000] ...1 1034718.406492: tracing_mark_write: E|778 23403 SensorService-1283 ( 1151) [001] ...1 1034718.406598: tracing_mark_write: E|1151 23404 SensorService-1283 ( 1151) [001] ...1 1034718.406693: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 23405 HwBinder:778_1-1087 ( 778) [000] ...1 1034718.406757: tracing_mark_write: B|778|HIDL::ISensors::poll::server 23406 surfaceflinger-591 ( 591) [000] ...1 1034718.418444: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 23407 composer@2.1-s-593 ( 593) [002] ...1 1034718.418625: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 23408 composer@2.1-s-593 ( 593) [002] ...1 1034718.418758: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 23409 composer@2.1-s-593 ( 593) [002] ...1 1034718.418773: tracing_mark_write: E|593 23410 composer@2.1-s-593 ( 593) [002] ...1 1034718.418781: tracing_mark_write: B|593|HWCSession::ValidateDisplay:: 23411 composer@2.1-s-593 ( 593) [002] ...1 1034718.419224: tracing_mark_write: B|593|HWDevice::Validate:: 23412 composer@2.1-s-593 ( 593) [002] ...1 1034718.419351: tracing_mark_write: E|593 23413 composer@2.1-s-593 ( 593) [002] ...1 1034718.419384: tracing_mark_write: E|593 23414 composer@2.1-s-593 ( 593) [002] ...1 1034718.419415: tracing_mark_write: E|593 23415 surfaceflinger-591 ( 591) [000] ...1 1034718.419515: tracing_mark_write: E|591 23416 surfaceflinger-591 ( 591) [000] ...1 1034718.419658: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 23417 composer@2.1-s-593 ( 593) [002] ...1 1034718.419730: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 23418 composer@2.1-s-593 ( 593) [002] ...1 1034718.419746: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 23419 composer@2.1-s-593 ( 593) [002] ...1 1034718.419763: tracing_mark_write: B|593|HWDevice::Commit:: 23420 composer@2.1-s-593 ( 593) [002] ...1 1034718.419981: tracing_mark_write: E|593 23421 composer@2.1-s-593 ( 593) [002] ...1 1034718.420012: tracing_mark_write: E|593 23422 composer@2.1-s-593 ( 593) [002] ...1 1034718.420051: tracing_mark_write: E|593 23423 surfaceflinger-591 ( 591) [000] ...1 1034718.420130: tracing_mark_write: E|591 23424 HwBinder:778_1-1087 ( 778) [000] ...1 1034718.425745: tracing_mark_write: E|778 23425 SensorService-1283 ( 1151) [001] ...1 1034718.425949: tracing_mark_write: E|1151 23426 SensorService-1283 ( 1151) [001] ...1 1034718.426116: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 23427 HwBinder:778_1-1087 ( 778) [000] ...1 1034718.426244: tracing_mark_write: B|778|HIDL::ISensors::poll::server 23428 surfaceflinger-591 ( 591) [002] ...1 1034718.435845: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 23429 composer@2.1-s-593 ( 593) [000] ...1 1034718.436053: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 23430 composer@2.1-s-593 ( 593) [000] ...1 1034718.436212: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 23431 composer@2.1-s-593 ( 593) [000] ...1 1034718.436231: tracing_mark_write: E|593 23432 composer@2.1-s-593 ( 593) [000] ...1 1034718.436240: tracing_mark_write: B|593|HWCSession::ValidateDisplay:: 23433 composer@2.1-s-593 ( 593) [000] ...1 1034718.436805: tracing_mark_write: B|593|HWDevice::Validate:: 23434 composer@2.1-s-593 ( 593) [000] ...1 1034718.436955: tracing_mark_write: E|593 23435 composer@2.1-s-593 ( 593) [000] ...1 1034718.436996: tracing_mark_write: E|593 23436 composer@2.1-s-593 ( 593) [000] ...1 1034718.437034: tracing_mark_write: E|593 23437 surfaceflinger-591 ( 591) [002] ...1 1034718.437144: tracing_mark_write: E|591 23438 surfaceflinger-591 ( 591) [002] ...1 1034718.437316: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 23439 composer@2.1-s-593 ( 593) [000] ...1 1034718.437419: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 23440 composer@2.1-s-593 ( 593) [000] ...1 1034718.437443: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 23441 composer@2.1-s-593 ( 593) [000] ...1 1034718.437470: tracing_mark_write: B|593|HWDevice::Commit:: 23442 composer@2.1-s-593 ( 593) [000] ...1 1034718.437692: tracing_mark_write: E|593 23443 composer@2.1-s-593 ( 593) [000] ...1 1034718.437736: tracing_mark_write: E|593 23444 composer@2.1-s-593 ( 593) [000] ...1 1034718.437789: tracing_mark_write: E|593 23445 surfaceflinger-591 ( 591) [002] ...1 1034718.437901: tracing_mark_write: E|591 23446 HwBinder:778_1-1087 ( 778) [001] ...1 1034718.445035: tracing_mark_write: E|778 23447 SensorService-1283 ( 1151) [000] ...1 1034718.445183: tracing_mark_write: E|1151 23448 SensorService-1283 ( 1151) [000] ...1 1034718.445312: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 23449 HwBinder:778_1-1087 ( 778) [001] ...1 1034718.445407: tracing_mark_write: B|778|HIDL::ISensors::poll::server 23450 HwBinder:756_2-23196 ( 756) [003] ...1 1034718.450509: tracing_mark_write: E|756 23451 MobileIQWorker-27051 (27005) [003] ...1 1034718.450716: tracing_mark_write: E|27005 23452 MobileIQWorker-27051 (27005) [003] ...1 1034718.450745: tracing_mark_write: E|27005 23453 MobileIQWorker-27051 (27005) [003] ...1 1034718.451209: tracing_mark_write: B|27005|HIDL::IDevice::getSupportedOperations::client 23454 HwBinder:756_2-23196 ( 756) [003] ...1 1034718.451696: tracing_mark_write: B|756|HIDL::IDevice::getSupportedOperations::server 23455 surfaceflinger-591 ( 591) [000] ...1 1034718.451845: tracing_mark_write: B|591|HIDL::IComposerClient::destroyLayer::client 23456 composer@2.1-s-593 ( 593) [001] ...1 1034718.452011: tracing_mark_write: B|593|HIDL::IComposerClient::destroyLayer::server 23457 composer@2.1-s-593 ( 593) [001] ...1 1034718.452052: tracing_mark_write: B|593|HIDL::IMapper::freeBuffer::passthrough 23458 composer@2.1-s-593 ( 593) [001] ...1 1034718.452078: tracing_mark_write: B|593|FreeBuffer 23459 composer@2.1-s-593 ( 593) [001] ...1 1034718.452094: tracing_mark_write: E|593 23460 composer@2.1-s-593 ( 593) [001] ...1 1034718.452099: tracing_mark_write: B|593|FreeBuffer 23461 composer@2.1-s-593 ( 593) [001] ...1 1034718.452104: tracing_mark_write: B|593|UnmapBuffer 23462 composer@2.1-s-593 ( 593) [001] ...1 1034718.452127: tracing_mark_write: E|593 23463 composer@2.1-s-593 ( 593) [001] ...1 1034718.452138: tracing_mark_write: E|593 23464 composer@2.1-s-593 ( 593) [001] ...1 1034718.452146: tracing_mark_write: E|593 23465 composer@2.1-s-593 ( 593) [001] ...1 1034718.452152: tracing_mark_write: B|593|HIDL::IMapper::freeBuffer::passthrough 23466 composer@2.1-s-593 ( 593) [001] ...1 1034718.452160: tracing_mark_write: B|593|FreeBuffer 23467 composer@2.1-s-593 ( 593) [001] ...1 1034718.452170: tracing_mark_write: E|593 23468 composer@2.1-s-593 ( 593) [001] ...1 1034718.452175: tracing_mark_write: B|593|FreeBuffer 23469 composer@2.1-s-593 ( 593) [001] ...1 1034718.452180: tracing_mark_write: B|593|UnmapBuffer 23470 composer@2.1-s-593 ( 593) [001] ...1 1034718.452192: tracing_mark_write: E|593 23471 composer@2.1-s-593 ( 593) [001] ...1 1034718.452204: tracing_mark_write: E|593 23472 composer@2.1-s-593 ( 593) [001] ...1 1034718.452212: tracing_mark_write: E|593 23473 composer@2.1-s-593 ( 593) [001] ...1 1034718.452219: tracing_mark_write: B|593|HIDL::IMapper::freeBuffer::passthrough 23474 composer@2.1-s-593 ( 593) [001] ...1 1034718.452230: tracing_mark_write: B|593|FreeBuffer 23475 composer@2.1-s-593 ( 593) [001] ...1 1034718.452243: tracing_mark_write: E|593 23476 composer@2.1-s-593 ( 593) [001] ...1 1034718.452249: tracing_mark_write: B|593|FreeBuffer 23477 composer@2.1-s-593 ( 593) [001] ...1 1034718.452254: tracing_mark_write: B|593|UnmapBuffer 23478 composer@2.1-s-593 ( 593) [001] ...1 1034718.452270: tracing_mark_write: E|593 23479 composer@2.1-s-593 ( 593) [001] ...1 1034718.452285: tracing_mark_write: E|593 23480 composer@2.1-s-593 ( 593) [001] ...1 1034718.452294: tracing_mark_write: E|593 23481 composer@2.1-s-593 ( 593) [001] ...1 1034718.452309: tracing_mark_write: E|593 23482 surfaceflinger-591 ( 591) [000] ...1 1034718.452372: tracing_mark_write: E|591 23483 HwBinder:756_2-23196 ( 756) [002] ...1 1034718.452453: tracing_mark_write: E|756 23484 RenderThread-2506 ( 2279) [001] ...1 1034718.452544: tracing_mark_write: B|2279|HIDL::IMapper::freeBuffer::passthrough 23485 RenderThread-2506 ( 2279) [001] ...1 1034718.452564: tracing_mark_write: B|2279|FreeBuffer 23486 RenderThread-2506 ( 2279) [001] ...1 1034718.452582: tracing_mark_write: E|2279 23487 RenderThread-2506 ( 2279) [001] ...1 1034718.452588: tracing_mark_write: B|2279|FreeBuffer 23488 RenderThread-2506 ( 2279) [001] ...1 1034718.452600: tracing_mark_write: E|2279 23489 RenderThread-2506 ( 2279) [001] ...1 1034718.452610: tracing_mark_write: E|2279 23490 RenderThread-2506 ( 2279) [001] ...1 1034718.452627: tracing_mark_write: B|2279|HIDL::IMapper::freeBuffer::passthrough 23491 RenderThread-2506 ( 2279) [001] ...1 1034718.452640: tracing_mark_write: B|2279|FreeBuffer 23492 RenderThread-2506 ( 2279) [001] ...1 1034718.452652: tracing_mark_write: E|2279 23493 RenderThread-2506 ( 2279) [001] ...1 1034718.452659: tracing_mark_write: B|2279|FreeBuffer 23494 RenderThread-2506 ( 2279) [001] ...1 1034718.452674: tracing_mark_write: E|2279 23495 RenderThread-2506 ( 2279) [001] ...1 1034718.452698: tracing_mark_write: E|2279 23496 RenderThread-2506 ( 2279) [001] ...1 1034718.452723: tracing_mark_write: B|2279|HIDL::IMapper::freeBuffer::passthrough 23497 MobileIQWorker-27051 (27005) [002] ...1 1034718.452725: tracing_mark_write: E|27005 23498 RenderThread-2506 ( 2279) [001] ...1 1034718.452737: tracing_mark_write: B|2279|FreeBuffer 23499 RenderThread-2506 ( 2279) [001] ...1 1034718.452756: tracing_mark_write: E|2279 23500 RenderThread-2506 ( 2279) [001] ...1 1034718.452768: tracing_mark_write: B|2279|FreeBuffer 23501 RenderThread-2506 ( 2279) [001] ...1 1034718.452787: tracing_mark_write: E|2279 23502 RenderThread-2506 ( 2279) [001] ...1 1034718.452799: tracing_mark_write: E|2279 23503 surfaceflinger-591 ( 591) [000] ...1 1034718.452948: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 23504 Binder:591_5-1775 ( 591) [001] .n.1 1034718.453045: tracing_mark_write: B|591|HIDL::IMapper::freeBuffer::passthrough 23505 composer@2.1-s-593 ( 593) [001] ...1 1034718.453109: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 23506 composer@2.1-s-593 ( 593) [001] ...1 1034718.453347: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 23507 composer@2.1-s-593 ( 593) [001] ...1 1034718.453382: tracing_mark_write: E|593 23508 composer@2.1-s-593 ( 593) [001] ...1 1034718.453395: tracing_mark_write: B|593|HWCSession::ValidateDisplay:: 23509 MobileIQWorker-27051 (27005) [002] ...1 1034718.453498: tracing_mark_write: B|27005|HIDL::IDevice::prepareModel::client 23510 composer@2.1-s-593 ( 593) [001] ...1 1034718.453751: tracing_mark_write: B|593|HWDevice::Validate:: 23511 composer@2.1-s-593 ( 593) [001] ...1 1034718.453873: tracing_mark_write: E|593 23512 composer@2.1-s-593 ( 593) [001] ...1 1034718.453901: tracing_mark_write: E|593 23513 composer@2.1-s-593 ( 593) [001] ...1 1034718.453927: tracing_mark_write: E|593 23514 HwBinder:756_2-23196 ( 756) [002] ...1 1034718.453969: tracing_mark_write: B|756|HIDL::IDevice::prepareModel::server 23515 surfaceflinger-591 ( 591) [000] ...1 1034718.454037: tracing_mark_write: E|591 23516 Binder:591_5-1775 ( 591) [001] ...1 1034718.454055: tracing_mark_write: B|591|FreeBuffer 23517 Binder:591_5-1775 ( 591) [001] ...1 1034718.454070: tracing_mark_write: E|591 23518 Binder:591_5-1775 ( 591) [001] ...1 1034718.454074: tracing_mark_write: B|591|FreeBuffer 23519 Binder:591_5-1775 ( 591) [001] ...1 1034718.454110: tracing_mark_write: E|591 23520 Binder:591_5-1775 ( 591) [001] ...1 1034718.454119: tracing_mark_write: E|591 23521 surfaceflinger-591 ( 591) [000] ...1 1034718.454159: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 23522 composer@2.1-s-593 ( 593) [001] ...1 1034718.454234: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 23523 composer@2.1-s-593 ( 593) [001] ...1 1034718.454250: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 23524 composer@2.1-s-593 ( 593) [001] ...1 1034718.454267: tracing_mark_write: B|593|HWDevice::Commit:: 23525 composer@2.1-s-593 ( 593) [001] ...1 1034718.454399: tracing_mark_write: E|593 23526 composer@2.1-s-593 ( 593) [001] ...1 1034718.454427: tracing_mark_write: E|593 23527 composer@2.1-s-593 ( 593) [001] ...1 1034718.454461: tracing_mark_write: E|593 23528 surfaceflinger-591 ( 591) [000] ...1 1034718.454536: tracing_mark_write: E|591 23529 Binder:591_5-1775 ( 591) [001] ...1 1034718.454628: tracing_mark_write: B|591|HIDL::IMapper::freeBuffer::passthrough 23530 Binder:591_5-1775 ( 591) [001] ...1 1034718.454641: tracing_mark_write: B|591|FreeBuffer 23531 Binder:591_5-1775 ( 591) [001] ...1 1034718.454999: tracing_mark_write: E|591 23532 Binder:591_5-1775 ( 591) [001] ...1 1034718.455004: tracing_mark_write: B|591|FreeBuffer 23533 Binder:591_5-1775 ( 591) [001] ...1 1034718.455022: tracing_mark_write: E|591 23534 Binder:591_5-1775 ( 591) [001] ...1 1034718.455029: tracing_mark_write: E|591 23535 Binder:1151_9-1624 ( 1151) [001] ...1 1034718.456193: tracing_mark_write: B|1151|HIDL::ISensors::activate::client 23536 sensors@1.0-se-778 ( 778) [001] ...1 1034718.456318: tracing_mark_write: B|778|HIDL::ISensors::activate::server 23537 sensors@1.0-se-778 ( 778) [001] ...1 1034718.457945: tracing_mark_write: E|778 23538 Binder:1151_9-1624 ( 1151) [001] ...1 1034718.458070: tracing_mark_write: E|1151 23539 surfaceflinger-591 ( 591) [000] ...1 1034718.468266: tracing_mark_write: B|591|HIDL::IComposerClient::destroyLayer::client 23540 composer@2.1-s-593 ( 593) [001] ...1 1034718.468383: tracing_mark_write: B|593|HIDL::IComposerClient::destroyLayer::server 23541 composer@2.1-s-593 ( 593) [001] ...1 1034718.468413: tracing_mark_write: B|593|HIDL::IMapper::freeBuffer::passthrough 23542 composer@2.1-s-593 ( 593) [001] ...1 1034718.468426: tracing_mark_write: B|593|FreeBuffer 23543 composer@2.1-s-593 ( 593) [001] ...1 1034718.468439: tracing_mark_write: E|593 23544 composer@2.1-s-593 ( 593) [001] ...1 1034718.468441: tracing_mark_write: B|593|FreeBuffer 23545 composer@2.1-s-593 ( 593) [001] ...1 1034718.468444: tracing_mark_write: B|593|UnmapBuffer 23546 composer@2.1-s-593 ( 593) [001] ...1 1034718.468466: tracing_mark_write: E|593 23547 composer@2.1-s-593 ( 593) [001] ...1 1034718.468472: tracing_mark_write: E|593 23548 composer@2.1-s-593 ( 593) [001] ...1 1034718.468477: tracing_mark_write: E|593 23549 composer@2.1-s-593 ( 593) [001] ...1 1034718.468480: tracing_mark_write: B|593|HIDL::IMapper::freeBuffer::passthrough 23550 composer@2.1-s-593 ( 593) [001] ...1 1034718.468487: tracing_mark_write: B|593|FreeBuffer 23551 composer@2.1-s-593 ( 593) [001] ...1 1034718.468493: tracing_mark_write: E|593 23552 composer@2.1-s-593 ( 593) [001] ...1 1034718.468495: tracing_mark_write: B|593|FreeBuffer 23553 composer@2.1-s-593 ( 593) [001] ...1 1034718.468498: tracing_mark_write: B|593|UnmapBuffer 23554 composer@2.1-s-593 ( 593) [001] ...1 1034718.468508: tracing_mark_write: E|593 23555 composer@2.1-s-593 ( 593) [001] ...1 1034718.468514: tracing_mark_write: E|593 23556 composer@2.1-s-593 ( 593) [001] ...1 1034718.468517: tracing_mark_write: E|593 23557 composer@2.1-s-593 ( 593) [001] ...1 1034718.468519: tracing_mark_write: B|593|HIDL::IMapper::freeBuffer::passthrough 23558 composer@2.1-s-593 ( 593) [001] ...1 1034718.468525: tracing_mark_write: B|593|FreeBuffer 23559 composer@2.1-s-593 ( 593) [001] ...1 1034718.468531: tracing_mark_write: E|593 23560 composer@2.1-s-593 ( 593) [001] ...1 1034718.468534: tracing_mark_write: B|593|FreeBuffer 23561 composer@2.1-s-593 ( 593) [001] ...1 1034718.468536: tracing_mark_write: B|593|UnmapBuffer 23562 composer@2.1-s-593 ( 593) [001] ...1 1034718.468544: tracing_mark_write: E|593 23563 composer@2.1-s-593 ( 593) [001] ...1 1034718.468550: tracing_mark_write: E|593 23564 composer@2.1-s-593 ( 593) [001] ...1 1034718.468553: tracing_mark_write: E|593 23565 composer@2.1-s-593 ( 593) [001] ...1 1034718.468564: tracing_mark_write: E|593 23566 surfaceflinger-591 ( 591) [000] ...1 1034718.468606: tracing_mark_write: E|591 23567 surfaceflinger-591 ( 591) [000] ...1 1034718.468873: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 23568 composer@2.1-s-593 ( 593) [001] ...1 1034718.468939: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 23569 composer@2.1-s-593 ( 593) [001] ...1 1034718.469013: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 23570 composer@2.1-s-593 ( 593) [001] ...1 1034718.469023: tracing_mark_write: E|593 23571 composer@2.1-s-593 ( 593) [001] ...1 1034718.469028: tracing_mark_write: B|593|HWCSession::ValidateDisplay:: 23572 composer@2.1-s-593 ( 593) [001] ...1 1034718.469294: tracing_mark_write: B|593|HWDevice::Validate:: 23573 composer@2.1-s-593 ( 593) [001] ...1 1034718.469387: tracing_mark_write: E|593 23574 composer@2.1-s-593 ( 593) [001] ...1 1034718.469407: tracing_mark_write: E|593 23575 composer@2.1-s-593 ( 593) [001] ...1 1034718.469426: tracing_mark_write: E|593 23576 surfaceflinger-591 ( 591) [000] ...1 1034718.469474: tracing_mark_write: E|591 23577 surfaceflinger-591 ( 591) [000] ...1 1034718.469545: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 23578 composer@2.1-s-593 ( 593) [001] ...1 1034718.469600: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 23579 composer@2.1-s-593 ( 593) [001] ...1 1034718.469611: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 23580 composer@2.1-s-593 ( 593) [001] ...1 1034718.469623: tracing_mark_write: B|593|HWDevice::Commit:: 23581 composer@2.1-s-593 ( 593) [001] ...1 1034718.469776: tracing_mark_write: E|593 23582 composer@2.1-s-593 ( 593) [001] ...1 1034718.469819: tracing_mark_write: E|593 23583 composer@2.1-s-593 ( 593) [001] ...1 1034718.469862: tracing_mark_write: E|593 23584 surfaceflinger-591 ( 591) [000] ...1 1034718.469961: tracing_mark_write: E|591 23585 GLThread 36-1854 ( 1529) [000] ...1 1034718.474138: tracing_mark_write: B|1529|HIDL::IMapper::freeBuffer::passthrough 23586 GLThread 36-1854 ( 1529) [000] ...1 1034718.474165: tracing_mark_write: B|1529|FreeBuffer 23587 GLThread 36-1854 ( 1529) [000] ...1 1034718.474195: tracing_mark_write: E|1529 23588 GLThread 36-1854 ( 1529) [000] ...1 1034718.474199: tracing_mark_write: B|1529|FreeBuffer 23589 GLThread 36-1854 ( 1529) [000] ...1 1034718.474207: tracing_mark_write: E|1529 23590 GLThread 36-1854 ( 1529) [000] ...1 1034718.474214: tracing_mark_write: E|1529 23591 GLThread 36-1854 ( 1529) [000] ...1 1034718.474221: tracing_mark_write: B|1529|HIDL::IMapper::freeBuffer::passthrough 23592 GLThread 36-1854 ( 1529) [000] ...1 1034718.474227: tracing_mark_write: B|1529|FreeBuffer 23593 GLThread 36-1854 ( 1529) [000] ...1 1034718.474234: tracing_mark_write: E|1529 23594 GLThread 36-1854 ( 1529) [000] ...1 1034718.474237: tracing_mark_write: B|1529|FreeBuffer 23595 GLThread 36-1854 ( 1529) [000] ...1 1034718.474244: tracing_mark_write: E|1529 23596 GLThread 36-1854 ( 1529) [000] ...1 1034718.474250: tracing_mark_write: E|1529 23597 GLThread 36-1854 ( 1529) [000] ...1 1034718.474255: tracing_mark_write: B|1529|HIDL::IMapper::freeBuffer::passthrough 23598 GLThread 36-1854 ( 1529) [000] ...1 1034718.474260: tracing_mark_write: B|1529|FreeBuffer 23599 GLThread 36-1854 ( 1529) [000] ...1 1034718.474267: tracing_mark_write: E|1529 23600 GLThread 36-1854 ( 1529) [000] ...1 1034718.474270: tracing_mark_write: B|1529|FreeBuffer 23601 GLThread 36-1854 ( 1529) [000] ...1 1034718.474277: tracing_mark_write: E|1529 23602 GLThread 36-1854 ( 1529) [000] ...1 1034718.474281: tracing_mark_write: E|1529 23603 Binder:591_5-1775 ( 591) [000] ...1 1034718.474494: tracing_mark_write: B|591|HIDL::IMapper::freeBuffer::passthrough 23604 Binder:591_5-1775 ( 591) [000] ...1 1034718.474511: tracing_mark_write: B|591|FreeBuffer 23605 Binder:591_5-1775 ( 591) [000] ...1 1034718.474740: tracing_mark_write: E|591 23606 Binder:591_5-1775 ( 591) [000] ...1 1034718.474743: tracing_mark_write: B|591|FreeBuffer 23607 Binder:591_5-1775 ( 591) [000] ...1 1034718.474755: tracing_mark_write: E|591 23608 Binder:591_5-1775 ( 591) [000] ...1 1034718.474760: tracing_mark_write: E|591 23609 surfaceflinger-591 ( 591) [000] ...1 1034718.484510: tracing_mark_write: B|591|HIDL::IMapper::freeBuffer::passthrough 23610 surfaceflinger-591 ( 591) [000] ...1 1034718.484530: tracing_mark_write: B|591|FreeBuffer 23611 surfaceflinger-591 ( 591) [000] ...1 1034718.484544: tracing_mark_write: E|591 23612 surfaceflinger-591 ( 591) [000] ...1 1034718.484546: tracing_mark_write: B|591|FreeBuffer 23613 surfaceflinger-591 ( 591) [000] ...1 1034718.484573: tracing_mark_write: E|591 23614 surfaceflinger-591 ( 591) [000] ...1 1034718.484580: tracing_mark_write: E|591 23615 surfaceflinger-591 ( 591) [000] ...1 1034718.485330: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 23616 composer@2.1-s-593 ( 593) [001] ...1 1034718.485455: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 23617 composer@2.1-s-593 ( 593) [001] ...1 1034718.485536: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 23618 composer@2.1-s-593 ( 593) [001] ...1 1034718.485545: tracing_mark_write: E|593 23619 composer@2.1-s-593 ( 593) [001] ...1 1034718.485550: tracing_mark_write: B|593|HWCSession::ValidateDisplay:: 23620 composer@2.1-s-593 ( 593) [001] ...1 1034718.485818: tracing_mark_write: B|593|HWDevice::Validate:: 23621 composer@2.1-s-593 ( 593) [001] ...1 1034718.485900: tracing_mark_write: E|593 23622 composer@2.1-s-593 ( 593) [001] ...1 1034718.485920: tracing_mark_write: E|593 23623 composer@2.1-s-593 ( 593) [001] ...1 1034718.485942: tracing_mark_write: E|593 23624 surfaceflinger-591 ( 591) [000] ...1 1034718.486000: tracing_mark_write: E|591 23625 surfaceflinger-591 ( 591) [000] ...1 1034718.486077: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 23626 composer@2.1-s-593 ( 593) [001] ...1 1034718.486123: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 23627 composer@2.1-s-593 ( 593) [001] ...1 1034718.486133: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 23628 composer@2.1-s-593 ( 593) [001] ...1 1034718.486146: tracing_mark_write: B|593|HWDevice::Commit:: 23629 composer@2.1-s-593 ( 593) [001] ...1 1034718.486235: tracing_mark_write: E|593 23630 composer@2.1-s-593 ( 593) [001] ...1 1034718.486255: tracing_mark_write: E|593 23631 composer@2.1-s-593 ( 593) [001] ...1 1034718.486280: tracing_mark_write: E|593 23632 surfaceflinger-591 ( 591) [000] ...1 1034718.486327: tracing_mark_write: E|591 23633 surfaceflinger-591 ( 591) [000] ...1 1034718.502614: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 23634 composer@2.1-s-593 ( 593) [001] ...1 1034718.502781: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 23635 composer@2.1-s-593 ( 593) [001] ...1 1034718.502885: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 23636 composer@2.1-s-593 ( 593) [001] ...1 1034718.502898: tracing_mark_write: E|593 23637 composer@2.1-s-593 ( 593) [001] ...1 1034718.502907: tracing_mark_write: B|593|HWCSession::ValidateDisplay:: 23638 composer@2.1-s-593 ( 593) [001] ...1 1034718.503239: tracing_mark_write: B|593|HWDevice::Validate:: 23639 composer@2.1-s-593 ( 593) [001] ...1 1034718.503392: tracing_mark_write: E|593 23640 composer@2.1-s-593 ( 593) [001] ...1 1034718.503412: tracing_mark_write: E|593 23641 composer@2.1-s-593 ( 593) [001] ...1 1034718.503439: tracing_mark_write: E|593 23642 surfaceflinger-591 ( 591) [000] ...1 1034718.503749: tracing_mark_write: E|591 23643 surfaceflinger-591 ( 591) [000] ...1 1034718.503846: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 23644 composer@2.1-s-593 ( 593) [001] ...1 1034718.504198: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 23645 composer@2.1-s-593 ( 593) [001] ...1 1034718.504210: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 23646 composer@2.1-s-593 ( 593) [001] ...1 1034718.504222: tracing_mark_write: B|593|HWDevice::Commit:: 23647 composer@2.1-s-593 ( 593) [001] ...1 1034718.504344: tracing_mark_write: E|593 23648 composer@2.1-s-593 ( 593) [001] ...1 1034718.504366: tracing_mark_write: E|593 23649 composer@2.1-s-593 ( 593) [001] ...1 1034718.504396: tracing_mark_write: E|593 23650 surfaceflinger-591 ( 591) [000] ...1 1034718.504454: tracing_mark_write: E|591 23651 surfaceflinger-591 ( 591) [000] ...1 1034718.518794: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 23652 composer@2.1-s-593 ( 593) [001] ...1 1034718.518958: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 23653 composer@2.1-s-593 ( 593) [001] ...1 1034718.519085: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 23654 composer@2.1-s-593 ( 593) [001] ...1 1034718.519096: tracing_mark_write: E|593 23655 composer@2.1-s-593 ( 593) [001] ...1 1034718.519115: tracing_mark_write: B|593|HWCSession::ValidateDisplay:: 23656 composer@2.1-s-593 ( 593) [001] ...1 1034718.519488: tracing_mark_write: B|593|HWDevice::Validate:: 23657 composer@2.1-s-593 ( 593) [001] ...1 1034718.519632: tracing_mark_write: E|593 23658 composer@2.1-s-593 ( 593) [001] ...1 1034718.519655: tracing_mark_write: E|593 23659 composer@2.1-s-593 ( 593) [001] ...1 1034718.519694: tracing_mark_write: E|593 23660 surfaceflinger-591 ( 591) [000] ...1 1034718.519780: tracing_mark_write: E|591 23661 surfaceflinger-591 ( 591) [000] ...1 1034718.519899: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 23662 composer@2.1-s-593 ( 593) [001] ...1 1034718.519962: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 23663 composer@2.1-s-593 ( 593) [001] ...1 1034718.519977: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 23664 composer@2.1-s-593 ( 593) [001] ...1 1034718.520021: tracing_mark_write: B|593|HWDevice::Commit:: 23665 composer@2.1-s-593 ( 593) [001] ...1 1034718.520162: tracing_mark_write: E|593 23666 composer@2.1-s-593 ( 593) [001] ...1 1034718.520190: tracing_mark_write: E|593 23667 composer@2.1-s-593 ( 593) [001] ...1 1034718.520249: tracing_mark_write: E|593 23668 surfaceflinger-591 ( 591) [000] ...1 1034718.520345: tracing_mark_write: E|591 23669 surfaceflinger-591 ( 591) [000] ...1 1034718.535648: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 23670 composer@2.1-s-593 ( 593) [001] ...1 1034718.535816: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 23671 composer@2.1-s-593 ( 593) [001] ...1 1034718.535902: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 23672 composer@2.1-s-593 ( 593) [001] ...1 1034718.535916: tracing_mark_write: E|593 23673 composer@2.1-s-593 ( 593) [001] ...1 1034718.535920: tracing_mark_write: B|593|HWCSession::ValidateDisplay:: 23674 composer@2.1-s-593 ( 593) [001] ...1 1034718.536218: tracing_mark_write: B|593|HWDevice::Validate:: 23675 composer@2.1-s-593 ( 593) [001] ...1 1034718.536332: tracing_mark_write: E|593 23676 composer@2.1-s-593 ( 593) [001] ...1 1034718.536361: tracing_mark_write: E|593 23677 composer@2.1-s-593 ( 593) [001] ...1 1034718.536392: tracing_mark_write: E|593 23678 surfaceflinger-591 ( 591) [000] ...1 1034718.536495: tracing_mark_write: E|591 23679 surfaceflinger-591 ( 591) [000] ...1 1034718.536637: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 23680 composer@2.1-s-593 ( 593) [001] ...1 1034718.536723: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 23681 composer@2.1-s-593 ( 593) [001] ...1 1034718.536737: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 23682 composer@2.1-s-593 ( 593) [001] ...1 1034718.536752: tracing_mark_write: B|593|HWDevice::Commit:: 23683 composer@2.1-s-593 ( 593) [001] ...1 1034718.536881: tracing_mark_write: E|593 23684 composer@2.1-s-593 ( 593) [001] ...1 1034718.536907: tracing_mark_write: E|593 23685 composer@2.1-s-593 ( 593) [001] ...1 1034718.536949: tracing_mark_write: E|593 23686 surfaceflinger-591 ( 591) [000] ...1 1034718.537022: tracing_mark_write: E|591 23687 surfaceflinger-591 ( 591) [000] ...1 1034718.552250: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 23688 composer@2.1-s-593 ( 593) [001] ...1 1034718.552393: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 23689 composer@2.1-s-593 ( 593) [001] ...1 1034718.552472: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 23690 composer@2.1-s-593 ( 593) [001] ...1 1034718.552481: tracing_mark_write: E|593 23691 composer@2.1-s-593 ( 593) [001] ...1 1034718.552485: tracing_mark_write: B|593|HWCSession::ValidateDisplay:: 23692 composer@2.1-s-593 ( 593) [001] ...1 1034718.552737: tracing_mark_write: B|593|HWDevice::Validate:: 23693 composer@2.1-s-593 ( 593) [001] ...1 1034718.552817: tracing_mark_write: E|593 23694 composer@2.1-s-593 ( 593) [001] ...1 1034718.552835: tracing_mark_write: E|593 23695 composer@2.1-s-593 ( 593) [001] ...1 1034718.552856: tracing_mark_write: E|593 23696 surfaceflinger-591 ( 591) [000] ...1 1034718.552922: tracing_mark_write: E|591 23697 surfaceflinger-591 ( 591) [000] ...1 1034718.553005: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 23698 composer@2.1-s-593 ( 593) [001] ...1 1034718.553047: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 23699 composer@2.1-s-593 ( 593) [001] ...1 1034718.553056: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 23700 composer@2.1-s-593 ( 593) [001] ...1 1034718.553067: tracing_mark_write: B|593|HWDevice::Commit:: 23701 composer@2.1-s-593 ( 593) [001] ...1 1034718.553157: tracing_mark_write: E|593 23702 composer@2.1-s-593 ( 593) [001] ...1 1034718.553174: tracing_mark_write: E|593 23703 composer@2.1-s-593 ( 593) [001] ...1 1034718.553196: tracing_mark_write: E|593 23704 surfaceflinger-591 ( 591) [003] ...1 1034718.553303: tracing_mark_write: E|591 23705 surfaceflinger-591 ( 591) [000] ...1 1034718.569238: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 23706 composer@2.1-s-593 ( 593) [001] ...1 1034718.569398: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 23707 composer@2.1-s-593 ( 593) [001] ...1 1034718.569483: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 23708 composer@2.1-s-593 ( 593) [001] ...1 1034718.569493: tracing_mark_write: E|593 23709 composer@2.1-s-593 ( 593) [001] ...1 1034718.569497: tracing_mark_write: B|593|HWCSession::ValidateDisplay:: 23710 composer@2.1-s-593 ( 593) [001] ...1 1034718.569772: tracing_mark_write: B|593|HWDevice::Validate:: 23711 composer@2.1-s-593 ( 593) [001] ...1 1034718.569908: tracing_mark_write: E|593 23712 composer@2.1-s-593 ( 593) [001] ...1 1034718.569936: tracing_mark_write: E|593 23713 composer@2.1-s-593 ( 593) [001] ...1 1034718.569968: tracing_mark_write: E|593 23714 surfaceflinger-591 ( 591) [000] ...1 1034718.570075: tracing_mark_write: E|591 23715 surfaceflinger-591 ( 591) [000] ...1 1034718.570186: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 23716 composer@2.1-s-593 ( 593) [001] ...1 1034718.570259: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 23717 composer@2.1-s-593 ( 593) [001] ...1 1034718.570273: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 23718 composer@2.1-s-593 ( 593) [001] ...1 1034718.570287: tracing_mark_write: B|593|HWDevice::Commit:: 23719 composer@2.1-s-593 ( 593) [001] ...1 1034718.570408: tracing_mark_write: E|593 23720 composer@2.1-s-593 ( 593) [001] ...1 1034718.570432: tracing_mark_write: E|593 23721 composer@2.1-s-593 ( 593) [001] ...1 1034718.570464: tracing_mark_write: E|593 23722 surfaceflinger-591 ( 591) [000] ...1 1034718.570532: tracing_mark_write: E|591 23723 surfaceflinger-591 ( 591) [000] ...1 1034718.585688: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 23724 composer@2.1-s-593 ( 593) [001] ...1 1034718.585803: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 23725 composer@2.1-s-593 ( 593) [001] ...1 1034718.585878: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 23726 composer@2.1-s-593 ( 593) [001] ...1 1034718.585887: tracing_mark_write: E|593 23727 composer@2.1-s-593 ( 593) [001] ...1 1034718.585891: tracing_mark_write: B|593|HWCSession::ValidateDisplay:: 23728 composer@2.1-s-593 ( 593) [001] ...1 1034718.586188: tracing_mark_write: B|593|HWDevice::Validate:: 23729 composer@2.1-s-593 ( 593) [001] ...1 1034718.586267: tracing_mark_write: E|593 23730 composer@2.1-s-593 ( 593) [001] ...1 1034718.586286: tracing_mark_write: E|593 23731 composer@2.1-s-593 ( 593) [001] ...1 1034718.586305: tracing_mark_write: E|593 23732 surfaceflinger-591 ( 591) [000] ...1 1034718.586358: tracing_mark_write: E|591 23733 surfaceflinger-591 ( 591) [000] ...1 1034718.586423: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 23734 composer@2.1-s-593 ( 593) [001] ...1 1034718.586463: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 23735 composer@2.1-s-593 ( 593) [001] ...1 1034718.586473: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 23736 composer@2.1-s-593 ( 593) [001] ...1 1034718.586484: tracing_mark_write: B|593|HWDevice::Commit:: 23737 composer@2.1-s-593 ( 593) [001] ...1 1034718.586615: tracing_mark_write: E|593 23738 composer@2.1-s-593 ( 593) [001] ...1 1034718.586632: tracing_mark_write: E|593 23739 composer@2.1-s-593 ( 593) [001] ...1 1034718.586668: tracing_mark_write: E|593 23740 surfaceflinger-591 ( 591) [000] ...1 1034718.586714: tracing_mark_write: E|591 23741 surfaceflinger-591 ( 591) [000] ...1 1034718.602426: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 23742 composer@2.1-s-593 ( 593) [001] ...1 1034718.602532: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 23743 composer@2.1-s-593 ( 593) [001] ...1 1034718.602603: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 23744 composer@2.1-s-593 ( 593) [001] ...1 1034718.602612: tracing_mark_write: E|593 23745 composer@2.1-s-593 ( 593) [001] ...1 1034718.602616: tracing_mark_write: B|593|HWCSession::ValidateDisplay:: 23746 composer@2.1-s-593 ( 593) [001] ...1 1034718.602861: tracing_mark_write: B|593|HWDevice::Validate:: 23747 composer@2.1-s-593 ( 593) [001] ...1 1034718.602937: tracing_mark_write: E|593 23748 composer@2.1-s-593 ( 593) [001] ...1 1034718.602955: tracing_mark_write: E|593 23749 composer@2.1-s-593 ( 593) [001] ...1 1034718.602975: tracing_mark_write: E|593 23750 surfaceflinger-591 ( 591) [000] ...1 1034718.603026: tracing_mark_write: E|591 23751 surfaceflinger-591 ( 591) [000] ...1 1034718.603090: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 23752 composer@2.1-s-593 ( 593) [001] ...1 1034718.603128: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 23753 composer@2.1-s-593 ( 593) [001] ...1 1034718.603137: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 23754 composer@2.1-s-593 ( 593) [001] ...1 1034718.603148: tracing_mark_write: B|593|HWDevice::Commit:: 23755 composer@2.1-s-593 ( 593) [001] ...1 1034718.603265: tracing_mark_write: E|593 23756 composer@2.1-s-593 ( 593) [001] ...1 1034718.603282: tracing_mark_write: E|593 23757 composer@2.1-s-593 ( 593) [001] ...1 1034718.603305: tracing_mark_write: E|593 23758 surfaceflinger-591 ( 591) [000] ...1 1034718.603348: tracing_mark_write: E|591 23759 surfaceflinger-591 ( 591) [000] ...1 1034718.620504: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 23760 composer@2.1-s-593 ( 593) [001] ...1 1034718.620688: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 23761 composer@2.1-s-593 ( 593) [001] ...1 1034718.620821: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 23762 composer@2.1-s-593 ( 593) [001] ...1 1034718.620840: tracing_mark_write: E|593 23763 composer@2.1-s-593 ( 593) [001] ...1 1034718.620852: tracing_mark_write: B|593|HWCSession::ValidateDisplay:: 23764 composer@2.1-s-593 ( 593) [001] ...1 1034718.621309: tracing_mark_write: B|593|HWDevice::Validate:: 23765 composer@2.1-s-593 ( 593) [001] ...1 1034718.621441: tracing_mark_write: E|593 23766 composer@2.1-s-593 ( 593) [001] ...1 1034718.621480: tracing_mark_write: E|593 23767 composer@2.1-s-593 ( 593) [001] ...1 1034718.621515: tracing_mark_write: E|593 23768 surfaceflinger-591 ( 591) [000] ...1 1034718.621614: tracing_mark_write: E|591 23769 surfaceflinger-591 ( 591) [000] ...1 1034718.621746: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 23770 composer@2.1-s-593 ( 593) [001] ...1 1034718.621838: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 23771 composer@2.1-s-593 ( 593) [001] ...1 1034718.621857: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 23772 composer@2.1-s-593 ( 593) [001] ...1 1034718.621880: tracing_mark_write: B|593|HWDevice::Commit:: 23773 composer@2.1-s-593 ( 593) [001] ...1 1034718.622049: tracing_mark_write: E|593 23774 composer@2.1-s-593 ( 593) [001] ...1 1034718.622086: tracing_mark_write: E|593 23775 composer@2.1-s-593 ( 593) [001] ...1 1034718.622132: tracing_mark_write: E|593 23776 surfaceflinger-591 ( 591) [000] ...1 1034718.622239: tracing_mark_write: E|591 23777 surfaceflinger-591 ( 591) [000] ...1 1034718.637729: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 23778 composer@2.1-s-593 ( 593) [001] ...1 1034718.637975: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 23779 composer@2.1-s-593 ( 593) [001] ...1 1034718.638155: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 23780 composer@2.1-s-593 ( 593) [001] ...1 1034718.638180: tracing_mark_write: E|593 23781 composer@2.1-s-593 ( 593) [001] ...1 1034718.638197: tracing_mark_write: B|593|HWCSession::ValidateDisplay:: 23782 composer@2.1-s-593 ( 593) [001] ...1 1034718.638823: tracing_mark_write: B|593|HWDevice::Validate:: 23783 composer@2.1-s-593 ( 593) [001] ...1 1034718.639000: tracing_mark_write: E|593 23784 composer@2.1-s-593 ( 593) [001] ...1 1034718.639056: tracing_mark_write: E|593 23785 composer@2.1-s-593 ( 593) [001] ...1 1034718.639103: tracing_mark_write: E|593 23786 surfaceflinger-591 ( 591) [000] ...1 1034718.639248: tracing_mark_write: E|591 23787 surfaceflinger-591 ( 591) [000] ...1 1034718.639434: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 23788 composer@2.1-s-593 ( 593) [001] ...1 1034718.639569: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 23789 composer@2.1-s-593 ( 593) [001] ...1 1034718.639598: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 23790 composer@2.1-s-593 ( 593) [001] ...1 1034718.639632: tracing_mark_write: B|593|HWDevice::Commit:: 23791 composer@2.1-s-593 ( 593) [001] ...1 1034718.639943: tracing_mark_write: E|593 23792 composer@2.1-s-593 ( 593) [001] ...1 1034718.639996: tracing_mark_write: E|593 23793 composer@2.1-s-593 ( 593) [001] ...1 1034718.640061: tracing_mark_write: E|593 23794 surfaceflinger-591 ( 591) [000] ...1 1034718.640222: tracing_mark_write: E|591 23795 surfaceflinger-591 ( 591) [000] ...1 1034718.654998: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 23796 composer@2.1-s-593 ( 593) [001] ...1 1034718.655245: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 23797 composer@2.1-s-593 ( 593) [001] ...1 1034718.655425: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 23798 composer@2.1-s-593 ( 593) [001] ...1 1034718.655450: tracing_mark_write: E|593 23799 composer@2.1-s-593 ( 593) [001] ...1 1034718.655466: tracing_mark_write: B|593|HWCSession::ValidateDisplay:: 23800 composer@2.1-s-593 ( 593) [001] ...1 1034718.656112: tracing_mark_write: B|593|HWDevice::Validate:: 23801 composer@2.1-s-593 ( 593) [001] ...1 1034718.656269: tracing_mark_write: E|593 23802 composer@2.1-s-593 ( 593) [001] ...1 1034718.656325: tracing_mark_write: E|593 23803 composer@2.1-s-593 ( 593) [001] ...1 1034718.656372: tracing_mark_write: E|593 23804 surfaceflinger-591 ( 591) [000] ...1 1034718.656518: tracing_mark_write: E|591 23805 surfaceflinger-591 ( 591) [000] ...1 1034718.656862: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 23806 composer@2.1-s-593 ( 593) [001] ...1 1034718.656999: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 23807 composer@2.1-s-593 ( 593) [001] ...1 1034718.657029: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 23808 composer@2.1-s-593 ( 593) [001] ...1 1034718.657062: tracing_mark_write: B|593|HWDevice::Commit:: 23809 composer@2.1-s-593 ( 593) [001] ...1 1034718.657312: tracing_mark_write: E|593 23810 composer@2.1-s-593 ( 593) [001] ...1 1034718.657363: tracing_mark_write: E|593 23811 composer@2.1-s-593 ( 593) [001] ...1 1034718.657429: tracing_mark_write: E|593 23812 surfaceflinger-591 ( 591) [000] ...1 1034718.657583: tracing_mark_write: E|591 23813 surfaceflinger-591 ( 591) [000] ...1 1034718.671821: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 23814 composer@2.1-s-593 ( 593) [001] ...1 1034718.672069: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 23815 composer@2.1-s-593 ( 593) [001] ...1 1034718.672246: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 23816 composer@2.1-s-593 ( 593) [001] ...1 1034718.672272: tracing_mark_write: E|593 23817 composer@2.1-s-593 ( 593) [001] ...1 1034718.672289: tracing_mark_write: B|593|HWCSession::ValidateDisplay:: 23818 composer@2.1-s-593 ( 593) [001] ...1 1034718.672933: tracing_mark_write: B|593|HWDevice::Validate:: 23819 composer@2.1-s-593 ( 593) [001] ...1 1034718.673114: tracing_mark_write: E|593 23820 composer@2.1-s-593 ( 593) [001] ...1 1034718.673172: tracing_mark_write: E|593 23821 composer@2.1-s-593 ( 593) [001] ...1 1034718.673292: tracing_mark_write: E|593 23822 surfaceflinger-591 ( 591) [000] ...1 1034718.673437: tracing_mark_write: E|591 23823 surfaceflinger-591 ( 591) [000] ...1 1034718.673624: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 23824 composer@2.1-s-593 ( 593) [001] ...1 1034718.673760: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 23825 composer@2.1-s-593 ( 593) [001] ...1 1034718.673790: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 23826 composer@2.1-s-593 ( 593) [001] ...1 1034718.673822: tracing_mark_write: B|593|HWDevice::Commit:: 23827 composer@2.1-s-593 ( 593) [001] ...1 1034718.674067: tracing_mark_write: E|593 23828 composer@2.1-s-593 ( 593) [001] ...1 1034718.674123: tracing_mark_write: E|593 23829 composer@2.1-s-593 ( 593) [001] ...1 1034718.674191: tracing_mark_write: E|593 23830 surfaceflinger-591 ( 591) [000] ...1 1034718.674347: tracing_mark_write: E|591 23831 surfaceflinger-591 ( 591) [000] ...1 1034718.688563: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 23832 composer@2.1-s-593 ( 593) [001] ...1 1034718.688805: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 23833 composer@2.1-s-593 ( 593) [001] ...1 1034718.688983: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 23834 composer@2.1-s-593 ( 593) [001] ...1 1034718.689009: tracing_mark_write: E|593 23835 composer@2.1-s-593 ( 593) [001] ...1 1034718.689026: tracing_mark_write: B|593|HWCSession::ValidateDisplay:: 23836 composer@2.1-s-593 ( 593) [001] ...1 1034718.689660: tracing_mark_write: B|593|HWDevice::Validate:: 23837 composer@2.1-s-593 ( 593) [001] ...1 1034718.689819: tracing_mark_write: E|593 23838 composer@2.1-s-593 ( 593) [001] ...1 1034718.689941: tracing_mark_write: E|593 23839 composer@2.1-s-593 ( 593) [001] ...1 1034718.689989: tracing_mark_write: E|593 23840 surfaceflinger-591 ( 591) [000] ...1 1034718.690134: tracing_mark_write: E|591 23841 surfaceflinger-591 ( 591) [000] ...1 1034718.690321: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 23842 composer@2.1-s-593 ( 593) [001] ...1 1034718.690456: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 23843 composer@2.1-s-593 ( 593) [001] ...1 1034718.690486: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 23844 composer@2.1-s-593 ( 593) [001] ...1 1034718.690520: tracing_mark_write: B|593|HWDevice::Commit:: 23845 composer@2.1-s-593 ( 593) [001] ...1 1034718.690776: tracing_mark_write: E|593 23846 composer@2.1-s-593 ( 593) [001] ...1 1034718.690828: tracing_mark_write: E|593 23847 composer@2.1-s-593 ( 593) [001] ...1 1034718.690895: tracing_mark_write: E|593 23848 surfaceflinger-591 ( 591) [000] ...1 1034718.691051: tracing_mark_write: E|591 23849 surfaceflinger-591 ( 591) [000] ...1 1034718.705269: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 23850 composer@2.1-s-593 ( 593) [001] ...1 1034718.705516: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 23851 composer@2.1-s-593 ( 593) [001] ...1 1034718.705697: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 23852 composer@2.1-s-593 ( 593) [001] ...1 1034718.705722: tracing_mark_write: E|593 23853 composer@2.1-s-593 ( 593) [001] ...1 1034718.705741: tracing_mark_write: B|593|HWCSession::ValidateDisplay:: 23854 composer@2.1-s-593 ( 593) [001] ...1 1034718.706368: tracing_mark_write: B|593|HWDevice::Validate:: 23855 composer@2.1-s-593 ( 593) [001] ...1 1034718.706523: tracing_mark_write: E|593 23856 composer@2.1-s-593 ( 593) [001] ...1 1034718.706724: tracing_mark_write: E|593 23857 composer@2.1-s-593 ( 593) [001] ...1 1034718.706798: tracing_mark_write: E|593 23858 surfaceflinger-591 ( 591) [000] ...1 1034718.706944: tracing_mark_write: E|591 23859 surfaceflinger-591 ( 591) [000] ...1 1034718.707132: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 23860 composer@2.1-s-593 ( 593) [001] ...1 1034718.707266: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 23861 composer@2.1-s-593 ( 593) [001] ...1 1034718.707295: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 23862 composer@2.1-s-593 ( 593) [001] ...1 1034718.707327: tracing_mark_write: B|593|HWDevice::Commit:: 23863 composer@2.1-s-593 ( 593) [001] ...1 1034718.707573: tracing_mark_write: E|593 23864 composer@2.1-s-593 ( 593) [001] ...1 1034718.707624: tracing_mark_write: E|593 23865 composer@2.1-s-593 ( 593) [001] ...1 1034718.707690: tracing_mark_write: E|593 23866 surfaceflinger-591 ( 591) [000] ...1 1034718.707842: tracing_mark_write: E|591 23867 surfaceflinger-591 ( 591) [000] ...1 1034718.722037: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 23868 composer@2.1-s-593 ( 593) [001] ...1 1034718.722254: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 23869 composer@2.1-s-593 ( 593) [001] ...1 1034718.722416: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 23870 composer@2.1-s-593 ( 593) [001] ...1 1034718.722442: tracing_mark_write: E|593 23871 composer@2.1-s-593 ( 593) [001] ...1 1034718.722458: tracing_mark_write: B|593|HWCSession::ValidateDisplay:: 23872 composer@2.1-s-593 ( 593) [001] ...1 1034718.723055: tracing_mark_write: B|593|HWDevice::Validate:: 23873 composer@2.1-s-593 ( 593) [001] ...1 1034718.723260: tracing_mark_write: E|593 23874 composer@2.1-s-593 ( 593) [001] ...1 1034718.723317: tracing_mark_write: E|593 23875 composer@2.1-s-593 ( 593) [001] ...1 1034718.723361: tracing_mark_write: E|593 23876 surfaceflinger-591 ( 591) [000] ...1 1034718.723495: tracing_mark_write: E|591 23877 surfaceflinger-591 ( 591) [000] ...1 1034718.723676: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 23878 composer@2.1-s-593 ( 593) [001] ...1 1034718.723810: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 23879 composer@2.1-s-593 ( 593) [001] ...1 1034718.723839: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 23880 composer@2.1-s-593 ( 593) [001] ...1 1034718.723871: tracing_mark_write: B|593|HWDevice::Commit:: 23881 composer@2.1-s-593 ( 593) [001] ...1 1034718.724104: tracing_mark_write: E|593 23882 composer@2.1-s-593 ( 593) [001] ...1 1034718.724157: tracing_mark_write: E|593 23883 composer@2.1-s-593 ( 593) [001] ...1 1034718.724221: tracing_mark_write: E|593 23884 surfaceflinger-591 ( 591) [000] ...1 1034718.724375: tracing_mark_write: E|591 23885 surfaceflinger-591 ( 591) [002] ...1 1034718.738925: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 23886 composer@2.1-s-593 ( 593) [001] ...1 1034718.739147: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 23887 composer@2.1-s-593 ( 593) [001] ...1 1034718.739315: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 23888 composer@2.1-s-593 ( 593) [001] ...1 1034718.739340: tracing_mark_write: E|593 23889 composer@2.1-s-593 ( 593) [001] ...1 1034718.739356: tracing_mark_write: B|593|HWCSession::ValidateDisplay:: 23890 composer@2.1-s-593 ( 593) [001] ...1 1034718.740063: tracing_mark_write: B|593|HWDevice::Validate:: 23891 composer@2.1-s-593 ( 593) [001] ...1 1034718.740213: tracing_mark_write: E|593 23892 composer@2.1-s-593 ( 593) [001] ...1 1034718.740269: tracing_mark_write: E|593 23893 composer@2.1-s-593 ( 593) [001] ...1 1034718.740317: tracing_mark_write: E|593 23894 surfaceflinger-591 ( 591) [002] ...1 1034718.740456: tracing_mark_write: E|591 23895 surfaceflinger-591 ( 591) [002] ...1 1034718.740648: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 23896 composer@2.1-s-593 ( 593) [001] ...1 1034718.740791: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 23897 composer@2.1-s-593 ( 593) [001] ...1 1034718.740822: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 23898 composer@2.1-s-593 ( 593) [001] ...1 1034718.740854: tracing_mark_write: B|593|HWDevice::Commit:: 23899 composer@2.1-s-593 ( 593) [001] ...1 1034718.741102: tracing_mark_write: E|593 23900 composer@2.1-s-593 ( 593) [001] ...1 1034718.741153: tracing_mark_write: E|593 23901 composer@2.1-s-593 ( 593) [001] ...1 1034718.741218: tracing_mark_write: E|593 23902 surfaceflinger-591 ( 591) [002] ...1 1034718.741378: tracing_mark_write: E|591 23903 android.bg-1184 ( 1151) [000] ...1 1034718.754041: tracing_mark_write: B|1151|HIDL::IMemtrack::getMemory::client 23904 memtrack@1.0-s-748 ( 748) [000] ...1 1034718.754257: tracing_mark_write: B|748|HIDL::IMemtrack::getMemory::server 23905 memtrack@1.0-s-748 ( 748) [000] ...1 1034718.754313: tracing_mark_write: E|748 23906 android.bg-1184 ( 1151) [000] ...1 1034718.754477: tracing_mark_write: E|1151 23907 android.bg-1184 ( 1151) [000] ...1 1034718.754504: tracing_mark_write: B|1151|HIDL::IMemtrack::getMemory::client 23908 memtrack@1.0-s-748 ( 748) [000] ...1 1034718.754607: tracing_mark_write: B|748|HIDL::IMemtrack::getMemory::server 23909 memtrack@1.0-s-748 ( 748) [000] ...1 1034718.754786: tracing_mark_write: E|748 23910 android.bg-1184 ( 1151) [000] ...1 1034718.755608: tracing_mark_write: E|1151 23911 android.bg-1184 ( 1151) [000] ...1 1034718.755638: tracing_mark_write: B|1151|HIDL::IMemtrack::getMemory::client 23912 memtrack@1.0-s-748 ( 748) [000] ...1 1034718.755757: tracing_mark_write: B|748|HIDL::IMemtrack::getMemory::server 23913 surfaceflinger-591 ( 591) [001] ...1 1034718.755770: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 23914 memtrack@1.0-s-748 ( 748) [000] ...1 1034718.755869: tracing_mark_write: E|748 23915 composer@2.1-s-593 ( 593) [000] ...1 1034718.756022: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 23916 composer@2.1-s-593 ( 593) [000] ...1 1034718.756211: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 23917 composer@2.1-s-593 ( 593) [000] ...1 1034718.756239: tracing_mark_write: E|593 23918 composer@2.1-s-593 ( 593) [000] ...1 1034718.756255: tracing_mark_write: B|593|HWCSession::ValidateDisplay:: 23919 composer@2.1-s-593 ( 593) [000] ...1 1034718.757038: tracing_mark_write: B|593|HWDevice::Validate:: 23920 composer@2.1-s-593 ( 593) [000] ...1 1034718.757201: tracing_mark_write: E|593 23921 composer@2.1-s-593 ( 593) [000] ...1 1034718.757261: tracing_mark_write: E|593 23922 composer@2.1-s-593 ( 593) [000] ...1 1034718.757312: tracing_mark_write: E|593 23923 surfaceflinger-591 ( 591) [003] ...1 1034718.757473: tracing_mark_write: E|591 23924 android.bg-1184 ( 1151) [000] ...1 1034718.757603: tracing_mark_write: E|1151 23925 android.bg-1184 ( 1151) [000] ...1 1034718.757635: tracing_mark_write: B|1151|HIDL::IMemtrack::getMemory::client 23926 surfaceflinger-591 ( 591) [003] ...1 1034718.757695: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 23927 memtrack@1.0-s-748 ( 748) [000] ...1 1034718.757774: tracing_mark_write: B|748|HIDL::IMemtrack::getMemory::server 23928 composer@2.1-s-593 ( 593) [000] ...1 1034718.757844: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 23929 composer@2.1-s-593 ( 593) [000] ...1 1034718.757878: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 23930 composer@2.1-s-593 ( 593) [000] ...1 1034718.757914: tracing_mark_write: B|593|HWDevice::Commit:: 23931 composer@2.1-s-593 ( 593) [000] ...1 1034718.758179: tracing_mark_write: E|593 23932 composer@2.1-s-593 ( 593) [000] ...1 1034718.758237: tracing_mark_write: E|593 23933 composer@2.1-s-593 ( 593) [000] ...1 1034718.758309: tracing_mark_write: E|593 23934 surfaceflinger-591 ( 591) [003] ...1 1034718.758477: tracing_mark_write: E|591 23935 memtrack@1.0-s-748 ( 748) [000] ...1 1034718.758800: tracing_mark_write: E|748 23936 android.bg-1184 ( 1151) [000] ...1 1034718.758961: tracing_mark_write: E|1151 23937 android.bg-1184 ( 1151) [000] ...1 1034718.758991: tracing_mark_write: B|1151|HIDL::IMemtrack::getMemory::client 23938 memtrack@1.0-s-748 ( 748) [000] ...1 1034718.759108: tracing_mark_write: B|748|HIDL::IMemtrack::getMemory::server 23939 memtrack@1.0-s-748 ( 748) [000] ...1 1034718.759136: tracing_mark_write: E|748 23940 android.bg-1184 ( 1151) [000] ...1 1034718.759259: tracing_mark_write: E|1151 23941 surfaceflinger-591 ( 591) [001] ...1 1034718.770482: tracing_mark_write: B|591|HIDL::IMapper::freeBuffer::passthrough 23942 surfaceflinger-591 ( 591) [001] ...1 1034718.770519: tracing_mark_write: B|591|FreeBuffer 23943 surfaceflinger-591 ( 591) [001] ...1 1034718.770990: tracing_mark_write: E|591 23944 surfaceflinger-591 ( 591) [001] ...1 1034718.770999: tracing_mark_write: B|591|FreeBuffer 23945 surfaceflinger-591 ( 591) [001] ...1 1034718.771025: tracing_mark_write: E|591 23946 surfaceflinger-591 ( 591) [001] ...1 1034718.771038: tracing_mark_write: E|591 23947 surfaceflinger-591 ( 591) [003] ...1 1034718.773167: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 23948 composer@2.1-s-593 ( 593) [000] ...1 1034718.773406: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 23949 composer@2.1-s-593 ( 593) [000] ...1 1034718.773543: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 23950 composer@2.1-s-593 ( 593) [000] ...1 1034718.773563: tracing_mark_write: E|593 23951 composer@2.1-s-593 ( 593) [000] ...1 1034718.773574: tracing_mark_write: B|593|HWCSession::ValidateDisplay:: 23952 composer@2.1-s-593 ( 593) [000] ...1 1034718.774052: tracing_mark_write: B|593|HWDevice::Validate:: 23953 composer@2.1-s-593 ( 593) [000] ...1 1034718.774171: tracing_mark_write: E|593 23954 composer@2.1-s-593 ( 593) [000] ...1 1034718.774211: tracing_mark_write: E|593 23955 composer@2.1-s-593 ( 593) [000] ...1 1034718.774248: tracing_mark_write: E|593 23956 surfaceflinger-591 ( 591) [003] ...1 1034718.774359: tracing_mark_write: E|591 23957 surfaceflinger-591 ( 591) [003] ...1 1034718.774507: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 23958 composer@2.1-s-593 ( 593) [000] ...1 1034718.774607: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 23959 composer@2.1-s-593 ( 593) [000] ...1 1034718.774630: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 23960 composer@2.1-s-593 ( 593) [000] ...1 1034718.774655: tracing_mark_write: B|593|HWDevice::Commit:: 23961 composer@2.1-s-593 ( 593) [000] ...1 1034718.774831: tracing_mark_write: E|593 23962 composer@2.1-s-593 ( 593) [000] ...1 1034718.774872: tracing_mark_write: E|593 23963 composer@2.1-s-593 ( 593) [000] ...1 1034718.774921: tracing_mark_write: E|593 23964 surfaceflinger-591 ( 591) [003] ...1 1034718.775032: tracing_mark_write: E|591 23965 surfaceflinger-591 ( 591) [002] ...1 1034718.787667: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 23966 composer@2.1-s-593 ( 593) [000] ...1 1034718.787820: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 23967 composer@2.1-s-593 ( 593) [000] ...1 1034718.787924: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 23968 composer@2.1-s-593 ( 593) [000] ...1 1034718.787938: tracing_mark_write: E|593 23969 composer@2.1-s-593 ( 593) [000] ...1 1034718.787945: tracing_mark_write: B|593|HWCSession::ValidateDisplay:: 23970 composer@2.1-s-593 ( 593) [000] ...1 1034718.788304: tracing_mark_write: B|593|HWDevice::Validate:: 23971 composer@2.1-s-593 ( 593) [000] ...1 1034718.788392: tracing_mark_write: E|593 23972 composer@2.1-s-593 ( 593) [000] ...1 1034718.788420: tracing_mark_write: E|593 23973 composer@2.1-s-593 ( 593) [000] ...1 1034718.788448: tracing_mark_write: E|593 23974 surfaceflinger-591 ( 591) [002] ...1 1034718.788534: tracing_mark_write: E|591 23975 surfaceflinger-591 ( 591) [002] ...1 1034718.788640: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 23976 composer@2.1-s-593 ( 593) [000] ...1 1034718.788707: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 23977 composer@2.1-s-593 ( 593) [000] ...1 1034718.788722: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 23978 composer@2.1-s-593 ( 593) [000] ...1 1034718.788740: tracing_mark_write: B|593|HWDevice::Commit:: 23979 composer@2.1-s-593 ( 593) [000] ...1 1034718.788863: tracing_mark_write: E|593 23980 composer@2.1-s-593 ( 593) [000] ...1 1034718.788891: tracing_mark_write: E|593 23981 composer@2.1-s-593 ( 593) [000] ...1 1034718.788924: tracing_mark_write: E|593 23982 surfaceflinger-591 ( 591) [002] ...1 1034718.788996: tracing_mark_write: E|591 23983 surfaceflinger-591 ( 591) [001] ...1 1034718.803419: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 23984 composer@2.1-s-593 ( 593) [000] ...1 1034718.803562: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 23985 composer@2.1-s-593 ( 593) [000] ...1 1034718.803642: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 23986 composer@2.1-s-593 ( 593) [000] ...1 1034718.803664: tracing_mark_write: B|593|HWDevice::Commit:: 23987 composer@2.1-s-593 ( 593) [000] ...1 1034718.803803: tracing_mark_write: E|593 23988 composer@2.1-s-593 ( 593) [000] ...1 1034718.803836: tracing_mark_write: E|593 23989 composer@2.1-s-593 ( 593) [000] ...1 1034718.803874: tracing_mark_write: E|593 23990 surfaceflinger-591 ( 591) [001] ...1 1034718.803964: tracing_mark_write: E|591 23991 surfaceflinger-591 ( 591) [001] ...1 1034718.820011: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 23992 composer@2.1-s-593 ( 593) [000] ...1 1034718.820176: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 23993 composer@2.1-s-593 ( 593) [000] ...1 1034718.820240: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 23994 composer@2.1-s-593 ( 593) [000] ...1 1034718.820260: tracing_mark_write: B|593|HWDevice::Commit:: 23995 composer@2.1-s-593 ( 593) [000] ...1 1034718.820364: tracing_mark_write: E|593 23996 composer@2.1-s-593 ( 593) [000] ...1 1034718.820390: tracing_mark_write: E|593 23997 composer@2.1-s-593 ( 593) [000] ...1 1034718.820419: tracing_mark_write: E|593 23998 surfaceflinger-591 ( 591) [001] ...1 1034718.820493: tracing_mark_write: E|591 23999 surfaceflinger-591 ( 591) [001] ...1 1034718.836756: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 24000 composer@2.1-s-593 ( 593) [000] ...1 1034718.836865: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 24001 composer@2.1-s-593 ( 593) [000] ...1 1034718.836915: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 24002 composer@2.1-s-593 ( 593) [000] ...1 1034718.836931: tracing_mark_write: B|593|HWDevice::Commit:: 24003 composer@2.1-s-593 ( 593) [000] ...1 1034718.837026: tracing_mark_write: E|593 24004 composer@2.1-s-593 ( 593) [000] ...1 1034718.837049: tracing_mark_write: E|593 24005 composer@2.1-s-593 ( 593) [000] ...1 1034718.837073: tracing_mark_write: E|593 24006 surfaceflinger-591 ( 591) [001] ...1 1034718.837132: tracing_mark_write: E|591 24007 surfaceflinger-591 ( 591) [001] ...1 1034718.854122: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 24008 composer@2.1-s-593 ( 593) [000] ...1 1034718.854365: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 24009 composer@2.1-s-593 ( 593) [000] ...1 1034718.854512: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 24010 composer@2.1-s-593 ( 593) [000] ...1 1034718.854555: tracing_mark_write: B|593|HWDevice::Commit:: 24011 composer@2.1-s-593 ( 593) [000] ...1 1034718.854807: tracing_mark_write: E|593 24012 composer@2.1-s-593 ( 593) [000] ...1 1034718.854871: tracing_mark_write: E|593 24013 composer@2.1-s-593 ( 593) [000] ...1 1034718.854945: tracing_mark_write: E|593 24014 surfaceflinger-591 ( 591) [001] ...1 1034718.855124: tracing_mark_write: E|591 24015 surfaceflinger-591 ( 591) [001] ...1 1034718.870970: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 24016 composer@2.1-s-593 ( 593) [000] ...1 1034718.871219: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 24017 composer@2.1-s-593 ( 593) [000] ...1 1034718.871368: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 24018 composer@2.1-s-593 ( 593) [000] ...1 1034718.871412: tracing_mark_write: B|593|HWDevice::Commit:: 24019 composer@2.1-s-593 ( 593) [000] ...1 1034718.871664: tracing_mark_write: E|593 24020 composer@2.1-s-593 ( 593) [000] ...1 1034718.871729: tracing_mark_write: E|593 24021 composer@2.1-s-593 ( 593) [000] ...1 1034718.871804: tracing_mark_write: E|593 24022 surfaceflinger-591 ( 591) [001] ...1 1034718.871987: tracing_mark_write: E|591 24023 surfaceflinger-591 ( 591) [001] ...1 1034718.887681: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 24024 composer@2.1-s-593 ( 593) [000] ...1 1034718.887934: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 24025 composer@2.1-s-593 ( 593) [000] ...1 1034718.888081: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 24026 composer@2.1-s-593 ( 593) [000] ...1 1034718.888123: tracing_mark_write: B|593|HWDevice::Commit:: 24027 composer@2.1-s-593 ( 593) [000] ...1 1034718.888377: tracing_mark_write: E|593 24028 composer@2.1-s-593 ( 593) [000] ...1 1034718.888443: tracing_mark_write: E|593 24029 composer@2.1-s-593 ( 593) [000] ...1 1034718.888515: tracing_mark_write: E|593 24030 surfaceflinger-591 ( 591) [001] ...1 1034718.888691: tracing_mark_write: E|591 24031 surfaceflinger-591 ( 591) [001] ...1 1034718.904518: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 24032 composer@2.1-s-593 ( 593) [000] ...1 1034718.904763: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 24033 composer@2.1-s-593 ( 593) [000] ...1 1034718.904912: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 24034 composer@2.1-s-593 ( 593) [000] ...1 1034718.904956: tracing_mark_write: B|593|HWDevice::Commit:: 24035 composer@2.1-s-593 ( 593) [000] ...1 1034718.905216: tracing_mark_write: E|593 24036 composer@2.1-s-593 ( 593) [000] ...1 1034718.905281: tracing_mark_write: E|593 24037 composer@2.1-s-593 ( 593) [000] ...1 1034718.905354: tracing_mark_write: E|593 24038 surfaceflinger-591 ( 591) [001] ...1 1034718.905534: tracing_mark_write: E|591 24039 surfaceflinger-591 ( 591) [001] ...1 1034718.921262: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 24040 composer@2.1-s-593 ( 593) [000] ...1 1034718.921506: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 24041 composer@2.1-s-593 ( 593) [000] ...1 1034718.921652: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 24042 composer@2.1-s-593 ( 593) [000] ...1 1034718.921695: tracing_mark_write: B|593|HWDevice::Commit:: 24043 composer@2.1-s-593 ( 593) [000] ...1 1034718.921952: tracing_mark_write: E|593 24044 composer@2.1-s-593 ( 593) [000] ...1 1034718.922017: tracing_mark_write: E|593 24045 composer@2.1-s-593 ( 593) [000] ...1 1034718.922091: tracing_mark_write: E|593 24046 surfaceflinger-591 ( 591) [001] ...1 1034718.922271: tracing_mark_write: E|591 24047 surfaceflinger-591 ( 591) [001] ...1 1034718.938094: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 24048 composer@2.1-s-593 ( 593) [000] ...1 1034718.938340: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 24049 composer@2.1-s-593 ( 593) [000] ...1 1034718.938487: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 24050 composer@2.1-s-593 ( 593) [000] ...1 1034718.938529: tracing_mark_write: B|593|HWDevice::Commit:: 24051 composer@2.1-s-593 ( 593) [000] ...1 1034718.938787: tracing_mark_write: E|593 24052 composer@2.1-s-593 ( 593) [000] ...1 1034718.938853: tracing_mark_write: E|593 24053 composer@2.1-s-593 ( 593) [000] ...1 1034718.938925: tracing_mark_write: E|593 24054 surfaceflinger-591 ( 591) [001] ...1 1034718.939103: tracing_mark_write: E|591 24055 surfaceflinger-591 ( 591) [001] ...1 1034718.954818: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 24056 composer@2.1-s-593 ( 593) [000] ...1 1034718.955063: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 24057 composer@2.1-s-593 ( 593) [000] ...1 1034718.955212: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 24058 composer@2.1-s-593 ( 593) [000] ...1 1034718.955255: tracing_mark_write: B|593|HWDevice::Commit:: 24059 composer@2.1-s-593 ( 593) [000] ...1 1034718.955515: tracing_mark_write: E|593 24060 composer@2.1-s-593 ( 593) [000] ...1 1034718.955580: tracing_mark_write: E|593 24061 composer@2.1-s-593 ( 593) [000] ...1 1034718.955653: tracing_mark_write: E|593 24062 surfaceflinger-591 ( 591) [001] ...1 1034718.955829: tracing_mark_write: E|591 24063 surfaceflinger-591 ( 591) [000] ...1 1034718.971632: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 24064 composer@2.1-s-593 ( 593) [001] ...1 1034718.971883: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 24065 composer@2.1-s-593 ( 593) [001] ...1 1034718.972031: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 24066 composer@2.1-s-593 ( 593) [001] ...1 1034718.972075: tracing_mark_write: B|593|HWDevice::Commit:: 24067 composer@2.1-s-593 ( 593) [001] ...1 1034718.972331: tracing_mark_write: E|593 24068 composer@2.1-s-593 ( 593) [001] ...1 1034718.972396: tracing_mark_write: E|593 24069 composer@2.1-s-593 ( 593) [001] ...1 1034718.972470: tracing_mark_write: E|593 24070 surfaceflinger-591 ( 591) [000] ...1 1034718.972651: tracing_mark_write: E|591 24071 surfaceflinger-591 ( 591) [000] ...1 1034718.988346: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 24072 composer@2.1-s-593 ( 593) [001] ...1 1034718.988584: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 24073 composer@2.1-s-593 ( 593) [001] ...1 1034718.988725: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 24074 composer@2.1-s-593 ( 593) [001] ...1 1034718.988766: tracing_mark_write: B|593|HWDevice::Commit:: 24075 composer@2.1-s-593 ( 593) [001] ...1 1034718.989025: tracing_mark_write: E|593 24076 composer@2.1-s-593 ( 593) [001] ...1 1034718.989088: tracing_mark_write: E|593 24077 composer@2.1-s-593 ( 593) [001] ...1 1034718.989160: tracing_mark_write: E|593 24078 surfaceflinger-591 ( 591) [000] ...1 1034718.989337: tracing_mark_write: E|591 24079 HwBinder:756_2-23196 ( 756) [001] ...1 1034718.997638: tracing_mark_write: B|756|HIDL::IPreparedModelCallback::notify::client 24080 HwBinder:756_2-23196 ( 756) [001] ...1 1034718.998150: tracing_mark_write: E|756 24081 HwBinder:756_2-23196 ( 756) [001] ...1 1034718.998181: tracing_mark_write: E|756 24082 MobileIQWorker-27051 (27005) [001] ...1 1034718.998383: tracing_mark_write: E|27005 24083 HwBinder:27005-27027 (27005) [004] ...1 1034718.998405: tracing_mark_write: B|27005|HIDL::IPreparedModelCallback::notify::server 24084 HwBinder:27005-27027 (27005) [004] ...1 1034718.998439: tracing_mark_write: E|27005 24085 MobileIQWorker-27058 (27005) [004] ...1 1034718.999993: tracing_mark_write: B|27005|HIDL::IServiceManager::getTransport::client 24086 hwservicemanag-570 ( 570) [003] ...1 1034719.000244: tracing_mark_write: B|570|HIDL::IServiceManager::getTransport::server 24087 hwservicemanag-570 ( 570) [003] ...1 1034719.001485: tracing_mark_write: E|570 24088 MobileIQWorker-27058 (27005) [003] ...1 1034719.001656: tracing_mark_write: E|27005 24089 MobileIQWorker-27058 (27005) [003] ...1 1034719.001713: tracing_mark_write: B|27005|HIDL::IServiceManager::registerForNotifications::client 24090 hwservicemanag-570 ( 570) [003] ...1 1034719.002044: tracing_mark_write: B|570|HIDL::IServiceManager::registerForNotifications::server 24091 hwservicemanag-570 ( 570) [003] ...1 1034719.002417: tracing_mark_write: B|570|HIDL::IServiceNotification::onRegistration::client 24092 hwservicemanag-570 ( 570) [003] ...1 1034719.002490: tracing_mark_write: E|570 24093 hwservicemanag-570 ( 570) [003] ...1 1034719.002509: tracing_mark_write: E|570 24094 HwBinder:27005-27027 (27005) [004] ...1 1034719.002576: tracing_mark_write: B|27005|HIDL::IServiceNotification::onRegistration::server 24095 HwBinder:27005-27027 (27005) [004] ...1 1034719.002601: tracing_mark_write: E|27005 24096 MobileIQWorker-27058 (27005) [003] ...1 1034719.002613: tracing_mark_write: E|27005 24097 MobileIQWorker-27058 (27005) [003] ...1 1034719.002644: tracing_mark_write: B|27005|HIDL::IServiceManager::get::client 24098 hwservicemanag-570 ( 570) [003] ...1 1034719.002747: tracing_mark_write: B|570|HIDL::IServiceManager::get::server 24099 hwservicemanag-570 ( 570) [003] ...1 1034719.003048: tracing_mark_write: E|570 24100 MobileIQWorker-27058 (27005) [003] ...1 1034719.003313: tracing_mark_write: E|27005 24101 MobileIQWorker-27058 (27005) [003] ...1 1034719.003341: tracing_mark_write: B|27005|HIDL::IBase::interfaceChain::client 24102 allocator@1.0--731 ( 731) [003] ...1 1034719.003556: tracing_mark_write: B|731|HIDL::IBase::interfaceChain::server 24103 allocator@1.0--731 ( 731) [003] ...1 1034719.003658: tracing_mark_write: E|731 24104 MobileIQWorker-27058 (27005) [003] ...1 1034719.003781: tracing_mark_write: E|27005 24105 MobileIQWorker-27058 (27005) [003] ...1 1034719.003800: tracing_mark_write: B|27005|HIDL::IServiceManager::unregisterForNotifications::client 24106 hwservicemanag-570 ( 570) [003] ...1 1034719.003958: tracing_mark_write: B|570|HIDL::IServiceManager::unregisterForNotifications::server 24107 hwservicemanag-570 ( 570) [003] ...1 1034719.003988: tracing_mark_write: E|570 24108 MobileIQWorker-27058 (27005) [003] ...1 1034719.004083: tracing_mark_write: E|27005 24109 MobileIQWorker-27058 (27005) [003] ...1 1034719.004220: tracing_mark_write: B|27005|HIDL::IAllocator::allocate::client 24110 allocator@1.0--731 ( 731) [003] ...1 1034719.004295: tracing_mark_write: B|731|HIDL::IAllocator::allocate::server 24111 allocator@1.0--731 ( 731) [003] ...1 1034719.004741: tracing_mark_write: E|731 24112 surfaceflinger-591 ( 591) [000] ...1 1034719.004858: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 24113 composer@2.1-s-593 ( 593) [001] ...1 1034719.005010: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 24114 composer@2.1-s-593 ( 593) [001] ...1 1034719.005109: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 24115 composer@2.1-s-593 ( 593) [001] ...1 1034719.005138: tracing_mark_write: B|593|HWDevice::Commit:: 24116 MobileIQWorker-27058 (27005) [003] ...1 1034719.005288: tracing_mark_write: E|27005 24117 composer@2.1-s-593 ( 593) [001] ...1 1034719.005309: tracing_mark_write: E|593 24118 composer@2.1-s-593 ( 593) [001] ...1 1034719.005350: tracing_mark_write: E|593 24119 MobileIQWorker-27058 (27005) [003] ...1 1034719.005382: tracing_mark_write: B|27005|HIDL::IServiceManager::getTransport::client 24120 composer@2.1-s-593 ( 593) [001] ...1 1034719.005397: tracing_mark_write: E|593 24121 hwservicemanag-570 ( 570) [003] ...1 1034719.005480: tracing_mark_write: B|570|HIDL::IServiceManager::getTransport::server 24122 surfaceflinger-591 ( 591) [000] ...1 1034719.005498: tracing_mark_write: E|591 24123 hwservicemanag-570 ( 570) [003] ...1 1034719.006148: tracing_mark_write: E|570 24124 MobileIQWorker-27058 (27005) [003] ...1 1034719.006230: tracing_mark_write: E|27005 24125 MobileIQWorker-27058 (27005) [003] ...1 1034719.006259: tracing_mark_write: B|27005|HIDL::IServiceManager::registerForNotifications::client 24126 hwservicemanag-570 ( 570) [003] ...1 1034719.006510: tracing_mark_write: B|570|HIDL::IServiceManager::registerForNotifications::server 24127 hwservicemanag-570 ( 570) [003] ...1 1034719.006895: tracing_mark_write: E|570 24128 MobileIQWorker-27058 (27005) [003] ...1 1034719.006972: tracing_mark_write: E|27005 24129 MobileIQWorker-27058 (27005) [003] ...1 1034719.006991: tracing_mark_write: B|27005|HIDL::IServiceManager::unregisterForNotifications::client 24130 hwservicemanag-570 ( 570) [003] ...1 1034719.007121: tracing_mark_write: B|570|HIDL::IServiceManager::unregisterForNotifications::server 24131 hwservicemanag-570 ( 570) [003] ...1 1034719.007145: tracing_mark_write: E|570 24132 MobileIQWorker-27058 (27005) [003] ...1 1034719.007233: tracing_mark_write: E|27005 24133 MobileIQWorker-27058 (27005) [003] ...1 1034719.011829: tracing_mark_write: B|27005|HIDL::IServiceManager::registerPassthroughClient::client 24134 hwservicemanag-570 ( 570) [003] ...1 1034719.011941: tracing_mark_write: B|570|HIDL::IServiceManager::registerPassthroughClient::server 24135 hwservicemanag-570 ( 570) [003] ...1 1034719.012191: tracing_mark_write: E|570 24136 MobileIQWorker-27058 (27005) [003] ...1 1034719.012271: tracing_mark_write: E|27005 24137 MobileIQWorker-27058 (27005) [003] ...1 1034719.012549: tracing_mark_write: B|27005|HIDL::IAllocator::allocate::client 24138 allocator@1.0--731 ( 731) [003] ...1 1034719.012633: tracing_mark_write: B|731|HIDL::IAllocator::allocate::server 24139 allocator@1.0--731 ( 731) [003] ...1 1034719.012836: tracing_mark_write: E|731 24140 MobileIQWorker-27058 (27005) [003] ...1 1034719.013048: tracing_mark_write: E|27005 24141 MobileIQWorker-27058 (27005) [003] ...1 1034719.013621: tracing_mark_write: B|27005|HIDL::IPreparedModel::execute::client 24142 HwBinder:756_2-23196 ( 756) [003] ...1 1034719.014024: tracing_mark_write: B|756|HIDL::IPreparedModel::execute::server 24143 HwBinder:756_2-23196 ( 756) [000] ...1 1034719.018363: tracing_mark_write: B|756|HIDL::IServiceManager::getTransport::client 24144 hwservicemanag-570 ( 570) [000] ...1 1034719.018536: tracing_mark_write: B|570|HIDL::IServiceManager::getTransport::server 24145 hwservicemanag-570 ( 570) [000] ...1 1034719.019276: tracing_mark_write: E|570 24146 HwBinder:756_2-23196 ( 756) [000] ...1 1034719.019395: tracing_mark_write: E|756 24147 HwBinder:756_2-23196 ( 756) [000] ...1 1034719.019491: tracing_mark_write: B|756|HIDL::IServiceManager::registerForNotifications::client 24148 hwservicemanag-570 ( 570) [000] ...1 1034719.019803: tracing_mark_write: B|570|HIDL::IServiceManager::registerForNotifications::server 24149 hwservicemanag-570 ( 570) [000] ...1 1034719.020274: tracing_mark_write: E|570 24150 HwBinder:756_2-23196 ( 756) [000] ...1 1034719.020361: tracing_mark_write: E|756 24151 HwBinder:756_2-23196 ( 756) [000] ...1 1034719.020389: tracing_mark_write: B|756|HIDL::IServiceManager::unregisterForNotifications::client 24152 hwservicemanag-570 ( 570) [000] ...1 1034719.020539: tracing_mark_write: B|570|HIDL::IServiceManager::unregisterForNotifications::server 24153 hwservicemanag-570 ( 570) [000] ...1 1034719.020566: tracing_mark_write: E|570 24154 HwBinder:756_2-23196 ( 756) [000] ...1 1034719.020680: tracing_mark_write: E|756 24155 surfaceflinger-591 ( 591) [001] ...1 1034719.021658: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 24156 composer@2.1-s-593 ( 593) [000] ...1 1034719.021822: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 24157 composer@2.1-s-593 ( 593) [000] ...1 1034719.021920: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 24158 composer@2.1-s-593 ( 593) [000] ...1 1034719.021949: tracing_mark_write: B|593|HWDevice::Commit:: 24159 composer@2.1-s-593 ( 593) [000] ...1 1034719.022118: tracing_mark_write: E|593 24160 composer@2.1-s-593 ( 593) [000] ...1 1034719.022159: tracing_mark_write: E|593 24161 composer@2.1-s-593 ( 593) [000] ...1 1034719.022204: tracing_mark_write: E|593 24162 surfaceflinger-591 ( 591) [001] ...1 1034719.022313: tracing_mark_write: E|591 24163 HwBinder:756_2-23196 ( 756) [000] ...1 1034719.024034: tracing_mark_write: B|756|HIDL::IServiceManager::registerPassthroughClient::client 24164 hwservicemanag-570 ( 570) [000] ...1 1034719.024153: tracing_mark_write: B|570|HIDL::IServiceManager::registerPassthroughClient::server 24165 hwservicemanag-570 ( 570) [000] ...1 1034719.024428: tracing_mark_write: E|570 24166 HwBinder:756_2-23196 ( 756) [000] ...1 1034719.024508: tracing_mark_write: E|756 24167 HwBinder:756_2-23196 ( 756) [000] ...1 1034719.034754: tracing_mark_write: B|756|HIDL::IExecutionCallback::notify::client 24168 HwBinder:756_2-23196 ( 756) [000] ...1 1034719.034839: tracing_mark_write: E|756 24169 HwBinder:756_2-23196 ( 756) [000] ...1 1034719.034860: tracing_mark_write: E|756 24170 HwBinder:27005-27027 (27005) [004] ...1 1034719.034945: tracing_mark_write: B|27005|HIDL::IExecutionCallback::notify::server 24171 HwBinder:27005-27027 (27005) [004] ...1 1034719.034976: tracing_mark_write: E|27005 24172 MobileIQWorker-27058 (27005) [000] ...1 1034719.035059: tracing_mark_write: E|27005 24173 MobileIQWorker-27051 (27005) [004] ...1 1034719.035802: tracing_mark_write: E|27005 24174 surfaceflinger-591 ( 591) [000] ...1 1034719.038316: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 24175 composer@2.1-s-593 ( 593) [001] ...1 1034719.038462: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 24176 composer@2.1-s-593 ( 593) [001] ...1 1034719.038549: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 24177 composer@2.1-s-593 ( 593) [001] ...1 1034719.038572: tracing_mark_write: B|593|HWDevice::Commit:: 24178 composer@2.1-s-593 ( 593) [001] ...1 1034719.038705: tracing_mark_write: E|593 24179 composer@2.1-s-593 ( 593) [001] ...1 1034719.038738: tracing_mark_write: E|593 24180 composer@2.1-s-593 ( 593) [001] ...1 1034719.038775: tracing_mark_write: E|593 24181 surfaceflinger-591 ( 591) [000] ...1 1034719.038860: tracing_mark_write: E|591 24182 MobileIQWorker-27051 (27005) [005] ...1 1034719.041231: tracing_mark_write: E|27005 24183 MobileIQWorker-27051 (27005) [005] ...1 1034719.052604: tracing_mark_write: B|27005|[NN_LA_PO]mobilenet_quantized 24184 surfaceflinger-591 ( 591) [000] ...1 1034719.055026: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 24185 composer@2.1-s-593 ( 593) [001] ...1 1034719.055156: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 24186 composer@2.1-s-593 ( 593) [001] ...1 1034719.055231: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 24187 composer@2.1-s-593 ( 593) [001] ...1 1034719.055253: tracing_mark_write: B|593|HWDevice::Commit:: 24188 composer@2.1-s-593 ( 593) [001] ...1 1034719.055384: tracing_mark_write: E|593 24189 composer@2.1-s-593 ( 593) [001] ...1 1034719.055416: tracing_mark_write: E|593 24190 composer@2.1-s-593 ( 593) [001] ...1 1034719.055451: tracing_mark_write: E|593 24191 surfaceflinger-591 ( 591) [000] ...1 1034719.055532: tracing_mark_write: E|591 24192 surfaceflinger-591 ( 591) [000] ...1 1034719.072264: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 24193 composer@2.1-s-593 ( 593) [001] ...1 1034719.072507: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 24194 composer@2.1-s-593 ( 593) [001] ...1 1034719.072688: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 24195 composer@2.1-s-593 ( 593) [001] ...1 1034719.072731: tracing_mark_write: B|593|HWDevice::Commit:: 24196 composer@2.1-s-593 ( 593) [001] ...1 1034719.072991: tracing_mark_write: E|593 24197 composer@2.1-s-593 ( 593) [001] ...1 1034719.073054: tracing_mark_write: E|593 24198 composer@2.1-s-593 ( 593) [001] ...1 1034719.073126: tracing_mark_write: E|593 24199 surfaceflinger-591 ( 591) [000] ...1 1034719.073309: tracing_mark_write: E|591 24200 surfaceflinger-591 ( 591) [000] ...1 1034719.089234: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 24201 composer@2.1-s-593 ( 593) [001] ...1 1034719.089472: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 24202 composer@2.1-s-593 ( 593) [001] ...1 1034719.089613: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 24203 composer@2.1-s-593 ( 593) [001] ...1 1034719.089638: tracing_mark_write: E|593 24204 composer@2.1-s-593 ( 593) [001] ...1 1034719.089654: tracing_mark_write: B|593|HWCSession::ValidateDisplay:: 24205 composer@2.1-s-593 ( 593) [001] ...1 1034719.090346: tracing_mark_write: B|593|HWDevice::Validate:: 24206 composer@2.1-s-593 ( 593) [001] ...1 1034719.090499: tracing_mark_write: E|593 24207 composer@2.1-s-593 ( 593) [001] ...1 1034719.090558: tracing_mark_write: E|593 24208 composer@2.1-s-593 ( 593) [001] ...1 1034719.090605: tracing_mark_write: E|593 24209 surfaceflinger-591 ( 591) [000] ...1 1034719.090743: tracing_mark_write: E|591 24210 surfaceflinger-591 ( 591) [000] ...1 1034719.090925: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 24211 composer@2.1-s-593 ( 593) [001] ...1 1034719.091057: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 24212 composer@2.1-s-593 ( 593) [001] ...1 1034719.091087: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 24213 composer@2.1-s-593 ( 593) [001] ...1 1034719.091118: tracing_mark_write: B|593|HWDevice::Commit:: 24214 composer@2.1-s-593 ( 593) [001] ...1 1034719.091349: tracing_mark_write: E|593 24215 composer@2.1-s-593 ( 593) [001] ...1 1034719.091400: tracing_mark_write: E|593 24216 composer@2.1-s-593 ( 593) [001] ...1 1034719.091464: tracing_mark_write: E|593 24217 surfaceflinger-591 ( 591) [000] ...1 1034719.091616: tracing_mark_write: E|591 24218 surfaceflinger-591 ( 591) [000] ...1 1034719.105882: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 24219 composer@2.1-s-593 ( 593) [001] ...1 1034719.106132: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 24220 composer@2.1-s-593 ( 593) [001] ...1 1034719.106283: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 24221 composer@2.1-s-593 ( 593) [001] ...1 1034719.106310: tracing_mark_write: E|593 24222 composer@2.1-s-593 ( 593) [001] ...1 1034719.106327: tracing_mark_write: B|593|HWCSession::ValidateDisplay:: 24223 composer@2.1-s-593 ( 593) [001] ...1 1034719.107040: tracing_mark_write: B|593|HWDevice::Validate:: 24224 composer@2.1-s-593 ( 593) [001] ...1 1034719.107197: tracing_mark_write: E|593 24225 composer@2.1-s-593 ( 593) [001] ...1 1034719.107258: tracing_mark_write: E|593 24226 composer@2.1-s-593 ( 593) [001] ...1 1034719.107306: tracing_mark_write: E|593 24227 surfaceflinger-591 ( 591) [000] ...1 1034719.107445: tracing_mark_write: E|591 24228 surfaceflinger-591 ( 591) [000] ...1 1034719.107628: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 24229 composer@2.1-s-593 ( 593) [001] ...1 1034719.107764: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 24230 composer@2.1-s-593 ( 593) [001] ...1 1034719.107795: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 24231 composer@2.1-s-593 ( 593) [001] ...1 1034719.107828: tracing_mark_write: B|593|HWDevice::Commit:: 24232 composer@2.1-s-593 ( 593) [001] ...1 1034719.108069: tracing_mark_write: E|593 24233 composer@2.1-s-593 ( 593) [001] ...1 1034719.108121: tracing_mark_write: E|593 24234 composer@2.1-s-593 ( 593) [001] ...1 1034719.108186: tracing_mark_write: E|593 24235 surfaceflinger-591 ( 591) [000] ...1 1034719.108340: tracing_mark_write: E|591 24236 surfaceflinger-591 ( 591) [000] ...1 1034719.122671: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 24237 composer@2.1-s-593 ( 593) [001] ...1 1034719.122917: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 24238 composer@2.1-s-593 ( 593) [001] ...1 1034719.123065: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 24239 composer@2.1-s-593 ( 593) [001] ...1 1034719.123108: tracing_mark_write: B|593|HWDevice::Commit:: 24240 composer@2.1-s-593 ( 593) [001] ...1 1034719.123450: tracing_mark_write: E|593 24241 composer@2.1-s-593 ( 593) [001] ...1 1034719.123515: tracing_mark_write: E|593 24242 composer@2.1-s-593 ( 593) [001] ...1 1034719.123589: tracing_mark_write: E|593 24243 surfaceflinger-591 ( 591) [000] ...1 1034719.123776: tracing_mark_write: E|591 24244 surfaceflinger-591 ( 591) [000] ...1 1034719.139409: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 24245 composer@2.1-s-593 ( 593) [001] ...1 1034719.139659: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 24246 composer@2.1-s-593 ( 593) [001] ...1 1034719.139809: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 24247 composer@2.1-s-593 ( 593) [001] ...1 1034719.139852: tracing_mark_write: B|593|HWDevice::Commit:: 24248 composer@2.1-s-593 ( 593) [001] ...1 1034719.140163: tracing_mark_write: E|593 24249 composer@2.1-s-593 ( 593) [001] ...1 1034719.140227: tracing_mark_write: E|593 24250 composer@2.1-s-593 ( 593) [001] ...1 1034719.140303: tracing_mark_write: E|593 24251 surfaceflinger-591 ( 591) [000] ...1 1034719.140494: tracing_mark_write: E|591 24252 surfaceflinger-591 ( 591) [000] ...1 1034719.156125: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 24253 composer@2.1-s-593 ( 593) [001] ...1 1034719.156344: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 24254 composer@2.1-s-593 ( 593) [001] ...1 1034719.156477: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 24255 composer@2.1-s-593 ( 593) [001] ...1 1034719.156516: tracing_mark_write: B|593|HWDevice::Commit:: 24256 composer@2.1-s-593 ( 593) [001] ...1 1034719.156813: tracing_mark_write: E|593 24257 composer@2.1-s-593 ( 593) [001] ...1 1034719.156874: tracing_mark_write: E|593 24258 composer@2.1-s-593 ( 593) [001] ...1 1034719.156943: tracing_mark_write: E|593 24259 surfaceflinger-591 ( 591) [000] ...1 1034719.157123: tracing_mark_write: E|591 24260 MobileIQWorker-27051 (27005) [006] ...1 1034719.163738: tracing_mark_write: B|27005|[NN_LA_PE]BenchmarkModel::benchmark 24261 MobileIQWorker-27051 (27005) [006] ...1 1034719.163987: tracing_mark_write: B|27005|HIDL::IDevice::getSupportedOperations::client 24262 HwBinder:756_3-27059 ( 756) [004] ...1 1034719.164151: tracing_mark_write: B|756|HIDL::IDevice::getSupportedOperations::server 24263 HwBinder:756_3-27059 ( 756) [004] ...1 1034719.164599: tracing_mark_write: E|756 24264 MobileIQWorker-27051 (27005) [006] ...1 1034719.164633: tracing_mark_write: E|27005 24265 MobileIQWorker-27051 (27005) [006] ...1 1034719.164724: tracing_mark_write: B|27005|HIDL::IDevice::prepareModel::client 24266 HwBinder:756_3-27059 ( 756) [004] ...1 1034719.164852: tracing_mark_write: B|756|HIDL::IDevice::prepareModel::server 24267 surfaceflinger-591 ( 591) [000] ...1 1034719.173459: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 24268 composer@2.1-s-593 ( 593) [001] ...1 1034719.173721: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 24269 composer@2.1-s-593 ( 593) [001] ...1 1034719.173867: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 24270 composer@2.1-s-593 ( 593) [001] ...1 1034719.173911: tracing_mark_write: B|593|HWDevice::Commit:: 24271 composer@2.1-s-593 ( 593) [001] ...1 1034719.174173: tracing_mark_write: E|593 24272 composer@2.1-s-593 ( 593) [001] ...1 1034719.174238: tracing_mark_write: E|593 24273 composer@2.1-s-593 ( 593) [001] ...1 1034719.174313: tracing_mark_write: E|593 24274 surfaceflinger-591 ( 591) [000] ...1 1034719.174496: tracing_mark_write: E|591 24275 surfaceflinger-591 ( 591) [000] ...1 1034719.189548: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 24276 composer@2.1-s-593 ( 593) [001] ...1 1034719.189725: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 24277 composer@2.1-s-593 ( 593) [001] ...1 1034719.189828: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 24278 composer@2.1-s-593 ( 593) [001] ...1 1034719.189858: tracing_mark_write: B|593|HWDevice::Commit:: 24279 composer@2.1-s-593 ( 593) [001] ...1 1034719.190070: tracing_mark_write: E|593 24280 composer@2.1-s-593 ( 593) [001] ...1 1034719.190116: tracing_mark_write: E|593 24281 composer@2.1-s-593 ( 593) [001] ...1 1034719.190166: tracing_mark_write: E|593 24282 surfaceflinger-591 ( 591) [000] ...1 1034719.190288: tracing_mark_write: E|591 24283 surfaceflinger-591 ( 591) [001] ...1 1034719.206219: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 24284 composer@2.1-s-593 ( 593) [000] ...1 1034719.206372: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 24285 composer@2.1-s-593 ( 593) [000] ...1 1034719.206455: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 24286 composer@2.1-s-593 ( 593) [000] ...1 1034719.206480: tracing_mark_write: B|593|HWDevice::Commit:: 24287 composer@2.1-s-593 ( 593) [000] ...1 1034719.206655: tracing_mark_write: E|593 24288 composer@2.1-s-593 ( 593) [000] ...1 1034719.206690: tracing_mark_write: E|593 24289 composer@2.1-s-593 ( 593) [000] ...1 1034719.206726: tracing_mark_write: E|593 24290 surfaceflinger-591 ( 591) [001] ...1 1034719.206814: tracing_mark_write: E|591 24291 surfaceflinger-591 ( 591) [000] ...1 1034719.222967: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 24292 composer@2.1-s-593 ( 593) [001] ...1 1034719.223110: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 24293 composer@2.1-s-593 ( 593) [001] ...1 1034719.223189: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 24294 composer@2.1-s-593 ( 593) [001] ...1 1034719.223300: tracing_mark_write: B|593|HWDevice::Commit:: 24295 composer@2.1-s-593 ( 593) [001] ...1 1034719.223452: tracing_mark_write: E|593 24296 composer@2.1-s-593 ( 593) [001] ...1 1034719.223488: tracing_mark_write: E|593 24297 composer@2.1-s-593 ( 593) [001] ...1 1034719.223528: tracing_mark_write: E|593 24298 surfaceflinger-591 ( 591) [000] ...1 1034719.223618: tracing_mark_write: E|591 24299 surfaceflinger-591 ( 591) [000] ...1 1034719.239619: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 24300 composer@2.1-s-593 ( 593) [001] ...1 1034719.239754: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 24301 composer@2.1-s-593 ( 593) [001] ...1 1034719.239821: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 24302 composer@2.1-s-593 ( 593) [001] ...1 1034719.239841: tracing_mark_write: B|593|HWDevice::Commit:: 24303 composer@2.1-s-593 ( 593) [001] ...1 1034719.239983: tracing_mark_write: E|593 24304 composer@2.1-s-593 ( 593) [001] ...1 1034719.240009: tracing_mark_write: E|593 24305 composer@2.1-s-593 ( 593) [001] ...1 1034719.240039: tracing_mark_write: E|593 24306 surfaceflinger-591 ( 591) [000] ...1 1034719.240109: tracing_mark_write: E|591 24307 surfaceflinger-591 ( 591) [000] ...1 1034719.256883: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 24308 composer@2.1-s-593 ( 593) [001] ...1 1034719.257104: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 24309 composer@2.1-s-593 ( 593) [001] ...1 1034719.257241: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 24310 composer@2.1-s-593 ( 593) [001] ...1 1034719.257280: tracing_mark_write: B|593|HWDevice::Commit:: 24311 composer@2.1-s-593 ( 593) [001] ...1 1034719.257514: tracing_mark_write: E|593 24312 composer@2.1-s-593 ( 593) [001] ...1 1034719.257571: tracing_mark_write: E|593 24313 composer@2.1-s-593 ( 593) [001] ...1 1034719.257636: tracing_mark_write: E|593 24314 surfaceflinger-591 ( 591) [000] ...1 1034719.257795: tracing_mark_write: E|591 24315 surfaceflinger-591 ( 591) [000] ...1 1034719.273279: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 24316 composer@2.1-s-593 ( 593) [001] ...1 1034719.273433: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 24317 composer@2.1-s-593 ( 593) [001] ...1 1034719.273505: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 24318 composer@2.1-s-593 ( 593) [001] ...1 1034719.273527: tracing_mark_write: B|593|HWDevice::Commit:: 24319 composer@2.1-s-593 ( 593) [001] ...1 1034719.273651: tracing_mark_write: E|593 24320 composer@2.1-s-593 ( 593) [001] ...1 1034719.273679: tracing_mark_write: E|593 24321 composer@2.1-s-593 ( 593) [001] ...1 1034719.273711: tracing_mark_write: E|593 24322 surfaceflinger-591 ( 591) [000] ...1 1034719.273787: tracing_mark_write: E|591 24323 surfaceflinger-591 ( 591) [000] ...1 1034719.289981: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 24324 composer@2.1-s-593 ( 593) [001] ...1 1034719.290105: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 24325 composer@2.1-s-593 ( 593) [001] ...1 1034719.290176: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 24326 composer@2.1-s-593 ( 593) [001] ...1 1034719.290197: tracing_mark_write: B|593|HWDevice::Commit:: 24327 composer@2.1-s-593 ( 593) [001] ...1 1034719.290321: tracing_mark_write: E|593 24328 composer@2.1-s-593 ( 593) [001] ...1 1034719.290349: tracing_mark_write: E|593 24329 composer@2.1-s-593 ( 593) [001] ...1 1034719.290380: tracing_mark_write: E|593 24330 surfaceflinger-591 ( 591) [000] ...1 1034719.290457: tracing_mark_write: E|591 24331 surfaceflinger-591 ( 591) [000] ...1 1034719.306780: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 24332 composer@2.1-s-593 ( 593) [001] ...1 1034719.306898: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 24333 composer@2.1-s-593 ( 593) [001] ...1 1034719.306966: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 24334 composer@2.1-s-593 ( 593) [001] ...1 1034719.306987: tracing_mark_write: B|593|HWDevice::Commit:: 24335 composer@2.1-s-593 ( 593) [001] ...1 1034719.307111: tracing_mark_write: E|593 24336 composer@2.1-s-593 ( 593) [001] ...1 1034719.307138: tracing_mark_write: E|593 24337 composer@2.1-s-593 ( 593) [001] ...1 1034719.307170: tracing_mark_write: E|593 24338 surfaceflinger-591 ( 591) [000] ...1 1034719.307243: tracing_mark_write: E|591 24339 surfaceflinger-591 ( 591) [000] ...1 1034719.324201: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 24340 composer@2.1-s-593 ( 593) [001] ...1 1034719.324451: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 24341 composer@2.1-s-593 ( 593) [001] ...1 1034719.324591: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 24342 composer@2.1-s-593 ( 593) [001] ...1 1034719.324630: tracing_mark_write: B|593|HWDevice::Commit:: 24343 composer@2.1-s-593 ( 593) [001] ...1 1034719.324866: tracing_mark_write: E|593 24344 composer@2.1-s-593 ( 593) [001] ...1 1034719.324923: tracing_mark_write: E|593 24345 composer@2.1-s-593 ( 593) [001] ...1 1034719.324988: tracing_mark_write: E|593 24346 surfaceflinger-591 ( 591) [000] ...1 1034719.325145: tracing_mark_write: E|591 24347 surfaceflinger-591 ( 591) [000] ...1 1034719.340724: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 24348 composer@2.1-s-593 ( 593) [001] ...1 1034719.340944: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 24349 composer@2.1-s-593 ( 593) [001] ...1 1034719.341080: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 24350 composer@2.1-s-593 ( 593) [001] ...1 1034719.341119: tracing_mark_write: B|593|HWDevice::Commit:: 24351 composer@2.1-s-593 ( 593) [001] ...1 1034719.341351: tracing_mark_write: E|593 24352 composer@2.1-s-593 ( 593) [001] ...1 1034719.341409: tracing_mark_write: E|593 24353 composer@2.1-s-593 ( 593) [001] ...1 1034719.341475: tracing_mark_write: E|593 24354 surfaceflinger-591 ( 591) [000] ...1 1034719.341641: tracing_mark_write: E|591 24355 surfaceflinger-591 ( 591) [000] ...1 1034719.357623: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 24356 composer@2.1-s-593 ( 593) [001] ...1 1034719.357878: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 24357 composer@2.1-s-593 ( 593) [001] ...1 1034719.358032: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 24358 composer@2.1-s-593 ( 593) [001] ...1 1034719.358076: tracing_mark_write: B|593|HWDevice::Commit:: 24359 composer@2.1-s-593 ( 593) [001] ...1 1034719.358338: tracing_mark_write: E|593 24360 composer@2.1-s-593 ( 593) [001] ...1 1034719.358404: tracing_mark_write: E|593 24361 composer@2.1-s-593 ( 593) [001] ...1 1034719.358479: tracing_mark_write: E|593 24362 surfaceflinger-591 ( 591) [000] ...1 1034719.358661: tracing_mark_write: E|591 24363 surfaceflinger-591 ( 591) [000] ...1 1034719.374370: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 24364 composer@2.1-s-593 ( 593) [001] ...1 1034719.374624: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 24365 composer@2.1-s-593 ( 593) [001] ...1 1034719.374773: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 24366 composer@2.1-s-593 ( 593) [001] ...1 1034719.374818: tracing_mark_write: B|593|HWDevice::Commit:: 24367 composer@2.1-s-593 ( 593) [001] ...1 1034719.375079: tracing_mark_write: E|593 24368 composer@2.1-s-593 ( 593) [001] ...1 1034719.375142: tracing_mark_write: E|593 24369 composer@2.1-s-593 ( 593) [001] ...1 1034719.375216: tracing_mark_write: E|593 24370 surfaceflinger-591 ( 591) [000] ...1 1034719.375394: tracing_mark_write: E|591 24371 surfaceflinger-591 ( 591) [000] ...1 1034719.391177: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 24372 composer@2.1-s-593 ( 593) [001] ...1 1034719.391423: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 24373 composer@2.1-s-593 ( 593) [001] ...1 1034719.391572: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 24374 composer@2.1-s-593 ( 593) [001] ...1 1034719.391616: tracing_mark_write: B|593|HWDevice::Commit:: 24375 composer@2.1-s-593 ( 593) [001] ...1 1034719.391875: tracing_mark_write: E|593 24376 composer@2.1-s-593 ( 593) [001] ...1 1034719.391939: tracing_mark_write: E|593 24377 composer@2.1-s-593 ( 593) [001] ...1 1034719.392012: tracing_mark_write: E|593 24378 surfaceflinger-591 ( 591) [000] ...1 1034719.392189: tracing_mark_write: E|591 24379 surfaceflinger-591 ( 591) [000] ...1 1034719.407920: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 24380 composer@2.1-s-593 ( 593) [001] ...1 1034719.408163: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 24381 composer@2.1-s-593 ( 593) [001] ...1 1034719.408310: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 24382 composer@2.1-s-593 ( 593) [001] ...1 1034719.408353: tracing_mark_write: B|593|HWDevice::Commit:: 24383 composer@2.1-s-593 ( 593) [001] ...1 1034719.408613: tracing_mark_write: E|593 24384 composer@2.1-s-593 ( 593) [001] ...1 1034719.408678: tracing_mark_write: E|593 24385 composer@2.1-s-593 ( 593) [001] ...1 1034719.408752: tracing_mark_write: E|593 24386 surfaceflinger-591 ( 591) [000] ...1 1034719.408926: tracing_mark_write: E|591 24387 surfaceflinger-591 ( 591) [000] ...1 1034719.424740: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 24388 composer@2.1-s-593 ( 593) [001] ...1 1034719.424987: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 24389 composer@2.1-s-593 ( 593) [001] ...1 1034719.425133: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 24390 composer@2.1-s-593 ( 593) [001] ...1 1034719.425176: tracing_mark_write: B|593|HWDevice::Commit:: 24391 composer@2.1-s-593 ( 593) [001] ...1 1034719.425422: tracing_mark_write: E|593 24392 composer@2.1-s-593 ( 593) [001] ...1 1034719.425485: tracing_mark_write: E|593 24393 composer@2.1-s-593 ( 593) [001] ...1 1034719.425559: tracing_mark_write: E|593 24394 surfaceflinger-591 ( 591) [000] ...1 1034719.425736: tracing_mark_write: E|591 24395 surfaceflinger-591 ( 591) [000] ...1 1034719.441458: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 24396 composer@2.1-s-593 ( 593) [001] ...1 1034719.441701: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 24397 composer@2.1-s-593 ( 593) [001] ...1 1034719.441848: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 24398 composer@2.1-s-593 ( 593) [001] ...1 1034719.441892: tracing_mark_write: B|593|HWDevice::Commit:: 24399 composer@2.1-s-593 ( 593) [001] ...1 1034719.442146: tracing_mark_write: E|593 24400 composer@2.1-s-593 ( 593) [001] ...1 1034719.442209: tracing_mark_write: E|593 24401 composer@2.1-s-593 ( 593) [001] ...1 1034719.442282: tracing_mark_write: E|593 24402 surfaceflinger-591 ( 591) [000] ...1 1034719.442455: tracing_mark_write: E|591 24403 surfaceflinger-591 ( 591) [000] ...1 1034719.458286: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 24404 composer@2.1-s-593 ( 593) [001] ...1 1034719.458529: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 24405 composer@2.1-s-593 ( 593) [001] ...1 1034719.458678: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 24406 composer@2.1-s-593 ( 593) [001] ...1 1034719.458721: tracing_mark_write: B|593|HWDevice::Commit:: 24407 composer@2.1-s-593 ( 593) [001] ...1 1034719.458977: tracing_mark_write: E|593 24408 composer@2.1-s-593 ( 593) [001] ...1 1034719.459040: tracing_mark_write: E|593 24409 composer@2.1-s-593 ( 593) [001] ...1 1034719.459114: tracing_mark_write: E|593 24410 surfaceflinger-591 ( 591) [000] ...1 1034719.459290: tracing_mark_write: E|591 24411 surfaceflinger-591 ( 591) [000] ...1 1034719.475038: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 24412 composer@2.1-s-593 ( 593) [001] ...1 1034719.475283: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 24413 composer@2.1-s-593 ( 593) [001] ...1 1034719.475429: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 24414 composer@2.1-s-593 ( 593) [001] ...1 1034719.475472: tracing_mark_write: B|593|HWDevice::Commit:: 24415 composer@2.1-s-593 ( 593) [001] ...1 1034719.475733: tracing_mark_write: E|593 24416 composer@2.1-s-593 ( 593) [001] ...1 1034719.475798: tracing_mark_write: E|593 24417 composer@2.1-s-593 ( 593) [001] ...1 1034719.475872: tracing_mark_write: E|593 24418 surfaceflinger-591 ( 591) [000] ...1 1034719.476046: tracing_mark_write: E|591 24419 surfaceflinger-591 ( 591) [000] ...1 1034719.491786: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 24420 composer@2.1-s-593 ( 593) [001] ...1 1034719.492036: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 24421 composer@2.1-s-593 ( 593) [001] ...1 1034719.492184: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 24422 composer@2.1-s-593 ( 593) [001] ...1 1034719.492227: tracing_mark_write: B|593|HWDevice::Commit:: 24423 composer@2.1-s-593 ( 593) [001] ...1 1034719.492481: tracing_mark_write: E|593 24424 composer@2.1-s-593 ( 593) [001] ...1 1034719.492544: tracing_mark_write: E|593 24425 composer@2.1-s-593 ( 593) [001] ...1 1034719.492616: tracing_mark_write: E|593 24426 surfaceflinger-591 ( 591) [000] ...1 1034719.492792: tracing_mark_write: E|591 24427 surfaceflinger-591 ( 591) [000] ...1 1034719.508597: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 24428 composer@2.1-s-593 ( 593) [001] ...1 1034719.508843: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 24429 composer@2.1-s-593 ( 593) [001] ...1 1034719.508989: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 24430 composer@2.1-s-593 ( 593) [001] ...1 1034719.509031: tracing_mark_write: B|593|HWDevice::Commit:: 24431 composer@2.1-s-593 ( 593) [001] ...1 1034719.509291: tracing_mark_write: E|593 24432 composer@2.1-s-593 ( 593) [001] ...1 1034719.509355: tracing_mark_write: E|593 24433 composer@2.1-s-593 ( 593) [001] ...1 1034719.509428: tracing_mark_write: E|593 24434 surfaceflinger-591 ( 591) [000] ...1 1034719.509604: tracing_mark_write: E|591 24435 surfaceflinger-591 ( 591) [000] ...1 1034719.525370: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 24436 composer@2.1-s-593 ( 593) [001] ...1 1034719.525613: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 24437 composer@2.1-s-593 ( 593) [001] ...1 1034719.525761: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 24438 composer@2.1-s-593 ( 593) [001] ...1 1034719.525804: tracing_mark_write: B|593|HWDevice::Commit:: 24439 composer@2.1-s-593 ( 593) [001] ...1 1034719.526062: tracing_mark_write: E|593 24440 composer@2.1-s-593 ( 593) [001] ...1 1034719.526127: tracing_mark_write: E|593 24441 composer@2.1-s-593 ( 593) [001] ...1 1034719.526199: tracing_mark_write: E|593 24442 surfaceflinger-591 ( 591) [000] ...1 1034719.526377: tracing_mark_write: E|591 24443 surfaceflinger-591 ( 591) [000] ...1 1034719.542148: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 24444 composer@2.1-s-593 ( 593) [001] ...1 1034719.542391: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 24445 composer@2.1-s-593 ( 593) [001] ...1 1034719.542538: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 24446 composer@2.1-s-593 ( 593) [001] ...1 1034719.542582: tracing_mark_write: B|593|HWDevice::Commit:: 24447 composer@2.1-s-593 ( 593) [001] ...1 1034719.542847: tracing_mark_write: E|593 24448 composer@2.1-s-593 ( 593) [001] ...1 1034719.542912: tracing_mark_write: E|593 24449 composer@2.1-s-593 ( 593) [001] ...1 1034719.542985: tracing_mark_write: E|593 24450 surfaceflinger-591 ( 591) [000] ...1 1034719.543162: tracing_mark_write: E|591 24451 surfaceflinger-591 ( 591) [000] ...1 1034719.558931: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 24452 composer@2.1-s-593 ( 593) [001] ...1 1034719.559172: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 24453 composer@2.1-s-593 ( 593) [001] ...1 1034719.559321: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 24454 composer@2.1-s-593 ( 593) [001] ...1 1034719.559365: tracing_mark_write: B|593|HWDevice::Commit:: 24455 composer@2.1-s-593 ( 593) [001] ...1 1034719.559622: tracing_mark_write: E|593 24456 composer@2.1-s-593 ( 593) [001] ...1 1034719.559684: tracing_mark_write: E|593 24457 composer@2.1-s-593 ( 593) [001] ...1 1034719.559759: tracing_mark_write: E|593 24458 surfaceflinger-591 ( 591) [000] ...1 1034719.560093: tracing_mark_write: E|591 24459 surfaceflinger-591 ( 591) [000] ...1 1034719.575737: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 24460 composer@2.1-s-593 ( 593) [001] ...1 1034719.575984: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 24461 composer@2.1-s-593 ( 593) [001] ...1 1034719.576130: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 24462 composer@2.1-s-593 ( 593) [001] ...1 1034719.576173: tracing_mark_write: B|593|HWDevice::Commit:: 24463 composer@2.1-s-593 ( 593) [001] ...1 1034719.576424: tracing_mark_write: E|593 24464 composer@2.1-s-593 ( 593) [001] ...1 1034719.576489: tracing_mark_write: E|593 24465 composer@2.1-s-593 ( 593) [001] ...1 1034719.576629: tracing_mark_write: E|593 24466 surfaceflinger-591 ( 591) [000] ...1 1034719.576810: tracing_mark_write: E|591 24467 surfaceflinger-591 ( 591) [000] ...1 1034719.592597: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 24468 composer@2.1-s-593 ( 593) [000] ...1 1034719.592949: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 24469 composer@2.1-s-593 ( 593) [000] ...1 1034719.593111: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 24470 composer@2.1-s-593 ( 593) [000] ...1 1034719.593162: tracing_mark_write: B|593|HWDevice::Commit:: 24471 composer@2.1-s-593 ( 593) [000] ...1 1034719.593618: tracing_mark_write: E|593 24472 composer@2.1-s-593 ( 593) [000] ...1 1034719.593683: tracing_mark_write: E|593 24473 composer@2.1-s-593 ( 593) [000] ...1 1034719.593758: tracing_mark_write: E|593 24474 surfaceflinger-591 ( 591) [001] ...1 1034719.593956: tracing_mark_write: E|591 24475 surfaceflinger-591 ( 591) [000] ...1 1034719.609590: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 24476 composer@2.1-s-593 ( 593) [001] ...1 1034719.609849: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 24477 composer@2.1-s-593 ( 593) [001] ...1 1034719.610082: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 24478 composer@2.1-s-593 ( 593) [001] ...1 1034719.610110: tracing_mark_write: E|593 24479 composer@2.1-s-593 ( 593) [001] ...1 1034719.610126: tracing_mark_write: B|593|HWCSession::ValidateDisplay:: 24480 composer@2.1-s-593 ( 593) [001] ...1 1034719.610756: tracing_mark_write: B|593|HWDevice::Validate:: 24481 composer@2.1-s-593 ( 593) [001] ...1 1034719.610909: tracing_mark_write: E|593 24482 composer@2.1-s-593 ( 593) [001] ...1 1034719.610967: tracing_mark_write: E|593 24483 composer@2.1-s-593 ( 593) [001] ...1 1034719.611015: tracing_mark_write: E|593 24484 surfaceflinger-591 ( 591) [000] ...1 1034719.611153: tracing_mark_write: E|591 24485 surfaceflinger-591 ( 591) [000] ...1 1034719.611335: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 24486 composer@2.1-s-593 ( 593) [001] ...1 1034719.611469: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 24487 composer@2.1-s-593 ( 593) [001] ...1 1034719.611499: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 24488 composer@2.1-s-593 ( 593) [001] ...1 1034719.611530: tracing_mark_write: B|593|HWDevice::Commit:: 24489 composer@2.1-s-593 ( 593) [001] ...1 1034719.611759: tracing_mark_write: E|593 24490 composer@2.1-s-593 ( 593) [001] ...1 1034719.611811: tracing_mark_write: E|593 24491 composer@2.1-s-593 ( 593) [001] ...1 1034719.611877: tracing_mark_write: E|593 24492 surfaceflinger-591 ( 591) [000] ...1 1034719.612028: tracing_mark_write: E|591 24493 surfaceflinger-591 ( 591) [000] ...1 1034719.626311: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 24494 composer@2.1-s-593 ( 593) [001] ...1 1034719.626654: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 24495 composer@2.1-s-593 ( 593) [001] ...1 1034719.626801: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 24496 composer@2.1-s-593 ( 593) [001] ...1 1034719.626844: tracing_mark_write: B|593|HWDevice::Commit:: 24497 composer@2.1-s-593 ( 593) [001] ...1 1034719.627100: tracing_mark_write: E|593 24498 composer@2.1-s-593 ( 593) [001] ...1 1034719.627172: tracing_mark_write: E|593 24499 composer@2.1-s-593 ( 593) [001] ...1 1034719.627259: tracing_mark_write: E|593 24500 surfaceflinger-591 ( 591) [000] ...1 1034719.627445: tracing_mark_write: E|591 24501 surfaceflinger-591 ( 591) [001] ...1 1034719.643128: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 24502 composer@2.1-s-593 ( 593) [000] ...1 1034719.643462: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 24503 composer@2.1-s-593 ( 593) [000] ...1 1034719.643612: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 24504 composer@2.1-s-593 ( 593) [000] ...1 1034719.643655: tracing_mark_write: B|593|HWDevice::Commit:: 24505 composer@2.1-s-593 ( 593) [000] ...1 1034719.643904: tracing_mark_write: E|593 24506 composer@2.1-s-593 ( 593) [000] ...1 1034719.643970: tracing_mark_write: E|593 24507 composer@2.1-s-593 ( 593) [000] ...1 1034719.644044: tracing_mark_write: E|593 24508 surfaceflinger-591 ( 591) [001] ...1 1034719.644228: tracing_mark_write: E|591 24509 surfaceflinger-591 ( 591) [000] ...1 1034719.659839: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 24510 composer@2.1-s-593 ( 593) [001] ...1 1034719.660217: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 24511 composer@2.1-s-593 ( 593) [001] ...1 1034719.660367: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 24512 composer@2.1-s-593 ( 593) [001] ...1 1034719.660411: tracing_mark_write: B|593|HWDevice::Commit:: 24513 composer@2.1-s-593 ( 593) [001] ...1 1034719.660660: tracing_mark_write: E|593 24514 composer@2.1-s-593 ( 593) [001] ...1 1034719.660724: tracing_mark_write: E|593 24515 composer@2.1-s-593 ( 593) [001] ...1 1034719.660800: tracing_mark_write: E|593 24516 surfaceflinger-591 ( 591) [000] ...1 1034719.660976: tracing_mark_write: E|591 24517 surfaceflinger-591 ( 591) [000] ...1 1034719.676681: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 24518 composer@2.1-s-593 ( 593) [001] ...1 1034719.676927: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 24519 composer@2.1-s-593 ( 593) [001] ...1 1034719.677077: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 24520 composer@2.1-s-593 ( 593) [001] ...1 1034719.677121: tracing_mark_write: B|593|HWDevice::Commit:: 24521 composer@2.1-s-593 ( 593) [001] ...1 1034719.677367: tracing_mark_write: E|593 24522 composer@2.1-s-593 ( 593) [001] ...1 1034719.677432: tracing_mark_write: E|593 24523 composer@2.1-s-593 ( 593) [001] ...1 1034719.677506: tracing_mark_write: E|593 24524 surfaceflinger-591 ( 591) [000] ...1 1034719.677681: tracing_mark_write: E|591 24525 HwBinder:756_3-27059 ( 756) [000] ...1 1034719.686691: tracing_mark_write: B|756|HIDL::IPreparedModelCallback::notify::client 24526 HwBinder:756_3-27059 ( 756) [000] ...1 1034719.686898: tracing_mark_write: E|756 24527 HwBinder:756_3-27059 ( 756) [000] ...1 1034719.686930: tracing_mark_write: E|756 24528 MobileIQWorker-27051 (27005) [000] ...1 1034719.687091: tracing_mark_write: E|27005 24529 HwBinder:27005-27027 (27005) [004] ...1 1034719.687124: tracing_mark_write: B|27005|HIDL::IPreparedModelCallback::notify::server 24530 HwBinder:27005-27027 (27005) [004] ...1 1034719.687159: tracing_mark_write: E|27005 24531 MobileIQWorker-27064 (27005) [004] ...1 1034719.688449: tracing_mark_write: B|27005|HIDL::IAllocator::allocate::client 24532 allocator@1.0--731 ( 731) [004] ...1 1034719.688637: tracing_mark_write: B|731|HIDL::IAllocator::allocate::server 24533 allocator@1.0--731 ( 731) [004] ...1 1034719.688985: tracing_mark_write: E|731 24534 MobileIQWorker-27064 (27005) [004] ...1 1034719.689167: tracing_mark_write: E|27005 24535 MobileIQWorker-27064 (27005) [004] ...1 1034719.689327: tracing_mark_write: B|27005|HIDL::IAllocator::allocate::client 24536 allocator@1.0--731 ( 731) [004] ...1 1034719.689431: tracing_mark_write: B|731|HIDL::IAllocator::allocate::server 24537 allocator@1.0--731 ( 731) [004] ...1 1034719.689612: tracing_mark_write: E|731 24538 MobileIQWorker-27064 (27005) [004] ...1 1034719.689747: tracing_mark_write: E|27005 24539 MobileIQWorker-27064 (27005) [004] ...1 1034719.690321: tracing_mark_write: B|27005|HIDL::IPreparedModel::execute::client 24540 HwBinder:756_3-27059 ( 756) [004] ...1 1034719.690639: tracing_mark_write: B|756|HIDL::IPreparedModel::execute::server 24541 surfaceflinger-591 ( 591) [000] ...1 1034719.693108: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 24542 composer@2.1-s-593 ( 593) [001] ...1 1034719.693378: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 24543 composer@2.1-s-593 ( 593) [001] ...1 1034719.693489: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 24544 composer@2.1-s-593 ( 593) [001] ...1 1034719.693519: tracing_mark_write: B|593|HWDevice::Commit:: 24545 composer@2.1-s-593 ( 593) [001] ...1 1034719.693688: tracing_mark_write: E|593 24546 composer@2.1-s-593 ( 593) [001] ...1 1034719.693732: tracing_mark_write: E|593 24547 composer@2.1-s-593 ( 593) [001] ...1 1034719.693782: tracing_mark_write: E|593 24548 surfaceflinger-591 ( 591) [000] ...1 1034719.693900: tracing_mark_write: E|591 24549 HwBinder:756_3-27059 ( 756) [000] ...1 1034719.701158: tracing_mark_write: B|756|HIDL::IExecutionCallback::notify::client 24550 HwBinder:756_3-27059 ( 756) [000] ...1 1034719.701230: tracing_mark_write: E|756 24551 HwBinder:756_3-27059 ( 756) [000] ...1 1034719.701248: tracing_mark_write: E|756 24552 HwBinder:27005-27027 (27005) [004] ...1 1034719.701305: tracing_mark_write: B|27005|HIDL::IExecutionCallback::notify::server 24553 HwBinder:27005-27027 (27005) [004] ...1 1034719.701325: tracing_mark_write: E|27005 24554 MobileIQWorker-27064 (27005) [000] ...1 1034719.701607: tracing_mark_write: E|27005 24555 MobileIQWorker-27051 (27005) [004] ...1 1034719.702243: tracing_mark_write: E|27005 24556 MobileIQWorker-27051 (27005) [005] ...1 1034719.706714: tracing_mark_write: E|27005 24557 surfaceflinger-591 ( 591) [000] ...1 1034719.710350: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 24558 composer@2.1-s-593 ( 593) [001] ...1 1034719.710607: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 24559 MobileIQWorker-27051 (27005) [005] ...1 1034719.710621: tracing_mark_write: B|27005|[NN_LA_PO]mobilenet_quantized 24560 composer@2.1-s-593 ( 593) [001] ...1 1034719.710760: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 24561 composer@2.1-s-593 ( 593) [001] ...1 1034719.710804: tracing_mark_write: B|593|HWDevice::Commit:: 24562 composer@2.1-s-593 ( 593) [001] ...1 1034719.711067: tracing_mark_write: E|593 24563 composer@2.1-s-593 ( 593) [001] ...1 1034719.711131: tracing_mark_write: E|593 24564 composer@2.1-s-593 ( 593) [001] ...1 1034719.711210: tracing_mark_write: E|593 24565 surfaceflinger-591 ( 591) [000] ...1 1034719.711405: tracing_mark_write: E|591 24566 surfaceflinger-591 ( 591) [000] ...1 1034719.727115: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 24567 composer@2.1-s-593 ( 593) [001] ...1 1034719.727381: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 24568 composer@2.1-s-593 ( 593) [001] ...1 1034719.727530: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 24569 composer@2.1-s-593 ( 593) [001] ...1 1034719.727573: tracing_mark_write: B|593|HWDevice::Commit:: 24570 composer@2.1-s-593 ( 593) [001] ...1 1034719.727824: tracing_mark_write: E|593 24571 composer@2.1-s-593 ( 593) [001] ...1 1034719.727887: tracing_mark_write: E|593 24572 composer@2.1-s-593 ( 593) [001] ...1 1034719.727960: tracing_mark_write: E|593 24573 surfaceflinger-591 ( 591) [000] ...1 1034719.728140: tracing_mark_write: E|591 24574 surfaceflinger-591 ( 591) [000] ...1 1034719.744053: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 24575 composer@2.1-s-593 ( 593) [001] ...1 1034719.744298: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 24576 composer@2.1-s-593 ( 593) [001] ...1 1034719.744449: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 24577 composer@2.1-s-593 ( 593) [001] ...1 1034719.744478: tracing_mark_write: E|593 24578 composer@2.1-s-593 ( 593) [001] ...1 1034719.744494: tracing_mark_write: B|593|HWCSession::ValidateDisplay:: 24579 composer@2.1-s-593 ( 593) [001] ...1 1034719.745136: tracing_mark_write: B|593|HWDevice::Validate:: 24580 composer@2.1-s-593 ( 593) [001] ...1 1034719.745291: tracing_mark_write: E|593 24581 composer@2.1-s-593 ( 593) [001] ...1 1034719.745351: tracing_mark_write: E|593 24582 composer@2.1-s-593 ( 593) [001] ...1 1034719.745399: tracing_mark_write: E|593 24583 surfaceflinger-591 ( 591) [000] ...1 1034719.745538: tracing_mark_write: E|591 24584 surfaceflinger-591 ( 591) [000] ...1 1034719.745734: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 24585 composer@2.1-s-593 ( 593) [001] ...1 1034719.745868: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 24586 composer@2.1-s-593 ( 593) [001] ...1 1034719.745899: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 24587 composer@2.1-s-593 ( 593) [001] ...1 1034719.745933: tracing_mark_write: B|593|HWDevice::Commit:: 24588 composer@2.1-s-593 ( 593) [001] ...1 1034719.746173: tracing_mark_write: E|593 24589 composer@2.1-s-593 ( 593) [001] ...1 1034719.746225: tracing_mark_write: E|593 24590 composer@2.1-s-593 ( 593) [001] ...1 1034719.746295: tracing_mark_write: E|593 24591 surfaceflinger-591 ( 591) [000] ...1 1034719.746449: tracing_mark_write: E|591 24592 surfaceflinger-591 ( 591) [000] ...1 1034719.760569: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 24593 composer@2.1-s-593 ( 593) [001] ...1 1034719.760813: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 24594 composer@2.1-s-593 ( 593) [001] ...1 1034719.760960: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 24595 composer@2.1-s-593 ( 593) [001] ...1 1034719.760987: tracing_mark_write: E|593 24596 composer@2.1-s-593 ( 593) [001] ...1 1034719.761003: tracing_mark_write: B|593|HWCSession::ValidateDisplay:: 24597 composer@2.1-s-593 ( 593) [001] ...1 1034719.761641: tracing_mark_write: B|593|HWDevice::Validate:: 24598 composer@2.1-s-593 ( 593) [001] ...1 1034719.761795: tracing_mark_write: E|593 24599 composer@2.1-s-593 ( 593) [001] ...1 1034719.761855: tracing_mark_write: E|593 24600 composer@2.1-s-593 ( 593) [001] ...1 1034719.761902: tracing_mark_write: E|593 24601 surfaceflinger-591 ( 591) [000] ...1 1034719.762037: tracing_mark_write: E|591 24602 surfaceflinger-591 ( 591) [000] ...1 1034719.762228: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 24603 composer@2.1-s-593 ( 593) [001] ...1 1034719.762364: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 24604 composer@2.1-s-593 ( 593) [001] ...1 1034719.762394: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 24605 composer@2.1-s-593 ( 593) [001] ...1 1034719.762428: tracing_mark_write: B|593|HWDevice::Commit:: 24606 composer@2.1-s-593 ( 593) [001] ...1 1034719.762659: tracing_mark_write: E|593 24607 composer@2.1-s-593 ( 593) [001] ...1 1034719.762711: tracing_mark_write: E|593 24608 composer@2.1-s-593 ( 593) [001] ...1 1034719.762776: tracing_mark_write: E|593 24609 surfaceflinger-591 ( 591) [000] ...1 1034719.762929: tracing_mark_write: E|591 24610 surfaceflinger-591 ( 591) [000] ...1 1034719.777363: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 24611 composer@2.1-s-593 ( 593) [001] ...1 1034719.777629: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 24612 composer@2.1-s-593 ( 593) [001] ...1 1034719.777777: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 24613 composer@2.1-s-593 ( 593) [001] ...1 1034719.777821: tracing_mark_write: B|593|HWDevice::Commit:: 24614 composer@2.1-s-593 ( 593) [001] ...1 1034719.778077: tracing_mark_write: E|593 24615 composer@2.1-s-593 ( 593) [001] ...1 1034719.778140: tracing_mark_write: E|593 24616 composer@2.1-s-593 ( 593) [001] ...1 1034719.778214: tracing_mark_write: E|593 24617 surfaceflinger-591 ( 591) [000] ...1 1034719.778392: tracing_mark_write: E|591 24618 surfaceflinger-591 ( 591) [000] ...1 1034719.794187: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 24619 composer@2.1-s-593 ( 593) [001] ...1 1034719.794430: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 24620 composer@2.1-s-593 ( 593) [001] ...1 1034719.794577: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 24621 composer@2.1-s-593 ( 593) [001] ...1 1034719.794621: tracing_mark_write: B|593|HWDevice::Commit:: 24622 composer@2.1-s-593 ( 593) [001] ...1 1034719.794879: tracing_mark_write: E|593 24623 composer@2.1-s-593 ( 593) [001] ...1 1034719.794941: tracing_mark_write: E|593 24624 composer@2.1-s-593 ( 593) [001] ...1 1034719.795015: tracing_mark_write: E|593 24625 surfaceflinger-591 ( 591) [000] ...1 1034719.795198: tracing_mark_write: E|591 24626 surfaceflinger-591 ( 591) [000] ...1 1034719.810757: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 24627 composer@2.1-s-593 ( 593) [001] ...1 1034719.810981: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 24628 composer@2.1-s-593 ( 593) [001] ...1 1034719.811115: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 24629 composer@2.1-s-593 ( 593) [001] ...1 1034719.811155: tracing_mark_write: B|593|HWDevice::Commit:: 24630 composer@2.1-s-593 ( 593) [001] ...1 1034719.811399: tracing_mark_write: E|593 24631 composer@2.1-s-593 ( 593) [001] ...1 1034719.811463: tracing_mark_write: E|593 24632 composer@2.1-s-593 ( 593) [001] ...1 1034719.811532: tracing_mark_write: E|593 24633 surfaceflinger-591 ( 591) [000] ...1 1034719.811706: tracing_mark_write: E|591 24634 MobileIQWorker-27051 (27005) [007] ...1 1034719.822231: tracing_mark_write: B|27005|[NN_LA_PE]BenchmarkModel::benchmark 24635 MobileIQWorker-27051 (27005) [007] ...1 1034719.822462: tracing_mark_write: B|27005|HIDL::IDevice::getSupportedOperations::client 24636 neuralnetworks-756 ( 756) [006] ...1 1034719.822620: tracing_mark_write: B|756|HIDL::IDevice::getSupportedOperations::server 24637 neuralnetworks-756 ( 756) [007] ...1 1034719.822912: tracing_mark_write: E|756 24638 MobileIQWorker-27051 (27005) [004] ...1 1034719.822945: tracing_mark_write: E|27005 24639 MobileIQWorker-27051 (27005) [004] ...1 1034719.823030: tracing_mark_write: B|27005|HIDL::IDevice::prepareModel::client 24640 neuralnetworks-756 ( 756) [005] ...1 1034719.823155: tracing_mark_write: B|756|HIDL::IDevice::prepareModel::server 24641 surfaceflinger-591 ( 591) [000] ...1 1034719.827731: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 24642 composer@2.1-s-593 ( 593) [001] ...1 1034719.828038: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 24643 composer@2.1-s-593 ( 593) [001] ...1 1034719.828370: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 24644 composer@2.1-s-593 ( 593) [001] ...1 1034719.828482: tracing_mark_write: B|593|HWDevice::Commit:: 24645 composer@2.1-s-593 ( 593) [001] ...1 1034719.829010: tracing_mark_write: E|593 24646 composer@2.1-s-593 ( 593) [001] ...1 1034719.829169: tracing_mark_write: E|593 24647 composer@2.1-s-593 ( 593) [001] ...1 1034719.829340: tracing_mark_write: E|593 24648 surfaceflinger-591 ( 591) [000] ...1 1034719.829634: tracing_mark_write: E|591 24649 surfaceflinger-591 ( 591) [000] ...1 1034719.844344: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 24650 composer@2.1-s-593 ( 593) [001] ...1 1034719.844725: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 24651 composer@2.1-s-593 ( 593) [001] ...1 1034719.845126: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 24652 composer@2.1-s-593 ( 593) [001] ...1 1034719.845258: tracing_mark_write: B|593|HWDevice::Commit:: 24653 composer@2.1-s-593 ( 593) [001] ...1 1034719.845862: tracing_mark_write: E|593 24654 composer@2.1-s-593 ( 593) [001] ...1 1034719.846061: tracing_mark_write: E|593 24655 composer@2.1-s-593 ( 593) [001] ...1 1034719.846222: tracing_mark_write: E|593 24656 surfaceflinger-591 ( 591) [000] ...1 1034719.846658: tracing_mark_write: E|591 24657 surfaceflinger-591 ( 591) [000] ...1 1034719.861192: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 24658 composer@2.1-s-593 ( 593) [001] ...1 1034719.861608: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 24659 composer@2.1-s-593 ( 593) [001] ...1 1034719.862109: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 24660 composer@2.1-s-593 ( 593) [001] ...1 1034719.862277: tracing_mark_write: B|593|HWDevice::Commit:: 24661 composer@2.1-s-593 ( 593) [001] ...1 1034719.863028: tracing_mark_write: E|593 24662 composer@2.1-s-593 ( 593) [001] ...1 1034719.863169: tracing_mark_write: E|593 24663 composer@2.1-s-593 ( 593) [001] ...1 1034719.863655: tracing_mark_write: E|593 24664 surfaceflinger-591 ( 591) [000] ...1 1034719.863954: tracing_mark_write: E|591 24665 surfaceflinger-591 ( 591) [000] ...1 1034719.877909: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 24666 composer@2.1-s-593 ( 593) [001] ...1 1034719.878318: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 24667 composer@2.1-s-593 ( 593) [001] ...1 1034719.878702: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 24668 composer@2.1-s-593 ( 593) [001] ...1 1034719.878871: tracing_mark_write: B|593|HWDevice::Commit:: 24669 composer@2.1-s-593 ( 593) [001] ...1 1034719.879731: tracing_mark_write: E|593 24670 composer@2.1-s-593 ( 593) [001] ...1 1034719.880091: tracing_mark_write: E|593 24671 composer@2.1-s-593 ( 593) [001] ...1 1034719.880404: tracing_mark_write: E|593 24672 surfaceflinger-591 ( 591) [000] ...1 1034719.880704: tracing_mark_write: E|591 24673 surfaceflinger-591 ( 591) [000] ...1 1034719.894462: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 24674 composer@2.1-s-593 ( 593) [001] ...1 1034719.894681: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 24675 composer@2.1-s-593 ( 593) [001] ...1 1034719.894810: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 24676 composer@2.1-s-593 ( 593) [001] ...1 1034719.894835: tracing_mark_write: E|593 24677 composer@2.1-s-593 ( 593) [001] ...1 1034719.894851: tracing_mark_write: B|593|HWCSession::ValidateDisplay:: 24678 composer@2.1-s-593 ( 593) [001] ...1 1034719.895480: tracing_mark_write: B|593|HWDevice::Validate:: 24679 composer@2.1-s-593 ( 593) [001] ...1 1034719.895637: tracing_mark_write: E|593 24680 composer@2.1-s-593 ( 593) [001] ...1 1034719.895696: tracing_mark_write: E|593 24681 composer@2.1-s-593 ( 593) [001] ...1 1034719.895742: tracing_mark_write: E|593 24682 surfaceflinger-591 ( 591) [000] ...1 1034719.895874: tracing_mark_write: E|591 24683 surfaceflinger-591 ( 591) [000] ...1 1034719.896057: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 24684 composer@2.1-s-593 ( 593) [001] ...1 1034719.896191: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 24685 composer@2.1-s-593 ( 593) [001] ...1 1034719.896220: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 24686 composer@2.1-s-593 ( 593) [001] ...1 1034719.896252: tracing_mark_write: B|593|HWDevice::Commit:: 24687 composer@2.1-s-593 ( 593) [001] ...1 1034719.896494: tracing_mark_write: E|593 24688 composer@2.1-s-593 ( 593) [001] ...1 1034719.896600: tracing_mark_write: E|593 24689 composer@2.1-s-593 ( 593) [001] ...1 1034719.896689: tracing_mark_write: E|593 24690 surfaceflinger-591 ( 591) [000] ...1 1034719.896841: tracing_mark_write: E|591 24691 surfaceflinger-591 ( 591) [000] ...1 1034719.911270: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 24692 composer@2.1-s-593 ( 593) [001] ...1 1034719.911487: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 24693 composer@2.1-s-593 ( 593) [001] ...1 1034719.911621: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 24694 composer@2.1-s-593 ( 593) [001] ...1 1034719.911658: tracing_mark_write: B|593|HWDevice::Commit:: 24695 composer@2.1-s-593 ( 593) [001] ...1 1034719.911905: tracing_mark_write: E|593 24696 composer@2.1-s-593 ( 593) [001] ...1 1034719.911964: tracing_mark_write: E|593 24697 composer@2.1-s-593 ( 593) [001] ...1 1034719.912030: tracing_mark_write: E|593 24698 surfaceflinger-591 ( 591) [000] ...1 1034719.912199: tracing_mark_write: E|591 24699 surfaceflinger-591 ( 591) [000] ...1 1034719.928175: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 24700 composer@2.1-s-593 ( 593) [001] ...1 1034719.928510: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 24701 composer@2.1-s-593 ( 593) [001] ...1 1034719.928703: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 24702 composer@2.1-s-593 ( 593) [001] ...1 1034719.928747: tracing_mark_write: B|593|HWDevice::Commit:: 24703 composer@2.1-s-593 ( 593) [001] ...1 1034719.929150: tracing_mark_write: E|593 24704 composer@2.1-s-593 ( 593) [001] ...1 1034719.929300: tracing_mark_write: E|593 24705 composer@2.1-s-593 ( 593) [001] ...1 1034719.929413: tracing_mark_write: E|593 24706 surfaceflinger-591 ( 591) [000] ...1 1034719.929606: tracing_mark_write: E|591 24707 surfaceflinger-591 ( 591) [001] ...1 1034719.945303: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 24708 composer@2.1-s-593 ( 593) [000] ...1 1034719.945657: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 24709 composer@2.1-s-593 ( 593) [000] ...1 1034719.945806: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 24710 composer@2.1-s-593 ( 593) [000] ...1 1034719.945848: tracing_mark_write: B|593|HWDevice::Commit:: 24711 composer@2.1-s-593 ( 593) [000] ...1 1034719.946110: tracing_mark_write: E|593 24712 composer@2.1-s-593 ( 593) [000] ...1 1034719.946174: tracing_mark_write: E|593 24713 composer@2.1-s-593 ( 593) [000] ...1 1034719.946249: tracing_mark_write: E|593 24714 surfaceflinger-591 ( 591) [001] ...1 1034719.946457: tracing_mark_write: E|591 24715 surfaceflinger-591 ( 591) [001] ...1 1034719.961717: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 24716 composer@2.1-s-593 ( 593) [000] ...1 1034719.961965: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 24717 composer@2.1-s-593 ( 593) [000] ...1 1034719.962114: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 24718 composer@2.1-s-593 ( 593) [000] ...1 1034719.962157: tracing_mark_write: B|593|HWDevice::Commit:: 24719 composer@2.1-s-593 ( 593) [000] ...1 1034719.962413: tracing_mark_write: E|593 24720 composer@2.1-s-593 ( 593) [000] ...1 1034719.962479: tracing_mark_write: E|593 24721 composer@2.1-s-593 ( 593) [000] ...1 1034719.962553: tracing_mark_write: E|593 24722 surfaceflinger-591 ( 591) [001] ...1 1034719.962731: tracing_mark_write: E|591 24723 surfaceflinger-591 ( 591) [001] ...1 1034719.978481: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 24724 composer@2.1-s-593 ( 593) [000] ...1 1034719.978737: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 24725 composer@2.1-s-593 ( 593) [000] ...1 1034719.978885: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 24726 composer@2.1-s-593 ( 593) [000] ...1 1034719.978927: tracing_mark_write: B|593|HWDevice::Commit:: 24727 composer@2.1-s-593 ( 593) [000] ...1 1034719.979183: tracing_mark_write: E|593 24728 composer@2.1-s-593 ( 593) [000] ...1 1034719.979248: tracing_mark_write: E|593 24729 composer@2.1-s-593 ( 593) [000] ...1 1034719.979320: tracing_mark_write: E|593 24730 surfaceflinger-591 ( 591) [001] ...1 1034719.979501: tracing_mark_write: E|591 24731 surfaceflinger-591 ( 591) [002] ...1 1034719.995204: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 24732 composer@2.1-s-593 ( 593) [000] ...1 1034719.995424: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 24733 composer@2.1-s-593 ( 593) [000] ...1 1034719.995546: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 24734 composer@2.1-s-593 ( 593) [000] ...1 1034719.995583: tracing_mark_write: B|593|HWDevice::Commit:: 24735 composer@2.1-s-593 ( 593) [000] ...1 1034719.995829: tracing_mark_write: E|593 24736 composer@2.1-s-593 ( 593) [000] ...1 1034719.995889: tracing_mark_write: E|593 24737 composer@2.1-s-593 ( 593) [000] ...1 1034719.995957: tracing_mark_write: E|593 24738 surfaceflinger-591 ( 591) [002] ...1 1034719.996118: tracing_mark_write: E|591 24739 neuralnetworks-756 ( 756) [007] ...1 1034720.366908: tracing_mark_write: B|756|HIDL::IPreparedModelCallback::notify::client 24740 neuralnetworks-756 ( 756) [007] ...1 1034720.367189: tracing_mark_write: E|756 24741 neuralnetworks-756 ( 756) [007] ...1 1034720.367222: tracing_mark_write: E|756 24742 MobileIQWorker-27051 (27005) [007] ...1 1034720.367401: tracing_mark_write: E|27005 24743 HwBinder:27005-27027 (27005) [004] ...1 1034720.367581: tracing_mark_write: B|27005|HIDL::IPreparedModelCallback::notify::server 24744 HwBinder:27005-27027 (27005) [004] ...1 1034720.367610: tracing_mark_write: E|27005 24745 MobileIQWorker-27069 (27005) [005] ...1 1034720.368515: tracing_mark_write: B|27005|HIDL::IAllocator::allocate::client 24746 allocator@1.0--731 ( 731) [005] ...1 1034720.368707: tracing_mark_write: B|731|HIDL::IAllocator::allocate::server 24747 allocator@1.0--731 ( 731) [005] ...1 1034720.369015: tracing_mark_write: E|731 24748 MobileIQWorker-27069 (27005) [005] ...1 1034720.369206: tracing_mark_write: E|27005 24749 MobileIQWorker-27069 (27005) [005] ...1 1034720.369372: tracing_mark_write: B|27005|HIDL::IAllocator::allocate::client 24750 allocator@1.0--731 ( 731) [005] ...1 1034720.369495: tracing_mark_write: B|731|HIDL::IAllocator::allocate::server 24751 allocator@1.0--731 ( 731) [005] ...1 1034720.369689: tracing_mark_write: E|731 24752 MobileIQWorker-27069 (27005) [005] ...1 1034720.369848: tracing_mark_write: E|27005 24753 MobileIQWorker-27069 (27005) [005] ...1 1034720.370465: tracing_mark_write: B|27005|HIDL::IPreparedModel::execute::client 24754 neuralnetworks-756 ( 756) [005] ...1 1034720.370805: tracing_mark_write: B|756|HIDL::IPreparedModel::execute::server 24755 neuralnetworks-756 ( 756) [005] ...1 1034720.384989: tracing_mark_write: B|756|HIDL::IExecutionCallback::notify::client 24756 neuralnetworks-756 ( 756) [005] ...1 1034720.385118: tracing_mark_write: E|756 24757 neuralnetworks-756 ( 756) [005] ...1 1034720.385144: tracing_mark_write: E|756 24758 HwBinder:27005-27027 (27005) [004] ...1 1034720.385394: tracing_mark_write: B|27005|HIDL::IExecutionCallback::notify::server 24759 HwBinder:27005-27027 (27005) [004] ...1 1034720.385423: tracing_mark_write: E|27005 24760 MobileIQWorker-27069 (27005) [005] ...1 1034720.385489: tracing_mark_write: E|27005 24761 MobileIQWorker-27051 (27005) [004] ...1 1034720.386216: tracing_mark_write: E|27005 24762 MobileIQWorker-27051 (27005) [005] ...1 1034720.391329: tracing_mark_write: E|27005 24763 MobileIQWorker-27051 (27005) [005] ...1 1034720.395048: tracing_mark_write: B|27005|[NN_LA_PO]mobilenet_quantized 24764 surfaceflinger-591 ( 591) [000] ...1 1034720.431628: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 24765 composer@2.1-s-593 ( 593) [001] ...1 1034720.431894: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 24766 composer@2.1-s-593 ( 593) [001] ...1 1034720.432058: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 24767 composer@2.1-s-593 ( 593) [001] ...1 1034720.432087: tracing_mark_write: E|593 24768 composer@2.1-s-593 ( 593) [001] ...1 1034720.432104: tracing_mark_write: B|593|HWCSession::ValidateDisplay:: 24769 composer@2.1-s-593 ( 593) [001] ...1 1034720.432766: tracing_mark_write: B|593|HWDevice::Validate:: 24770 composer@2.1-s-593 ( 593) [001] ...1 1034720.432926: tracing_mark_write: E|593 24771 composer@2.1-s-593 ( 593) [001] ...1 1034720.432988: tracing_mark_write: E|593 24772 composer@2.1-s-593 ( 593) [001] ...1 1034720.433038: tracing_mark_write: E|593 24773 surfaceflinger-591 ( 591) [000] ...1 1034720.433180: tracing_mark_write: E|591 24774 surfaceflinger-591 ( 591) [000] ...1 1034720.433440: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 24775 composer@2.1-s-593 ( 593) [001] ...1 1034720.433583: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 24776 composer@2.1-s-593 ( 593) [001] ...1 1034720.433615: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 24777 composer@2.1-s-593 ( 593) [001] ...1 1034720.433650: tracing_mark_write: B|593|HWDevice::Commit:: 24778 composer@2.1-s-593 ( 593) [001] ...1 1034720.433898: tracing_mark_write: E|593 24779 composer@2.1-s-593 ( 593) [001] ...1 1034720.433951: tracing_mark_write: E|593 24780 composer@2.1-s-593 ( 593) [001] ...1 1034720.434018: tracing_mark_write: E|593 24781 surfaceflinger-591 ( 591) [000] ...1 1034720.434178: tracing_mark_write: E|591 24782 MobileIQWorker-27051 (27005) [007] ...1 1034720.514122: tracing_mark_write: B|27005|[NN_LA_PE]BenchmarkModel::benchmark 24783 MobileIQWorker-27051 (27005) [007] ...1 1034720.514361: tracing_mark_write: B|27005|HIDL::IDevice::getSupportedOperations::client 24784 neuralnetworks-756 ( 756) [005] ...1 1034720.514669: tracing_mark_write: B|756|HIDL::IDevice::getSupportedOperations::server 24785 neuralnetworks-756 ( 756) [005] ...1 1034720.515329: tracing_mark_write: E|756 24786 MobileIQWorker-27051 (27005) [006] ...1 1034720.515369: tracing_mark_write: E|27005 24787 MobileIQWorker-27051 (27005) [006] ...1 1034720.515458: tracing_mark_write: B|27005|HIDL::IDevice::prepareModel::client 24788 neuralnetworks-756 ( 756) [007] ...1 1034720.515590: tracing_mark_write: B|756|HIDL::IDevice::prepareModel::server 24789 neuralnetworks-756 ( 756) [006] ...1 1034721.184087: tracing_mark_write: B|756|HIDL::IPreparedModelCallback::notify::client 24790 neuralnetworks-756 ( 756) [006] ...1 1034721.184347: tracing_mark_write: E|756 24791 neuralnetworks-756 ( 756) [006] ...1 1034721.184380: tracing_mark_write: E|756 24792 MobileIQWorker-27051 (27005) [006] ...1 1034721.184660: tracing_mark_write: E|27005 24793 HwBinder:27005-27027 (27005) [004] ...1 1034721.184700: tracing_mark_write: B|27005|HIDL::IPreparedModelCallback::notify::server 24794 HwBinder:27005-27027 (27005) [004] ...1 1034721.184731: tracing_mark_write: E|27005 24795 MobileIQWorker-27075 (27005) [005] ...1 1034721.185731: tracing_mark_write: B|27005|HIDL::IAllocator::allocate::client 24796 allocator@1.0--731 ( 731) [005] ...1 1034721.185916: tracing_mark_write: B|731|HIDL::IAllocator::allocate::server 24797 allocator@1.0--731 ( 731) [005] ...1 1034721.186229: tracing_mark_write: E|731 24798 MobileIQWorker-27075 (27005) [005] ...1 1034721.186424: tracing_mark_write: E|27005 24799 MobileIQWorker-27075 (27005) [005] ...1 1034721.186654: tracing_mark_write: B|27005|HIDL::IAllocator::allocate::client 24800 allocator@1.0--731 ( 731) [005] ...1 1034721.186771: tracing_mark_write: B|731|HIDL::IAllocator::allocate::server 24801 allocator@1.0--731 ( 731) [005] ...1 1034721.186965: tracing_mark_write: E|731 24802 MobileIQWorker-27075 (27005) [005] ...1 1034721.187129: tracing_mark_write: E|27005 24803 MobileIQWorker-27075 (27005) [005] ...1 1034721.187687: tracing_mark_write: B|27005|HIDL::IPreparedModel::execute::client 24804 neuralnetworks-756 ( 756) [005] ...1 1034721.188014: tracing_mark_write: B|756|HIDL::IPreparedModel::execute::server 24805 neuralnetworks-756 ( 756) [005] ...1 1034721.203997: tracing_mark_write: B|756|HIDL::IExecutionCallback::notify::client 24806 neuralnetworks-756 ( 756) [005] ...1 1034721.204138: tracing_mark_write: E|756 24807 neuralnetworks-756 ( 756) [005] ...1 1034721.204165: tracing_mark_write: E|756 24808 MobileIQWorker-27075 (27005) [005] ...1 1034721.204406: tracing_mark_write: E|27005 24809 HwBinder:27005-27027 (27005) [004] ...1 1034721.204420: tracing_mark_write: B|27005|HIDL::IExecutionCallback::notify::server 24810 HwBinder:27005-27027 (27005) [004] ...1 1034721.204521: tracing_mark_write: E|27005 24811 MobileIQWorker-27051 (27005) [004] ...1 1034721.205415: tracing_mark_write: E|27005 24812 MobileIQWorker-27051 (27005) [004] ...1 1034721.210742: tracing_mark_write: E|27005 24813 MobileIQWorker-27051 (27005) [004] ...1 1034721.214429: tracing_mark_write: B|27005|[NN_LA_PO]mobilenet_quantized 24814 Binder:591_5-1775 ( 591) [001] ...1 1034721.214506: tracing_mark_write: B|591|HIDL::IComposerClient::getActiveConfig::client 24815 composer@2.1-s-593 ( 593) [001] ...1 1034721.214717: tracing_mark_write: B|593|HIDL::IComposerClient::getActiveConfig::server 24816 composer@2.1-s-593 ( 593) [001] ...1 1034721.214753: tracing_mark_write: E|593 24817 Binder:591_5-1775 ( 591) [001] ...1 1034721.214858: tracing_mark_write: E|591 24818 surfaceflinger-668 ( 591) [002] ...1 1034721.215199: tracing_mark_write: B|591|HIDL::IComposerClient::setVsyncEnabled::client 24819 composer@2.1-s-593 ( 593) [002] ...1 1034721.215349: tracing_mark_write: B|593|HIDL::IComposerClient::setVsyncEnabled::server 24820 composer@2.1-s-593 ( 593) [002] ...1 1034721.215373: tracing_mark_write: C|593|SetVsyncState |1 24821 composer@2.1-s-593 ( 593) [002] ...1 1034721.215397: tracing_mark_write: B|593|HWPrimary::SetVSyncState:: 24822 composer@2.1-s-593 ( 593) [002] ...1 1034721.218839: tracing_mark_write: E|593 24823 composer@2.1-s-593 ( 593) [002] ...1 1034721.218865: tracing_mark_write: E|593 24824 surfaceflinger-668 ( 591) [002] ...1 1034721.218966: tracing_mark_write: E|591 24825 SDM_EventThrea-634 ( 593) [000] ...1 1034721.230796: tracing_mark_write: B|593|HWCCallbacks::Vsync:: 24826 SDM_EventThrea-634 ( 593) [000] ...1 1034721.230815: tracing_mark_write: B|593|HIDL::IComposerCallback::onVsync::client 24827 SDM_EventThrea-634 ( 593) [000] ...1 1034721.230986: tracing_mark_write: E|593 24828 SDM_EventThrea-634 ( 593) [000] ...1 1034721.231006: tracing_mark_write: E|593 24829 HwBinder:591_1-620 ( 591) [001] ...1 1034721.231194: tracing_mark_write: B|591|HIDL::IComposerCallback::onVsync::server 24830 HwBinder:591_1-620 ( 591) [001] ...1 1034721.231251: tracing_mark_write: E|591 24831 SDM_EventThrea-634 ( 593) [000] ...1 1034721.247281: tracing_mark_write: B|593|HWCCallbacks::Vsync:: 24832 SDM_EventThrea-634 ( 593) [000] ...1 1034721.247298: tracing_mark_write: B|593|HIDL::IComposerCallback::onVsync::client 24833 SDM_EventThrea-634 ( 593) [000] ...1 1034721.247389: tracing_mark_write: E|593 24834 SDM_EventThrea-634 ( 593) [000] ...1 1034721.247407: tracing_mark_write: E|593 24835 HwBinder:591_1-620 ( 591) [001] ...1 1034721.247428: tracing_mark_write: B|591|HIDL::IComposerCallback::onVsync::server 24836 HwBinder:591_1-620 ( 591) [001] ...1 1034721.247453: tracing_mark_write: E|591 24837 surfaceflinger-591 ( 591) [000] ...1 1034721.254125: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 24838 composer@2.1-s-593 ( 593) [002] ...1 1034721.254346: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 24839 composer@2.1-s-593 ( 593) [002] ...1 1034721.254497: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 24840 composer@2.1-s-593 ( 593) [002] ...1 1034721.254539: tracing_mark_write: B|593|HWDevice::Commit:: 24841 composer@2.1-s-593 ( 593) [002] ...1 1034721.254798: tracing_mark_write: E|593 24842 composer@2.1-s-593 ( 593) [002] ...1 1034721.254864: tracing_mark_write: E|593 24843 composer@2.1-s-593 ( 593) [002] ...1 1034721.254942: tracing_mark_write: E|593 24844 surfaceflinger-591 ( 591) [000] ...1 1034721.255140: tracing_mark_write: E|591 24845 SDM_EventThrea-634 ( 593) [000] ...1 1034721.264096: tracing_mark_write: B|593|HWCCallbacks::Vsync:: 24846 SDM_EventThrea-634 ( 593) [000] ...1 1034721.264113: tracing_mark_write: B|593|HIDL::IComposerCallback::onVsync::client 24847 SDM_EventThrea-634 ( 593) [000] ...1 1034721.264209: tracing_mark_write: E|593 24848 SDM_EventThrea-634 ( 593) [000] ...1 1034721.264227: tracing_mark_write: E|593 24849 HwBinder:591_1-620 ( 591) [001] ...1 1034721.264250: tracing_mark_write: B|591|HIDL::IComposerCallback::onVsync::server 24850 HwBinder:591_1-620 ( 591) [001] ...1 1034721.264276: tracing_mark_write: E|591 24851 SDM_EventThrea-634 ( 593) [000] ...1 1034721.280829: tracing_mark_write: B|593|HWCCallbacks::Vsync:: 24852 SDM_EventThrea-634 ( 593) [000] ...1 1034721.280845: tracing_mark_write: B|593|HIDL::IComposerCallback::onVsync::client 24853 SDM_EventThrea-634 ( 593) [000] ...1 1034721.280932: tracing_mark_write: E|593 24854 SDM_EventThrea-634 ( 593) [000] ...1 1034721.280948: tracing_mark_write: E|593 24855 HwBinder:591_1-620 ( 591) [001] ...1 1034721.280964: tracing_mark_write: B|591|HIDL::IComposerCallback::onVsync::server 24856 HwBinder:591_1-620 ( 591) [001] ...1 1034721.280987: tracing_mark_write: E|591 24857 SDM_EventThrea-634 ( 593) [000] ...1 1034721.297610: tracing_mark_write: B|593|HWCCallbacks::Vsync:: 24858 SDM_EventThrea-634 ( 593) [000] ...1 1034721.297627: tracing_mark_write: B|593|HIDL::IComposerCallback::onVsync::client 24859 SDM_EventThrea-634 ( 593) [000] ...1 1034721.297711: tracing_mark_write: E|593 24860 SDM_EventThrea-634 ( 593) [000] ...1 1034721.297728: tracing_mark_write: E|593 24861 HwBinder:591_1-620 ( 591) [001] ...1 1034721.297742: tracing_mark_write: B|591|HIDL::IComposerCallback::onVsync::server 24862 HwBinder:591_1-620 ( 591) [001] ...1 1034721.297764: tracing_mark_write: E|591 24863 SDM_EventThrea-634 ( 593) [000] ...1 1034721.314386: tracing_mark_write: B|593|HWCCallbacks::Vsync:: 24864 SDM_EventThrea-634 ( 593) [000] ...1 1034721.314399: tracing_mark_write: B|593|HIDL::IComposerCallback::onVsync::client 24865 SDM_EventThrea-634 ( 593) [000] ...1 1034721.314479: tracing_mark_write: E|593 24866 SDM_EventThrea-634 ( 593) [000] ...1 1034721.314495: tracing_mark_write: E|593 24867 HwBinder:591_1-620 ( 591) [001] ...1 1034721.314505: tracing_mark_write: B|591|HIDL::IComposerCallback::onVsync::server 24868 HwBinder:591_1-620 ( 591) [001] ...1 1034721.314613: tracing_mark_write: E|591 24869 surfaceflinger-668 ( 591) [000] ...1 1034721.314649: tracing_mark_write: B|591|HIDL::IComposerClient::setVsyncEnabled::client 24870 composer@2.1-s-593 ( 593) [000] ...1 1034721.314805: tracing_mark_write: B|593|HIDL::IComposerClient::setVsyncEnabled::server 24871 composer@2.1-s-593 ( 593) [000] ...1 1034721.314825: tracing_mark_write: C|593|SetVsyncState |0 24872 composer@2.1-s-593 ( 593) [000] ...1 1034721.314846: tracing_mark_write: B|593|HWPrimary::SetVSyncState:: 24873 composer@2.1-s-593 ( 593) [000] ...1 1034721.315857: tracing_mark_write: E|593 24874 composer@2.1-s-593 ( 593) [000] ...1 1034721.315883: tracing_mark_write: E|593 24875 surfaceflinger-668 ( 591) [000] ...1 1034721.315983: tracing_mark_write: E|591 24876 MobileIQWorker-27051 (27005) [005] ...1 1034721.327371: tracing_mark_write: B|27005|[NN_LA_PE]BenchmarkModel::benchmark 24877 MobileIQWorker-27051 (27005) [005] ...1 1034721.327604: tracing_mark_write: B|27005|HIDL::IDevice::getSupportedOperations::client 24878 neuralnetworks-756 ( 756) [007] ...1 1034721.327926: tracing_mark_write: B|756|HIDL::IDevice::getSupportedOperations::server 24879 neuralnetworks-756 ( 756) [006] ...1 1034721.328729: tracing_mark_write: E|756 24880 MobileIQWorker-27051 (27005) [005] ...1 1034721.328870: tracing_mark_write: E|27005 24881 MobileIQWorker-27051 (27005) [005] ...1 1034721.328956: tracing_mark_write: B|27005|HIDL::IDevice::prepareModel::client 24882 neuralnetworks-756 ( 756) [006] ...1 1034721.329180: tracing_mark_write: B|756|HIDL::IDevice::prepareModel::server 24883 neuralnetworks-756 ( 756) [001] ...1 1034722.025592: tracing_mark_write: B|756|HIDL::IPreparedModelCallback::notify::client 24884 neuralnetworks-756 ( 756) [001] ...1 1034722.025852: tracing_mark_write: E|756 24885 neuralnetworks-756 ( 756) [001] ...1 1034722.025888: tracing_mark_write: E|756 24886 MobileIQWorker-27051 (27005) [001] ...1 1034722.026387: tracing_mark_write: E|27005 24887 HwBinder:27005-27027 (27005) [004] ...1 1034722.026899: tracing_mark_write: B|27005|HIDL::IPreparedModelCallback::notify::server 24888 HwBinder:27005-27027 (27005) [004] ...1 1034722.026969: tracing_mark_write: E|27005 24889 MobileIQWorker-27082 (27005) [006] ...1 1034722.028173: tracing_mark_write: B|27005|HIDL::IAllocator::allocate::client 24890 allocator@1.0--731 ( 731) [006] ...1 1034722.028373: tracing_mark_write: B|731|HIDL::IAllocator::allocate::server 24891 allocator@1.0--731 ( 731) [006] ...1 1034722.028784: tracing_mark_write: E|731 24892 MobileIQWorker-27082 (27005) [006] ...1 1034722.028979: tracing_mark_write: E|27005 24893 MobileIQWorker-27082 (27005) [006] ...1 1034722.029137: tracing_mark_write: B|27005|HIDL::IAllocator::allocate::client 24894 allocator@1.0--731 ( 731) [006] ...1 1034722.029256: tracing_mark_write: B|731|HIDL::IAllocator::allocate::server 24895 allocator@1.0--731 ( 731) [006] ...1 1034722.029450: tracing_mark_write: E|731 24896 MobileIQWorker-27082 (27005) [006] ...1 1034722.029610: tracing_mark_write: E|27005 24897 MobileIQWorker-27082 (27005) [006] ...1 1034722.030247: tracing_mark_write: B|27005|HIDL::IPreparedModel::execute::client 24898 neuralnetworks-756 ( 756) [006] ...1 1034722.030612: tracing_mark_write: B|756|HIDL::IPreparedModel::execute::server 24899 neuralnetworks-756 ( 756) [006] ...1 1034722.043624: tracing_mark_write: B|756|HIDL::IExecutionCallback::notify::client 24900 neuralnetworks-756 ( 756) [006] ...1 1034722.043735: tracing_mark_write: E|756 24901 neuralnetworks-756 ( 756) [006] ...1 1034722.043757: tracing_mark_write: E|756 24902 HwBinder:27005-27027 (27005) [005] ...1 1034722.043793: tracing_mark_write: B|27005|HIDL::IExecutionCallback::notify::server 24903 HwBinder:27005-27027 (27005) [005] ...1 1034722.043820: tracing_mark_write: E|27005 24904 MobileIQWorker-27082 (27005) [006] ...1 1034722.043942: tracing_mark_write: E|27005 24905 MobileIQWorker-27051 (27005) [005] ...1 1034722.044722: tracing_mark_write: E|27005 24906 MobileIQWorker-27051 (27005) [005] ...1 1034722.049978: tracing_mark_write: E|27005 24907 Binder:591_5-1775 ( 591) [000] ...1 1034722.053677: tracing_mark_write: B|591|HIDL::IComposerClient::getActiveConfig::client 24908 composer@2.1-s-593 ( 593) [000] ...1 1034722.053838: tracing_mark_write: B|593|HIDL::IComposerClient::getActiveConfig::server 24909 composer@2.1-s-593 ( 593) [000] ...1 1034722.053866: tracing_mark_write: E|593 24910 Binder:591_5-1775 ( 591) [000] ...1 1034722.053940: tracing_mark_write: E|591 24911 surfaceflinger-668 ( 591) [003] ...1 1034722.054204: tracing_mark_write: B|591|HIDL::IComposerClient::setVsyncEnabled::client 24912 composer@2.1-s-593 ( 593) [003] ...1 1034722.054304: tracing_mark_write: B|593|HIDL::IComposerClient::setVsyncEnabled::server 24913 composer@2.1-s-593 ( 593) [003] ...1 1034722.054320: tracing_mark_write: C|593|SetVsyncState |1 24914 composer@2.1-s-593 ( 593) [003] ...1 1034722.054338: tracing_mark_write: B|593|HWPrimary::SetVSyncState:: 24915 composer@2.1-s-593 ( 593) [003] ...1 1034722.057641: tracing_mark_write: E|593 24916 composer@2.1-s-593 ( 593) [003] ...1 1034722.057662: tracing_mark_write: E|593 24917 surfaceflinger-668 ( 591) [003] ...1 1034722.057862: tracing_mark_write: E|591 24918 SDM_EventThrea-634 ( 593) [000] ...1 1034722.069735: tracing_mark_write: B|593|HWCCallbacks::Vsync:: 24919 SDM_EventThrea-634 ( 593) [000] ...1 1034722.069752: tracing_mark_write: B|593|HIDL::IComposerCallback::onVsync::client 24920 SDM_EventThrea-634 ( 593) [000] ...1 1034722.069854: tracing_mark_write: E|593 24921 SDM_EventThrea-634 ( 593) [000] ...1 1034722.069947: tracing_mark_write: E|593 24922 HwBinder:591_1-620 ( 591) [001] ...1 1034722.069961: tracing_mark_write: B|591|HIDL::IComposerCallback::onVsync::server 24923 HwBinder:591_1-620 ( 591) [001] ...1 1034722.070022: tracing_mark_write: E|591 24924 surfaceflinger-591 ( 591) [000] ...1 1034722.076389: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 24925 composer@2.1-s-593 ( 593) [003] ...1 1034722.076641: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 24926 composer@2.1-s-593 ( 593) [003] ...1 1034722.076811: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 24927 composer@2.1-s-593 ( 593) [003] ...1 1034722.076879: tracing_mark_write: B|593|HWDevice::Commit:: 24928 composer@2.1-s-593 ( 593) [003] ...1 1034722.077135: tracing_mark_write: E|593 24929 composer@2.1-s-593 ( 593) [003] ...1 1034722.077204: tracing_mark_write: E|593 24930 composer@2.1-s-593 ( 593) [003] ...1 1034722.077284: tracing_mark_write: E|593 24931 surfaceflinger-591 ( 591) [000] ...1 1034722.077491: tracing_mark_write: E|591 24932 SDM_EventThrea-634 ( 593) [000] ...1 1034722.086527: tracing_mark_write: B|593|HWCCallbacks::Vsync:: 24933 SDM_EventThrea-634 ( 593) [000] ...1 1034722.086593: tracing_mark_write: B|593|HIDL::IComposerCallback::onVsync::client 24934 SDM_EventThrea-634 ( 593) [000] ...1 1034722.086717: tracing_mark_write: E|593 24935 SDM_EventThrea-634 ( 593) [000] ...1 1034722.086736: tracing_mark_write: E|593 24936 HwBinder:591_1-620 ( 591) [001] ...1 1034722.086758: tracing_mark_write: B|591|HIDL::IComposerCallback::onVsync::server 24937 HwBinder:591_1-620 ( 591) [001] ...1 1034722.086785: tracing_mark_write: E|591 24938 SDM_EventThrea-634 ( 593) [000] ...1 1034722.103290: tracing_mark_write: B|593|HWCCallbacks::Vsync:: 24939 SDM_EventThrea-634 ( 593) [000] ...1 1034722.103306: tracing_mark_write: B|593|HIDL::IComposerCallback::onVsync::client 24940 SDM_EventThrea-634 ( 593) [000] ...1 1034722.103394: tracing_mark_write: E|593 24941 SDM_EventThrea-634 ( 593) [000] ...1 1034722.103411: tracing_mark_write: E|593 24942 HwBinder:591_1-620 ( 591) [001] ...1 1034722.103427: tracing_mark_write: B|591|HIDL::IComposerCallback::onVsync::server 24943 HwBinder:591_1-620 ( 591) [001] ...1 1034722.103451: tracing_mark_write: E|591 24944 SDM_EventThrea-634 ( 593) [000] ...1 1034722.119994: tracing_mark_write: B|593|HWCCallbacks::Vsync:: 24945 SDM_EventThrea-634 ( 593) [000] ...1 1034722.120011: tracing_mark_write: B|593|HIDL::IComposerCallback::onVsync::client 24946 SDM_EventThrea-634 ( 593) [000] ...1 1034722.120100: tracing_mark_write: E|593 24947 SDM_EventThrea-634 ( 593) [000] ...1 1034722.120117: tracing_mark_write: E|593 24948 HwBinder:591_1-620 ( 591) [001] ...1 1034722.120135: tracing_mark_write: B|591|HIDL::IComposerCallback::onVsync::server 24949 HwBinder:591_1-620 ( 591) [001] ...1 1034722.120158: tracing_mark_write: E|591 24950 surfaceflinger-591 ( 591) [000] ...1 1034722.126337: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 24951 composer@2.1-s-593 ( 593) [003] ...1 1034722.126696: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 24952 composer@2.1-s-593 ( 593) [003] ...1 1034722.126837: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 24953 composer@2.1-s-593 ( 593) [003] ...1 1034722.126863: tracing_mark_write: E|593 24954 composer@2.1-s-593 ( 593) [003] ...1 1034722.126879: tracing_mark_write: B|593|HWCSession::ValidateDisplay:: 24955 composer@2.1-s-593 ( 593) [003] ...1 1034722.127536: tracing_mark_write: B|593|HWDevice::Validate:: 24956 composer@2.1-s-593 ( 593) [003] ...1 1034722.127694: tracing_mark_write: E|593 24957 composer@2.1-s-593 ( 593) [003] ...1 1034722.127756: tracing_mark_write: E|593 24958 composer@2.1-s-593 ( 593) [003] ...1 1034722.127801: tracing_mark_write: E|593 24959 surfaceflinger-591 ( 591) [000] ...1 1034722.127952: tracing_mark_write: E|591 24960 surfaceflinger-591 ( 591) [000] ...1 1034722.128145: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 24961 composer@2.1-s-593 ( 593) [003] ...1 1034722.128286: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 24962 composer@2.1-s-593 ( 593) [003] ...1 1034722.128318: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 24963 composer@2.1-s-593 ( 593) [003] ...1 1034722.128352: tracing_mark_write: B|593|HWDevice::Commit:: 24964 composer@2.1-s-593 ( 593) [003] ...1 1034722.128598: tracing_mark_write: E|593 24965 composer@2.1-s-593 ( 593) [003] ...1 1034722.128650: tracing_mark_write: E|593 24966 composer@2.1-s-593 ( 593) [003] ...1 1034722.128720: tracing_mark_write: E|593 24967 surfaceflinger-591 ( 591) [000] ...1 1034722.128879: tracing_mark_write: E|591 24968 SDM_EventThrea-634 ( 593) [000] ...1 1034722.137012: tracing_mark_write: B|593|HWCCallbacks::Vsync:: 24969 SDM_EventThrea-634 ( 593) [000] ...1 1034722.137029: tracing_mark_write: B|593|HIDL::IComposerCallback::onVsync::client 24970 SDM_EventThrea-634 ( 593) [000] ...1 1034722.137127: tracing_mark_write: E|593 24971 SDM_EventThrea-634 ( 593) [000] ...1 1034722.137147: tracing_mark_write: E|593 24972 HwBinder:591_1-620 ( 591) [001] ...1 1034722.137167: tracing_mark_write: B|591|HIDL::IComposerCallback::onVsync::server 24973 HwBinder:591_1-620 ( 591) [001] ...1 1034722.137193: tracing_mark_write: E|591 24974 surfaceflinger-591 ( 591) [000] ...1 1034722.142961: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 24975 composer@2.1-s-593 ( 593) [003] ...1 1034722.143159: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 24976 composer@2.1-s-593 ( 593) [003] ...1 1034722.143360: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 24977 composer@2.1-s-593 ( 593) [003] ...1 1034722.143395: tracing_mark_write: B|593|HWDevice::Commit:: 24978 composer@2.1-s-593 ( 593) [003] ...1 1034722.143626: tracing_mark_write: E|593 24979 composer@2.1-s-593 ( 593) [003] ...1 1034722.143684: tracing_mark_write: E|593 24980 composer@2.1-s-593 ( 593) [003] ...1 1034722.143747: tracing_mark_write: E|593 24981 surfaceflinger-591 ( 591) [000] ...1 1034722.143923: tracing_mark_write: E|591 24982 SDM_EventThrea-634 ( 593) [000] ...1 1034722.153581: tracing_mark_write: B|593|HWCCallbacks::Vsync:: 24983 SDM_EventThrea-634 ( 593) [000] ...1 1034722.153597: tracing_mark_write: B|593|HIDL::IComposerCallback::onVsync::client 24984 SDM_EventThrea-634 ( 593) [000] ...1 1034722.153690: tracing_mark_write: E|593 24985 SDM_EventThrea-634 ( 593) [000] ...1 1034722.153707: tracing_mark_write: E|593 24986 HwBinder:591_1-620 ( 591) [001] ...1 1034722.153724: tracing_mark_write: B|591|HIDL::IComposerCallback::onVsync::server 24987 HwBinder:591_1-620 ( 591) [001] ...1 1034722.153819: tracing_mark_write: E|591 24988 surfaceflinger-668 ( 591) [002] ...1 1034722.153851: tracing_mark_write: B|591|HIDL::IComposerClient::setVsyncEnabled::client 24989 composer@2.1-s-593 ( 593) [002] ...1 1034722.154008: tracing_mark_write: B|593|HIDL::IComposerClient::setVsyncEnabled::server 24990 composer@2.1-s-593 ( 593) [002] ...1 1034722.154029: tracing_mark_write: C|593|SetVsyncState |0 24991 composer@2.1-s-593 ( 593) [002] ...1 1034722.154050: tracing_mark_write: B|593|HWPrimary::SetVSyncState:: 24992 composer@2.1-s-593 ( 593) [002] ...1 1034722.154090: tracing_mark_write: E|593 24993 composer@2.1-s-593 ( 593) [002] ...1 1034722.154112: tracing_mark_write: E|593 24994 surfaceflinger-668 ( 591) [002] ...1 1034722.154199: tracing_mark_write: E|591 24995 surfaceflinger-591 ( 591) [000] ...1 1034722.160319: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 24996 composer@2.1-s-593 ( 593) [002] ...1 1034722.160527: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 24997 composer@2.1-s-593 ( 593) [002] ...1 1034722.160663: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 24998 composer@2.1-s-593 ( 593) [002] ...1 1034722.160700: tracing_mark_write: B|593|HWDevice::Commit:: 24999 composer@2.1-s-593 ( 593) [002] ...1 1034722.160940: tracing_mark_write: E|593 25000 composer@2.1-s-593 ( 593) [002] ...1 1034722.160999: tracing_mark_write: E|593 25001 composer@2.1-s-593 ( 593) [002] ...1 1034722.161066: tracing_mark_write: E|593 25002 surfaceflinger-591 ( 591) [000] ...1 1034722.161231: tracing_mark_write: E|591 25003 surfaceflinger-591 ( 591) [000] ...1 1034722.176995: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 25004 composer@2.1-s-593 ( 593) [002] ...1 1034722.177196: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 25005 composer@2.1-s-593 ( 593) [002] ...1 1034722.177314: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 25006 composer@2.1-s-593 ( 593) [002] ...1 1034722.177352: tracing_mark_write: B|593|HWDevice::Commit:: 25007 composer@2.1-s-593 ( 593) [002] ...1 1034722.177582: tracing_mark_write: E|593 25008 composer@2.1-s-593 ( 593) [002] ...1 1034722.177640: tracing_mark_write: E|593 25009 composer@2.1-s-593 ( 593) [002] ...1 1034722.177706: tracing_mark_write: E|593 25010 surfaceflinger-591 ( 591) [000] ...1 1034722.177871: tracing_mark_write: E|591 25011 surfaceflinger-591 ( 591) [001] ...1 1034722.194053: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 25012 composer@2.1-s-593 ( 593) [002] ...1 1034722.194295: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 25013 composer@2.1-s-593 ( 593) [002] ...1 1034722.194439: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 25014 composer@2.1-s-593 ( 593) [002] ...1 1034722.194482: tracing_mark_write: B|593|HWDevice::Commit:: 25015 composer@2.1-s-593 ( 593) [002] ...1 1034722.194744: tracing_mark_write: E|593 25016 composer@2.1-s-593 ( 593) [002] ...1 1034722.194807: tracing_mark_write: E|593 25017 composer@2.1-s-593 ( 593) [002] ...1 1034722.194881: tracing_mark_write: E|593 25018 surfaceflinger-591 ( 591) [001] ...1 1034722.195064: tracing_mark_write: E|591 25019 surfaceflinger-591 ( 591) [002] ...1 1034722.210997: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 25020 composer@2.1-s-593 ( 593) [000] ...1 1034722.211150: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 25021 composer@2.1-s-593 ( 593) [000] ...1 1034722.211247: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 25022 composer@2.1-s-593 ( 593) [000] ...1 1034722.211260: tracing_mark_write: E|593 25023 composer@2.1-s-593 ( 593) [000] ...1 1034722.211267: tracing_mark_write: B|593|HWCSession::ValidateDisplay:: 25024 composer@2.1-s-593 ( 593) [000] ...1 1034722.211593: tracing_mark_write: B|593|HWDevice::Validate:: 25025 composer@2.1-s-593 ( 593) [000] ...1 1034722.211680: tracing_mark_write: E|593 25026 composer@2.1-s-593 ( 593) [000] ...1 1034722.211706: tracing_mark_write: E|593 25027 composer@2.1-s-593 ( 593) [000] ...1 1034722.211734: tracing_mark_write: E|593 25028 surfaceflinger-591 ( 591) [002] ...1 1034722.211821: tracing_mark_write: E|591 25029 surfaceflinger-591 ( 591) [002] ...1 1034722.211930: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 25030 composer@2.1-s-593 ( 593) [000] ...1 1034722.212003: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 25031 composer@2.1-s-593 ( 593) [000] ...1 1034722.212020: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 25032 composer@2.1-s-593 ( 593) [000] ...1 1034722.212038: tracing_mark_write: B|593|HWDevice::Commit:: 25033 composer@2.1-s-593 ( 593) [000] ...1 1034722.212169: tracing_mark_write: E|593 25034 composer@2.1-s-593 ( 593) [000] ...1 1034722.212197: tracing_mark_write: E|593 25035 composer@2.1-s-593 ( 593) [000] ...1 1034722.212228: tracing_mark_write: E|593 25036 surfaceflinger-591 ( 591) [002] ...1 1034722.212303: tracing_mark_write: E|591 25037 surfaceflinger-591 ( 591) [001] ...1 1034722.227667: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 25038 composer@2.1-s-593 ( 593) [000] ...1 1034722.227819: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 25039 composer@2.1-s-593 ( 593) [000] ...1 1034722.227899: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 25040 composer@2.1-s-593 ( 593) [000] ...1 1034722.227909: tracing_mark_write: E|593 25041 composer@2.1-s-593 ( 593) [000] ...1 1034722.227914: tracing_mark_write: B|593|HWCSession::ValidateDisplay:: 25042 composer@2.1-s-593 ( 593) [000] ...1 1034722.228179: tracing_mark_write: B|593|HWDevice::Validate:: 25043 composer@2.1-s-593 ( 593) [000] ...1 1034722.228251: tracing_mark_write: E|593 25044 composer@2.1-s-593 ( 593) [000] ...1 1034722.228271: tracing_mark_write: E|593 25045 composer@2.1-s-593 ( 593) [000] ...1 1034722.228293: tracing_mark_write: E|593 25046 surfaceflinger-591 ( 591) [001] ...1 1034722.228367: tracing_mark_write: E|591 25047 surfaceflinger-591 ( 591) [001] ...1 1034722.228452: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 25048 composer@2.1-s-593 ( 593) [000] ...1 1034722.228504: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 25049 composer@2.1-s-593 ( 593) [000] ...1 1034722.228516: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 25050 composer@2.1-s-593 ( 593) [000] ...1 1034722.228529: tracing_mark_write: B|593|HWDevice::Commit:: 25051 composer@2.1-s-593 ( 593) [000] ...1 1034722.228630: tracing_mark_write: E|593 25052 composer@2.1-s-593 ( 593) [000] ...1 1034722.228653: tracing_mark_write: E|593 25053 composer@2.1-s-593 ( 593) [000] ...1 1034722.228679: tracing_mark_write: E|593 25054 surfaceflinger-591 ( 591) [001] ...1 1034722.228738: tracing_mark_write: E|591 25055 surfaceflinger-591 ( 591) [003] ...1 1034722.244194: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 25056 composer@2.1-s-593 ( 593) [000] ...1 1034722.244309: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 25057 composer@2.1-s-593 ( 593) [000] ...1 1034722.244385: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 25058 composer@2.1-s-593 ( 593) [000] ...1 1034722.244396: tracing_mark_write: E|593 25059 composer@2.1-s-593 ( 593) [000] ...1 1034722.244400: tracing_mark_write: B|593|HWCSession::ValidateDisplay:: 25060 composer@2.1-s-593 ( 593) [000] ...1 1034722.244654: tracing_mark_write: B|593|HWDevice::Validate:: 25061 composer@2.1-s-593 ( 593) [000] ...1 1034722.244720: tracing_mark_write: E|593 25062 composer@2.1-s-593 ( 593) [000] ...1 1034722.244740: tracing_mark_write: E|593 25063 composer@2.1-s-593 ( 593) [000] ...1 1034722.244761: tracing_mark_write: E|593 25064 surfaceflinger-591 ( 591) [003] ...1 1034722.244822: tracing_mark_write: E|591 25065 surfaceflinger-591 ( 591) [003] ...1 1034722.244896: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 25066 composer@2.1-s-593 ( 593) [000] ...1 1034722.244943: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 25067 composer@2.1-s-593 ( 593) [000] ...1 1034722.244955: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 25068 composer@2.1-s-593 ( 593) [000] ...1 1034722.244966: tracing_mark_write: B|593|HWDevice::Commit:: 25069 composer@2.1-s-593 ( 593) [000] ...1 1034722.245062: tracing_mark_write: E|593 25070 composer@2.1-s-593 ( 593) [000] ...1 1034722.245082: tracing_mark_write: E|593 25071 composer@2.1-s-593 ( 593) [000] ...1 1034722.245104: tracing_mark_write: E|593 25072 surfaceflinger-591 ( 591) [003] ...1 1034722.245149: tracing_mark_write: E|591 25073 surfaceflinger-591 ( 591) [003] ...1 1034722.245357: tracing_mark_write: B|591|HIDL::IComposerClient::getActiveConfig::client 25074 composer@2.1-s-593 ( 593) [000] ...1 1034722.245395: tracing_mark_write: B|593|HIDL::IComposerClient::getActiveConfig::server 25075 composer@2.1-s-593 ( 593) [000] ...1 1034722.245402: tracing_mark_write: E|593 25076 surfaceflinger-591 ( 591) [003] ...1 1034722.245428: tracing_mark_write: E|591 25077 Binder:591_3-1218 ( 591) [006] ...1 1034722.246522: tracing_mark_write: B|591|HIDL::IMapper::createDescriptor::passthrough 25078 Binder:591_3-1218 ( 591) [006] ...1 1034722.246529: tracing_mark_write: E|591 25079 Binder:591_3-1218 ( 591) [006] ...1 1034722.246558: tracing_mark_write: B|591|HIDL::IAllocator::allocate::client 25080 HwBinder:595_3-1779 ( 595) [006] ...1 1034722.246630: tracing_mark_write: B|595|HIDL::IAllocator::allocate::server 25081 HwBinder:595_3-1779 ( 595) [006] ...1 1034722.246650: tracing_mark_write: B|595|AllocBuffer 25082 HwBinder:595_3-1779 ( 595) [006] ...1 1034722.246657: tracing_mark_write: B|595|ION_IOC_ALLOC size: 8355840 25083 HwBinder:595_3-1779 ( 595) [006] ...1 1034722.246743: tracing_mark_write: E|595 25084 HwBinder:595_3-1779 ( 595) [006] ...1 1034722.246744: tracing_mark_write: B|595|ION_IOC_MAP 25085 HwBinder:595_3-1779 ( 595) [006] ...1 1034722.246753: tracing_mark_write: E|595 25086 HwBinder:595_3-1779 ( 595) [006] ...1 1034722.246756: tracing_mark_write: E|595 25087 HwBinder:595_3-1779 ( 595) [006] ...1 1034722.246758: tracing_mark_write: B|595|AllocBuffer 25088 HwBinder:595_3-1779 ( 595) [006] ...1 1034722.246760: tracing_mark_write: B|595|ION_IOC_ALLOC size: 4096 25089 HwBinder:595_3-1779 ( 595) [006] ...1 1034722.246765: tracing_mark_write: E|595 25090 HwBinder:595_3-1779 ( 595) [006] ...1 1034722.246766: tracing_mark_write: B|595|ION_IOC_MAP 25091 HwBinder:595_3-1779 ( 595) [006] ...1 1034722.246769: tracing_mark_write: E|595 25092 HwBinder:595_3-1779 ( 595) [006] ...1 1034722.246770: tracing_mark_write: E|595 25093 HwBinder:595_3-1779 ( 595) [006] ...1 1034722.246796: tracing_mark_write: E|595 25094 Binder:591_3-1218 ( 591) [006] ...1 1034722.246844: tracing_mark_write: B|591|HIDL::IMapper::importBuffer::passthrough 25095 Binder:591_3-1218 ( 591) [006] ...1 1034722.246864: tracing_mark_write: E|591 25096 Binder:591_3-1218 ( 591) [006] ...1 1034722.246867: tracing_mark_write: E|591 25097 Binder:591_3-1218 ( 591) [006] ...1 1034722.246883: tracing_mark_write: B|591|HIDL::IMapper::createDescriptor::passthrough 25098 Binder:591_3-1218 ( 591) [006] ...1 1034722.246886: tracing_mark_write: E|591 25099 Binder:591_3-1218 ( 591) [006] ...1 1034722.246889: tracing_mark_write: B|591|HIDL::IAllocator::allocate::client 25100 allocator@2.0--595 ( 595) [006] ...1 1034722.246919: tracing_mark_write: B|595|HIDL::IAllocator::allocate::server 25101 allocator@2.0--595 ( 595) [006] ...1 1034722.246927: tracing_mark_write: B|595|AllocBuffer 25102 allocator@2.0--595 ( 595) [006] ...1 1034722.246929: tracing_mark_write: B|595|ION_IOC_ALLOC size: 8355840 25103 allocator@2.0--595 ( 595) [006] ...1 1034722.246993: tracing_mark_write: E|595 25104 allocator@2.0--595 ( 595) [006] ...1 1034722.246994: tracing_mark_write: B|595|ION_IOC_MAP 25105 allocator@2.0--595 ( 595) [006] ...1 1034722.246998: tracing_mark_write: E|595 25106 allocator@2.0--595 ( 595) [006] ...1 1034722.247001: tracing_mark_write: E|595 25107 allocator@2.0--595 ( 595) [006] ...1 1034722.247002: tracing_mark_write: B|595|AllocBuffer 25108 allocator@2.0--595 ( 595) [006] ...1 1034722.247004: tracing_mark_write: B|595|ION_IOC_ALLOC size: 4096 25109 allocator@2.0--595 ( 595) [006] ...1 1034722.247007: tracing_mark_write: E|595 25110 allocator@2.0--595 ( 595) [006] ...1 1034722.247008: tracing_mark_write: B|595|ION_IOC_MAP 25111 allocator@2.0--595 ( 595) [006] ...1 1034722.247011: tracing_mark_write: E|595 25112 allocator@2.0--595 ( 595) [006] ...1 1034722.247012: tracing_mark_write: E|595 25113 allocator@2.0--595 ( 595) [006] ...1 1034722.247025: tracing_mark_write: E|595 25114 allocator@2.0--595 ( 595) [006] ...1 1034722.247041: tracing_mark_write: B|595|FreeBuffer 25115 allocator@2.0--595 ( 595) [006] ...1 1034722.247047: tracing_mark_write: E|595 25116 allocator@2.0--595 ( 595) [006] ...1 1034722.247048: tracing_mark_write: B|595|FreeBuffer 25117 allocator@2.0--595 ( 595) [006] ...1 1034722.247049: tracing_mark_write: B|595|UnmapBuffer 25118 allocator@2.0--595 ( 595) [006] ...1 1034722.247056: tracing_mark_write: E|595 25119 allocator@2.0--595 ( 595) [006] ...1 1034722.247059: tracing_mark_write: E|595 25120 Binder:591_3-1218 ( 591) [006] ...1 1034722.247076: tracing_mark_write: B|591|HIDL::IMapper::importBuffer::passthrough 25121 Binder:591_3-1218 ( 591) [006] ...1 1034722.247087: tracing_mark_write: E|591 25122 Binder:591_3-1218 ( 591) [006] ...1 1034722.247089: tracing_mark_write: E|591 25123 Binder:591_3-1218 ( 591) [006] ...1 1034722.247102: tracing_mark_write: B|591|HIDL::IMapper::createDescriptor::passthrough 25124 Binder:591_3-1218 ( 591) [006] ...1 1034722.247104: tracing_mark_write: E|591 25125 Binder:591_3-1218 ( 591) [006] ...1 1034722.247107: tracing_mark_write: B|591|HIDL::IAllocator::allocate::client 25126 HwBinder:595_3-1779 ( 595) [006] ...1 1034722.247126: tracing_mark_write: B|595|FreeBuffer 25127 HwBinder:595_3-1779 ( 595) [006] ...1 1034722.247129: tracing_mark_write: E|595 25128 HwBinder:595_3-1779 ( 595) [006] ...1 1034722.247130: tracing_mark_write: B|595|FreeBuffer 25129 HwBinder:595_3-1779 ( 595) [006] ...1 1034722.247131: tracing_mark_write: B|595|UnmapBuffer 25130 HwBinder:595_3-1779 ( 595) [006] ...1 1034722.247135: tracing_mark_write: E|595 25131 HwBinder:595_3-1779 ( 595) [006] ...1 1034722.247138: tracing_mark_write: E|595 25132 allocator@2.0--595 ( 595) [006] ...1 1034722.247152: tracing_mark_write: B|595|HIDL::IAllocator::allocate::server 25133 allocator@2.0--595 ( 595) [006] ...1 1034722.247156: tracing_mark_write: B|595|AllocBuffer 25134 allocator@2.0--595 ( 595) [006] ...1 1034722.247158: tracing_mark_write: B|595|ION_IOC_ALLOC size: 8355840 25135 allocator@2.0--595 ( 595) [006] ...1 1034722.247229: tracing_mark_write: E|595 25136 allocator@2.0--595 ( 595) [006] ...1 1034722.247231: tracing_mark_write: B|595|ION_IOC_MAP 25137 allocator@2.0--595 ( 595) [006] ...1 1034722.247234: tracing_mark_write: E|595 25138 allocator@2.0--595 ( 595) [006] ...1 1034722.247236: tracing_mark_write: E|595 25139 allocator@2.0--595 ( 595) [006] ...1 1034722.247237: tracing_mark_write: B|595|AllocBuffer 25140 allocator@2.0--595 ( 595) [006] ...1 1034722.247239: tracing_mark_write: B|595|ION_IOC_ALLOC size: 4096 25141 allocator@2.0--595 ( 595) [006] ...1 1034722.247242: tracing_mark_write: E|595 25142 allocator@2.0--595 ( 595) [006] ...1 1034722.247243: tracing_mark_write: B|595|ION_IOC_MAP 25143 allocator@2.0--595 ( 595) [006] ...1 1034722.247246: tracing_mark_write: E|595 25144 allocator@2.0--595 ( 595) [006] ...1 1034722.247248: tracing_mark_write: E|595 25145 allocator@2.0--595 ( 595) [006] ...1 1034722.247257: tracing_mark_write: E|595 25146 Binder:591_3-1218 ( 591) [006] ...1 1034722.247275: tracing_mark_write: B|591|HIDL::IMapper::importBuffer::passthrough 25147 Binder:591_3-1218 ( 591) [006] ...1 1034722.247286: tracing_mark_write: E|591 25148 Binder:591_3-1218 ( 591) [006] ...1 1034722.247288: tracing_mark_write: E|591 25149 allocator@2.0--595 ( 595) [006] ...1 1034722.247380: tracing_mark_write: B|595|FreeBuffer 25150 allocator@2.0--595 ( 595) [006] ...1 1034722.247383: tracing_mark_write: E|595 25151 allocator@2.0--595 ( 595) [006] ...1 1034722.247385: tracing_mark_write: B|595|FreeBuffer 25152 allocator@2.0--595 ( 595) [006] ...1 1034722.247386: tracing_mark_write: B|595|UnmapBuffer 25153 allocator@2.0--595 ( 595) [006] ...1 1034722.247390: tracing_mark_write: E|595 25154 allocator@2.0--595 ( 595) [006] ...1 1034722.247392: tracing_mark_write: E|595 25155 Binder:591_5-1775 ( 591) [005] ...1 1034722.256972: tracing_mark_write: B|591|HIDL::IMapper::freeBuffer::passthrough 25156 Binder:591_5-1775 ( 591) [005] ...1 1034722.256982: tracing_mark_write: B|591|FreeBuffer 25157 Binder:591_5-1775 ( 591) [005] ...1 1034722.257005: tracing_mark_write: E|591 25158 Binder:591_5-1775 ( 591) [005] ...1 1034722.257006: tracing_mark_write: B|591|FreeBuffer 25159 Binder:591_5-1775 ( 591) [005] ...1 1034722.257011: tracing_mark_write: E|591 25160 Binder:591_5-1775 ( 591) [005] ...1 1034722.257018: tracing_mark_write: E|591 25161 Binder:591_5-1775 ( 591) [005] ...1 1034722.257029: tracing_mark_write: B|591|HIDL::IMapper::createDescriptor::passthrough 25162 Binder:591_5-1775 ( 591) [005] ...1 1034722.257032: tracing_mark_write: E|591 25163 Binder:591_5-1775 ( 591) [005] ...1 1034722.257036: tracing_mark_write: B|591|HIDL::IAllocator::allocate::client 25164 allocator@2.0--595 ( 595) [005] ...1 1034722.257072: tracing_mark_write: B|595|HIDL::IAllocator::allocate::server 25165 allocator@2.0--595 ( 595) [005] ...1 1034722.257083: tracing_mark_write: B|595|AllocBuffer 25166 allocator@2.0--595 ( 595) [005] ...1 1034722.257086: tracing_mark_write: B|595|ION_IOC_ALLOC size: 8417280 25167 allocator@2.0--595 ( 595) [005] ...1 1034722.257157: tracing_mark_write: E|595 25168 allocator@2.0--595 ( 595) [005] ...1 1034722.257159: tracing_mark_write: B|595|ION_IOC_MAP 25169 allocator@2.0--595 ( 595) [005] ...1 1034722.257165: tracing_mark_write: E|595 25170 allocator@2.0--595 ( 595) [005] ...1 1034722.257166: tracing_mark_write: E|595 25171 allocator@2.0--595 ( 595) [005] ...1 1034722.257167: tracing_mark_write: B|595|AllocBuffer 25172 allocator@2.0--595 ( 595) [005] ...1 1034722.257169: tracing_mark_write: B|595|ION_IOC_ALLOC size: 4096 25173 allocator@2.0--595 ( 595) [005] ...1 1034722.257174: tracing_mark_write: E|595 25174 allocator@2.0--595 ( 595) [005] ...1 1034722.257174: tracing_mark_write: B|595|ION_IOC_MAP 25175 allocator@2.0--595 ( 595) [005] ...1 1034722.257178: tracing_mark_write: E|595 25176 allocator@2.0--595 ( 595) [005] ...1 1034722.257179: tracing_mark_write: E|595 25177 allocator@2.0--595 ( 595) [005] ...1 1034722.257198: tracing_mark_write: E|595 25178 allocator@2.0--595 ( 595) [005] ...1 1034722.257216: tracing_mark_write: B|595|FreeBuffer 25179 allocator@2.0--595 ( 595) [005] ...1 1034722.257220: tracing_mark_write: E|595 25180 allocator@2.0--595 ( 595) [005] ...1 1034722.257221: tracing_mark_write: B|595|FreeBuffer 25181 allocator@2.0--595 ( 595) [005] ...1 1034722.257222: tracing_mark_write: B|595|UnmapBuffer 25182 allocator@2.0--595 ( 595) [005] ...1 1034722.257228: tracing_mark_write: E|595 25183 allocator@2.0--595 ( 595) [005] ...1 1034722.257231: tracing_mark_write: E|595 25184 Binder:591_5-1775 ( 591) [005] ...1 1034722.257253: tracing_mark_write: B|591|HIDL::IMapper::importBuffer::passthrough 25185 Binder:591_5-1775 ( 591) [005] ...1 1034722.257267: tracing_mark_write: E|591 25186 Binder:591_5-1775 ( 591) [005] ...1 1034722.257270: tracing_mark_write: E|591 25187 RenderThread-2506 ( 2279) [005] ...1 1034722.257390: tracing_mark_write: B|2279|HIDL::IMapper::importBuffer::passthrough 25188 RenderThread-2506 ( 2279) [005] ...1 1034722.257410: tracing_mark_write: E|2279 25189 surfaceflinger-591 ( 591) [000] ...1 1034722.261031: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 25190 composer@2.1-s-593 ( 593) [001] ...1 1034722.261144: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 25191 composer@2.1-s-593 ( 593) [001] ...1 1034722.261219: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 25192 composer@2.1-s-593 ( 593) [001] ...1 1034722.261228: tracing_mark_write: E|593 25193 composer@2.1-s-593 ( 593) [001] ...1 1034722.261233: tracing_mark_write: B|593|HWCSession::ValidateDisplay:: 25194 composer@2.1-s-593 ( 593) [001] ...1 1034722.261485: tracing_mark_write: B|593|HWDevice::Validate:: 25195 composer@2.1-s-593 ( 593) [001] ...1 1034722.261553: tracing_mark_write: E|593 25196 composer@2.1-s-593 ( 593) [001] ...1 1034722.261572: tracing_mark_write: E|593 25197 composer@2.1-s-593 ( 593) [001] ...1 1034722.261593: tracing_mark_write: E|593 25198 surfaceflinger-591 ( 591) [000] ...1 1034722.261665: tracing_mark_write: E|591 25199 surfaceflinger-591 ( 591) [000] ...1 1034722.261751: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 25200 composer@2.1-s-593 ( 593) [001] ...1 1034722.261798: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 25201 composer@2.1-s-593 ( 593) [001] ...1 1034722.261809: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 25202 composer@2.1-s-593 ( 593) [001] ...1 1034722.261821: tracing_mark_write: B|593|HWDevice::Commit:: 25203 composer@2.1-s-593 ( 593) [001] ...1 1034722.261907: tracing_mark_write: E|593 25204 composer@2.1-s-593 ( 593) [001] ...1 1034722.261927: tracing_mark_write: E|593 25205 composer@2.1-s-593 ( 593) [001] ...1 1034722.261949: tracing_mark_write: E|593 25206 surfaceflinger-591 ( 591) [000] ...1 1034722.261996: tracing_mark_write: E|591 25207 Binder:1151_16-25177 ( 1151) [006] ...1 1034722.262213: tracing_mark_write: B|1151|HIDL::ISensors::batch::client 25208 surfaceflinger-591 ( 591) [000] ...1 1034722.262224: tracing_mark_write: B|591|HIDL::IComposerClient::getActiveConfig::client 25209 composer@2.1-s-593 ( 593) [001] ...1 1034722.262264: tracing_mark_write: B|593|HIDL::IComposerClient::getActiveConfig::server 25210 composer@2.1-s-593 ( 593) [001] ...1 1034722.262272: tracing_mark_write: E|593 25211 sensors@1.0-se-778 ( 778) [007] ...1 1034722.262278: tracing_mark_write: B|778|HIDL::ISensors::batch::server 25212 surfaceflinger-591 ( 591) [000] ...1 1034722.262297: tracing_mark_write: E|591 25213 sensors@1.0-se-778 ( 778) [007] ...1 1034722.262302: tracing_mark_write: E|778 25214 Binder:1151_16-25177 ( 1151) [006] ...1 1034722.262339: tracing_mark_write: E|1151 25215 Binder:1151_16-25177 ( 1151) [006] ...1 1034722.262347: tracing_mark_write: B|1151|HIDL::ISensors::activate::client 25216 sensors@1.0-se-778 ( 778) [007] ...1 1034722.262368: tracing_mark_write: B|778|HIDL::ISensors::activate::server 25217 surfaceflinger-591 ( 591) [000] ...1 1034722.263315: tracing_mark_write: B|591|HIDL::IComposerClient::getActiveConfig::client 25218 composer@2.1-s-593 ( 593) [001] ...1 1034722.263354: tracing_mark_write: B|593|HIDL::IComposerClient::getActiveConfig::server 25219 composer@2.1-s-593 ( 593) [001] ...1 1034722.263361: tracing_mark_write: E|593 25220 surfaceflinger-591 ( 591) [000] ...1 1034722.263387: tracing_mark_write: E|591 25221 sensors@1.0-se-778 ( 778) [007] ...1 1034722.263575: tracing_mark_write: E|778 25222 Binder:1151_16-25177 ( 1151) [007] ...1 1034722.263604: tracing_mark_write: E|1151 25223 Binder:591_3-1218 ( 591) [001] ...1 1034722.264691: tracing_mark_write: B|591|HIDL::IMapper::createDescriptor::passthrough 25224 Binder:591_3-1218 ( 591) [001] ...1 1034722.264704: tracing_mark_write: E|591 25225 Binder:591_3-1218 ( 591) [001] ...1 1034722.264717: tracing_mark_write: B|591|HIDL::IAllocator::allocate::client 25226 allocator@2.0--595 ( 595) [001] ...1 1034722.264806: tracing_mark_write: B|595|HIDL::IAllocator::allocate::server 25227 allocator@2.0--595 ( 595) [001] ...1 1034722.264834: tracing_mark_write: B|595|AllocBuffer 25228 allocator@2.0--595 ( 595) [001] ...1 1034722.264843: tracing_mark_write: B|595|ION_IOC_ALLOC size: 8355840 25229 allocator@2.0--595 ( 595) [001] ...1 1034722.264971: tracing_mark_write: E|595 25230 allocator@2.0--595 ( 595) [001] ...1 1034722.264974: tracing_mark_write: B|595|ION_IOC_MAP 25231 allocator@2.0--595 ( 595) [001] ...1 1034722.264991: tracing_mark_write: E|595 25232 allocator@2.0--595 ( 595) [001] ...1 1034722.264995: tracing_mark_write: E|595 25233 allocator@2.0--595 ( 595) [001] ...1 1034722.264997: tracing_mark_write: B|595|AllocBuffer 25234 allocator@2.0--595 ( 595) [001] ...1 1034722.265001: tracing_mark_write: B|595|ION_IOC_ALLOC size: 4096 25235 allocator@2.0--595 ( 595) [001] ...1 1034722.265008: tracing_mark_write: E|595 25236 allocator@2.0--595 ( 595) [001] ...1 1034722.265010: tracing_mark_write: B|595|ION_IOC_MAP 25237 allocator@2.0--595 ( 595) [001] ...1 1034722.265016: tracing_mark_write: E|595 25238 allocator@2.0--595 ( 595) [001] ...1 1034722.265019: tracing_mark_write: E|595 25239 allocator@2.0--595 ( 595) [001] ...1 1034722.265067: tracing_mark_write: E|595 25240 Binder:591_3-1218 ( 591) [001] ...1 1034722.265118: tracing_mark_write: B|591|HIDL::IMapper::importBuffer::passthrough 25241 Binder:591_3-1218 ( 591) [001] ...1 1034722.265144: tracing_mark_write: E|591 25242 Binder:591_3-1218 ( 591) [001] ...1 1034722.265148: tracing_mark_write: E|591 25243 allocator@2.0--595 ( 595) [001] ...1 1034722.265227: tracing_mark_write: B|595|FreeBuffer 25244 allocator@2.0--595 ( 595) [001] ...1 1034722.265236: tracing_mark_write: E|595 25245 allocator@2.0--595 ( 595) [001] ...1 1034722.265238: tracing_mark_write: B|595|FreeBuffer 25246 allocator@2.0--595 ( 595) [001] ...1 1034722.265241: tracing_mark_write: B|595|UnmapBuffer 25247 allocator@2.0--595 ( 595) [001] ...1 1034722.265259: tracing_mark_write: E|595 25248 allocator@2.0--595 ( 595) [001] ...1 1034722.265266: tracing_mark_write: E|595 25249 android.anim-1277 ( 1151) [004] ...1 1034722.268271: tracing_mark_write: B|1151|HIDL::IMapper::importBuffer::passthrough 25250 android.anim-1277 ( 1151) [004] ...1 1034722.268330: tracing_mark_write: E|1151 25251 Binder:2279_3-2325 ( 2279) [005] ...1 1034722.276786: tracing_mark_write: B|2279|HIDL::IMapper::importBuffer::passthrough 25252 Binder:2279_3-2325 ( 2279) [005] ...1 1034722.276825: tracing_mark_write: E|2279 25253 Binder:591_5-1775 ( 591) [001] ...1 1034722.276866: tracing_mark_write: B|591|HIDL::IMapper::createDescriptor::passthrough 25254 Binder:591_5-1775 ( 591) [001] ...1 1034722.276876: tracing_mark_write: E|591 25255 Binder:591_5-1775 ( 591) [001] ...1 1034722.276888: tracing_mark_write: B|591|HIDL::IAllocator::allocate::client 25256 allocator@2.0--595 ( 595) [001] ...1 1034722.276970: tracing_mark_write: B|595|HIDL::IAllocator::allocate::server 25257 allocator@2.0--595 ( 595) [001] ...1 1034722.277005: tracing_mark_write: B|595|AllocBuffer 25258 Binder:1469_2-1492 ( 1469) [007] ...1 1034722.277013: tracing_mark_write: B|1469|HIDL::IMapper::importBuffer::passthrough 25259 allocator@2.0--595 ( 595) [001] ...1 1034722.277014: tracing_mark_write: B|595|ION_IOC_ALLOC size: 4485120 25260 Binder:1469_2-1492 ( 1469) [007] ...1 1034722.277087: tracing_mark_write: E|1469 25261 Binder:1469_5-1995 ( 1469) [007] ...1 1034722.277310: tracing_mark_write: B|1469|HIDL::IMapper::importBuffer::passthrough 25262 allocator@2.0--595 ( 595) [001] ...1 1034722.277313: tracing_mark_write: E|595 25263 allocator@2.0--595 ( 595) [001] ...1 1034722.277317: tracing_mark_write: B|595|ION_IOC_MAP 25264 Binder:1469_5-1995 ( 1469) [007] ...1 1034722.277330: tracing_mark_write: E|1469 25265 allocator@2.0--595 ( 595) [001] ...1 1034722.277331: tracing_mark_write: E|595 25266 allocator@2.0--595 ( 595) [001] ...1 1034722.277335: tracing_mark_write: E|595 25267 allocator@2.0--595 ( 595) [001] ...1 1034722.277339: tracing_mark_write: B|595|AllocBuffer 25268 allocator@2.0--595 ( 595) [001] ...1 1034722.277343: tracing_mark_write: B|595|ION_IOC_ALLOC size: 4096 25269 allocator@2.0--595 ( 595) [001] ...1 1034722.277352: tracing_mark_write: E|595 25270 allocator@2.0--595 ( 595) [001] ...1 1034722.277355: tracing_mark_write: B|595|ION_IOC_MAP 25271 allocator@2.0--595 ( 595) [001] ...1 1034722.277362: tracing_mark_write: E|595 25272 allocator@2.0--595 ( 595) [001] ...1 1034722.277365: tracing_mark_write: E|595 25273 allocator@2.0--595 ( 595) [001] ...1 1034722.277415: tracing_mark_write: E|595 25274 allocator@2.0--595 ( 595) [001] ...1 1034722.277442: tracing_mark_write: B|595|FreeBuffer 25275 allocator@2.0--595 ( 595) [001] ...1 1034722.277450: tracing_mark_write: E|595 25276 allocator@2.0--595 ( 595) [001] ...1 1034722.277453: tracing_mark_write: B|595|FreeBuffer 25277 allocator@2.0--595 ( 595) [001] ...1 1034722.277455: tracing_mark_write: B|595|UnmapBuffer 25278 allocator@2.0--595 ( 595) [001] ...1 1034722.277470: tracing_mark_write: E|595 25279 allocator@2.0--595 ( 595) [001] ...1 1034722.277476: tracing_mark_write: E|595 25280 Binder:591_5-1775 ( 591) [001] ...1 1034722.277534: tracing_mark_write: B|591|HIDL::IMapper::importBuffer::passthrough 25281 Binder:591_5-1775 ( 591) [001] ...1 1034722.277560: tracing_mark_write: E|591 25282 Binder:591_5-1775 ( 591) [001] ...1 1034722.277566: tracing_mark_write: E|591 25283 GLThread 36-1854 ( 1529) [001] ...1 1034722.277784: tracing_mark_write: B|1529|HIDL::IMapper::importBuffer::passthrough 25284 GLThread 36-1854 ( 1529) [001] ...1 1034722.277819: tracing_mark_write: E|1529 25285 surfaceflinger-591 ( 591) [003] ...1 1034722.277968: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 25286 composer@2.1-s-593 ( 593) [001] ...1 1034722.278067: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 25287 composer@2.1-s-593 ( 593) [001] ...1 1034722.278154: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 25288 composer@2.1-s-593 ( 593) [001] ...1 1034722.278163: tracing_mark_write: E|593 25289 composer@2.1-s-593 ( 593) [001] ...1 1034722.278167: tracing_mark_write: B|593|HWCSession::ValidateDisplay:: 25290 composer@2.1-s-593 ( 593) [001] ...1 1034722.278425: tracing_mark_write: B|593|HWDevice::Validate:: 25291 composer@2.1-s-593 ( 593) [001] ...1 1034722.278494: tracing_mark_write: E|593 25292 composer@2.1-s-593 ( 593) [001] ...1 1034722.278513: tracing_mark_write: E|593 25293 composer@2.1-s-593 ( 593) [001] ...1 1034722.278532: tracing_mark_write: E|593 25294 surfaceflinger-591 ( 591) [003] ...1 1034722.278590: tracing_mark_write: E|591 25295 surfaceflinger-591 ( 591) [003] ...1 1034722.278666: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 25296 composer@2.1-s-593 ( 593) [001] ...1 1034722.278710: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 25297 composer@2.1-s-593 ( 593) [001] ...1 1034722.278720: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 25298 composer@2.1-s-593 ( 593) [001] ...1 1034722.278733: tracing_mark_write: B|593|HWDevice::Commit:: 25299 composer@2.1-s-593 ( 593) [001] ...1 1034722.278826: tracing_mark_write: E|593 25300 composer@2.1-s-593 ( 593) [001] ...1 1034722.278845: tracing_mark_write: E|593 25301 composer@2.1-s-593 ( 593) [001] ...1 1034722.278864: tracing_mark_write: E|593 25302 surfaceflinger-591 ( 591) [003] ...1 1034722.278909: tracing_mark_write: E|591 25303 Binder:591_2-624 ( 591) [005] ...1 1034722.290504: tracing_mark_write: B|591|HIDL::IMapper::freeBuffer::passthrough 25304 Binder:591_2-624 ( 591) [005] ...1 1034722.290523: tracing_mark_write: B|591|FreeBuffer 25305 Binder:591_2-624 ( 591) [005] ...1 1034722.290562: tracing_mark_write: E|591 25306 Binder:591_2-624 ( 591) [005] ...1 1034722.290565: tracing_mark_write: B|591|FreeBuffer 25307 Binder:591_2-624 ( 591) [005] ...1 1034722.290576: tracing_mark_write: E|591 25308 Binder:591_2-624 ( 591) [005] ...1 1034722.290581: tracing_mark_write: E|591 25309 Binder:591_2-624 ( 591) [005] ...1 1034722.290600: tracing_mark_write: B|591|HIDL::IMapper::createDescriptor::passthrough 25310 Binder:591_2-624 ( 591) [005] ...1 1034722.290604: tracing_mark_write: E|591 25311 Binder:591_2-624 ( 591) [005] ...1 1034722.290614: tracing_mark_write: B|591|HIDL::IAllocator::allocate::client 25312 allocator@2.0--595 ( 595) [005] ...1 1034722.290693: tracing_mark_write: B|595|HIDL::IAllocator::allocate::server 25313 allocator@2.0--595 ( 595) [005] ...1 1034722.290722: tracing_mark_write: B|595|AllocBuffer 25314 allocator@2.0--595 ( 595) [005] ...1 1034722.290731: tracing_mark_write: B|595|ION_IOC_ALLOC size: 8417280 25315 allocator@2.0--595 ( 595) [005] ...1 1034722.292872: tracing_mark_write: E|595 25316 allocator@2.0--595 ( 595) [005] ...1 1034722.292876: tracing_mark_write: B|595|ION_IOC_MAP 25317 allocator@2.0--595 ( 595) [005] ...1 1034722.292891: tracing_mark_write: E|595 25318 allocator@2.0--595 ( 595) [005] ...1 1034722.292896: tracing_mark_write: E|595 25319 allocator@2.0--595 ( 595) [005] ...1 1034722.292899: tracing_mark_write: B|595|AllocBuffer 25320 allocator@2.0--595 ( 595) [005] ...1 1034722.292904: tracing_mark_write: B|595|ION_IOC_ALLOC size: 4096 25321 allocator@2.0--595 ( 595) [005] ...1 1034722.292913: tracing_mark_write: E|595 25322 allocator@2.0--595 ( 595) [005] ...1 1034722.292915: tracing_mark_write: B|595|ION_IOC_MAP 25323 allocator@2.0--595 ( 595) [005] ...1 1034722.292922: tracing_mark_write: E|595 25324 allocator@2.0--595 ( 595) [005] ...1 1034722.292925: tracing_mark_write: E|595 25325 allocator@2.0--595 ( 595) [005] ...1 1034722.292969: tracing_mark_write: E|595 25326 allocator@2.0--595 ( 595) [005] ...1 1034722.293017: tracing_mark_write: B|595|FreeBuffer 25327 allocator@2.0--595 ( 595) [005] ...1 1034722.293025: tracing_mark_write: E|595 25328 allocator@2.0--595 ( 595) [005] ...1 1034722.293027: tracing_mark_write: B|595|FreeBuffer 25329 allocator@2.0--595 ( 595) [005] ...1 1034722.293030: tracing_mark_write: B|595|UnmapBuffer 25330 allocator@2.0--595 ( 595) [005] ...1 1034722.293043: tracing_mark_write: E|595 25331 allocator@2.0--595 ( 595) [005] ...1 1034722.293049: tracing_mark_write: E|595 25332 Binder:591_2-624 ( 591) [005] ...1 1034722.293110: tracing_mark_write: B|591|HIDL::IMapper::importBuffer::passthrough 25333 Binder:591_2-624 ( 591) [005] ...1 1034722.293140: tracing_mark_write: E|591 25334 Binder:591_2-624 ( 591) [005] ...1 1034722.293145: tracing_mark_write: E|591 25335 RenderThread-2506 ( 2279) [005] ...1 1034722.293404: tracing_mark_write: B|2279|HIDL::IMapper::importBuffer::passthrough 25336 RenderThread-2506 ( 2279) [005] ...1 1034722.293432: tracing_mark_write: E|2279 25337 surfaceflinger-591 ( 591) [000] ...1 1034722.294754: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 25338 composer@2.1-s-593 ( 593) [001] ...1 1034722.294863: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 25339 composer@2.1-s-593 ( 593) [001] ...1 1034722.294937: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 25340 composer@2.1-s-593 ( 593) [001] ...1 1034722.294946: tracing_mark_write: E|593 25341 composer@2.1-s-593 ( 593) [001] ...1 1034722.294951: tracing_mark_write: B|593|HWCSession::ValidateDisplay:: 25342 composer@2.1-s-593 ( 593) [001] ...1 1034722.295206: tracing_mark_write: B|593|HWDevice::Validate:: 25343 composer@2.1-s-593 ( 593) [001] ...1 1034722.295273: tracing_mark_write: E|593 25344 composer@2.1-s-593 ( 593) [001] ...1 1034722.295294: tracing_mark_write: E|593 25345 composer@2.1-s-593 ( 593) [001] ...1 1034722.295315: tracing_mark_write: E|593 25346 surfaceflinger-591 ( 591) [000] ...1 1034722.295375: tracing_mark_write: E|591 25347 surfaceflinger-591 ( 591) [000] ...1 1034722.295444: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 25348 composer@2.1-s-593 ( 593) [001] ...1 1034722.295487: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 25349 composer@2.1-s-593 ( 593) [001] ...1 1034722.295496: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 25350 composer@2.1-s-593 ( 593) [001] ...1 1034722.295508: tracing_mark_write: B|593|HWDevice::Commit:: 25351 composer@2.1-s-593 ( 593) [001] ...1 1034722.295597: tracing_mark_write: E|593 25352 composer@2.1-s-593 ( 593) [001] ...1 1034722.295616: tracing_mark_write: E|593 25353 composer@2.1-s-593 ( 593) [001] ...1 1034722.295637: tracing_mark_write: E|593 25354 surfaceflinger-591 ( 591) [000] ...1 1034722.295679: tracing_mark_write: E|591 25355 surfaceflinger-591 ( 591) [000] ...1 1034722.312557: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 25356 composer@2.1-s-593 ( 593) [001] ...1 1034722.312719: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 25357 composer@2.1-s-593 ( 593) [001] ...1 1034722.312840: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 25358 composer@2.1-s-593 ( 593) [001] ...1 1034722.312856: tracing_mark_write: E|593 25359 composer@2.1-s-593 ( 593) [001] ...1 1034722.312866: tracing_mark_write: B|593|HWCSession::ValidateDisplay:: 25360 composer@2.1-s-593 ( 593) [001] ...1 1034722.313342: tracing_mark_write: B|593|HWDevice::Validate:: 25361 composer@2.1-s-593 ( 593) [001] ...1 1034722.313448: tracing_mark_write: E|593 25362 composer@2.1-s-593 ( 593) [001] ...1 1034722.313483: tracing_mark_write: E|593 25363 composer@2.1-s-593 ( 593) [001] ...1 1034722.313514: tracing_mark_write: E|593 25364 surfaceflinger-591 ( 591) [000] ...1 1034722.313610: tracing_mark_write: E|591 25365 surfaceflinger-591 ( 591) [000] ...1 1034722.313728: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 25366 composer@2.1-s-593 ( 593) [001] ...1 1034722.313812: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 25367 composer@2.1-s-593 ( 593) [001] ...1 1034722.313831: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 25368 composer@2.1-s-593 ( 593) [001] ...1 1034722.313852: tracing_mark_write: B|593|HWDevice::Commit:: 25369 composer@2.1-s-593 ( 593) [001] ...1 1034722.314005: tracing_mark_write: E|593 25370 composer@2.1-s-593 ( 593) [001] ...1 1034722.314038: tracing_mark_write: E|593 25371 composer@2.1-s-593 ( 593) [001] ...1 1034722.314078: tracing_mark_write: E|593 25372 surfaceflinger-591 ( 591) [000] ...1 1034722.314171: tracing_mark_write: E|591 25373 Binder:591_2-624 ( 591) [001] ...1 1034722.327148: tracing_mark_write: B|591|HIDL::IMapper::createDescriptor::passthrough 25374 Binder:591_2-624 ( 591) [001] ...1 1034722.327161: tracing_mark_write: E|591 25375 Binder:591_2-624 ( 591) [001] ...1 1034722.327175: tracing_mark_write: B|591|HIDL::IAllocator::allocate::client 25376 allocator@2.0--595 ( 595) [001] ...1 1034722.327276: tracing_mark_write: B|595|HIDL::IAllocator::allocate::server 25377 allocator@2.0--595 ( 595) [001] ...1 1034722.327315: tracing_mark_write: B|595|AllocBuffer 25378 allocator@2.0--595 ( 595) [001] ...1 1034722.327327: tracing_mark_write: B|595|ION_IOC_ALLOC size: 4485120 25379 allocator@2.0--595 ( 595) [001] ...1 1034722.327426: tracing_mark_write: E|595 25380 allocator@2.0--595 ( 595) [001] ...1 1034722.327430: tracing_mark_write: B|595|ION_IOC_MAP 25381 allocator@2.0--595 ( 595) [001] ...1 1034722.327445: tracing_mark_write: E|595 25382 allocator@2.0--595 ( 595) [001] ...1 1034722.327450: tracing_mark_write: E|595 25383 allocator@2.0--595 ( 595) [001] ...1 1034722.327454: tracing_mark_write: B|595|AllocBuffer 25384 allocator@2.0--595 ( 595) [001] ...1 1034722.327459: tracing_mark_write: B|595|ION_IOC_ALLOC size: 4096 25385 allocator@2.0--595 ( 595) [001] ...1 1034722.327469: tracing_mark_write: E|595 25386 allocator@2.0--595 ( 595) [001] ...1 1034722.327473: tracing_mark_write: B|595|ION_IOC_MAP 25387 allocator@2.0--595 ( 595) [001] ...1 1034722.327481: tracing_mark_write: E|595 25388 allocator@2.0--595 ( 595) [001] ...1 1034722.327485: tracing_mark_write: E|595 25389 allocator@2.0--595 ( 595) [001] ...1 1034722.327538: tracing_mark_write: E|595 25390 allocator@2.0--595 ( 595) [001] ...1 1034722.327582: tracing_mark_write: B|595|FreeBuffer 25391 allocator@2.0--595 ( 595) [001] ...1 1034722.327592: tracing_mark_write: E|595 25392 allocator@2.0--595 ( 595) [001] ...1 1034722.327595: tracing_mark_write: B|595|FreeBuffer 25393 allocator@2.0--595 ( 595) [001] ...1 1034722.327599: tracing_mark_write: B|595|UnmapBuffer 25394 allocator@2.0--595 ( 595) [001] ...1 1034722.327611: tracing_mark_write: E|595 25395 allocator@2.0--595 ( 595) [001] ...1 1034722.327619: tracing_mark_write: E|595 25396 Binder:591_2-624 ( 591) [001] ...1 1034722.327678: tracing_mark_write: B|591|HIDL::IMapper::importBuffer::passthrough 25397 Binder:591_2-624 ( 591) [001] ...1 1034722.327709: tracing_mark_write: E|591 25398 Binder:591_2-624 ( 591) [001] ...1 1034722.327715: tracing_mark_write: E|591 25399 GLThread 36-1854 ( 1529) [001] ...1 1034722.327918: tracing_mark_write: B|1529|HIDL::IMapper::importBuffer::passthrough 25400 GLThread 36-1854 ( 1529) [001] ...1 1034722.327950: tracing_mark_write: E|1529 25401 surfaceflinger-591 ( 591) [000] ...1 1034722.328507: tracing_mark_write: B|591|HIDL::IComposerClient::createLayer::client 25402 composer@2.1-s-593 ( 593) [001] ...1 1034722.328614: tracing_mark_write: B|593|HIDL::IComposerClient::createLayer::server 25403 composer@2.1-s-593 ( 593) [001] ...1 1034722.328653: tracing_mark_write: E|593 25404 surfaceflinger-591 ( 591) [000] ...1 1034722.328702: tracing_mark_write: E|591 25405 surfaceflinger-591 ( 591) [000] ...1 1034722.328744: tracing_mark_write: B|591|HIDL::IComposerClient::createLayer::client 25406 composer@2.1-s-593 ( 593) [001] ...1 1034722.328789: tracing_mark_write: B|593|HIDL::IComposerClient::createLayer::server 25407 composer@2.1-s-593 ( 593) [001] ...1 1034722.328807: tracing_mark_write: E|593 25408 surfaceflinger-591 ( 591) [000] ...1 1034722.328841: tracing_mark_write: E|591 25409 surfaceflinger-591 ( 591) [000] ...1 1034722.329072: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 25410 composer@2.1-s-593 ( 593) [001] ...1 1034722.329169: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 25411 composer@2.1-s-593 ( 593) [001] ...1 1034722.329224: tracing_mark_write: B|593|HIDL::IMapper::importBuffer::passthrough 25412 composer@2.1-s-593 ( 593) [001] ...1 1034722.329254: tracing_mark_write: E|593 25413 composer@2.1-s-593 ( 593) [001] ...1 1034722.329303: tracing_mark_write: B|593|HIDL::IMapper::importBuffer::passthrough 25414 composer@2.1-s-593 ( 593) [001] ...1 1034722.329322: tracing_mark_write: E|593 25415 composer@2.1-s-593 ( 593) [001] ...1 1034722.329377: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 25416 composer@2.1-s-593 ( 593) [001] ...1 1034722.329389: tracing_mark_write: E|593 25417 composer@2.1-s-593 ( 593) [001] ...1 1034722.329396: tracing_mark_write: B|593|HWCSession::ValidateDisplay:: 25418 composer@2.1-s-593 ( 593) [001] ...1 1034722.329787: tracing_mark_write: B|593|HWDevice::Validate:: 25419 composer@2.1-s-593 ( 593) [001] ...1 1034722.329953: tracing_mark_write: E|593 25420 composer@2.1-s-593 ( 593) [001] ...1 1034722.329985: tracing_mark_write: E|593 25421 composer@2.1-s-593 ( 593) [001] ...1 1034722.330008: tracing_mark_write: E|593 25422 surfaceflinger-591 ( 591) [000] ...1 1034722.330073: tracing_mark_write: E|591 25423 surfaceflinger-591 ( 591) [000] ...1 1034722.330186: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 25424 composer@2.1-s-593 ( 593) [001] ...1 1034722.330247: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 25425 composer@2.1-s-593 ( 593) [001] ...1 1034722.330261: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 25426 composer@2.1-s-593 ( 593) [001] ...1 1034722.330278: tracing_mark_write: B|593|HWDevice::Commit:: 25427 composer@2.1-s-593 ( 593) [001] ...1 1034722.330576: tracing_mark_write: E|593 25428 composer@2.1-s-593 ( 593) [001] ...1 1034722.330606: tracing_mark_write: E|593 25429 composer@2.1-s-593 ( 593) [001] ...1 1034722.330638: tracing_mark_write: E|593 25430 surfaceflinger-591 ( 591) [000] ...1 1034722.330708: tracing_mark_write: E|591 25431 Binder:1469_2-1492 ( 1469) [007] ...1 1034722.335072: tracing_mark_write: B|1469|HIDL::IMapper::importBuffer::passthrough 25432 Binder:1469_2-1492 ( 1469) [007] ...1 1034722.335109: tracing_mark_write: E|1469 25433 surfaceflinger-591 ( 591) [000] ...1 1034722.345449: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 25434 composer@2.1-s-593 ( 593) [001] ...1 1034722.345599: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 25435 composer@2.1-s-593 ( 593) [001] ...1 1034722.345655: tracing_mark_write: B|593|HIDL::IMapper::importBuffer::passthrough 25436 composer@2.1-s-593 ( 593) [001] ...1 1034722.345687: tracing_mark_write: E|593 25437 composer@2.1-s-593 ( 593) [001] ...1 1034722.345775: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 25438 composer@2.1-s-593 ( 593) [001] ...1 1034722.345788: tracing_mark_write: E|593 25439 composer@2.1-s-593 ( 593) [001] ...1 1034722.345793: tracing_mark_write: B|593|HWCSession::ValidateDisplay:: 25440 composer@2.1-s-593 ( 593) [001] ...1 1034722.346134: tracing_mark_write: B|593|HWDevice::Validate:: 25441 composer@2.1-s-593 ( 593) [001] ...1 1034722.346233: tracing_mark_write: E|593 25442 composer@2.1-s-593 ( 593) [001] ...1 1034722.346258: tracing_mark_write: E|593 25443 composer@2.1-s-593 ( 593) [001] ...1 1034722.346281: tracing_mark_write: E|593 25444 surfaceflinger-591 ( 591) [000] ...1 1034722.346351: tracing_mark_write: E|591 25445 surfaceflinger-591 ( 591) [000] ...1 1034722.346444: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 25446 composer@2.1-s-593 ( 593) [001] ...1 1034722.346496: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 25447 composer@2.1-s-593 ( 593) [001] ...1 1034722.346507: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 25448 composer@2.1-s-593 ( 593) [001] ...1 1034722.346521: tracing_mark_write: B|593|HWDevice::Commit:: 25449 composer@2.1-s-593 ( 593) [001] ...1 1034722.346777: tracing_mark_write: E|593 25450 composer@2.1-s-593 ( 593) [001] ...1 1034722.346801: tracing_mark_write: E|593 25451 composer@2.1-s-593 ( 593) [001] ...1 1034722.346832: tracing_mark_write: E|593 25452 surfaceflinger-591 ( 591) [000] ...1 1034722.346894: tracing_mark_write: E|591 25453 Binder:2279_3-2325 ( 2279) [000] ...1 1034722.351005: tracing_mark_write: B|2279|HIDL::IMapper::importBuffer::passthrough 25454 Binder:2279_3-2325 ( 2279) [000] ...1 1034722.351038: tracing_mark_write: E|2279 25455 surfaceflinger-591 ( 591) [001] ...1 1034722.361873: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 25456 composer@2.1-s-593 ( 593) [000] ...1 1034722.361994: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 25457 composer@2.1-s-593 ( 593) [000] ...1 1034722.362084: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 25458 composer@2.1-s-593 ( 593) [000] ...1 1034722.362094: tracing_mark_write: E|593 25459 composer@2.1-s-593 ( 593) [000] ...1 1034722.362099: tracing_mark_write: B|593|HWCSession::ValidateDisplay:: 25460 composer@2.1-s-593 ( 593) [000] ...1 1034722.362397: tracing_mark_write: B|593|HWDevice::Validate:: 25461 composer@2.1-s-593 ( 593) [000] ...1 1034722.362488: tracing_mark_write: E|593 25462 composer@2.1-s-593 ( 593) [000] ...1 1034722.362508: tracing_mark_write: E|593 25463 composer@2.1-s-593 ( 593) [000] ...1 1034722.362528: tracing_mark_write: E|593 25464 surfaceflinger-591 ( 591) [001] ...1 1034722.362588: tracing_mark_write: E|591 25465 surfaceflinger-591 ( 591) [001] ...1 1034722.362666: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 25466 composer@2.1-s-593 ( 593) [000] ...1 1034722.362708: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 25467 composer@2.1-s-593 ( 593) [000] ...1 1034722.362717: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 25468 composer@2.1-s-593 ( 593) [000] ...1 1034722.362728: tracing_mark_write: B|593|HWDevice::Commit:: 25469 composer@2.1-s-593 ( 593) [000] ...1 1034722.362911: tracing_mark_write: E|593 25470 composer@2.1-s-593 ( 593) [000] ...1 1034722.362930: tracing_mark_write: E|593 25471 composer@2.1-s-593 ( 593) [000] ...1 1034722.362955: tracing_mark_write: E|593 25472 surfaceflinger-591 ( 591) [001] ...1 1034722.363003: tracing_mark_write: E|591 25473 Binder:591_5-1775 ( 591) [001] ...1 1034722.368077: tracing_mark_write: B|591|HIDL::IMapper::createDescriptor::passthrough 25474 Binder:591_5-1775 ( 591) [001] ...1 1034722.368088: tracing_mark_write: E|591 25475 Binder:591_5-1775 ( 591) [001] ...1 1034722.368100: tracing_mark_write: B|591|HIDL::IAllocator::allocate::client 25476 allocator@2.0--595 ( 595) [001] ...1 1034722.368177: tracing_mark_write: B|595|HIDL::IAllocator::allocate::server 25477 allocator@2.0--595 ( 595) [001] ...1 1034722.368208: tracing_mark_write: B|595|AllocBuffer 25478 allocator@2.0--595 ( 595) [001] ...1 1034722.368217: tracing_mark_write: B|595|ION_IOC_ALLOC size: 4485120 25479 allocator@2.0--595 ( 595) [001] ...1 1034722.368296: tracing_mark_write: E|595 25480 allocator@2.0--595 ( 595) [001] ...1 1034722.368299: tracing_mark_write: B|595|ION_IOC_MAP 25481 allocator@2.0--595 ( 595) [001] ...1 1034722.368311: tracing_mark_write: E|595 25482 allocator@2.0--595 ( 595) [001] ...1 1034722.368315: tracing_mark_write: E|595 25483 allocator@2.0--595 ( 595) [001] ...1 1034722.368318: tracing_mark_write: B|595|AllocBuffer 25484 allocator@2.0--595 ( 595) [001] ...1 1034722.368322: tracing_mark_write: B|595|ION_IOC_ALLOC size: 4096 25485 allocator@2.0--595 ( 595) [001] ...1 1034722.368329: tracing_mark_write: E|595 25486 allocator@2.0--595 ( 595) [001] ...1 1034722.368332: tracing_mark_write: B|595|ION_IOC_MAP 25487 allocator@2.0--595 ( 595) [001] ...1 1034722.368338: tracing_mark_write: E|595 25488 allocator@2.0--595 ( 595) [001] ...1 1034722.368340: tracing_mark_write: E|595 25489 allocator@2.0--595 ( 595) [001] ...1 1034722.368389: tracing_mark_write: E|595 25490 allocator@2.0--595 ( 595) [001] ...1 1034722.368417: tracing_mark_write: B|595|FreeBuffer 25491 allocator@2.0--595 ( 595) [001] ...1 1034722.368424: tracing_mark_write: E|595 25492 allocator@2.0--595 ( 595) [001] ...1 1034722.368427: tracing_mark_write: B|595|FreeBuffer 25493 allocator@2.0--595 ( 595) [001] ...1 1034722.368429: tracing_mark_write: B|595|UnmapBuffer 25494 allocator@2.0--595 ( 595) [001] ...1 1034722.368445: tracing_mark_write: E|595 25495 allocator@2.0--595 ( 595) [001] ...1 1034722.368450: tracing_mark_write: E|595 25496 Binder:591_5-1775 ( 591) [001] ...1 1034722.368486: tracing_mark_write: B|591|HIDL::IMapper::importBuffer::passthrough 25497 Binder:591_5-1775 ( 591) [001] ...1 1034722.368512: tracing_mark_write: E|591 25498 Binder:591_5-1775 ( 591) [001] ...1 1034722.368516: tracing_mark_write: E|591 25499 GLThread 36-1854 ( 1529) [001] ...1 1034722.368660: tracing_mark_write: B|1529|HIDL::IMapper::importBuffer::passthrough 25500 GLThread 36-1854 ( 1529) [001] ...1 1034722.368683: tracing_mark_write: E|1529 25501 FinalizerDaemo-1487 ( 1469) [001] ...1 1034722.370661: tracing_mark_write: B|1469|HIDL::IMapper::freeBuffer::passthrough 25502 FinalizerDaemo-1487 ( 1469) [001] ...1 1034722.370680: tracing_mark_write: B|1469|FreeBuffer 25503 FinalizerDaemo-1487 ( 1469) [001] ...1 1034722.370692: tracing_mark_write: E|1469 25504 FinalizerDaemo-1487 ( 1469) [001] ...1 1034722.370695: tracing_mark_write: B|1469|FreeBuffer 25505 FinalizerDaemo-1487 ( 1469) [001] ...1 1034722.370700: tracing_mark_write: E|1469 25506 FinalizerDaemo-1487 ( 1469) [001] ...1 1034722.370707: tracing_mark_write: E|1469 25507 FinalizerDaemo-1487 ( 1469) [001] ...1 1034722.370718: tracing_mark_write: B|1469|HIDL::IMapper::freeBuffer::passthrough 25508 FinalizerDaemo-1487 ( 1469) [001] ...1 1034722.370727: tracing_mark_write: B|1469|FreeBuffer 25509 FinalizerDaemo-1487 ( 1469) [001] ...1 1034722.370733: tracing_mark_write: E|1469 25510 FinalizerDaemo-1487 ( 1469) [001] ...1 1034722.370736: tracing_mark_write: B|1469|FreeBuffer 25511 FinalizerDaemo-1487 ( 1469) [001] ...1 1034722.370740: tracing_mark_write: E|1469 25512 FinalizerDaemo-1487 ( 1469) [001] ...1 1034722.370744: tracing_mark_write: E|1469 25513 surfaceflinger-591 ( 591) [000] ...1 1034722.378846: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 25514 composer@2.1-s-593 ( 593) [001] ...1 1034722.378977: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 25515 composer@2.1-s-593 ( 593) [001] ...1 1034722.379029: tracing_mark_write: B|593|HIDL::IMapper::importBuffer::passthrough 25516 composer@2.1-s-593 ( 593) [001] ...1 1034722.379072: tracing_mark_write: E|593 25517 composer@2.1-s-593 ( 593) [001] ...1 1034722.379157: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 25518 composer@2.1-s-593 ( 593) [001] ...1 1034722.379167: tracing_mark_write: E|593 25519 composer@2.1-s-593 ( 593) [001] ...1 1034722.379172: tracing_mark_write: B|593|HWCSession::ValidateDisplay:: 25520 composer@2.1-s-593 ( 593) [001] ...1 1034722.379497: tracing_mark_write: B|593|HWDevice::Validate:: 25521 composer@2.1-s-593 ( 593) [001] ...1 1034722.379590: tracing_mark_write: E|593 25522 composer@2.1-s-593 ( 593) [001] ...1 1034722.379614: tracing_mark_write: E|593 25523 composer@2.1-s-593 ( 593) [001] ...1 1034722.379635: tracing_mark_write: E|593 25524 surfaceflinger-591 ( 591) [000] ...1 1034722.379695: tracing_mark_write: E|591 25525 surfaceflinger-591 ( 591) [000] ...1 1034722.379776: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 25526 composer@2.1-s-593 ( 593) [001] ...1 1034722.379822: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 25527 composer@2.1-s-593 ( 593) [001] ...1 1034722.379831: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 25528 composer@2.1-s-593 ( 593) [001] ...1 1034722.379843: tracing_mark_write: B|593|HWDevice::Commit:: 25529 composer@2.1-s-593 ( 593) [001] ...1 1034722.380105: tracing_mark_write: E|593 25530 composer@2.1-s-593 ( 593) [001] ...1 1034722.380127: tracing_mark_write: E|593 25531 composer@2.1-s-593 ( 593) [001] ...1 1034722.380156: tracing_mark_write: E|593 25532 surfaceflinger-591 ( 591) [000] ...1 1034722.380210: tracing_mark_write: E|591 25533 HwBinder:778_1-1087 ( 778) [000] ...1 1034722.390075: tracing_mark_write: E|778 25534 SensorService-1283 ( 1151) [001] ...1 1034722.390153: tracing_mark_write: E|1151 25535 SensorService-1283 ( 1151) [001] ...1 1034722.390238: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 25536 HwBinder:778_1-1087 ( 778) [000] ...1 1034722.390288: tracing_mark_write: B|778|HIDL::ISensors::poll::server 25537 surfaceflinger-591 ( 591) [002] ...1 1034722.395544: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 25538 composer@2.1-s-593 ( 593) [001] ...1 1034722.395675: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 25539 composer@2.1-s-593 ( 593) [001] ...1 1034722.395771: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 25540 composer@2.1-s-593 ( 593) [001] ...1 1034722.395782: tracing_mark_write: E|593 25541 composer@2.1-s-593 ( 593) [001] ...1 1034722.395787: tracing_mark_write: B|593|HWCSession::ValidateDisplay:: 25542 composer@2.1-s-593 ( 593) [001] ...1 1034722.396103: tracing_mark_write: B|593|HWDevice::Validate:: 25543 composer@2.1-s-593 ( 593) [001] ...1 1034722.396207: tracing_mark_write: E|593 25544 composer@2.1-s-593 ( 593) [001] ...1 1034722.396231: tracing_mark_write: E|593 25545 composer@2.1-s-593 ( 593) [001] ...1 1034722.396253: tracing_mark_write: E|593 25546 surfaceflinger-591 ( 591) [002] ...1 1034722.396313: tracing_mark_write: E|591 25547 surfaceflinger-591 ( 591) [002] ...1 1034722.396398: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 25548 composer@2.1-s-593 ( 593) [001] ...1 1034722.396445: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 25549 composer@2.1-s-593 ( 593) [001] ...1 1034722.396455: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 25550 composer@2.1-s-593 ( 593) [001] ...1 1034722.396467: tracing_mark_write: B|593|HWDevice::Commit:: 25551 composer@2.1-s-593 ( 593) [001] ...1 1034722.396703: tracing_mark_write: E|593 25552 composer@2.1-s-593 ( 593) [001] ...1 1034722.396724: tracing_mark_write: E|593 25553 composer@2.1-s-593 ( 593) [001] ...1 1034722.396753: tracing_mark_write: E|593 25554 surfaceflinger-591 ( 591) [000] ...1 1034722.396819: tracing_mark_write: E|591 25555 Binder:591_5-1775 ( 591) [005] ...1 1034722.409571: tracing_mark_write: B|591|HIDL::IMapper::freeBuffer::passthrough 25556 HwBinder:778_1-1087 ( 778) [000] ...1 1034722.409575: tracing_mark_write: E|778 25557 Binder:591_5-1775 ( 591) [005] ...1 1034722.409613: tracing_mark_write: B|591|FreeBuffer 25558 Binder:591_5-1775 ( 591) [005] ...1 1034722.409698: tracing_mark_write: E|591 25559 Binder:591_5-1775 ( 591) [005] ...1 1034722.409706: tracing_mark_write: B|591|FreeBuffer 25560 SensorService-1283 ( 1151) [001] ...1 1034722.409731: tracing_mark_write: E|1151 25561 Binder:591_5-1775 ( 591) [005] ...1 1034722.409740: tracing_mark_write: E|591 25562 Binder:591_5-1775 ( 591) [005] ...1 1034722.409757: tracing_mark_write: E|591 25563 Binder:591_5-1775 ( 591) [005] ...1 1034722.409786: tracing_mark_write: B|591|HIDL::IMapper::createDescriptor::passthrough 25564 Binder:591_5-1775 ( 591) [005] ...1 1034722.409799: tracing_mark_write: E|591 25565 Binder:591_5-1775 ( 591) [005] ...1 1034722.409822: tracing_mark_write: B|591|HIDL::IAllocator::allocate::client 25566 SensorService-1283 ( 1151) [001] ...1 1034722.409964: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 25567 allocator@2.0--595 ( 595) [005] ...1 1034722.410048: tracing_mark_write: B|595|HIDL::IAllocator::allocate::server 25568 allocator@2.0--595 ( 595) [005] ...1 1034722.410099: tracing_mark_write: B|595|AllocBuffer 25569 HwBinder:778_1-1087 ( 778) [000] ...1 1034722.410100: tracing_mark_write: B|778|HIDL::ISensors::poll::server 25570 allocator@2.0--595 ( 595) [005] ...1 1034722.410119: tracing_mark_write: B|595|ION_IOC_ALLOC size: 8417280 25571 allocator@2.0--595 ( 595) [005] ...1 1034722.412130: tracing_mark_write: E|595 25572 allocator@2.0--595 ( 595) [005] ...1 1034722.412140: tracing_mark_write: B|595|ION_IOC_MAP 25573 allocator@2.0--595 ( 595) [005] ...1 1034722.412173: tracing_mark_write: E|595 25574 allocator@2.0--595 ( 595) [005] ...1 1034722.412184: tracing_mark_write: E|595 25575 allocator@2.0--595 ( 595) [005] ...1 1034722.412191: tracing_mark_write: B|595|AllocBuffer 25576 allocator@2.0--595 ( 595) [005] ...1 1034722.412202: tracing_mark_write: B|595|ION_IOC_ALLOC size: 4096 25577 allocator@2.0--595 ( 595) [005] ...1 1034722.412226: tracing_mark_write: E|595 25578 allocator@2.0--595 ( 595) [005] ...1 1034722.412233: tracing_mark_write: B|595|ION_IOC_MAP 25579 allocator@2.0--595 ( 595) [005] ...1 1034722.412251: tracing_mark_write: E|595 25580 allocator@2.0--595 ( 595) [005] ...1 1034722.412257: tracing_mark_write: E|595 25581 allocator@2.0--595 ( 595) [005] ...1 1034722.412356: tracing_mark_write: E|595 25582 allocator@2.0--595 ( 595) [005] ...1 1034722.412462: tracing_mark_write: B|595|FreeBuffer 25583 allocator@2.0--595 ( 595) [005] ...1 1034722.412484: tracing_mark_write: E|595 25584 allocator@2.0--595 ( 595) [005] ...1 1034722.412491: tracing_mark_write: B|595|FreeBuffer 25585 allocator@2.0--595 ( 595) [005] ...1 1034722.412498: tracing_mark_write: B|595|UnmapBuffer 25586 allocator@2.0--595 ( 595) [005] ...1 1034722.412531: tracing_mark_write: E|595 25587 allocator@2.0--595 ( 595) [005] ...1 1034722.412549: tracing_mark_write: E|595 25588 Binder:591_5-1775 ( 591) [005] ...1 1034722.412668: tracing_mark_write: B|591|HIDL::IMapper::importBuffer::passthrough 25589 Binder:591_5-1775 ( 591) [005] ...1 1034722.412737: tracing_mark_write: E|591 25590 Binder:591_5-1775 ( 591) [005] ...1 1034722.412751: tracing_mark_write: E|591 25591 RenderThread-2506 ( 2279) [005] ...1 1034722.413355: tracing_mark_write: B|2279|HIDL::IMapper::importBuffer::passthrough 25592 RenderThread-2506 ( 2279) [005] ...1 1034722.413430: tracing_mark_write: E|2279 25593 surfaceflinger-591 ( 591) [000] ...1 1034722.414430: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 25594 composer@2.1-s-593 ( 593) [001] ...1 1034722.414698: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 25595 composer@2.1-s-593 ( 593) [001] ...1 1034722.414905: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 25596 composer@2.1-s-593 ( 593) [001] ...1 1034722.414931: tracing_mark_write: E|593 25597 composer@2.1-s-593 ( 593) [001] ...1 1034722.414945: tracing_mark_write: B|593|HWCSession::ValidateDisplay:: 25598 composer@2.1-s-593 ( 593) [001] ...1 1034722.415639: tracing_mark_write: B|593|HWDevice::Validate:: 25599 composer@2.1-s-593 ( 593) [001] ...1 1034722.415831: tracing_mark_write: E|593 25600 composer@2.1-s-593 ( 593) [001] ...1 1034722.415890: tracing_mark_write: E|593 25601 composer@2.1-s-593 ( 593) [001] ...1 1034722.415934: tracing_mark_write: E|593 25602 surfaceflinger-591 ( 591) [000] ...1 1034722.416074: tracing_mark_write: E|591 25603 surfaceflinger-591 ( 591) [000] ...1 1034722.416280: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 25604 composer@2.1-s-593 ( 593) [001] ...1 1034722.416413: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 25605 composer@2.1-s-593 ( 593) [001] ...1 1034722.416442: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 25606 composer@2.1-s-593 ( 593) [001] ...1 1034722.416471: tracing_mark_write: B|593|HWDevice::Commit:: 25607 composer@2.1-s-593 ( 593) [001] ...1 1034722.417040: tracing_mark_write: E|593 25608 composer@2.1-s-593 ( 593) [001] ...1 1034722.417096: tracing_mark_write: E|593 25609 composer@2.1-s-593 ( 593) [001] ...1 1034722.417164: tracing_mark_write: E|593 25610 surfaceflinger-591 ( 591) [000] ...1 1034722.417324: tracing_mark_write: E|591 25611 HwBinder:778_1-1087 ( 778) [001] ...1 1034722.428757: tracing_mark_write: E|778 25612 SensorService-1283 ( 1151) [002] ...1 1034722.428919: tracing_mark_write: E|1151 25613 SensorService-1283 ( 1151) [002] ...1 1034722.429096: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 25614 HwBinder:778_1-1087 ( 778) [001] ...1 1034722.429228: tracing_mark_write: B|778|HIDL::ISensors::poll::server 25615 surfaceflinger-591 ( 591) [000] ...1 1034722.431368: tracing_mark_write: B|591|HIDL::IMapper::freeBuffer::passthrough 25616 surfaceflinger-591 ( 591) [000] ...1 1034722.431402: tracing_mark_write: B|591|FreeBuffer 25617 surfaceflinger-591 ( 591) [000] ...1 1034722.431431: tracing_mark_write: E|591 25618 surfaceflinger-591 ( 591) [000] ...1 1034722.431440: tracing_mark_write: B|591|FreeBuffer 25619 surfaceflinger-591 ( 591) [000] ...1 1034722.431459: tracing_mark_write: E|591 25620 surfaceflinger-591 ( 591) [000] ...1 1034722.431472: tracing_mark_write: E|591 25621 surfaceflinger-591 ( 591) [000] ...1 1034722.431652: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 25622 composer@2.1-s-593 ( 593) [001] ...1 1034722.431903: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 25623 composer@2.1-s-593 ( 593) [001] ...1 1034722.432012: tracing_mark_write: B|593|HIDL::IMapper::importBuffer::passthrough 25624 composer@2.1-s-593 ( 593) [001] ...1 1034722.432074: tracing_mark_write: E|593 25625 composer@2.1-s-593 ( 593) [001] ...1 1034722.432162: tracing_mark_write: B|593|HIDL::IMapper::freeBuffer::passthrough 25626 composer@2.1-s-593 ( 593) [001] ...1 1034722.432181: tracing_mark_write: B|593|FreeBuffer 25627 composer@2.1-s-593 ( 593) [001] ...1 1034722.432795: tracing_mark_write: E|593 25628 composer@2.1-s-593 ( 593) [001] ...1 1034722.432807: tracing_mark_write: B|593|FreeBuffer 25629 composer@2.1-s-593 ( 593) [001] ...1 1034722.432815: tracing_mark_write: B|593|UnmapBuffer 25630 composer@2.1-s-593 ( 593) [001] ...1 1034722.432853: tracing_mark_write: E|593 25631 composer@2.1-s-593 ( 593) [001] ...1 1034722.432887: tracing_mark_write: E|593 25632 composer@2.1-s-593 ( 593) [001] ...1 1034722.432903: tracing_mark_write: E|593 25633 composer@2.1-s-593 ( 593) [001] ...1 1034722.432926: tracing_mark_write: B|593|HIDL::IMapper::importBuffer::passthrough 25634 composer@2.1-s-593 ( 593) [001] ...1 1034722.432968: tracing_mark_write: E|593 25635 composer@2.1-s-593 ( 593) [001] ...1 1034722.433092: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 25636 composer@2.1-s-593 ( 593) [001] ...1 1034722.433121: tracing_mark_write: E|593 25637 composer@2.1-s-593 ( 593) [001] ...1 1034722.433136: tracing_mark_write: B|593|HWCSession::ValidateDisplay:: 25638 composer@2.1-s-593 ( 593) [001] ...1 1034722.434080: tracing_mark_write: B|593|HWDevice::Validate:: 25639 composer@2.1-s-593 ( 593) [001] ...1 1034722.434306: tracing_mark_write: E|593 25640 composer@2.1-s-593 ( 593) [001] ...1 1034722.434372: tracing_mark_write: E|593 25641 composer@2.1-s-593 ( 593) [001] ...1 1034722.434423: tracing_mark_write: E|593 25642 surfaceflinger-591 ( 591) [000] ...1 1034722.434582: tracing_mark_write: E|591 25643 surfaceflinger-591 ( 591) [000] ...1 1034722.434813: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 25644 composer@2.1-s-593 ( 593) [001] ...1 1034722.434939: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 25645 composer@2.1-s-593 ( 593) [001] ...1 1034722.434965: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 25646 composer@2.1-s-593 ( 593) [001] ...1 1034722.434997: tracing_mark_write: B|593|HWDevice::Commit:: 25647 composer@2.1-s-593 ( 593) [001] ...1 1034722.435444: tracing_mark_write: E|593 25648 composer@2.1-s-593 ( 593) [001] ...1 1034722.435499: tracing_mark_write: E|593 25649 composer@2.1-s-593 ( 593) [001] ...1 1034722.435566: tracing_mark_write: E|593 25650 surfaceflinger-591 ( 591) [000] ...1 1034722.435714: tracing_mark_write: E|591 25651 HwBinder:778_1-1087 ( 778) [001] ...1 1034722.447910: tracing_mark_write: E|778 25652 SensorService-1283 ( 1151) [002] ...1 1034722.448100: tracing_mark_write: E|1151 25653 surfaceflinger-591 ( 591) [000] ...1 1034722.448134: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 25654 SensorService-1283 ( 1151) [002] ...1 1034722.448267: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 25655 composer@2.1-s-593 ( 593) [001] ...1 1034722.448371: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 25656 HwBinder:778_1-1087 ( 778) [000] ...1 1034722.448402: tracing_mark_write: B|778|HIDL::ISensors::poll::server 25657 composer@2.1-s-593 ( 593) [001] ...1 1034722.448498: tracing_mark_write: B|593|HIDL::IMapper::importBuffer::passthrough 25658 composer@2.1-s-593 ( 593) [001] ...1 1034722.448558: tracing_mark_write: E|593 25659 composer@2.1-s-593 ( 593) [001] ...1 1034722.448697: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 25660 composer@2.1-s-593 ( 593) [001] ...1 1034722.448723: tracing_mark_write: E|593 25661 composer@2.1-s-593 ( 593) [001] ...1 1034722.448737: tracing_mark_write: B|593|HWCSession::ValidateDisplay:: 25662 composer@2.1-s-593 ( 593) [001] ...1 1034722.449433: tracing_mark_write: B|593|HWDevice::Validate:: 25663 composer@2.1-s-593 ( 593) [001] ...1 1034722.449614: tracing_mark_write: E|593 25664 composer@2.1-s-593 ( 593) [001] ...1 1034722.449670: tracing_mark_write: E|593 25665 composer@2.1-s-593 ( 593) [001] ...1 1034722.449710: tracing_mark_write: E|593 25666 surfaceflinger-591 ( 591) [000] ...1 1034722.449831: tracing_mark_write: E|591 25667 surfaceflinger-591 ( 591) [000] ...1 1034722.450077: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 25668 composer@2.1-s-593 ( 593) [001] ...1 1034722.450199: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 25669 composer@2.1-s-593 ( 593) [001] ...1 1034722.450224: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 25670 composer@2.1-s-593 ( 593) [001] ...1 1034722.450254: tracing_mark_write: B|593|HWDevice::Commit:: 25671 composer@2.1-s-593 ( 593) [001] ...1 1034722.450530: tracing_mark_write: E|593 25672 composer@2.1-s-593 ( 593) [001] ...1 1034722.450582: tracing_mark_write: E|593 25673 composer@2.1-s-593 ( 593) [001] ...1 1034722.450646: tracing_mark_write: E|593 25674 surfaceflinger-591 ( 591) [000] ...1 1034722.450788: tracing_mark_write: E|591 25675 surfaceflinger-591 ( 591) [000] ...1 1034722.464995: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 25676 composer@2.1-s-593 ( 593) [001] ...1 1034722.465234: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 25677 composer@2.1-s-593 ( 593) [001] ...1 1034722.465436: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 25678 composer@2.1-s-593 ( 593) [001] ...1 1034722.465462: tracing_mark_write: E|593 25679 composer@2.1-s-593 ( 593) [001] ...1 1034722.465476: tracing_mark_write: B|593|HWCSession::ValidateDisplay:: 25680 composer@2.1-s-593 ( 593) [001] ...1 1034722.466157: tracing_mark_write: B|593|HWDevice::Validate:: 25681 composer@2.1-s-593 ( 593) [001] ...1 1034722.466343: tracing_mark_write: E|593 25682 composer@2.1-s-593 ( 593) [001] ...1 1034722.466401: tracing_mark_write: E|593 25683 composer@2.1-s-593 ( 593) [001] ...1 1034722.466449: tracing_mark_write: E|593 25684 surfaceflinger-591 ( 591) [000] ...1 1034722.466642: tracing_mark_write: E|591 25685 surfaceflinger-591 ( 591) [000] ...1 1034722.466869: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 25686 composer@2.1-s-593 ( 593) [001] ...1 1034722.466991: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 25687 composer@2.1-s-593 ( 593) [001] ...1 1034722.467017: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 25688 composer@2.1-s-593 ( 593) [001] ...1 1034722.467046: tracing_mark_write: B|593|HWDevice::Commit:: 25689 HwBinder:778_1-1087 ( 778) [000] ...1 1034722.467325: tracing_mark_write: E|778 25690 SensorService-1283 ( 1151) [002] ...1 1034722.467469: tracing_mark_write: E|1151 25691 composer@2.1-s-593 ( 593) [001] ...1 1034722.467550: tracing_mark_write: E|593 25692 composer@2.1-s-593 ( 593) [001] ...1 1034722.467606: tracing_mark_write: E|593 25693 SensorService-1283 ( 1151) [002] ...1 1034722.467636: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 25694 composer@2.1-s-593 ( 593) [001] ...1 1034722.467673: tracing_mark_write: E|593 25695 HwBinder:778_1-1087 ( 778) [000] ...1 1034722.467761: tracing_mark_write: B|778|HIDL::ISensors::poll::server 25696 surfaceflinger-591 ( 591) [002] ...1 1034722.467839: tracing_mark_write: E|591 25697 surfaceflinger-591 ( 591) [000] ...1 1034722.481625: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 25698 composer@2.1-s-593 ( 593) [001] ...1 1034722.481863: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 25699 composer@2.1-s-593 ( 593) [001] ...1 1034722.482067: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 25700 composer@2.1-s-593 ( 593) [001] ...1 1034722.482093: tracing_mark_write: E|593 25701 composer@2.1-s-593 ( 593) [001] ...1 1034722.482107: tracing_mark_write: B|593|HWCSession::ValidateDisplay:: 25702 composer@2.1-s-593 ( 593) [001] ...1 1034722.482788: tracing_mark_write: B|593|HWDevice::Validate:: 25703 composer@2.1-s-593 ( 593) [001] ...1 1034722.482969: tracing_mark_write: E|593 25704 composer@2.1-s-593 ( 593) [001] ...1 1034722.483026: tracing_mark_write: E|593 25705 composer@2.1-s-593 ( 593) [001] ...1 1034722.483069: tracing_mark_write: E|593 25706 surfaceflinger-591 ( 591) [000] ...1 1034722.483270: tracing_mark_write: E|591 25707 surfaceflinger-591 ( 591) [000] ...1 1034722.483471: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 25708 composer@2.1-s-593 ( 593) [001] ...1 1034722.483592: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 25709 composer@2.1-s-593 ( 593) [001] ...1 1034722.483637: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 25710 composer@2.1-s-593 ( 593) [001] ...1 1034722.483667: tracing_mark_write: B|593|HWDevice::Commit:: 25711 composer@2.1-s-593 ( 593) [001] ...1 1034722.484097: tracing_mark_write: E|593 25712 composer@2.1-s-593 ( 593) [001] ...1 1034722.484151: tracing_mark_write: E|593 25713 composer@2.1-s-593 ( 593) [001] ...1 1034722.484219: tracing_mark_write: E|593 25714 surfaceflinger-591 ( 591) [000] ...1 1034722.484370: tracing_mark_write: E|591 25715 HwBinder:778_1-1087 ( 778) [000] ...1 1034722.486601: tracing_mark_write: E|778 25716 SensorService-1283 ( 1151) [002] ...1 1034722.486733: tracing_mark_write: E|1151 25717 SensorService-1283 ( 1151) [002] ...1 1034722.486900: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 25718 HwBinder:778_1-1087 ( 778) [000] ...1 1034722.487020: tracing_mark_write: B|778|HIDL::ISensors::poll::server 25719 surfaceflinger-591 ( 591) [000] ...1 1034722.498580: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 25720 composer@2.1-s-593 ( 593) [001] ...1 1034722.498841: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 25721 composer@2.1-s-593 ( 593) [001] ...1 1034722.499047: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 25722 composer@2.1-s-593 ( 593) [001] ...1 1034722.499075: tracing_mark_write: E|593 25723 composer@2.1-s-593 ( 593) [001] ...1 1034722.499089: tracing_mark_write: B|593|HWCSession::ValidateDisplay:: 25724 composer@2.1-s-593 ( 593) [001] ...1 1034722.499780: tracing_mark_write: B|593|HWDevice::Validate:: 25725 composer@2.1-s-593 ( 593) [001] ...1 1034722.500033: tracing_mark_write: E|593 25726 composer@2.1-s-593 ( 593) [001] ...1 1034722.500091: tracing_mark_write: E|593 25727 composer@2.1-s-593 ( 593) [001] ...1 1034722.500135: tracing_mark_write: E|593 25728 surfaceflinger-591 ( 591) [000] ...1 1034722.500268: tracing_mark_write: E|591 25729 surfaceflinger-591 ( 591) [000] ...1 1034722.500465: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 25730 composer@2.1-s-593 ( 593) [001] ...1 1034722.500586: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 25731 composer@2.1-s-593 ( 593) [001] ...1 1034722.500612: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 25732 composer@2.1-s-593 ( 593) [001] ...1 1034722.500641: tracing_mark_write: B|593|HWDevice::Commit:: 25733 composer@2.1-s-593 ( 593) [001] ...1 1034722.500921: tracing_mark_write: E|593 25734 composer@2.1-s-593 ( 593) [001] ...1 1034722.500974: tracing_mark_write: E|593 25735 composer@2.1-s-593 ( 593) [001] ...1 1034722.501037: tracing_mark_write: E|593 25736 surfaceflinger-591 ( 591) [000] ...1 1034722.501183: tracing_mark_write: E|591 25737 HwBinder:778_1-1087 ( 778) [000] ...1 1034722.505993: tracing_mark_write: E|778 25738 SensorService-1283 ( 1151) [002] ...1 1034722.506151: tracing_mark_write: E|1151 25739 SensorService-1283 ( 1151) [002] ...1 1034722.506347: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 25740 HwBinder:778_1-1087 ( 778) [000] ...1 1034722.506491: tracing_mark_write: B|778|HIDL::ISensors::poll::server 25741 surfaceflinger-591 ( 591) [000] ...1 1034722.515419: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 25742 composer@2.1-s-593 ( 593) [001] ...1 1034722.515681: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 25743 composer@2.1-s-593 ( 593) [001] ...1 1034722.515889: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 25744 composer@2.1-s-593 ( 593) [001] ...1 1034722.515915: tracing_mark_write: E|593 25745 composer@2.1-s-593 ( 593) [001] ...1 1034722.515929: tracing_mark_write: B|593|HWCSession::ValidateDisplay:: 25746 composer@2.1-s-593 ( 593) [001] ...1 1034722.516696: tracing_mark_write: B|593|HWDevice::Validate:: 25747 composer@2.1-s-593 ( 593) [001] ...1 1034722.516876: tracing_mark_write: E|593 25748 composer@2.1-s-593 ( 593) [001] ...1 1034722.516934: tracing_mark_write: E|593 25749 composer@2.1-s-593 ( 593) [001] ...1 1034722.516979: tracing_mark_write: E|593 25750 surfaceflinger-591 ( 591) [000] ...1 1034722.517112: tracing_mark_write: E|591 25751 surfaceflinger-591 ( 591) [000] ...1 1034722.517340: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 25752 composer@2.1-s-593 ( 593) [001] ...1 1034722.517469: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 25753 composer@2.1-s-593 ( 593) [001] ...1 1034722.517496: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 25754 composer@2.1-s-593 ( 593) [001] ...1 1034722.517525: tracing_mark_write: B|593|HWDevice::Commit:: 25755 composer@2.1-s-593 ( 593) [001] ...1 1034722.518012: tracing_mark_write: E|593 25756 composer@2.1-s-593 ( 593) [001] ...1 1034722.518069: tracing_mark_write: E|593 25757 composer@2.1-s-593 ( 593) [001] ...1 1034722.518136: tracing_mark_write: E|593 25758 surfaceflinger-591 ( 591) [000] ...1 1034722.518283: tracing_mark_write: E|591 25759 HwBinder:778_1-1087 ( 778) [001] ...1 1034722.525025: tracing_mark_write: E|778 25760 SensorService-1283 ( 1151) [002] ...1 1034722.525165: tracing_mark_write: E|1151 25761 SensorService-1283 ( 1151) [002] ...1 1034722.525331: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 25762 HwBinder:778_1-1087 ( 778) [001] ...1 1034722.525465: tracing_mark_write: B|778|HIDL::ISensors::poll::server 25763 surfaceflinger-591 ( 591) [000] ...1 1034722.531351: tracing_mark_write: B|591|HIDL::IComposerClient::destroyLayer::client 25764 composer@2.1-s-593 ( 593) [001] ...1 1034722.531532: tracing_mark_write: B|593|HIDL::IComposerClient::destroyLayer::server 25765 composer@2.1-s-593 ( 593) [001] ...1 1034722.531585: tracing_mark_write: B|593|HIDL::IMapper::freeBuffer::passthrough 25766 composer@2.1-s-593 ( 593) [001] ...1 1034722.531610: tracing_mark_write: B|593|FreeBuffer 25767 composer@2.1-s-593 ( 593) [001] ...1 1034722.531635: tracing_mark_write: E|593 25768 composer@2.1-s-593 ( 593) [001] ...1 1034722.531644: tracing_mark_write: B|593|FreeBuffer 25769 composer@2.1-s-593 ( 593) [001] ...1 1034722.531652: tracing_mark_write: B|593|UnmapBuffer 25770 composer@2.1-s-593 ( 593) [001] ...1 1034722.531686: tracing_mark_write: E|593 25771 composer@2.1-s-593 ( 593) [001] ...1 1034722.531704: tracing_mark_write: E|593 25772 composer@2.1-s-593 ( 593) [001] ...1 1034722.531717: tracing_mark_write: E|593 25773 composer@2.1-s-593 ( 593) [001] ...1 1034722.531726: tracing_mark_write: B|593|HIDL::IMapper::freeBuffer::passthrough 25774 composer@2.1-s-593 ( 593) [001] ...1 1034722.531740: tracing_mark_write: B|593|FreeBuffer 25775 composer@2.1-s-593 ( 593) [001] ...1 1034722.531757: tracing_mark_write: E|593 25776 composer@2.1-s-593 ( 593) [001] ...1 1034722.531765: tracing_mark_write: B|593|FreeBuffer 25777 composer@2.1-s-593 ( 593) [001] ...1 1034722.531773: tracing_mark_write: B|593|UnmapBuffer 25778 composer@2.1-s-593 ( 593) [001] ...1 1034722.531794: tracing_mark_write: E|593 25779 composer@2.1-s-593 ( 593) [001] ...1 1034722.531812: tracing_mark_write: E|593 25780 composer@2.1-s-593 ( 593) [001] ...1 1034722.531823: tracing_mark_write: E|593 25781 composer@2.1-s-593 ( 593) [001] ...1 1034722.531831: tracing_mark_write: B|593|HIDL::IMapper::freeBuffer::passthrough 25782 composer@2.1-s-593 ( 593) [001] ...1 1034722.531847: tracing_mark_write: B|593|FreeBuffer 25783 composer@2.1-s-593 ( 593) [001] ...1 1034722.531863: tracing_mark_write: E|593 25784 composer@2.1-s-593 ( 593) [001] ...1 1034722.531871: tracing_mark_write: B|593|FreeBuffer 25785 composer@2.1-s-593 ( 593) [001] ...1 1034722.531878: tracing_mark_write: B|593|UnmapBuffer 25786 composer@2.1-s-593 ( 593) [001] ...1 1034722.531896: tracing_mark_write: E|593 25787 composer@2.1-s-593 ( 593) [001] ...1 1034722.531913: tracing_mark_write: E|593 25788 composer@2.1-s-593 ( 593) [001] ...1 1034722.531922: tracing_mark_write: E|593 25789 composer@2.1-s-593 ( 593) [001] ...1 1034722.531944: tracing_mark_write: E|593 25790 surfaceflinger-591 ( 591) [000] ...1 1034722.532037: tracing_mark_write: E|591 25791 surfaceflinger-591 ( 591) [000] ...1 1034722.532661: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 25792 composer@2.1-s-593 ( 593) [001] ...1 1034722.532822: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 25793 composer@2.1-s-593 ( 593) [001] ...1 1034722.532998: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 25794 composer@2.1-s-593 ( 593) [001] ...1 1034722.533022: tracing_mark_write: E|593 25795 composer@2.1-s-593 ( 593) [001] ...1 1034722.533037: tracing_mark_write: B|593|HWCSession::ValidateDisplay:: 25796 composer@2.1-s-593 ( 593) [001] ...1 1034722.533807: tracing_mark_write: B|593|HWDevice::Validate:: 25797 composer@2.1-s-593 ( 593) [001] ...1 1034722.534022: tracing_mark_write: E|593 25798 composer@2.1-s-593 ( 593) [001] ...1 1034722.534076: tracing_mark_write: E|593 25799 composer@2.1-s-593 ( 593) [001] ...1 1034722.534118: tracing_mark_write: E|593 25800 surfaceflinger-591 ( 591) [000] ...1 1034722.534235: tracing_mark_write: E|591 25801 surfaceflinger-591 ( 591) [000] ...1 1034722.534414: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 25802 composer@2.1-s-593 ( 593) [001] ...1 1034722.534525: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 25803 composer@2.1-s-593 ( 593) [001] ...1 1034722.534551: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 25804 composer@2.1-s-593 ( 593) [001] ...1 1034722.534579: tracing_mark_write: B|593|HWDevice::Commit:: 25805 composer@2.1-s-593 ( 593) [001] ...1 1034722.534966: tracing_mark_write: E|593 25806 composer@2.1-s-593 ( 593) [001] ...1 1034722.535017: tracing_mark_write: E|593 25807 composer@2.1-s-593 ( 593) [001] ...1 1034722.535082: tracing_mark_write: E|593 25808 surfaceflinger-591 ( 591) [000] ...1 1034722.535225: tracing_mark_write: E|591 25809 HwBinder:778_1-1087 ( 778) [000] ...1 1034722.544289: tracing_mark_write: E|778 25810 SensorService-1283 ( 1151) [002] ...1 1034722.544451: tracing_mark_write: E|1151 25811 SensorService-1283 ( 1151) [002] ...1 1034722.544635: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 25812 HwBinder:778_1-1087 ( 778) [000] ...1 1034722.544776: tracing_mark_write: B|778|HIDL::ISensors::poll::server 25813 surfaceflinger-591 ( 591) [000] ...1 1034722.549413: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 25814 composer@2.1-s-593 ( 593) [001] ...1 1034722.549669: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 25815 composer@2.1-s-593 ( 593) [001] ...1 1034722.549936: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 25816 composer@2.1-s-593 ( 593) [001] ...1 1034722.549966: tracing_mark_write: E|593 25817 composer@2.1-s-593 ( 593) [001] ...1 1034722.549983: tracing_mark_write: B|593|HWCSession::ValidateDisplay:: 25818 composer@2.1-s-593 ( 593) [001] ...1 1034722.550723: tracing_mark_write: B|593|HWDevice::Validate:: 25819 composer@2.1-s-593 ( 593) [001] ...1 1034722.550890: tracing_mark_write: E|593 25820 composer@2.1-s-593 ( 593) [001] ...1 1034722.550948: tracing_mark_write: E|593 25821 composer@2.1-s-593 ( 593) [001] ...1 1034722.551070: tracing_mark_write: E|593 25822 surfaceflinger-591 ( 591) [000] ...1 1034722.551213: tracing_mark_write: E|591 25823 surfaceflinger-591 ( 591) [000] ...1 1034722.551429: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 25824 composer@2.1-s-593 ( 593) [001] ...1 1034722.551564: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 25825 composer@2.1-s-593 ( 593) [001] ...1 1034722.551592: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 25826 composer@2.1-s-593 ( 593) [001] ...1 1034722.551625: tracing_mark_write: B|593|HWDevice::Commit:: 25827 composer@2.1-s-593 ( 593) [001] ...1 1034722.551900: tracing_mark_write: E|593 25828 composer@2.1-s-593 ( 593) [001] ...1 1034722.551954: tracing_mark_write: E|593 25829 composer@2.1-s-593 ( 593) [001] ...1 1034722.552022: tracing_mark_write: E|593 25830 surfaceflinger-591 ( 591) [000] ...1 1034722.552182: tracing_mark_write: E|591 25831 surfaceflinger-591 ( 591) [000] ...1 1034722.565712: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 25832 composer@2.1-s-593 ( 593) [001] ...1 1034722.565933: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 25833 composer@2.1-s-593 ( 593) [001] ...1 1034722.566122: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 25834 composer@2.1-s-593 ( 593) [001] ...1 1034722.566147: tracing_mark_write: E|593 25835 composer@2.1-s-593 ( 593) [001] ...1 1034722.566163: tracing_mark_write: B|593|HWCSession::ValidateDisplay:: 25836 HwBinder:778_1-1087 ( 778) [000] ...1 1034722.566371: tracing_mark_write: E|778 25837 SensorService-1283 ( 1151) [002] ...1 1034722.566529: tracing_mark_write: E|1151 25838 SensorService-1283 ( 1151) [002] ...1 1034722.566764: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 25839 HwBinder:778_1-1087 ( 778) [000] ...1 1034722.566911: tracing_mark_write: B|778|HIDL::ISensors::poll::server 25840 composer@2.1-s-593 ( 593) [001] ...1 1034722.566926: tracing_mark_write: B|593|HWDevice::Validate:: 25841 composer@2.1-s-593 ( 593) [001] ...1 1034722.567089: tracing_mark_write: E|593 25842 composer@2.1-s-593 ( 593) [001] ...1 1034722.567149: tracing_mark_write: E|593 25843 composer@2.1-s-593 ( 593) [001] ...1 1034722.567195: tracing_mark_write: E|593 25844 surfaceflinger-591 ( 591) [000] ...1 1034722.567339: tracing_mark_write: E|591 25845 surfaceflinger-591 ( 591) [000] ...1 1034722.567564: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 25846 composer@2.1-s-593 ( 593) [001] ...1 1034722.567706: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 25847 composer@2.1-s-593 ( 593) [001] ...1 1034722.567736: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 25848 composer@2.1-s-593 ( 593) [001] ...1 1034722.567769: tracing_mark_write: B|593|HWDevice::Commit:: 25849 composer@2.1-s-593 ( 593) [001] ...1 1034722.568276: tracing_mark_write: E|593 25850 composer@2.1-s-593 ( 593) [001] ...1 1034722.568330: tracing_mark_write: E|593 25851 composer@2.1-s-593 ( 593) [001] ...1 1034722.568400: tracing_mark_write: E|593 25852 surfaceflinger-591 ( 591) [000] ...1 1034722.568563: tracing_mark_write: E|591 25853 surfaceflinger-591 ( 591) [000] ...1 1034722.582454: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 25854 composer@2.1-s-593 ( 593) [001] ...1 1034722.582734: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 25855 composer@2.1-s-593 ( 593) [001] ...1 1034722.582946: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 25856 composer@2.1-s-593 ( 593) [001] ...1 1034722.582975: tracing_mark_write: E|593 25857 composer@2.1-s-593 ( 593) [001] ...1 1034722.582992: tracing_mark_write: B|593|HWCSession::ValidateDisplay:: 25858 HwBinder:778_1-1087 ( 778) [003] ...1 1034722.583495: tracing_mark_write: E|778 25859 SensorService-1283 ( 1151) [002] ...1 1034722.583652: tracing_mark_write: E|1151 25860 SensorService-1283 ( 1151) [002] ...1 1034722.583850: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 25861 composer@2.1-s-593 ( 593) [001] ...1 1034722.583868: tracing_mark_write: B|593|HWDevice::Validate:: 25862 HwBinder:778_1-1087 ( 778) [003] ...1 1034722.583995: tracing_mark_write: B|778|HIDL::ISensors::poll::server 25863 composer@2.1-s-593 ( 593) [001] ...1 1034722.584043: tracing_mark_write: E|593 25864 composer@2.1-s-593 ( 593) [001] ...1 1034722.584104: tracing_mark_write: E|593 25865 composer@2.1-s-593 ( 593) [001] ...1 1034722.584155: tracing_mark_write: E|593 25866 surfaceflinger-591 ( 591) [000] ...1 1034722.584308: tracing_mark_write: E|591 25867 surfaceflinger-591 ( 591) [000] ...1 1034722.584600: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 25868 composer@2.1-s-593 ( 593) [001] ...1 1034722.584750: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 25869 composer@2.1-s-593 ( 593) [001] ...1 1034722.584784: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 25870 composer@2.1-s-593 ( 593) [001] ...1 1034722.584820: tracing_mark_write: B|593|HWDevice::Commit:: 25871 composer@2.1-s-593 ( 593) [001] ...1 1034722.585281: tracing_mark_write: E|593 25872 composer@2.1-s-593 ( 593) [001] ...1 1034722.585337: tracing_mark_write: E|593 25873 composer@2.1-s-593 ( 593) [001] ...1 1034722.585409: tracing_mark_write: E|593 25874 surfaceflinger-591 ( 591) [000] ...1 1034722.585578: tracing_mark_write: E|591 25875 surfaceflinger-591 ( 591) [000] ...1 1034722.599388: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 25876 composer@2.1-s-593 ( 593) [001] ...1 1034722.599623: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 25877 composer@2.1-s-593 ( 593) [001] ...1 1034722.599821: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 25878 composer@2.1-s-593 ( 593) [001] ...1 1034722.599847: tracing_mark_write: E|593 25879 composer@2.1-s-593 ( 593) [001] ...1 1034722.599925: tracing_mark_write: B|593|HWCSession::ValidateDisplay:: 25880 composer@2.1-s-593 ( 593) [001] ...1 1034722.600635: tracing_mark_write: B|593|HWDevice::Validate:: 25881 composer@2.1-s-593 ( 593) [001] ...1 1034722.600795: tracing_mark_write: E|593 25882 composer@2.1-s-593 ( 593) [001] ...1 1034722.600852: tracing_mark_write: E|593 25883 composer@2.1-s-593 ( 593) [001] ...1 1034722.600899: tracing_mark_write: E|593 25884 surfaceflinger-591 ( 591) [000] ...1 1034722.601042: tracing_mark_write: E|591 25885 surfaceflinger-591 ( 591) [000] ...1 1034722.601253: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 25886 composer@2.1-s-593 ( 593) [001] ...1 1034722.601391: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 25887 composer@2.1-s-593 ( 593) [001] ...1 1034722.601422: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 25888 composer@2.1-s-593 ( 593) [001] ...1 1034722.601453: tracing_mark_write: B|593|HWDevice::Commit:: 25889 composer@2.1-s-593 ( 593) [001] ...1 1034722.601717: tracing_mark_write: E|593 25890 composer@2.1-s-593 ( 593) [001] ...1 1034722.601772: tracing_mark_write: E|593 25891 composer@2.1-s-593 ( 593) [001] ...1 1034722.601841: tracing_mark_write: E|593 25892 surfaceflinger-591 ( 591) [000] ...1 1034722.602016: tracing_mark_write: E|591 25893 HwBinder:778_1-1087 ( 778) [003] ...1 1034722.602044: tracing_mark_write: E|778 25894 SensorService-1283 ( 1151) [002] ...1 1034722.602185: tracing_mark_write: E|1151 25895 SensorService-1283 ( 1151) [002] ...1 1034722.602373: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 25896 HwBinder:778_1-1087 ( 778) [003] ...1 1034722.602509: tracing_mark_write: B|778|HIDL::ISensors::poll::server 25897 surfaceflinger-591 ( 591) [000] ...1 1034722.615957: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 25898 composer@2.1-s-593 ( 593) [001] ...1 1034722.616182: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 25899 composer@2.1-s-593 ( 593) [001] ...1 1034722.616373: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 25900 composer@2.1-s-593 ( 593) [001] ...1 1034722.616399: tracing_mark_write: E|593 25901 composer@2.1-s-593 ( 593) [001] ...1 1034722.616416: tracing_mark_write: B|593|HWCSession::ValidateDisplay:: 25902 composer@2.1-s-593 ( 593) [001] ...1 1034722.617232: tracing_mark_write: B|593|HWDevice::Validate:: 25903 composer@2.1-s-593 ( 593) [001] ...1 1034722.617391: tracing_mark_write: E|593 25904 composer@2.1-s-593 ( 593) [001] ...1 1034722.617447: tracing_mark_write: E|593 25905 composer@2.1-s-593 ( 593) [001] ...1 1034722.617493: tracing_mark_write: E|593 25906 surfaceflinger-591 ( 591) [000] ...1 1034722.617631: tracing_mark_write: E|591 25907 surfaceflinger-591 ( 591) [000] ...1 1034722.617837: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 25908 composer@2.1-s-593 ( 593) [001] ...1 1034722.617973: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 25909 composer@2.1-s-593 ( 593) [001] ...1 1034722.618004: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 25910 composer@2.1-s-593 ( 593) [001] ...1 1034722.618038: tracing_mark_write: B|593|HWDevice::Commit:: 25911 composer@2.1-s-593 ( 593) [001] ...1 1034722.618543: tracing_mark_write: E|593 25912 composer@2.1-s-593 ( 593) [001] ...1 1034722.618596: tracing_mark_write: E|593 25913 composer@2.1-s-593 ( 593) [001] ...1 1034722.618666: tracing_mark_write: E|593 25914 surfaceflinger-591 ( 591) [000] ...1 1034722.618828: tracing_mark_write: E|591 25915 HwBinder:778_1-1087 ( 778) [000] ...1 1034722.621269: tracing_mark_write: E|778 25916 SensorService-1283 ( 1151) [002] ...1 1034722.621415: tracing_mark_write: E|1151 25917 SensorService-1283 ( 1151) [002] ...1 1034722.621606: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 25918 HwBinder:778_1-1087 ( 778) [000] ...1 1034722.621749: tracing_mark_write: B|778|HIDL::ISensors::poll::server 25919 surfaceflinger-591 ( 591) [001] ...1 1034722.633035: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 25920 composer@2.1-s-593 ( 593) [000] ...1 1034722.633340: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 25921 composer@2.1-s-593 ( 593) [000] ...1 1034722.633551: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 25922 composer@2.1-s-593 ( 593) [000] ...1 1034722.633579: tracing_mark_write: E|593 25923 composer@2.1-s-593 ( 593) [000] ...1 1034722.633595: tracing_mark_write: B|593|HWCSession::ValidateDisplay:: 25924 composer@2.1-s-593 ( 593) [000] ...1 1034722.634301: tracing_mark_write: B|593|HWDevice::Validate:: 25925 composer@2.1-s-593 ( 593) [000] ...1 1034722.634466: tracing_mark_write: E|593 25926 composer@2.1-s-593 ( 593) [000] ...1 1034722.634525: tracing_mark_write: E|593 25927 composer@2.1-s-593 ( 593) [000] ...1 1034722.634574: tracing_mark_write: E|593 25928 surfaceflinger-591 ( 591) [001] ...1 1034722.634721: tracing_mark_write: E|591 25929 surfaceflinger-591 ( 591) [001] ...1 1034722.634958: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 25930 composer@2.1-s-593 ( 593) [000] ...1 1034722.635102: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 25931 composer@2.1-s-593 ( 593) [000] ...1 1034722.635132: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 25932 composer@2.1-s-593 ( 593) [000] ...1 1034722.635166: tracing_mark_write: B|593|HWDevice::Commit:: 25933 composer@2.1-s-593 ( 593) [000] ...1 1034722.635603: tracing_mark_write: E|593 25934 composer@2.1-s-593 ( 593) [000] ...1 1034722.635658: tracing_mark_write: E|593 25935 composer@2.1-s-593 ( 593) [000] ...1 1034722.635729: tracing_mark_write: E|593 25936 surfaceflinger-591 ( 591) [001] ...1 1034722.635890: tracing_mark_write: E|591 25937 HwBinder:778_1-1087 ( 778) [000] ...1 1034722.640679: tracing_mark_write: E|778 25938 SensorService-1283 ( 1151) [002] ...1 1034722.640827: tracing_mark_write: E|1151 25939 SensorService-1283 ( 1151) [002] ...1 1034722.641026: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 25940 HwBinder:778_1-1087 ( 778) [000] ...1 1034722.641164: tracing_mark_write: B|778|HIDL::ISensors::poll::server 25941 surfaceflinger-591 ( 591) [003] ...1 1034722.649112: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 25942 composer@2.1-s-593 ( 593) [000] ...1 1034722.649329: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 25943 composer@2.1-s-593 ( 593) [000] ...1 1034722.649506: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 25944 composer@2.1-s-593 ( 593) [000] ...1 1034722.649529: tracing_mark_write: E|593 25945 composer@2.1-s-593 ( 593) [000] ...1 1034722.649543: tracing_mark_write: B|593|HWCSession::ValidateDisplay:: 25946 composer@2.1-s-593 ( 593) [000] ...1 1034722.650228: tracing_mark_write: B|593|HWDevice::Validate:: 25947 composer@2.1-s-593 ( 593) [000] ...1 1034722.650372: tracing_mark_write: E|593 25948 composer@2.1-s-593 ( 593) [000] ...1 1034722.650424: tracing_mark_write: E|593 25949 composer@2.1-s-593 ( 593) [000] ...1 1034722.650466: tracing_mark_write: E|593 25950 surfaceflinger-591 ( 591) [003] ...1 1034722.650589: tracing_mark_write: E|591 25951 surfaceflinger-591 ( 591) [003] ...1 1034722.650771: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 25952 composer@2.1-s-593 ( 593) [000] ...1 1034722.650886: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 25953 composer@2.1-s-593 ( 593) [000] ...1 1034722.650911: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 25954 composer@2.1-s-593 ( 593) [000] ...1 1034722.650939: tracing_mark_write: B|593|HWDevice::Commit:: 25955 composer@2.1-s-593 ( 593) [000] ...1 1034722.651178: tracing_mark_write: E|593 25956 composer@2.1-s-593 ( 593) [000] ...1 1034722.651224: tracing_mark_write: E|593 25957 composer@2.1-s-593 ( 593) [000] ...1 1034722.651284: tracing_mark_write: E|593 25958 surfaceflinger-591 ( 591) [003] ...1 1034722.651423: tracing_mark_write: E|591 25959 HwBinder:778_1-1087 ( 778) [000] ...1 1034722.659782: tracing_mark_write: E|778 25960 SensorService-1283 ( 1151) [002] ...1 1034722.659995: tracing_mark_write: E|1151 25961 SensorService-1283 ( 1151) [002] ...1 1034722.660130: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 25962 HwBinder:778_1-1087 ( 778) [000] ...1 1034722.660250: tracing_mark_write: B|778|HIDL::ISensors::poll::server 25963 surfaceflinger-591 ( 591) [000] ...1 1034722.665604: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 25964 composer@2.1-s-593 ( 593) [001] ...1 1034722.665811: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 25965 composer@2.1-s-593 ( 593) [001] ...1 1034722.665976: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 25966 composer@2.1-s-593 ( 593) [001] ...1 1034722.665999: tracing_mark_write: E|593 25967 composer@2.1-s-593 ( 593) [001] ...1 1034722.666011: tracing_mark_write: B|593|HWCSession::ValidateDisplay:: 25968 composer@2.1-s-593 ( 593) [001] ...1 1034722.666652: tracing_mark_write: B|593|HWDevice::Validate:: 25969 composer@2.1-s-593 ( 593) [001] ...1 1034722.666792: tracing_mark_write: E|593 25970 composer@2.1-s-593 ( 593) [001] ...1 1034722.666839: tracing_mark_write: E|593 25971 composer@2.1-s-593 ( 593) [001] ...1 1034722.666879: tracing_mark_write: E|593 25972 surfaceflinger-591 ( 591) [000] ...1 1034722.666997: tracing_mark_write: E|591 25973 surfaceflinger-591 ( 591) [000] ...1 1034722.667168: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 25974 composer@2.1-s-593 ( 593) [001] ...1 1034722.667274: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 25975 composer@2.1-s-593 ( 593) [001] ...1 1034722.667299: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 25976 composer@2.1-s-593 ( 593) [001] ...1 1034722.667325: tracing_mark_write: B|593|HWDevice::Commit:: 25977 composer@2.1-s-593 ( 593) [001] ...1 1034722.667738: tracing_mark_write: E|593 25978 composer@2.1-s-593 ( 593) [001] ...1 1034722.667783: tracing_mark_write: E|593 25979 composer@2.1-s-593 ( 593) [001] ...1 1034722.667841: tracing_mark_write: E|593 25980 surfaceflinger-591 ( 591) [000] ...1 1034722.667963: tracing_mark_write: E|591 25981 HwBinder:778_1-1087 ( 778) [000] ...1 1034722.679144: tracing_mark_write: E|778 25982 SensorService-1283 ( 1151) [002] ...1 1034722.679273: tracing_mark_write: E|1151 25983 SensorService-1283 ( 1151) [002] ...1 1034722.679393: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 25984 HwBinder:778_1-1087 ( 778) [000] ...1 1034722.679501: tracing_mark_write: B|778|HIDL::ISensors::poll::server 25985 surfaceflinger-591 ( 591) [000] ...1 1034722.680649: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 25986 composer@2.1-s-593 ( 593) [001] ...1 1034722.680835: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 25987 composer@2.1-s-593 ( 593) [001] ...1 1034722.680962: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 25988 composer@2.1-s-593 ( 593) [001] ...1 1034722.680984: tracing_mark_write: E|593 25989 composer@2.1-s-593 ( 593) [001] ...1 1034722.680996: tracing_mark_write: B|593|HWCSession::ValidateDisplay:: 25990 composer@2.1-s-593 ( 593) [001] ...1 1034722.681553: tracing_mark_write: B|593|HWDevice::Validate:: 25991 composer@2.1-s-593 ( 593) [001] ...1 1034722.681685: tracing_mark_write: E|593 25992 composer@2.1-s-593 ( 593) [001] ...1 1034722.681735: tracing_mark_write: E|593 25993 composer@2.1-s-593 ( 593) [001] ...1 1034722.681773: tracing_mark_write: E|593 25994 surfaceflinger-591 ( 591) [000] ...1 1034722.681879: tracing_mark_write: E|591 25995 surfaceflinger-591 ( 591) [000] ...1 1034722.682039: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 25996 composer@2.1-s-593 ( 593) [001] ...1 1034722.682144: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 25997 composer@2.1-s-593 ( 593) [001] ...1 1034722.682168: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 25998 composer@2.1-s-593 ( 593) [001] ...1 1034722.682193: tracing_mark_write: B|593|HWDevice::Commit:: 25999 composer@2.1-s-593 ( 593) [001] ...1 1034722.682525: tracing_mark_write: E|593 26000 composer@2.1-s-593 ( 593) [001] ...1 1034722.682567: tracing_mark_write: E|593 26001 composer@2.1-s-593 ( 593) [001] ...1 1034722.682619: tracing_mark_write: E|593 26002 surfaceflinger-591 ( 591) [000] ...1 1034722.682740: tracing_mark_write: E|591 26003 surfaceflinger-591 ( 591) [000] ...1 1034722.697377: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 26004 composer@2.1-s-593 ( 593) [001] ...1 1034722.697587: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 26005 composer@2.1-s-593 ( 593) [001] ...1 1034722.697728: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 26006 composer@2.1-s-593 ( 593) [001] ...1 1034722.697753: tracing_mark_write: E|593 26007 composer@2.1-s-593 ( 593) [001] ...1 1034722.697770: tracing_mark_write: B|593|HWCSession::ValidateDisplay:: 26008 composer@2.1-s-593 ( 593) [001] ...1 1034722.698442: tracing_mark_write: B|593|HWDevice::Validate:: 26009 composer@2.1-s-593 ( 593) [001] ...1 1034722.698602: tracing_mark_write: E|593 26010 composer@2.1-s-593 ( 593) [001] ...1 1034722.698669: tracing_mark_write: E|593 26011 HwBinder:778_1-1087 ( 778) [000] ...1 1034722.698682: tracing_mark_write: E|778 26012 composer@2.1-s-593 ( 593) [001] ...1 1034722.698715: tracing_mark_write: E|593 26013 SensorService-1283 ( 1151) [002] ...1 1034722.698855: tracing_mark_write: E|1151 26014 surfaceflinger-591 ( 591) [003] ...1 1034722.698879: tracing_mark_write: E|591 26015 SensorService-1283 ( 1151) [002] ...1 1034722.699026: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 26016 surfaceflinger-591 ( 591) [003] ...1 1034722.699092: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 26017 HwBinder:778_1-1087 ( 778) [000] ...1 1034722.699165: tracing_mark_write: B|778|HIDL::ISensors::poll::server 26018 composer@2.1-s-593 ( 593) [001] ...1 1034722.699233: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 26019 composer@2.1-s-593 ( 593) [001] ...1 1034722.699264: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 26020 composer@2.1-s-593 ( 593) [001] ...1 1034722.699299: tracing_mark_write: B|593|HWDevice::Commit:: 26021 composer@2.1-s-593 ( 593) [001] ...1 1034722.699575: tracing_mark_write: E|593 26022 composer@2.1-s-593 ( 593) [001] ...1 1034722.699629: tracing_mark_write: E|593 26023 composer@2.1-s-593 ( 593) [001] ...1 1034722.699700: tracing_mark_write: E|593 26024 surfaceflinger-591 ( 591) [003] ...1 1034722.699862: tracing_mark_write: E|591 26025 surfaceflinger-591 ( 591) [000] ...1 1034722.714482: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 26026 composer@2.1-s-593 ( 593) [001] ...1 1034722.714744: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 26027 composer@2.1-s-593 ( 593) [001] ...1 1034722.714909: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 26028 composer@2.1-s-593 ( 593) [001] ...1 1034722.714937: tracing_mark_write: E|593 26029 composer@2.1-s-593 ( 593) [001] ...1 1034722.714954: tracing_mark_write: B|593|HWCSession::ValidateDisplay:: 26030 composer@2.1-s-593 ( 593) [001] ...1 1034722.715660: tracing_mark_write: B|593|HWDevice::Validate:: 26031 composer@2.1-s-593 ( 593) [001] ...1 1034722.715827: tracing_mark_write: E|593 26032 composer@2.1-s-593 ( 593) [001] ...1 1034722.715890: tracing_mark_write: E|593 26033 composer@2.1-s-593 ( 593) [001] ...1 1034722.715938: tracing_mark_write: E|593 26034 surfaceflinger-591 ( 591) [000] ...1 1034722.716076: tracing_mark_write: E|591 26035 surfaceflinger-591 ( 591) [000] ...1 1034722.716287: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 26036 composer@2.1-s-593 ( 593) [001] ...1 1034722.716423: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 26037 composer@2.1-s-593 ( 593) [001] ...1 1034722.716452: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 26038 composer@2.1-s-593 ( 593) [001] ...1 1034722.716486: tracing_mark_write: B|593|HWDevice::Commit:: 26039 composer@2.1-s-593 ( 593) [001] ...1 1034722.717063: tracing_mark_write: E|593 26040 composer@2.1-s-593 ( 593) [001] ...1 1034722.717118: tracing_mark_write: E|593 26041 composer@2.1-s-593 ( 593) [001] ...1 1034722.717187: tracing_mark_write: E|593 26042 surfaceflinger-591 ( 591) [000] ...1 1034722.717350: tracing_mark_write: E|591 26043 HwBinder:778_1-1087 ( 778) [001] ...1 1034722.718335: tracing_mark_write: E|778 26044 SensorService-1283 ( 1151) [002] ...1 1034722.718488: tracing_mark_write: E|1151 26045 SensorService-1283 ( 1151) [002] ...1 1034722.718647: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 26046 HwBinder:778_1-1087 ( 778) [001] ...1 1034722.718784: tracing_mark_write: B|778|HIDL::ISensors::poll::server 26047 surfaceflinger-591 ( 591) [000] ...1 1034722.730931: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 26048 composer@2.1-s-593 ( 593) [001] ...1 1034722.731155: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 26049 composer@2.1-s-593 ( 593) [001] ...1 1034722.731306: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 26050 composer@2.1-s-593 ( 593) [001] ...1 1034722.731332: tracing_mark_write: E|593 26051 composer@2.1-s-593 ( 593) [001] ...1 1034722.731348: tracing_mark_write: B|593|HWCSession::ValidateDisplay:: 26052 composer@2.1-s-593 ( 593) [001] ...1 1034722.732041: tracing_mark_write: B|593|HWDevice::Validate:: 26053 composer@2.1-s-593 ( 593) [001] ...1 1034722.732205: tracing_mark_write: E|593 26054 composer@2.1-s-593 ( 593) [001] ...1 1034722.732267: tracing_mark_write: E|593 26055 composer@2.1-s-593 ( 593) [001] ...1 1034722.732313: tracing_mark_write: E|593 26056 surfaceflinger-591 ( 591) [000] ...1 1034722.732447: tracing_mark_write: E|591 26057 surfaceflinger-591 ( 591) [000] ...1 1034722.732656: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 26058 composer@2.1-s-593 ( 593) [001] ...1 1034722.732794: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 26059 composer@2.1-s-593 ( 593) [001] ...1 1034722.732824: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 26060 composer@2.1-s-593 ( 593) [001] ...1 1034722.732858: tracing_mark_write: B|593|HWDevice::Commit:: 26061 composer@2.1-s-593 ( 593) [001] ...1 1034722.733436: tracing_mark_write: E|593 26062 composer@2.1-s-593 ( 593) [001] ...1 1034722.733489: tracing_mark_write: E|593 26063 composer@2.1-s-593 ( 593) [001] ...1 1034722.733559: tracing_mark_write: E|593 26064 surfaceflinger-591 ( 591) [000] ...1 1034722.733718: tracing_mark_write: E|591 26065 HwBinder:778_1-1087 ( 778) [001] ...1 1034722.736924: tracing_mark_write: E|778 26066 SensorService-1283 ( 1151) [002] ...1 1034722.737075: tracing_mark_write: E|1151 26067 SensorService-1283 ( 1151) [002] ...1 1034722.737231: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 26068 HwBinder:778_1-1087 ( 778) [001] ...1 1034722.737368: tracing_mark_write: B|778|HIDL::ISensors::poll::server 26069 surfaceflinger-591 ( 591) [000] ...1 1034722.747778: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 26070 composer@2.1-s-593 ( 593) [001] ...1 1034722.748071: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 26071 composer@2.1-s-593 ( 593) [001] ...1 1034722.748221: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 26072 composer@2.1-s-593 ( 593) [001] ...1 1034722.748259: tracing_mark_write: B|593|HWDevice::Commit:: 26073 composer@2.1-s-593 ( 593) [001] ...1 1034722.748535: tracing_mark_write: E|593 26074 composer@2.1-s-593 ( 593) [001] ...1 1034722.748598: tracing_mark_write: E|593 26075 composer@2.1-s-593 ( 593) [001] ...1 1034722.748671: tracing_mark_write: E|593 26076 surfaceflinger-591 ( 591) [000] ...1 1034722.748854: tracing_mark_write: E|591 26077 HwBinder:778_1-1087 ( 778) [001] ...1 1034722.756177: tracing_mark_write: E|778 26078 SensorService-1283 ( 1151) [002] ...1 1034722.756346: tracing_mark_write: E|1151 26079 SensorService-1283 ( 1151) [002] ...1 1034722.756515: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 26080 HwBinder:778_1-1087 ( 778) [001] ...1 1034722.756749: tracing_mark_write: B|778|HIDL::ISensors::poll::server 26081 surfaceflinger-591 ( 591) [000] ...1 1034722.764743: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 26082 composer@2.1-s-593 ( 593) [001] ...1 1034722.764987: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 26083 composer@2.1-s-593 ( 593) [001] ...1 1034722.765152: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 26084 composer@2.1-s-593 ( 593) [001] ...1 1034722.765180: tracing_mark_write: E|593 26085 composer@2.1-s-593 ( 593) [001] ...1 1034722.765197: tracing_mark_write: B|593|HWCSession::ValidateDisplay:: 26086 composer@2.1-s-593 ( 593) [001] ...1 1034722.765904: tracing_mark_write: B|593|HWDevice::Validate:: 26087 composer@2.1-s-593 ( 593) [001] ...1 1034722.766071: tracing_mark_write: E|593 26088 composer@2.1-s-593 ( 593) [001] ...1 1034722.766136: tracing_mark_write: E|593 26089 composer@2.1-s-593 ( 593) [001] ...1 1034722.766186: tracing_mark_write: E|593 26090 surfaceflinger-591 ( 591) [000] ...1 1034722.766323: tracing_mark_write: E|591 26091 surfaceflinger-591 ( 591) [000] ...1 1034722.766653: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 26092 composer@2.1-s-593 ( 593) [001] ...1 1034722.766789: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 26093 composer@2.1-s-593 ( 593) [001] ...1 1034722.766821: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 26094 composer@2.1-s-593 ( 593) [001] ...1 1034722.766856: tracing_mark_write: B|593|HWDevice::Commit:: 26095 composer@2.1-s-593 ( 593) [001] ...1 1034722.767358: tracing_mark_write: E|593 26096 composer@2.1-s-593 ( 593) [001] ...1 1034722.767414: tracing_mark_write: E|593 26097 composer@2.1-s-593 ( 593) [001] ...1 1034722.767486: tracing_mark_write: E|593 26098 surfaceflinger-591 ( 591) [000] ...1 1034722.767649: tracing_mark_write: E|591 26099 HwBinder:778_1-1087 ( 778) [001] ...1 1034722.775390: tracing_mark_write: E|778 26100 SensorService-1283 ( 1151) [002] ...1 1034722.775539: tracing_mark_write: E|1151 26101 SensorService-1283 ( 1151) [002] ...1 1034722.775694: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 26102 HwBinder:778_1-1087 ( 778) [001] ...1 1034722.775831: tracing_mark_write: B|778|HIDL::ISensors::poll::server 26103 surfaceflinger-591 ( 591) [000] ...1 1034722.781341: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 26104 composer@2.1-s-593 ( 593) [001] ...1 1034722.781564: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 26105 composer@2.1-s-593 ( 593) [001] ...1 1034722.781716: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 26106 composer@2.1-s-593 ( 593) [001] ...1 1034722.781743: tracing_mark_write: E|593 26107 composer@2.1-s-593 ( 593) [001] ...1 1034722.781759: tracing_mark_write: B|593|HWCSession::ValidateDisplay:: 26108 composer@2.1-s-593 ( 593) [001] ...1 1034722.782450: tracing_mark_write: B|593|HWDevice::Validate:: 26109 composer@2.1-s-593 ( 593) [001] ...1 1034722.782608: tracing_mark_write: E|593 26110 composer@2.1-s-593 ( 593) [001] ...1 1034722.782669: tracing_mark_write: E|593 26111 composer@2.1-s-593 ( 593) [001] ...1 1034722.782716: tracing_mark_write: E|593 26112 surfaceflinger-591 ( 591) [000] ...1 1034722.782848: tracing_mark_write: E|591 26113 surfaceflinger-591 ( 591) [000] ...1 1034722.783051: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 26114 composer@2.1-s-593 ( 593) [001] ...1 1034722.783186: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 26115 composer@2.1-s-593 ( 593) [001] ...1 1034722.783333: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 26116 composer@2.1-s-593 ( 593) [001] ...1 1034722.783390: tracing_mark_write: B|593|HWDevice::Commit:: 26117 composer@2.1-s-593 ( 593) [001] ...1 1034722.783822: tracing_mark_write: E|593 26118 composer@2.1-s-593 ( 593) [001] ...1 1034722.783878: tracing_mark_write: E|593 26119 composer@2.1-s-593 ( 593) [001] ...1 1034722.783948: tracing_mark_write: E|593 26120 surfaceflinger-591 ( 591) [000] ...1 1034722.784111: tracing_mark_write: E|591 26121 HwBinder:778_1-1087 ( 778) [001] ...1 1034722.796132: tracing_mark_write: E|778 26122 SensorService-1283 ( 1151) [002] ...1 1034722.796294: tracing_mark_write: E|1151 26123 SensorService-1283 ( 1151) [002] ...1 1034722.796471: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 26124 HwBinder:778_1-1087 ( 778) [001] ...1 1034722.796732: tracing_mark_write: B|778|HIDL::ISensors::poll::server 26125 surfaceflinger-591 ( 591) [000] ...1 1034722.798433: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 26126 composer@2.1-s-593 ( 593) [001] ...1 1034722.798681: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 26127 composer@2.1-s-593 ( 593) [001] ...1 1034722.798844: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 26128 composer@2.1-s-593 ( 593) [001] ...1 1034722.798873: tracing_mark_write: E|593 26129 composer@2.1-s-593 ( 593) [001] ...1 1034722.798889: tracing_mark_write: B|593|HWCSession::ValidateDisplay:: 26130 composer@2.1-s-593 ( 593) [001] ...1 1034722.799616: tracing_mark_write: B|593|HWDevice::Validate:: 26131 composer@2.1-s-593 ( 593) [001] ...1 1034722.799784: tracing_mark_write: E|593 26132 composer@2.1-s-593 ( 593) [001] ...1 1034722.799847: tracing_mark_write: E|593 26133 composer@2.1-s-593 ( 593) [001] ...1 1034722.799956: tracing_mark_write: E|593 26134 surfaceflinger-591 ( 591) [000] ...1 1034722.800094: tracing_mark_write: E|591 26135 surfaceflinger-591 ( 591) [000] ...1 1034722.800304: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 26136 composer@2.1-s-593 ( 593) [001] ...1 1034722.800440: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 26137 composer@2.1-s-593 ( 593) [001] ...1 1034722.800471: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 26138 composer@2.1-s-593 ( 593) [001] ...1 1034722.800505: tracing_mark_write: B|593|HWDevice::Commit:: 26139 composer@2.1-s-593 ( 593) [001] ...1 1034722.800770: tracing_mark_write: E|593 26140 composer@2.1-s-593 ( 593) [001] ...1 1034722.800826: tracing_mark_write: E|593 26141 composer@2.1-s-593 ( 593) [001] ...1 1034722.800898: tracing_mark_write: E|593 26142 surfaceflinger-591 ( 591) [000] ...1 1034722.801073: tracing_mark_write: E|591 26143 HwBinder:778_1-1087 ( 778) [001] ...1 1034722.813970: tracing_mark_write: E|778 26144 SensorService-1283 ( 1151) [003] ...1 1034722.814151: tracing_mark_write: E|1151 26145 SensorService-1283 ( 1151) [003] ...1 1034722.814323: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 26146 HwBinder:778_1-1087 ( 778) [001] ...1 1034722.814467: tracing_mark_write: B|778|HIDL::ISensors::poll::server 26147 surfaceflinger-591 ( 591) [000] ...1 1034722.814973: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 26148 composer@2.1-s-593 ( 593) [001] ...1 1034722.815188: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 26149 composer@2.1-s-593 ( 593) [001] ...1 1034722.815340: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 26150 composer@2.1-s-593 ( 593) [001] ...1 1034722.815367: tracing_mark_write: E|593 26151 composer@2.1-s-593 ( 593) [001] ...1 1034722.815383: tracing_mark_write: B|593|HWCSession::ValidateDisplay:: 26152 composer@2.1-s-593 ( 593) [001] ...1 1034722.816071: tracing_mark_write: B|593|HWDevice::Validate:: 26153 composer@2.1-s-593 ( 593) [001] ...1 1034722.816232: tracing_mark_write: E|593 26154 composer@2.1-s-593 ( 593) [001] ...1 1034722.816294: tracing_mark_write: E|593 26155 composer@2.1-s-593 ( 593) [001] ...1 1034722.816340: tracing_mark_write: E|593 26156 surfaceflinger-591 ( 591) [000] ...1 1034722.816469: tracing_mark_write: E|591 26157 surfaceflinger-591 ( 591) [000] ...1 1034722.816768: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 26158 composer@2.1-s-593 ( 593) [001] ...1 1034722.816908: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 26159 composer@2.1-s-593 ( 593) [001] ...1 1034722.816938: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 26160 composer@2.1-s-593 ( 593) [001] ...1 1034722.816971: tracing_mark_write: B|593|HWDevice::Commit:: 26161 composer@2.1-s-593 ( 593) [001] ...1 1034722.817492: tracing_mark_write: E|593 26162 composer@2.1-s-593 ( 593) [001] ...1 1034722.817545: tracing_mark_write: E|593 26163 composer@2.1-s-593 ( 593) [001] ...1 1034722.817616: tracing_mark_write: E|593 26164 surfaceflinger-591 ( 591) [000] ...1 1034722.817779: tracing_mark_write: E|591 26165 surfaceflinger-591 ( 591) [000] ...1 1034722.831594: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 26166 composer@2.1-s-593 ( 593) [001] ...1 1034722.831800: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 26167 composer@2.1-s-593 ( 593) [001] ...1 1034722.831940: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 26168 composer@2.1-s-593 ( 593) [001] ...1 1034722.831976: tracing_mark_write: B|593|HWDevice::Commit:: 26169 composer@2.1-s-593 ( 593) [001] ...1 1034722.832402: tracing_mark_write: E|593 26170 composer@2.1-s-593 ( 593) [001] ...1 1034722.832464: tracing_mark_write: E|593 26171 composer@2.1-s-593 ( 593) [001] ...1 1034722.832532: tracing_mark_write: E|593 26172 surfaceflinger-591 ( 591) [000] ...1 1034722.832704: tracing_mark_write: E|591 26173 HwBinder:778_1-1087 ( 778) [001] ...1 1034722.833772: tracing_mark_write: E|778 26174 SensorService-1283 ( 1151) [003] ...1 1034722.833917: tracing_mark_write: E|1151 26175 SensorService-1283 ( 1151) [003] ...1 1034722.834072: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 26176 HwBinder:778_1-1087 ( 778) [001] ...1 1034722.834205: tracing_mark_write: B|778|HIDL::ISensors::poll::server 26177 surfaceflinger-591 ( 591) [000] ...1 1034722.848749: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 26178 composer@2.1-s-593 ( 593) [001] ...1 1034722.849009: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 26179 composer@2.1-s-593 ( 593) [001] ...1 1034722.849172: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 26180 composer@2.1-s-593 ( 593) [001] ...1 1034722.849201: tracing_mark_write: E|593 26181 composer@2.1-s-593 ( 593) [001] ...1 1034722.849218: tracing_mark_write: B|593|HWCSession::ValidateDisplay:: 26182 composer@2.1-s-593 ( 593) [001] ...1 1034722.850013: tracing_mark_write: B|593|HWDevice::Validate:: 26183 composer@2.1-s-593 ( 593) [001] ...1 1034722.850179: tracing_mark_write: E|593 26184 composer@2.1-s-593 ( 593) [001] ...1 1034722.850241: tracing_mark_write: E|593 26185 composer@2.1-s-593 ( 593) [001] ...1 1034722.850289: tracing_mark_write: E|593 26186 surfaceflinger-591 ( 591) [000] ...1 1034722.850436: tracing_mark_write: E|591 26187 surfaceflinger-591 ( 591) [000] ...1 1034722.850653: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 26188 composer@2.1-s-593 ( 593) [001] ...1 1034722.850789: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 26189 composer@2.1-s-593 ( 593) [001] ...1 1034722.850822: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 26190 composer@2.1-s-593 ( 593) [001] ...1 1034722.850856: tracing_mark_write: B|593|HWDevice::Commit:: 26191 composer@2.1-s-593 ( 593) [001] ...1 1034722.851118: tracing_mark_write: E|593 26192 composer@2.1-s-593 ( 593) [001] ...1 1034722.851173: tracing_mark_write: E|593 26193 composer@2.1-s-593 ( 593) [001] ...1 1034722.851244: tracing_mark_write: E|593 26194 surfaceflinger-591 ( 591) [000] ...1 1034722.851416: tracing_mark_write: E|591 26195 HwBinder:778_1-1087 ( 778) [001] ...1 1034722.852356: tracing_mark_write: E|778 26196 SensorService-1283 ( 1151) [003] ...1 1034722.852491: tracing_mark_write: E|1151 26197 SensorService-1283 ( 1151) [003] ...1 1034722.852647: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 26198 HwBinder:778_1-1087 ( 778) [001] ...1 1034722.852778: tracing_mark_write: B|778|HIDL::ISensors::poll::server 26199 surfaceflinger-591 ( 591) [000] ...1 1034722.865263: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 26200 composer@2.1-s-593 ( 593) [001] ...1 1034722.865496: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 26201 composer@2.1-s-593 ( 593) [001] ...1 1034722.865649: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 26202 composer@2.1-s-593 ( 593) [001] ...1 1034722.865676: tracing_mark_write: E|593 26203 composer@2.1-s-593 ( 593) [001] ...1 1034722.865692: tracing_mark_write: B|593|HWCSession::ValidateDisplay:: 26204 composer@2.1-s-593 ( 593) [001] ...1 1034722.866387: tracing_mark_write: B|593|HWDevice::Validate:: 26205 composer@2.1-s-593 ( 593) [001] ...1 1034722.866643: tracing_mark_write: E|593 26206 composer@2.1-s-593 ( 593) [001] ...1 1034722.866708: tracing_mark_write: E|593 26207 composer@2.1-s-593 ( 593) [001] ...1 1034722.866758: tracing_mark_write: E|593 26208 surfaceflinger-591 ( 591) [000] ...1 1034722.866892: tracing_mark_write: E|591 26209 surfaceflinger-591 ( 591) [000] ...1 1034722.867121: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 26210 composer@2.1-s-593 ( 593) [001] ...1 1034722.867257: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 26211 composer@2.1-s-593 ( 593) [001] ...1 1034722.867288: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 26212 composer@2.1-s-593 ( 593) [001] ...1 1034722.867321: tracing_mark_write: B|593|HWDevice::Commit:: 26213 composer@2.1-s-593 ( 593) [001] ...1 1034722.867821: tracing_mark_write: E|593 26214 composer@2.1-s-593 ( 593) [001] ...1 1034722.867876: tracing_mark_write: E|593 26215 composer@2.1-s-593 ( 593) [001] ...1 1034722.867947: tracing_mark_write: E|593 26216 surfaceflinger-591 ( 591) [000] ...1 1034722.868108: tracing_mark_write: E|591 26217 HwBinder:778_1-1087 ( 778) [001] ...1 1034722.871707: tracing_mark_write: E|778 26218 SensorService-1283 ( 1151) [003] ...1 1034722.871842: tracing_mark_write: E|1151 26219 SensorService-1283 ( 1151) [003] ...1 1034722.871998: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 26220 HwBinder:778_1-1087 ( 778) [001] ...1 1034722.872129: tracing_mark_write: B|778|HIDL::ISensors::poll::server 26221 surfaceflinger-591 ( 591) [000] ...1 1034722.882453: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 26222 composer@2.1-s-593 ( 593) [001] ...1 1034722.882723: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 26223 composer@2.1-s-593 ( 593) [001] ...1 1034722.882890: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 26224 composer@2.1-s-593 ( 593) [001] ...1 1034722.882918: tracing_mark_write: E|593 26225 composer@2.1-s-593 ( 593) [001] ...1 1034722.882935: tracing_mark_write: B|593|HWCSession::ValidateDisplay:: 26226 composer@2.1-s-593 ( 593) [001] ...1 1034722.883781: tracing_mark_write: B|593|HWDevice::Validate:: 26227 composer@2.1-s-593 ( 593) [001] ...1 1034722.883986: tracing_mark_write: E|593 26228 composer@2.1-s-593 ( 593) [001] ...1 1034722.884054: tracing_mark_write: E|593 26229 composer@2.1-s-593 ( 593) [001] ...1 1034722.884107: tracing_mark_write: E|593 26230 surfaceflinger-591 ( 591) [000] ...1 1034722.884271: tracing_mark_write: E|591 26231 surfaceflinger-591 ( 591) [000] ...1 1034722.884514: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 26232 composer@2.1-s-593 ( 593) [000] ...1 1034722.884738: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 26233 composer@2.1-s-593 ( 593) [000] ...1 1034722.884776: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 26234 composer@2.1-s-593 ( 593) [000] ...1 1034722.884814: tracing_mark_write: B|593|HWDevice::Commit:: 26235 composer@2.1-s-593 ( 593) [000] ...1 1034722.885259: tracing_mark_write: E|593 26236 composer@2.1-s-593 ( 593) [000] ...1 1034722.885319: tracing_mark_write: E|593 26237 composer@2.1-s-593 ( 593) [000] ...1 1034722.885394: tracing_mark_write: E|593 26238 surfaceflinger-591 ( 591) [001] ...1 1034722.885595: tracing_mark_write: E|591 26239 HwBinder:778_1-1087 ( 778) [001] ...1 1034722.892288: tracing_mark_write: E|778 26240 SensorService-1283 ( 1151) [003] ...1 1034722.892446: tracing_mark_write: E|1151 26241 SensorService-1283 ( 1151) [003] ...1 1034722.892615: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 26242 HwBinder:778_1-1087 ( 778) [001] ...1 1034722.892760: tracing_mark_write: B|778|HIDL::ISensors::poll::server 26243 RenderThread-27026 (27005) [002] ...1 1034722.897304: tracing_mark_write: B|27005|HIDL::IMapper::freeBuffer::passthrough 26244 RenderThread-27026 (27005) [002] ...1 1034722.897866: tracing_mark_write: B|27005|FreeBuffer 26245 RenderThread-27026 (27005) [002] ...1 1034722.897907: tracing_mark_write: E|27005 26246 RenderThread-27026 (27005) [002] ...1 1034722.897921: tracing_mark_write: B|27005|FreeBuffer 26247 RenderThread-27026 (27005) [002] ...1 1034722.897946: tracing_mark_write: E|27005 26248 RenderThread-27026 (27005) [002] ...1 1034722.897973: tracing_mark_write: E|27005 26249 RenderThread-27026 (27005) [002] ...1 1034722.898000: tracing_mark_write: B|27005|HIDL::IMapper::freeBuffer::passthrough 26250 RenderThread-27026 (27005) [002] ...1 1034722.898028: tracing_mark_write: B|27005|FreeBuffer 26251 RenderThread-27026 (27005) [002] ...1 1034722.898054: tracing_mark_write: E|27005 26252 RenderThread-27026 (27005) [002] ...1 1034722.898066: tracing_mark_write: B|27005|FreeBuffer 26253 RenderThread-27026 (27005) [002] ...1 1034722.898089: tracing_mark_write: E|27005 26254 RenderThread-27026 (27005) [002] ...1 1034722.898106: tracing_mark_write: E|27005 26255 RenderThread-27026 (27005) [002] ...1 1034722.898126: tracing_mark_write: B|27005|HIDL::IMapper::freeBuffer::passthrough 26256 RenderThread-27026 (27005) [002] ...1 1034722.898144: tracing_mark_write: B|27005|FreeBuffer 26257 RenderThread-27026 (27005) [002] ...1 1034722.898169: tracing_mark_write: E|27005 26258 RenderThread-27026 (27005) [002] ...1 1034722.898180: tracing_mark_write: B|27005|FreeBuffer 26259 RenderThread-27026 (27005) [002] ...1 1034722.898204: tracing_mark_write: E|27005 26260 RenderThread-27026 (27005) [002] ...1 1034722.898225: tracing_mark_write: E|27005 26261 Binder:591_1-623 ( 591) [002] ...1 1034722.898515: tracing_mark_write: B|591|HIDL::IMapper::freeBuffer::passthrough 26262 Binder:591_1-623 ( 591) [002] ...1 1034722.898548: tracing_mark_write: B|591|FreeBuffer 26263 Binder:591_1-623 ( 591) [002] ...1 1034722.899198: tracing_mark_write: E|591 26264 Binder:591_1-623 ( 591) [002] ...1 1034722.899212: tracing_mark_write: B|591|FreeBuffer 26265 Binder:591_1-623 ( 591) [002] ...1 1034722.899256: tracing_mark_write: E|591 26266 Binder:591_1-623 ( 591) [002] ...1 1034722.899275: tracing_mark_write: E|591 26267 Binder:591_1-623 ( 591) [002] ...1 1034722.899326: tracing_mark_write: B|591|HIDL::IMapper::freeBuffer::passthrough 26268 Binder:591_1-623 ( 591) [002] ...1 1034722.899358: tracing_mark_write: B|591|FreeBuffer 26269 Binder:591_1-623 ( 591) [002] ...1 1034722.900021: tracing_mark_write: E|591 26270 Binder:591_1-623 ( 591) [002] ...1 1034722.900035: tracing_mark_write: B|591|FreeBuffer 26271 Binder:591_1-623 ( 591) [002] ...1 1034722.900074: tracing_mark_write: E|591 26272 Binder:591_1-623 ( 591) [002] ...1 1034722.900092: tracing_mark_write: E|591 26273 surfaceflinger-591 ( 591) [001] ...1 1034722.902324: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 26274 composer@2.1-s-593 ( 593) [000] ...1 1034722.902526: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 26275 composer@2.1-s-593 ( 593) [000] ...1 1034722.902670: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 26276 composer@2.1-s-593 ( 593) [000] ...1 1034722.902687: tracing_mark_write: E|593 26277 composer@2.1-s-593 ( 593) [000] ...1 1034722.902696: tracing_mark_write: B|593|HWCSession::ValidateDisplay:: 26278 composer@2.1-s-593 ( 593) [000] ...1 1034722.903183: tracing_mark_write: B|593|HWDevice::Validate:: 26279 composer@2.1-s-593 ( 593) [000] ...1 1034722.903382: tracing_mark_write: E|593 26280 composer@2.1-s-593 ( 593) [000] ...1 1034722.903410: tracing_mark_write: E|593 26281 composer@2.1-s-593 ( 593) [000] ...1 1034722.903440: tracing_mark_write: E|593 26282 surfaceflinger-591 ( 591) [001] ...1 1034722.903536: tracing_mark_write: E|591 26283 surfaceflinger-591 ( 591) [001] ...1 1034722.903662: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 26284 composer@2.1-s-593 ( 593) [000] ...1 1034722.903737: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 26285 composer@2.1-s-593 ( 593) [000] ...1 1034722.903755: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 26286 composer@2.1-s-593 ( 593) [000] ...1 1034722.903774: tracing_mark_write: B|593|HWDevice::Commit:: 26287 composer@2.1-s-593 ( 593) [000] ...1 1034722.903916: tracing_mark_write: E|593 26288 composer@2.1-s-593 ( 593) [000] ...1 1034722.903947: tracing_mark_write: E|593 26289 composer@2.1-s-593 ( 593) [000] ...1 1034722.903981: tracing_mark_write: E|593 26290 surfaceflinger-591 ( 591) [001] ...1 1034722.904062: tracing_mark_write: E|591 26291 HwBinder:778_1-1087 ( 778) [002] ...1 1034722.909819: tracing_mark_write: E|778 26292 SensorService-1283 ( 1151) [003] ...1 1034722.909938: tracing_mark_write: E|1151 26293 SensorService-1283 ( 1151) [003] ...1 1034722.910030: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 26294 HwBinder:778_1-1087 ( 778) [002] ...1 1034722.910103: tracing_mark_write: B|778|HIDL::ISensors::poll::server 26295 surfaceflinger-591 ( 591) [001] ...1 1034722.915675: tracing_mark_write: B|591|HIDL::IMapper::freeBuffer::passthrough 26296 surfaceflinger-591 ( 591) [001] ...1 1034722.915701: tracing_mark_write: B|591|FreeBuffer 26297 surfaceflinger-591 ( 591) [001] ...1 1034722.915720: tracing_mark_write: E|591 26298 surfaceflinger-591 ( 591) [001] ...1 1034722.915724: tracing_mark_write: B|591|FreeBuffer 26299 surfaceflinger-591 ( 591) [001] ...1 1034722.915763: tracing_mark_write: E|591 26300 surfaceflinger-591 ( 591) [001] ...1 1034722.915772: tracing_mark_write: E|591 26301 surfaceflinger-591 ( 591) [001] ...1 1034722.916722: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 26302 composer@2.1-s-593 ( 593) [000] ...1 1034722.916895: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 26303 composer@2.1-s-593 ( 593) [000] ...1 1034722.917013: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 26304 composer@2.1-s-593 ( 593) [000] ...1 1034722.917027: tracing_mark_write: E|593 26305 composer@2.1-s-593 ( 593) [000] ...1 1034722.917034: tracing_mark_write: B|593|HWCSession::ValidateDisplay:: 26306 composer@2.1-s-593 ( 593) [000] ...1 1034722.917449: tracing_mark_write: B|593|HWDevice::Validate:: 26307 composer@2.1-s-593 ( 593) [000] ...1 1034722.917548: tracing_mark_write: E|593 26308 composer@2.1-s-593 ( 593) [000] ...1 1034722.917578: tracing_mark_write: E|593 26309 composer@2.1-s-593 ( 593) [000] ...1 1034722.917607: tracing_mark_write: E|593 26310 surfaceflinger-591 ( 591) [001] ...1 1034722.917684: tracing_mark_write: E|591 26311 surfaceflinger-591 ( 591) [001] ...1 1034722.917792: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 26312 composer@2.1-s-593 ( 593) [000] ...1 1034722.917856: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 26313 composer@2.1-s-593 ( 593) [000] ...1 1034722.917871: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 26314 composer@2.1-s-593 ( 593) [000] ...1 1034722.917889: tracing_mark_write: B|593|HWDevice::Commit:: 26315 composer@2.1-s-593 ( 593) [000] ...1 1034722.918038: tracing_mark_write: E|593 26316 composer@2.1-s-593 ( 593) [000] ...1 1034722.918067: tracing_mark_write: E|593 26317 composer@2.1-s-593 ( 593) [000] ...1 1034722.918100: tracing_mark_write: E|593 26318 surfaceflinger-591 ( 591) [001] ...1 1034722.918169: tracing_mark_write: E|591 26319 HwBinder:778_1-1087 ( 778) [001] ...1 1034722.929122: tracing_mark_write: E|778 26320 SensorService-1283 ( 1151) [003] ...1 1034722.929201: tracing_mark_write: E|1151 26321 SensorService-1283 ( 1151) [003] ...1 1034722.929282: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 26322 HwBinder:778_1-1087 ( 778) [001] ...1 1034722.929333: tracing_mark_write: B|778|HIDL::ISensors::poll::server 26323 surfaceflinger-591 ( 591) [000] ...1 1034722.932781: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 26324 composer@2.1-s-593 ( 593) [001] ...1 1034722.932909: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 26325 composer@2.1-s-593 ( 593) [001] ...1 1034722.933011: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 26326 composer@2.1-s-593 ( 593) [001] ...1 1034722.933022: tracing_mark_write: E|593 26327 composer@2.1-s-593 ( 593) [001] ...1 1034722.933027: tracing_mark_write: B|593|HWCSession::ValidateDisplay:: 26328 composer@2.1-s-593 ( 593) [001] ...1 1034722.933425: tracing_mark_write: B|593|HWDevice::Validate:: 26329 composer@2.1-s-593 ( 593) [001] ...1 1034722.933513: tracing_mark_write: E|593 26330 composer@2.1-s-593 ( 593) [001] ...1 1034722.933536: tracing_mark_write: E|593 26331 composer@2.1-s-593 ( 593) [001] ...1 1034722.933558: tracing_mark_write: E|593 26332 surfaceflinger-591 ( 591) [000] ...1 1034722.933614: tracing_mark_write: E|591 26333 surfaceflinger-591 ( 591) [000] ...1 1034722.933689: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 26334 composer@2.1-s-593 ( 593) [001] ...1 1034722.933728: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 26335 composer@2.1-s-593 ( 593) [001] ...1 1034722.933739: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 26336 composer@2.1-s-593 ( 593) [001] ...1 1034722.933750: tracing_mark_write: B|593|HWDevice::Commit:: 26337 composer@2.1-s-593 ( 593) [001] ...1 1034722.933857: tracing_mark_write: E|593 26338 composer@2.1-s-593 ( 593) [001] ...1 1034722.933878: tracing_mark_write: E|593 26339 composer@2.1-s-593 ( 593) [001] ...1 1034722.933900: tracing_mark_write: E|593 26340 surfaceflinger-591 ( 591) [000] ...1 1034722.933946: tracing_mark_write: E|591 26341 HwBinder:778_1-1087 ( 778) [002] ...1 1034722.948791: tracing_mark_write: E|778 26342 SensorService-1283 ( 1151) [003] ...1 1034722.948941: tracing_mark_write: E|1151 26343 SensorService-1283 ( 1151) [003] ...1 1034722.949123: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 26344 HwBinder:778_1-1087 ( 778) [002] ...1 1034722.949265: tracing_mark_write: B|778|HIDL::ISensors::poll::server 26345 surfaceflinger-591 ( 591) [001] ...1 1034722.951047: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 26346 composer@2.1-s-593 ( 593) [000] ...1 1034722.951219: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 26347 composer@2.1-s-593 ( 593) [000] ...1 1034722.951368: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 26348 composer@2.1-s-593 ( 593) [000] ...1 1034722.951387: tracing_mark_write: E|593 26349 composer@2.1-s-593 ( 593) [000] ...1 1034722.951398: tracing_mark_write: B|593|HWCSession::ValidateDisplay:: 26350 composer@2.1-s-593 ( 593) [000] ...1 1034722.951943: tracing_mark_write: B|593|HWDevice::Validate:: 26351 composer@2.1-s-593 ( 593) [000] ...1 1034722.952072: tracing_mark_write: E|593 26352 composer@2.1-s-593 ( 593) [000] ...1 1034722.952114: tracing_mark_write: E|593 26353 composer@2.1-s-593 ( 593) [000] ...1 1034722.952151: tracing_mark_write: E|593 26354 surfaceflinger-591 ( 591) [001] ...1 1034722.952267: tracing_mark_write: E|591 26355 surfaceflinger-591 ( 591) [001] ...1 1034722.952427: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 26356 composer@2.1-s-593 ( 593) [000] ...1 1034722.952524: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 26357 composer@2.1-s-593 ( 593) [000] ...1 1034722.952546: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 26358 composer@2.1-s-593 ( 593) [000] ...1 1034722.952570: tracing_mark_write: B|593|HWDevice::Commit:: 26359 composer@2.1-s-593 ( 593) [000] ...1 1034722.952819: tracing_mark_write: E|593 26360 composer@2.1-s-593 ( 593) [000] ...1 1034722.952863: tracing_mark_write: E|593 26361 composer@2.1-s-593 ( 593) [000] ...1 1034722.952919: tracing_mark_write: E|593 26362 surfaceflinger-591 ( 591) [001] ...1 1034722.953048: tracing_mark_write: E|591 26363 HwBinder:778_1-1087 ( 778) [004] ...1 1034722.979517: tracing_mark_write: E|778 26364 SensorService-1283 ( 1151) [003] ...1 1034722.979687: tracing_mark_write: E|1151 26365 SensorService-1283 ( 1151) [003] ...1 1034722.979828: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 26366 HwBinder:778_1-1087 ( 778) [004] ...1 1034722.979977: tracing_mark_write: B|778|HIDL::ISensors::poll::server 26367 surfaceflinger-591 ( 591) [000] ...1 1034722.984318: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 26368 composer@2.1-s-593 ( 593) [001] ...1 1034722.984612: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 26369 composer@2.1-s-593 ( 593) [001] ...1 1034722.984749: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 26370 composer@2.1-s-593 ( 593) [001] ...1 1034722.984765: tracing_mark_write: E|593 26371 composer@2.1-s-593 ( 593) [001] ...1 1034722.984774: tracing_mark_write: B|593|HWCSession::ValidateDisplay:: 26372 composer@2.1-s-593 ( 593) [001] ...1 1034722.985227: tracing_mark_write: B|593|HWDevice::Validate:: 26373 composer@2.1-s-593 ( 593) [001] ...1 1034722.985335: tracing_mark_write: E|593 26374 composer@2.1-s-593 ( 593) [001] ...1 1034722.985371: tracing_mark_write: E|593 26375 composer@2.1-s-593 ( 593) [001] ...1 1034722.985407: tracing_mark_write: E|593 26376 surfaceflinger-591 ( 591) [000] ...1 1034722.985528: tracing_mark_write: E|591 26377 surfaceflinger-591 ( 591) [000] ...1 1034722.985668: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 26378 composer@2.1-s-593 ( 593) [001] ...1 1034722.985760: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 26379 composer@2.1-s-593 ( 593) [001] ...1 1034722.985781: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 26380 composer@2.1-s-593 ( 593) [001] ...1 1034722.985804: tracing_mark_write: B|593|HWDevice::Commit:: 26381 composer@2.1-s-593 ( 593) [001] ...1 1034722.985970: tracing_mark_write: E|593 26382 composer@2.1-s-593 ( 593) [001] ...1 1034722.986009: tracing_mark_write: E|593 26383 composer@2.1-s-593 ( 593) [001] ...1 1034722.986054: tracing_mark_write: E|593 26384 surfaceflinger-591 ( 591) [000] ...1 1034722.986167: tracing_mark_write: E|591 26385 HwBinder:778_1-1087 ( 778) [003] ...1 1034722.987164: tracing_mark_write: E|778 26386 SensorService-1283 ( 1151) [000] ...1 1034722.987272: tracing_mark_write: E|1151 26387 SensorService-1283 ( 1151) [000] ...1 1034722.987370: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 26388 HwBinder:778_1-1087 ( 778) [003] ...1 1034722.987441: tracing_mark_write: B|778|HIDL::ISensors::poll::server 26389 surfaceflinger-591 ( 591) [000] ...1 1034723.000273: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 26390 composer@2.1-s-593 ( 593) [001] ...1 1034723.000449: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 26391 composer@2.1-s-593 ( 593) [001] ...1 1034723.000561: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 26392 composer@2.1-s-593 ( 593) [001] ...1 1034723.000574: tracing_mark_write: E|593 26393 composer@2.1-s-593 ( 593) [001] ...1 1034723.000581: tracing_mark_write: B|593|HWCSession::ValidateDisplay:: 26394 composer@2.1-s-593 ( 593) [001] ...1 1034723.000952: tracing_mark_write: B|593|HWDevice::Validate:: 26395 composer@2.1-s-593 ( 593) [001] ...1 1034723.001046: tracing_mark_write: E|593 26396 composer@2.1-s-593 ( 593) [001] ...1 1034723.001074: tracing_mark_write: E|593 26397 composer@2.1-s-593 ( 593) [001] ...1 1034723.001103: tracing_mark_write: E|593 26398 surfaceflinger-591 ( 591) [000] ...1 1034723.001203: tracing_mark_write: E|591 26399 surfaceflinger-591 ( 591) [000] ...1 1034723.001325: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 26400 composer@2.1-s-593 ( 593) [001] ...1 1034723.001397: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 26401 composer@2.1-s-593 ( 593) [001] ...1 1034723.001413: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 26402 composer@2.1-s-593 ( 593) [001] ...1 1034723.001430: tracing_mark_write: B|593|HWDevice::Commit:: 26403 composer@2.1-s-593 ( 593) [001] ...1 1034723.001569: tracing_mark_write: E|593 26404 composer@2.1-s-593 ( 593) [001] ...1 1034723.001598: tracing_mark_write: E|593 26405 composer@2.1-s-593 ( 593) [001] ...1 1034723.001632: tracing_mark_write: E|593 26406 surfaceflinger-591 ( 591) [000] ...1 1034723.001708: tracing_mark_write: E|591 26407 HwBinder:778_1-1087 ( 778) [002] ...1 1034723.006192: tracing_mark_write: E|778 26408 SensorService-1283 ( 1151) [000] ...1 1034723.006308: tracing_mark_write: E|1151 26409 SensorService-1283 ( 1151) [000] ...1 1034723.006421: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 26410 HwBinder:778_1-1087 ( 778) [002] ...1 1034723.006520: tracing_mark_write: B|778|HIDL::ISensors::poll::server 26411 surfaceflinger-591 ( 591) [000] ...1 1034723.015968: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 26412 composer@2.1-s-593 ( 593) [001] ...1 1034723.016136: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 26413 composer@2.1-s-593 ( 593) [001] ...1 1034723.016213: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 26414 composer@2.1-s-593 ( 593) [001] ...1 1034723.016225: tracing_mark_write: E|593 26415 composer@2.1-s-593 ( 593) [001] ...1 1034723.016230: tracing_mark_write: B|593|HWCSession::ValidateDisplay:: 26416 composer@2.1-s-593 ( 593) [001] ...1 1034723.016528: tracing_mark_write: B|593|HWDevice::Validate:: 26417 composer@2.1-s-593 ( 593) [001] ...1 1034723.016631: tracing_mark_write: E|593 26418 composer@2.1-s-593 ( 593) [001] ...1 1034723.016655: tracing_mark_write: E|593 26419 composer@2.1-s-593 ( 593) [001] ...1 1034723.016677: tracing_mark_write: E|593 26420 surfaceflinger-591 ( 591) [000] ...1 1034723.016741: tracing_mark_write: E|591 26421 surfaceflinger-591 ( 591) [000] ...1 1034723.016830: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 26422 composer@2.1-s-593 ( 593) [001] ...1 1034723.016884: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 26423 composer@2.1-s-593 ( 593) [001] ...1 1034723.016896: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 26424 composer@2.1-s-593 ( 593) [001] ...1 1034723.016909: tracing_mark_write: B|593|HWDevice::Commit:: 26425 composer@2.1-s-593 ( 593) [001] ...1 1034723.017030: tracing_mark_write: E|593 26426 composer@2.1-s-593 ( 593) [001] ...1 1034723.017053: tracing_mark_write: E|593 26427 composer@2.1-s-593 ( 593) [001] ...1 1034723.017079: tracing_mark_write: E|593 26428 surfaceflinger-591 ( 591) [000] ...1 1034723.017137: tracing_mark_write: E|591 26429 HwBinder:778_1-1087 ( 778) [000] ...1 1034723.025626: tracing_mark_write: E|778 26430 SensorService-1283 ( 1151) [001] ...1 1034723.025754: tracing_mark_write: E|1151 26431 SensorService-1283 ( 1151) [001] ...1 1034723.025845: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 26432 HwBinder:778_1-1087 ( 778) [000] ...1 1034723.025905: tracing_mark_write: B|778|HIDL::ISensors::poll::server 26433 HwBinder:778_1-1087 ( 778) [000] ...1 1034723.044530: tracing_mark_write: E|778 26434 SensorService-1283 ( 1151) [001] ...1 1034723.044602: tracing_mark_write: E|1151 26435 SensorService-1283 ( 1151) [001] ...1 1034723.044669: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 26436 HwBinder:778_1-1087 ( 778) [000] ...1 1034723.044718: tracing_mark_write: B|778|HIDL::ISensors::poll::server 26437 surfaceflinger-591 ( 591) [000] ...1 1034723.049245: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 26438 composer@2.1-s-593 ( 593) [001] ...1 1034723.049342: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 26439 composer@2.1-s-593 ( 593) [001] ...1 1034723.049409: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 26440 composer@2.1-s-593 ( 593) [001] ...1 1034723.049429: tracing_mark_write: B|593|HWDevice::Commit:: 26441 composer@2.1-s-593 ( 593) [001] ...1 1034723.049545: tracing_mark_write: E|593 26442 composer@2.1-s-593 ( 593) [001] ...1 1034723.049570: tracing_mark_write: E|593 26443 composer@2.1-s-593 ( 593) [001] ...1 1034723.049598: tracing_mark_write: E|593 26444 surfaceflinger-591 ( 591) [000] ...1 1034723.049666: tracing_mark_write: E|591 26445 sh-27089 (27089) [005] ...1 1034723.059427: tracing_mark_write: trace_event_clock_sync: name=ed6e2e24-98d1-4b4b-83d2-7509d113d490 26446 HwBinder:778_1-1087 ( 778) [000] ...1 1034723.063945: tracing_mark_write: E|778 26447 SensorService-1283 ( 1151) [001] ...1 1034723.064109: tracing_mark_write: E|1151 26448 SensorService-1283 ( 1151) [001] ...1 1034723.064297: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 26449 HwBinder:778_1-1087 ( 778) [000] ...1 1034723.064437: tracing_mark_write: B|778|HIDL::ISensors::poll::server 26450 HwBinder:778_1-1087 ( 778) [000] ...1 1034723.083058: tracing_mark_write: E|778 26451 SensorService-1283 ( 1151) [001] ...1 1034723.083186: tracing_mark_write: E|1151 26452 SensorService-1283 ( 1151) [001] ...1 1034723.083382: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 26453 HwBinder:778_1-1087 ( 778) [000] ...1 1034723.083511: tracing_mark_write: B|778|HIDL::ISensors::poll::server 26454 surfaceflinger-591 ( 591) [000] ...1 1034723.100375: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 26455 composer@2.1-s-593 ( 593) [001] ...1 1034723.100686: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 26456 composer@2.1-s-593 ( 593) [001] ...1 1034723.100856: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 26457 composer@2.1-s-593 ( 593) [001] ...1 1034723.100899: tracing_mark_write: B|593|HWDevice::Commit:: 26458 composer@2.1-s-593 ( 593) [001] ...1 1034723.101194: tracing_mark_write: E|593 26459 composer@2.1-s-593 ( 593) [001] ...1 1034723.101262: tracing_mark_write: E|593 26460 composer@2.1-s-593 ( 593) [001] ...1 1034723.101337: tracing_mark_write: E|593 26461 surfaceflinger-591 ( 591) [000] ...1 1034723.101577: tracing_mark_write: E|591 26462 HwBinder:778_1-1087 ( 778) [001] ...1 1034723.102513: tracing_mark_write: E|778 26463 SensorService-1283 ( 1151) [000] ...1 1034723.102681: tracing_mark_write: E|1151 26464 SensorService-1283 ( 1151) [000] ...1 1034723.102866: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 26465 HwBinder:778_1-1087 ( 778) [001] ...1 1034723.103005: tracing_mark_write: B|778|HIDL::ISensors::poll::server 26466 HwBinder:778_1-1087 ( 778) [000] ...1 1034723.121592: tracing_mark_write: E|778 26467 SensorService-1283 ( 1151) [001] ...1 1034723.121718: tracing_mark_write: E|1151 26468 SensorService-1283 ( 1151) [001] ...1 1034723.121866: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 26469 HwBinder:778_1-1087 ( 778) [000] ...1 1034723.122018: tracing_mark_write: B|778|HIDL::ISensors::poll::server 26470 HwBinder:778_1-1087 ( 778) [000] ...1 1034723.140810: tracing_mark_write: E|778 26471 SensorService-1283 ( 1151) [001] ...1 1034723.140971: tracing_mark_write: E|1151 26472 SensorService-1283 ( 1151) [001] ...1 1034723.141178: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 26473 HwBinder:778_1-1087 ( 778) [000] ...1 1034723.141322: tracing_mark_write: B|778|HIDL::ISensors::poll::server 26474 surfaceflinger-591 ( 591) [000] ...1 1034723.150806: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 26475 composer@2.1-s-593 ( 593) [001] ...1 1034723.151140: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 26476 composer@2.1-s-593 ( 593) [001] ...1 1034723.151308: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 26477 composer@2.1-s-593 ( 593) [001] ...1 1034723.151353: tracing_mark_write: B|593|HWDevice::Commit:: 26478 composer@2.1-s-593 ( 593) [001] ...1 1034723.151674: tracing_mark_write: E|593 26479 composer@2.1-s-593 ( 593) [001] ...1 1034723.151742: tracing_mark_write: E|593 26480 composer@2.1-s-593 ( 593) [001] ...1 1034723.151817: tracing_mark_write: E|593 26481 surfaceflinger-591 ( 591) [000] ...1 1034723.152027: tracing_mark_write: E|591 26482 HwBinder:778_1-1087 ( 778) [000] ...1 1034723.160398: tracing_mark_write: E|778 26483 SensorService-1283 ( 1151) [001] ...1 1034723.160578: tracing_mark_write: E|1151 26484 SensorService-1283 ( 1151) [001] ...1 1034723.160741: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 26485 HwBinder:778_1-1087 ( 778) [000] ...1 1034723.160925: tracing_mark_write: B|778|HIDL::ISensors::poll::server 26486 HwBinder:778_1-1087 ( 778) [000] ...1 1034723.179428: tracing_mark_write: E|778 26487 SensorService-1283 ( 1151) [001] ...1 1034723.179617: tracing_mark_write: E|1151 26488 SensorService-1283 ( 1151) [001] ...1 1034723.179785: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 26489 HwBinder:778_1-1087 ( 778) [000] ...1 1034723.180056: tracing_mark_write: B|778|HIDL::ISensors::poll::server 26490 surfaceflinger-591 ( 591) [000] ...1 1034723.184376: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 26491 composer@2.1-s-593 ( 593) [001] ...1 1034723.184814: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 26492 composer@2.1-s-593 ( 593) [001] ...1 1034723.184989: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 26493 composer@2.1-s-593 ( 593) [001] ...1 1034723.185032: tracing_mark_write: B|593|HWDevice::Commit:: 26494 composer@2.1-s-593 ( 593) [001] ...1 1034723.185347: tracing_mark_write: E|593 26495 composer@2.1-s-593 ( 593) [001] ...1 1034723.185415: tracing_mark_write: E|593 26496 composer@2.1-s-593 ( 593) [001] ...1 1034723.185528: tracing_mark_write: E|593 26497 surfaceflinger-591 ( 591) [000] ...1 1034723.185750: tracing_mark_write: E|591 26498 HwBinder:778_1-1087 ( 778) [000] ...1 1034723.198586: tracing_mark_write: E|778 26499 SensorService-1283 ( 1151) [001] ...1 1034723.198798: tracing_mark_write: E|1151 26500 SensorService-1283 ( 1151) [001] ...1 1034723.198978: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 26501 HwBinder:778_1-1087 ( 778) [000] ...1 1034723.199121: tracing_mark_write: B|778|HIDL::ISensors::poll::server 26502 HwBinder:778_1-1087 ( 778) [001] ...1 1034723.217857: tracing_mark_write: E|778 26503 SensorService-1283 ( 1151) [002] ...1 1034723.218148: tracing_mark_write: E|1151 26504 SensorService-1283 ( 1151) [002] ...1 1034723.218359: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 26505 HwBinder:778_1-1087 ( 778) [001] ...1 1034723.218457: tracing_mark_write: B|778|HIDL::ISensors::poll::server 26506 surfaceflinger-591 ( 591) [000] ...1 1034723.234227: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 26507 composer@2.1-s-593 ( 593) [001] ...1 1034723.234402: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 26508 composer@2.1-s-593 ( 593) [001] ...1 1034723.234519: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 26509 composer@2.1-s-593 ( 593) [001] ...1 1034723.234550: tracing_mark_write: B|593|HWDevice::Commit:: 26510 composer@2.1-s-593 ( 593) [001] ...1 1034723.234761: tracing_mark_write: E|593 26511 composer@2.1-s-593 ( 593) [001] ...1 1034723.234805: tracing_mark_write: E|593 26512 composer@2.1-s-593 ( 593) [001] ...1 1034723.234856: tracing_mark_write: E|593 26513 surfaceflinger-591 ( 591) [000] ...1 1034723.234990: tracing_mark_write: E|591 26514 HwBinder:778_1-1087 ( 778) [000] ...1 1034723.237005: tracing_mark_write: E|778 26515 SensorService-1283 ( 1151) [001] ...1 1034723.237151: tracing_mark_write: E|1151 26516 SensorService-1283 ( 1151) [001] ...1 1034723.237325: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 26517 HwBinder:778_1-1087 ( 778) [000] ...1 1034723.237426: tracing_mark_write: B|778|HIDL::ISensors::poll::server 26518 HwBinder:778_1-1087 ( 778) [000] ...1 1034723.256262: tracing_mark_write: E|778 26519 SensorService-1283 ( 1151) [001] ...1 1034723.256368: tracing_mark_write: E|1151 26520 SensorService-1283 ( 1151) [001] ...1 1034723.256473: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 26521 HwBinder:778_1-1087 ( 778) [000] ...1 1034723.256611: tracing_mark_write: B|778|HIDL::ISensors::poll::server 26522 surfaceflinger-591 ( 591) [000] ...1 1034723.268053: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 26523 composer@2.1-s-593 ( 593) [001] ...1 1034723.268295: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 26524 composer@2.1-s-593 ( 593) [001] ...1 1034723.268448: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 26525 composer@2.1-s-593 ( 593) [001] ...1 1034723.268488: tracing_mark_write: B|593|HWDevice::Commit:: 26526 composer@2.1-s-593 ( 593) [001] ...1 1034723.268741: tracing_mark_write: E|593 26527 composer@2.1-s-593 ( 593) [001] ...1 1034723.268799: tracing_mark_write: E|593 26528 composer@2.1-s-593 ( 593) [001] ...1 1034723.268870: tracing_mark_write: E|593 26529 surfaceflinger-591 ( 591) [000] ...1 1034723.269046: tracing_mark_write: E|591 26530 HwBinder:778_1-1087 ( 778) [000] ...1 1034723.275596: tracing_mark_write: E|778 26531 SensorService-1283 ( 1151) [001] ...1 1034723.275738: tracing_mark_write: E|1151 26532 SensorService-1283 ( 1151) [001] ...1 1034723.275874: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 26533 HwBinder:778_1-1087 ( 778) [000] ...1 1034723.276027: tracing_mark_write: B|778|HIDL::ISensors::poll::server 26534 HwBinder:778_1-1087 ( 778) [000] ...1 1034723.295235: tracing_mark_write: E|778 26535 SensorService-1283 ( 1151) [001] ...1 1034723.295372: tracing_mark_write: E|1151 26536 SensorService-1283 ( 1151) [001] ...1 1034723.295499: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 26537 HwBinder:778_1-1087 ( 778) [000] ...1 1034723.295632: tracing_mark_write: B|778|HIDL::ISensors::poll::server 26538 HwBinder:778_1-1087 ( 778) [000] ...1 1034723.314097: tracing_mark_write: E|778 26539 SensorService-1283 ( 1151) [001] ...1 1034723.314225: tracing_mark_write: E|1151 26540 SensorService-1283 ( 1151) [001] ...1 1034723.314374: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 26541 HwBinder:778_1-1087 ( 778) [000] ...1 1034723.314505: tracing_mark_write: B|778|HIDL::ISensors::poll::server 26542 surfaceflinger-591 ( 591) [000] ...1 1034723.318401: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 26543 composer@2.1-s-593 ( 593) [001] ...1 1034723.318688: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 26544 composer@2.1-s-593 ( 593) [001] ...1 1034723.318847: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 26545 composer@2.1-s-593 ( 593) [001] ...1 1034723.318890: tracing_mark_write: B|593|HWDevice::Commit:: 26546 composer@2.1-s-593 ( 593) [001] ...1 1034723.319175: tracing_mark_write: E|593 26547 composer@2.1-s-593 ( 593) [001] ...1 1034723.319246: tracing_mark_write: E|593 26548 composer@2.1-s-593 ( 593) [001] ...1 1034723.319320: tracing_mark_write: E|593 26549 surfaceflinger-591 ( 591) [000] ...1 1034723.319517: tracing_mark_write: E|591 26550 HwBinder:778_1-1087 ( 778) [000] ...1 1034723.333387: tracing_mark_write: E|778 26551 SensorService-1283 ( 1151) [001] ...1 1034723.333524: tracing_mark_write: E|1151 26552 SensorService-1283 ( 1151) [001] ...1 1034723.333688: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 26553 HwBinder:778_1-1087 ( 778) [000] ...1 1034723.333828: tracing_mark_write: B|778|HIDL::ISensors::poll::server 26554 surfaceflinger-591 ( 591) [000] ...1 1034723.351422: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 26555 composer@2.1-s-593 ( 593) [001] ...1 1034723.351533: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 26556 composer@2.1-s-593 ( 593) [001] ...1 1034723.351601: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 26557 composer@2.1-s-593 ( 593) [001] ...1 1034723.351621: tracing_mark_write: B|593|HWDevice::Commit:: 26558 composer@2.1-s-593 ( 593) [001] ...1 1034723.351733: tracing_mark_write: E|593 26559 composer@2.1-s-593 ( 593) [001] ...1 1034723.351758: tracing_mark_write: E|593 26560 composer@2.1-s-593 ( 593) [001] ...1 1034723.351788: tracing_mark_write: E|593 26561 surfaceflinger-591 ( 591) [000] ...1 1034723.351863: tracing_mark_write: E|591 26562 HwBinder:778_1-1087 ( 778) [001] ...1 1034723.352532: tracing_mark_write: E|778 26563 SensorService-1283 ( 1151) [000] ...1 1034723.352598: tracing_mark_write: E|1151 26564 SensorService-1283 ( 1151) [000] ...1 1034723.352669: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 26565 HwBinder:778_1-1087 ( 778) [001] ...1 1034723.352717: tracing_mark_write: B|778|HIDL::ISensors::poll::server 26566 HwBinder:778_1-1087 ( 778) [000] ...1 1034723.372058: tracing_mark_write: E|778 26567 SensorService-1283 ( 1151) [001] ...1 1034723.372132: tracing_mark_write: E|1151 26568 SensorService-1283 ( 1151) [001] ...1 1034723.372197: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 26569 HwBinder:778_1-1087 ( 778) [000] ...1 1034723.372244: tracing_mark_write: B|778|HIDL::ISensors::poll::server 26570 HwBinder:778_1-1087 ( 778) [000] ...1 1034723.391074: tracing_mark_write: E|778 26571 SensorService-1283 ( 1151) [001] ...1 1034723.391143: tracing_mark_write: E|1151 26572 SensorService-1283 ( 1151) [001] ...1 1034723.391224: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 26573 HwBinder:778_1-1087 ( 778) [000] ...1 1034723.391272: tracing_mark_write: B|778|HIDL::ISensors::poll::server 26574 surfaceflinger-591 ( 591) [001] ...1 1034723.401775: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 26575 composer@2.1-s-593 ( 593) [000] ...1 1034723.401933: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 26576 composer@2.1-s-593 ( 593) [000] ...1 1034723.402040: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 26577 composer@2.1-s-593 ( 593) [000] ...1 1034723.402050: tracing_mark_write: E|593 26578 composer@2.1-s-593 ( 593) [000] ...1 1034723.402054: tracing_mark_write: B|593|HWCSession::ValidateDisplay:: 26579 composer@2.1-s-593 ( 593) [000] ...1 1034723.402330: tracing_mark_write: B|593|HWDevice::Validate:: 26580 composer@2.1-s-593 ( 593) [000] ...1 1034723.402401: tracing_mark_write: E|593 26581 composer@2.1-s-593 ( 593) [000] ...1 1034723.402422: tracing_mark_write: E|593 26582 composer@2.1-s-593 ( 593) [000] ...1 1034723.402443: tracing_mark_write: E|593 26583 surfaceflinger-591 ( 591) [001] ...1 1034723.402505: tracing_mark_write: E|591 26584 surfaceflinger-591 ( 591) [001] ...1 1034723.402582: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 26585 composer@2.1-s-593 ( 593) [000] ...1 1034723.402629: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 26586 composer@2.1-s-593 ( 593) [000] ...1 1034723.402639: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 26587 composer@2.1-s-593 ( 593) [000] ...1 1034723.402650: tracing_mark_write: B|593|HWDevice::Commit:: 26588 composer@2.1-s-593 ( 593) [000] ...1 1034723.402746: tracing_mark_write: E|593 26589 composer@2.1-s-593 ( 593) [000] ...1 1034723.402764: tracing_mark_write: E|593 26590 composer@2.1-s-593 ( 593) [000] ...1 1034723.402786: tracing_mark_write: E|593 26591 surfaceflinger-591 ( 591) [001] ...1 1034723.402832: tracing_mark_write: E|591 26592 HwBinder:778_1-1087 ( 778) [000] ...1 1034723.410267: tracing_mark_write: E|778 26593 SensorService-1283 ( 1151) [001] ...1 1034723.410333: tracing_mark_write: E|1151 26594 SensorService-1283 ( 1151) [001] ...1 1034723.410418: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 26595 HwBinder:778_1-1087 ( 778) [000] ...1 1034723.410465: tracing_mark_write: B|778|HIDL::ISensors::poll::server 26596 surfaceflinger-591 ( 591) [000] ...1 1034723.418613: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 26597 composer@2.1-s-593 ( 593) [001] ...1 1034723.418728: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 26598 composer@2.1-s-593 ( 593) [001] ...1 1034723.418797: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 26599 composer@2.1-s-593 ( 593) [001] ...1 1034723.418807: tracing_mark_write: E|593 26600 composer@2.1-s-593 ( 593) [001] ...1 1034723.418812: tracing_mark_write: B|593|HWCSession::ValidateDisplay:: 26601 composer@2.1-s-593 ( 593) [001] ...1 1034723.419083: tracing_mark_write: B|593|HWDevice::Validate:: 26602 composer@2.1-s-593 ( 593) [001] ...1 1034723.419152: tracing_mark_write: E|593 26603 composer@2.1-s-593 ( 593) [001] ...1 1034723.419173: tracing_mark_write: E|593 26604 composer@2.1-s-593 ( 593) [001] ...1 1034723.419194: tracing_mark_write: E|593 26605 surfaceflinger-591 ( 591) [000] ...1 1034723.419257: tracing_mark_write: E|591 26606 surfaceflinger-591 ( 591) [000] ...1 1034723.419334: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 26607 composer@2.1-s-593 ( 593) [001] ...1 1034723.419376: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 26608 composer@2.1-s-593 ( 593) [001] ...1 1034723.419386: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 26609 composer@2.1-s-593 ( 593) [001] ...1 1034723.419397: tracing_mark_write: B|593|HWDevice::Commit:: 26610 composer@2.1-s-593 ( 593) [001] ...1 1034723.419565: tracing_mark_write: E|593 26611 composer@2.1-s-593 ( 593) [001] ...1 1034723.419587: tracing_mark_write: E|593 26612 composer@2.1-s-593 ( 593) [001] ...1 1034723.419612: tracing_mark_write: E|593 26613 surfaceflinger-591 ( 591) [000] ...1 1034723.419664: tracing_mark_write: E|591 26614 HwBinder:778_1-1087 ( 778) [001] ...1 1034723.429491: tracing_mark_write: E|778 26615 SensorService-1283 ( 1151) [000] ...1 1034723.429563: tracing_mark_write: E|1151 26616 SensorService-1283 ( 1151) [000] ...1 1034723.429643: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 26617 HwBinder:778_1-1087 ( 778) [001] ...1 1034723.429688: tracing_mark_write: B|778|HIDL::ISensors::poll::server 26618 surfaceflinger-591 ( 591) [000] ...1 1034723.435349: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 26619 composer@2.1-s-593 ( 593) [001] ...1 1034723.435455: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 26620 composer@2.1-s-593 ( 593) [001] ...1 1034723.435524: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 26621 composer@2.1-s-593 ( 593) [001] ...1 1034723.435535: tracing_mark_write: E|593 26622 composer@2.1-s-593 ( 593) [001] ...1 1034723.435539: tracing_mark_write: B|593|HWCSession::ValidateDisplay:: 26623 composer@2.1-s-593 ( 593) [001] ...1 1034723.435810: tracing_mark_write: B|593|HWDevice::Validate:: 26624 composer@2.1-s-593 ( 593) [001] ...1 1034723.435880: tracing_mark_write: E|593 26625 composer@2.1-s-593 ( 593) [001] ...1 1034723.435900: tracing_mark_write: E|593 26626 composer@2.1-s-593 ( 593) [001] ...1 1034723.435921: tracing_mark_write: E|593 26627 surfaceflinger-591 ( 591) [000] ...1 1034723.435975: tracing_mark_write: E|591 26628 surfaceflinger-591 ( 591) [000] ...1 1034723.436049: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 26629 composer@2.1-s-593 ( 593) [001] ...1 1034723.436087: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 26630 composer@2.1-s-593 ( 593) [001] ...1 1034723.436097: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 26631 composer@2.1-s-593 ( 593) [001] ...1 1034723.436108: tracing_mark_write: B|593|HWDevice::Commit:: 26632 composer@2.1-s-593 ( 593) [001] ...1 1034723.436270: tracing_mark_write: E|593 26633 composer@2.1-s-593 ( 593) [001] ...1 1034723.436288: tracing_mark_write: E|593 26634 composer@2.1-s-593 ( 593) [001] ...1 1034723.436309: tracing_mark_write: E|593 26635 surfaceflinger-591 ( 591) [000] ...1 1034723.436354: tracing_mark_write: E|591 26636 HwBinder:778_1-1087 ( 778) [000] ...1 1034723.448867: tracing_mark_write: E|778 26637 SensorService-1283 ( 1151) [001] ...1 1034723.448937: tracing_mark_write: E|1151 26638 SensorService-1283 ( 1151) [001] ...1 1034723.449004: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 26639 HwBinder:778_1-1087 ( 778) [000] ...1 1034723.449050: tracing_mark_write: B|778|HIDL::ISensors::poll::server 26640 HwBinder:778_1-1087 ( 778) [000] ...1 1034723.468029: tracing_mark_write: E|778 26641 SensorService-1283 ( 1151) [001] ...1 1034723.468118: tracing_mark_write: E|1151 26642 SensorService-1283 ( 1151) [001] ...1 1034723.468196: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 26643 HwBinder:778_1-1087 ( 778) [000] ...1 1034723.468250: tracing_mark_write: B|778|HIDL::ISensors::poll::server 26644 atrace-27096 (27096) [005] ...1 1034723.471876: tracing_mark_write: B|27096|HIDL::IServiceManager::list::client 26645 hwservicemanag-570 ( 570) [003] ...1 1034723.472053: tracing_mark_write: B|570|HIDL::IServiceManager::list::server 26646 hwservicemanag-570 ( 570) [003] ...1 1034723.473019: tracing_mark_write: E|570 26647 atrace-27096 (27096) [005] ...1 1034723.473192: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client 26648 hwservicemanag-570 ( 570) [003] ...1 1034723.473326: tracing_mark_write: B|570|HIDL::IServiceManager::get::server 26649 hwservicemanag-570 ( 570) [003] ...1 1034723.473652: tracing_mark_write: E|570 26650 atrace-27096 (27096) [005] ...1 1034723.473744: tracing_mark_write: E|27096 26651 atrace-27096 (27096) [005] ...1 1034723.473756: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client 26652 atrace-27096 (27096) [005] ...1 1034723.473784: tracing_mark_write: E|27096 26653 atrace-27096 (27096) [005] ...1 1034723.473803: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client 26654 hwservicemanag-570 ( 570) [003] ...1 1034723.473867: tracing_mark_write: B|570|HIDL::IServiceManager::get::server 26655 HwBinder:591_1-620 ( 591) [001] ...1 1034723.473907: tracing_mark_write: B|591|HIDL::IBase::notifySyspropsChanged::server 26656 hwservicemanag-570 ( 570) [003] ...1 1034723.474102: tracing_mark_write: E|570 26657 HwBinder:591_1-620 ( 591) [001] ...1 1034723.474130: tracing_mark_write: E|591 26658 atrace-27096 (27096) [005] ...1 1034723.474146: tracing_mark_write: E|27096 26659 atrace-27096 (27096) [005] ...1 1034723.474151: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client 26660 atrace-27096 (27096) [005] ...1 1034723.474183: tracing_mark_write: E|27096 26661 atrace-27096 (27096) [005] ...1 1034723.474195: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client 26662 HwBinder:1151_-1990 ( 1151) [006] ...1 1034723.474233: tracing_mark_write: B|1151|HIDL::IBase::notifySyspropsChanged::server 26663 hwservicemanag-570 ( 570) [002] ...1 1034723.474241: tracing_mark_write: B|570|HIDL::IServiceManager::get::server 26664 hwservicemanag-570 ( 570) [002] ...1 1034723.474370: tracing_mark_write: E|570 26665 atrace-27096 (27096) [005] ...1 1034723.474414: tracing_mark_write: E|27096 26666 atrace-27096 (27096) [005] ...1 1034723.474419: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client 26667 atrace-27096 (27096) [005] ...1 1034723.474448: tracing_mark_write: E|27096 26668 atrace-27096 (27096) [005] ...1 1034723.474459: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client 26669 hwservicemanag-570 ( 570) [002] ...1 1034723.474496: tracing_mark_write: B|570|HIDL::IServiceManager::get::server 26670 hwservicemanag-570 ( 570) [002] ...1 1034723.474613: tracing_mark_write: E|570 26671 atrace-27096 (27096) [005] ...1 1034723.474655: tracing_mark_write: E|27096 26672 atrace-27096 (27096) [005] ...1 1034723.474659: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client 26673 atrace-27096 (27096) [005] ...1 1034723.474706: tracing_mark_write: E|27096 26674 atrace-27096 (27096) [005] ...1 1034723.474718: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client 26675 hwservicemanag-570 ( 570) [002] ...1 1034723.474755: tracing_mark_write: B|570|HIDL::IServiceManager::get::server 26676 HwBinder:1151_-1194 ( 1151) [006] ...1 1034723.474828: tracing_mark_write: B|1151|HIDL::IBase::notifySyspropsChanged::server 26677 hwservicemanag-570 ( 570) [002] ...1 1034723.474863: tracing_mark_write: E|570 26678 atrace-27096 (27096) [005] ...1 1034723.474906: tracing_mark_write: E|27096 26679 atrace-27096 (27096) [005] ...1 1034723.474911: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client 26680 atrace-27096 (27096) [005] ...1 1034723.474939: tracing_mark_write: E|27096 26681 atrace-27096 (27096) [005] ...1 1034723.474950: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client 26682 hwservicemanag-570 ( 570) [002] ...1 1034723.474988: tracing_mark_write: B|570|HIDL::IServiceManager::get::server 26683 hwservicemanag-570 ( 570) [002] ...1 1034723.475122: tracing_mark_write: E|570 26684 atrace-27096 (27096) [005] ...1 1034723.475163: tracing_mark_write: E|27096 26685 atrace-27096 (27096) [005] ...1 1034723.475168: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client 26686 atrace-27096 (27096) [005] ...1 1034723.475212: tracing_mark_write: E|27096 26687 HwBinder:733_4-2714 ( 733) [002] ...1 1034723.475217: tracing_mark_write: B|733|HIDL::IBase::notifySyspropsChanged::server 26688 atrace-27096 (27096) [005] ...1 1034723.475224: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client 26689 HwBinder:935_1-1139 ( 935) [007] ...1 1034723.475264: tracing_mark_write: B|935|HIDL::IBase::notifySyspropsChanged::server 26690 HwBinder:733_3-1347 ( 733) [006] ...1 1034723.475305: tracing_mark_write: B|733|HIDL::IBase::notifySyspropsChanged::server 26691 HwBinder:733_4-2714 ( 733) [002] ...1 1034723.475381: tracing_mark_write: E|733 26692 HwBinder:733_3-1347 ( 733) [006] ...1 1034723.475405: tracing_mark_write: E|733 26693 HwBinder:935_1-1139 ( 935) [007] ...1 1034723.475420: tracing_mark_write: E|935 26694 hwservicemanag-570 ( 570) [002] ...1 1034723.475424: tracing_mark_write: B|570|HIDL::IServiceManager::get::server 26695 hwservicemanag-570 ( 570) [002] ...1 1034723.475535: tracing_mark_write: E|570 26696 atrace-27096 (27096) [005] ...1 1034723.475584: tracing_mark_write: E|27096 26697 atrace-27096 (27096) [005] ...1 1034723.475589: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client 26698 HwBinder:1151_-1990 ( 1151) [006] ...1 1034723.475615: tracing_mark_write: E|1151 26699 atrace-27096 (27096) [005] ...1 1034723.475629: tracing_mark_write: E|27096 26700 atrace-27096 (27096) [005] ...1 1034723.475641: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client 26701 HwBinder:734_1-746 ( 734) [002] ...1 1034723.475685: tracing_mark_write: B|734|HIDL::IBase::notifySyspropsChanged::server 26702 HwBinder:734_1-746 ( 734) [002] ...1 1034723.475803: tracing_mark_write: E|734 26703 HwBinder:1151_-1194 ( 1151) [006] ...1 1034723.475822: tracing_mark_write: E|1151 26704 hwservicemanag-570 ( 570) [002] ...1 1034723.475842: tracing_mark_write: B|570|HIDL::IServiceManager::get::server 26705 hwservicemanag-570 ( 570) [002] ...1 1034723.475947: tracing_mark_write: E|570 26706 atrace-27096 (27096) [004] ...1 1034723.476013: tracing_mark_write: E|27096 26707 atrace-27096 (27096) [004] ...1 1034723.476021: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client 26708 atrace-27096 (27096) [004] ...1 1034723.476083: tracing_mark_write: E|27096 26709 atrace-27096 (27096) [004] ...1 1034723.476100: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client 26710 boot@1.0-servi-586 ( 586) [006] ...1 1034723.476127: tracing_mark_write: B|586|HIDL::IBase::notifySyspropsChanged::server 26711 hwservicemanag-570 ( 570) [002] ...1 1034723.476142: tracing_mark_write: B|570|HIDL::IServiceManager::get::server 26712 hwservicemanag-570 ( 570) [002] ...1 1034723.476269: tracing_mark_write: E|570 26713 boot@1.0-servi-586 ( 586) [006] ...1 1034723.476273: tracing_mark_write: E|586 26714 atrace-27096 (27096) [004] ...1 1034723.476318: tracing_mark_write: E|27096 26715 atrace-27096 (27096) [004] ...1 1034723.476323: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client 26716 atrace-27096 (27096) [004] ...1 1034723.476373: tracing_mark_write: E|27096 26717 atrace-27096 (27096) [004] ...1 1034723.476385: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client 26718 provider@2.4-s-736 ( 736) [005] ...1 1034723.476408: tracing_mark_write: B|736|HIDL::IBase::notifySyspropsChanged::server 26719 hwservicemanag-570 ( 570) [002] ...1 1034723.476422: tracing_mark_write: B|570|HIDL::IServiceManager::get::server 26720 hwservicemanag-570 ( 570) [002] ...1 1034723.476526: tracing_mark_write: E|570 26721 provider@2.4-s-736 ( 736) [005] ...1 1034723.476588: tracing_mark_write: E|736 26722 atrace-27096 (27096) [006] ...1 1034723.476628: tracing_mark_write: E|27096 26723 atrace-27096 (27096) [006] ...1 1034723.476636: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client 26724 atrace-27096 (27096) [006] ...1 1034723.476687: tracing_mark_write: E|27096 26725 atrace-27096 (27096) [006] ...1 1034723.476702: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client 26726 HwBinder:737_2-23186 ( 737) [007] ...1 1034723.476722: tracing_mark_write: B|737|HIDL::IBase::notifySyspropsChanged::server 26727 hwservicemanag-570 ( 570) [002] ...1 1034723.476744: tracing_mark_write: B|570|HIDL::IServiceManager::get::server 26728 hwservicemanag-570 ( 570) [002] ...1 1034723.476868: tracing_mark_write: E|570 26729 HwBinder:737_2-23186 ( 737) [007] ...1 1034723.476885: tracing_mark_write: E|737 26730 atrace-27096 (27096) [005] ...1 1034723.476923: tracing_mark_write: E|27096 26731 atrace-27096 (27096) [005] ...1 1034723.476929: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client 26732 atrace-27096 (27096) [005] ...1 1034723.476974: tracing_mark_write: E|27096 26733 atrace-27096 (27096) [005] ...1 1034723.476989: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client 26734 HwBinder:594_2-7100 ( 594) [003] ...1 1034723.477027: tracing_mark_write: B|594|HIDL::IBase::notifySyspropsChanged::server 26735 hwservicemanag-570 ( 570) [002] ...1 1034723.477029: tracing_mark_write: B|570|HIDL::IServiceManager::get::server 26736 hwservicemanag-570 ( 570) [002] ...1 1034723.477141: tracing_mark_write: E|570 26737 HwBinder:594_2-7100 ( 594) [003] ...1 1034723.477158: tracing_mark_write: E|594 26738 atrace-27096 (27096) [005] ...1 1034723.477186: tracing_mark_write: E|27096 26739 atrace-27096 (27096) [005] ...1 1034723.477191: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client 26740 atrace-27096 (27096) [005] ...1 1034723.477235: tracing_mark_write: E|27096 26741 atrace-27096 (27096) [005] ...1 1034723.477247: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client 26742 contexthub@1.0-738 ( 738) [006] ...1 1034723.477279: tracing_mark_write: B|738|HIDL::IBase::notifySyspropsChanged::server 26743 hwservicemanag-570 ( 570) [003] ...1 1034723.477292: tracing_mark_write: B|570|HIDL::IServiceManager::get::server 26744 hwservicemanag-570 ( 570) [003] ...1 1034723.477399: tracing_mark_write: E|570 26745 contexthub@1.0-738 ( 738) [006] ...1 1034723.477421: tracing_mark_write: E|738 26746 atrace-27096 (27096) [005] ...1 1034723.477442: tracing_mark_write: E|27096 26747 atrace-27096 (27096) [005] ...1 1034723.477447: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client 26748 atrace-27096 (27096) [005] ...1 1034723.477488: tracing_mark_write: E|27096 26749 atrace-27096 (27096) [005] ...1 1034723.477499: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client 26750 HwBinder:741_4-23194 ( 741) [006] ...1 1034723.477533: tracing_mark_write: B|741|HIDL::IBase::notifySyspropsChanged::server 26751 hwservicemanag-570 ( 570) [003] ...1 1034723.477539: tracing_mark_write: B|570|HIDL::IServiceManager::get::server 26752 hwservicemanag-570 ( 570) [003] ...1 1034723.477641: tracing_mark_write: E|570 26753 HwBinder:741_4-23194 ( 741) [006] ...1 1034723.477679: tracing_mark_write: E|741 26754 atrace-27096 (27096) [005] ...1 1034723.477684: tracing_mark_write: E|27096 26755 atrace-27096 (27096) [005] ...1 1034723.477689: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client 26756 atrace-27096 (27096) [005] ...1 1034723.477728: tracing_mark_write: E|27096 26757 atrace-27096 (27096) [005] ...1 1034723.477739: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client 26758 HwBinder:739_1-846 ( 739) [006] ...1 1034723.477761: tracing_mark_write: B|739|HIDL::IBase::notifySyspropsChanged::server 26759 hwservicemanag-570 ( 570) [003] ...1 1034723.477778: tracing_mark_write: B|570|HIDL::IServiceManager::get::server 26760 hwservicemanag-570 ( 570) [003] ...1 1034723.477879: tracing_mark_write: E|570 26761 HwBinder:739_1-846 ( 739) [006] ...1 1034723.477908: tracing_mark_write: E|739 26762 atrace-27096 (27096) [005] ...1 1034723.477922: tracing_mark_write: E|27096 26763 atrace-27096 (27096) [005] ...1 1034723.477926: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client 26764 atrace-27096 (27096) [005] ...1 1034723.477967: tracing_mark_write: E|27096 26765 atrace-27096 (27096) [005] ...1 1034723.477979: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client 26766 HwBinder:740_2-23191 ( 740) [006] ...1 1034723.478001: tracing_mark_write: B|740|HIDL::IBase::notifySyspropsChanged::server 26767 hwservicemanag-570 ( 570) [003] ...1 1034723.478016: tracing_mark_write: B|570|HIDL::IServiceManager::get::server 26768 hwservicemanag-570 ( 570) [003] ...1 1034723.478108: tracing_mark_write: E|570 26769 HwBinder:740_2-23191 ( 740) [006] ...1 1034723.478138: tracing_mark_write: E|740 26770 atrace-27096 (27096) [005] ...1 1034723.478149: tracing_mark_write: E|27096 26771 atrace-27096 (27096) [005] ...1 1034723.478153: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client 26772 atrace-27096 (27096) [005] ...1 1034723.478176: tracing_mark_write: E|27096 26773 atrace-27096 (27096) [005] ...1 1034723.478186: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client 26774 HwBinder:741_4-23194 ( 741) [006] ...1 1034723.478189: tracing_mark_write: B|741|HIDL::IBase::notifySyspropsChanged::server 26775 hwservicemanag-570 ( 570) [003] ...1 1034723.478223: tracing_mark_write: B|570|HIDL::IServiceManager::get::server 26776 HwBinder:741_4-23194 ( 741) [006] ...1 1034723.478254: tracing_mark_write: E|741 26777 hwservicemanag-570 ( 570) [003] ...1 1034723.478316: tracing_mark_write: E|570 26778 atrace-27096 (27096) [006] ...1 1034723.478378: tracing_mark_write: E|27096 26779 atrace-27096 (27096) [006] ...1 1034723.478386: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client 26780 atrace-27096 (27096) [006] ...1 1034723.478420: tracing_mark_write: E|27096 26781 atrace-27096 (27096) [006] ...1 1034723.478436: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client 26782 HwBinder:739_1-846 ( 739) [007] ...1 1034723.478439: tracing_mark_write: B|739|HIDL::IBase::notifySyspropsChanged::server 26783 hwservicemanag-570 ( 570) [003] ...1 1034723.478478: tracing_mark_write: B|570|HIDL::IServiceManager::get::server 26784 HwBinder:739_1-846 ( 739) [007] ...1 1034723.478520: tracing_mark_write: E|739 26785 hwservicemanag-570 ( 570) [003] ...1 1034723.478571: tracing_mark_write: E|570 26786 atrace-27096 (27096) [005] ...1 1034723.478618: tracing_mark_write: E|27096 26787 atrace-27096 (27096) [005] ...1 1034723.478624: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client 26788 atrace-27096 (27096) [005] ...1 1034723.478652: tracing_mark_write: E|27096 26789 atrace-27096 (27096) [005] ...1 1034723.478663: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client 26790 HwBinder:740_2-23191 ( 740) [006] ...1 1034723.478672: tracing_mark_write: B|740|HIDL::IBase::notifySyspropsChanged::server 26791 hwservicemanag-570 ( 570) [003] ...1 1034723.478699: tracing_mark_write: B|570|HIDL::IServiceManager::get::server 26792 HwBinder:740_2-23191 ( 740) [006] ...1 1034723.478753: tracing_mark_write: E|740 26793 hwservicemanag-570 ( 570) [003] ...1 1034723.478800: tracing_mark_write: E|570 26794 atrace-27096 (27096) [006] ...1 1034723.478857: tracing_mark_write: E|27096 26795 atrace-27096 (27096) [006] ...1 1034723.478863: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client 26796 atrace-27096 (27096) [006] ...1 1034723.478895: tracing_mark_write: E|27096 26797 atrace-27096 (27096) [006] ...1 1034723.478909: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client 26798 HwBinder:741_4-23194 ( 741) [007] ...1 1034723.478912: tracing_mark_write: B|741|HIDL::IBase::notifySyspropsChanged::server 26799 hwservicemanag-570 ( 570) [003] ...1 1034723.478949: tracing_mark_write: B|570|HIDL::IServiceManager::get::server 26800 HwBinder:741_4-23194 ( 741) [007] ...1 1034723.478982: tracing_mark_write: E|741 26801 hwservicemanag-570 ( 570) [003] ...1 1034723.479042: tracing_mark_write: E|570 26802 atrace-27096 (27096) [005] ...1 1034723.479089: tracing_mark_write: E|27096 26803 atrace-27096 (27096) [005] ...1 1034723.479094: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client 26804 atrace-27096 (27096) [005] ...1 1034723.479122: tracing_mark_write: E|27096 26805 atrace-27096 (27096) [005] ...1 1034723.479133: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client 26806 HwBinder:741_4-23194 ( 741) [006] ...1 1034723.479137: tracing_mark_write: B|741|HIDL::IBase::notifySyspropsChanged::server 26807 hwservicemanag-570 ( 570) [003] ...1 1034723.479170: tracing_mark_write: B|570|HIDL::IServiceManager::get::server 26808 HwBinder:741_4-23194 ( 741) [006] ...1 1034723.479214: tracing_mark_write: E|741 26809 hwservicemanag-570 ( 570) [003] ...1 1034723.479284: tracing_mark_write: E|570 26810 atrace-27096 (27096) [006] ...1 1034723.479340: tracing_mark_write: E|27096 26811 atrace-27096 (27096) [006] ...1 1034723.479346: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client 26812 atrace-27096 (27096) [006] ...1 1034723.479394: tracing_mark_write: E|27096 26813 atrace-27096 (27096) [006] ...1 1034723.479407: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client 26814 dumpstate@1.0--742 ( 742) [004] ...1 1034723.479443: tracing_mark_write: B|742|HIDL::IBase::notifySyspropsChanged::server 26815 hwservicemanag-570 ( 570) [003] ...1 1034723.479449: tracing_mark_write: B|570|HIDL::IServiceManager::get::server 26816 hwservicemanag-570 ( 570) [003] ...1 1034723.479556: tracing_mark_write: E|570 26817 dumpstate@1.0--742 ( 742) [004] ...1 1034723.479587: tracing_mark_write: E|742 26818 atrace-27096 (27096) [005] ...1 1034723.479600: tracing_mark_write: E|27096 26819 atrace-27096 (27096) [005] ...1 1034723.479605: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client 26820 atrace-27096 (27096) [005] ...1 1034723.479652: tracing_mark_write: E|27096 26821 atrace-27096 (27096) [005] ...1 1034723.479663: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client 26822 gatekeeper@1.0-587 ( 587) [006] ...1 1034723.479699: tracing_mark_write: B|587|HIDL::IBase::notifySyspropsChanged::server 26823 hwservicemanag-570 ( 570) [003] ...1 1034723.479701: tracing_mark_write: B|570|HIDL::IServiceManager::get::server 26824 hwservicemanag-570 ( 570) [003] ...1 1034723.479792: tracing_mark_write: E|570 26825 gatekeeper@1.0-587 ( 587) [006] ...1 1034723.479832: tracing_mark_write: E|587 26826 atrace-27096 (27096) [005] ...1 1034723.479833: tracing_mark_write: E|27096 26827 atrace-27096 (27096) [005] ...1 1034723.479838: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client 26828 atrace-27096 (27096) [005] ...1 1034723.479890: tracing_mark_write: E|27096 26829 atrace-27096 (27096) [005] ...1 1034723.479902: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client 26830 gnss@1.0-servi-743 ( 743) [007] ...1 1034723.479933: tracing_mark_write: B|743|HIDL::IBase::notifySyspropsChanged::server 26831 hwservicemanag-570 ( 570) [003] ...1 1034723.479943: tracing_mark_write: B|570|HIDL::IServiceManager::get::server 26832 hwservicemanag-570 ( 570) [003] ...1 1034723.480059: tracing_mark_write: E|570 26833 gnss@1.0-servi-743 ( 743) [007] ...1 1034723.480068: tracing_mark_write: E|743 26834 atrace-27096 (27096) [005] ...1 1034723.480100: tracing_mark_write: E|27096 26835 atrace-27096 (27096) [005] ...1 1034723.480104: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client 26836 allocator@2.0--595 ( 595) [005] ...1 1034723.480180: tracing_mark_write: B|595|HIDL::IBase::notifySyspropsChanged::server 26837 allocator@2.0--595 ( 595) [005] ...1 1034723.480334: tracing_mark_write: E|595 26838 atrace-27096 (27096) [005] ...1 1034723.480378: tracing_mark_write: E|27096 26839 atrace-27096 (27096) [005] ...1 1034723.480394: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client 26840 hwservicemanag-570 ( 570) [003] ...1 1034723.480436: tracing_mark_write: B|570|HIDL::IServiceManager::get::server 26841 hwservicemanag-570 ( 570) [003] ...1 1034723.480552: tracing_mark_write: E|570 26842 atrace-27096 (27096) [005] ...1 1034723.480603: tracing_mark_write: E|27096 26843 atrace-27096 (27096) [005] ...1 1034723.480608: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client 26844 atrace-27096 (27096) [005] ...1 1034723.480656: tracing_mark_write: E|27096 26845 atrace-27096 (27096) [005] ...1 1034723.480670: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client 26846 composer@2.1-s-593 ( 593) [000] ...1 1034723.480698: tracing_mark_write: B|593|HIDL::IBase::notifySyspropsChanged::server 26847 hwservicemanag-570 ( 570) [003] ...1 1034723.480710: tracing_mark_write: B|570|HIDL::IServiceManager::get::server 26848 composer@2.1-s-593 ( 593) [000] ...1 1034723.480823: tracing_mark_write: E|593 26849 hwservicemanag-570 ( 570) [003] ...1 1034723.480825: tracing_mark_write: E|570 26850 atrace-27096 (27096) [005] ...1 1034723.480869: tracing_mark_write: E|27096 26851 atrace-27096 (27096) [005] ...1 1034723.480874: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client 26852 atrace-27096 (27096) [005] ...1 1034723.480901: tracing_mark_write: E|27096 26853 atrace-27096 (27096) [005] ...1 1034723.480916: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client 26854 HwBinder:732_1-767 ( 732) [002] ...1 1034723.480941: tracing_mark_write: B|732|HIDL::IBase::notifySyspropsChanged::server 26855 hwservicemanag-570 ( 570) [003] ...1 1034723.480956: tracing_mark_write: B|570|HIDL::IServiceManager::get::server 26856 HwBinder:732_1-767 ( 732) [002] ...1 1034723.481005: tracing_mark_write: E|732 26857 hwservicemanag-570 ( 570) [003] ...1 1034723.481052: tracing_mark_write: E|570 26858 atrace-27096 (27096) [005] ...1 1034723.481096: tracing_mark_write: E|27096 26859 atrace-27096 (27096) [005] ...1 1034723.481100: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client 26860 atrace-27096 (27096) [005] ...1 1034723.481141: tracing_mark_write: E|27096 26861 atrace-27096 (27096) [005] ...1 1034723.481152: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client 26862 hwservicemanag-570 ( 570) [003] ...1 1034723.481194: tracing_mark_write: B|570|HIDL::IServiceManager::get::server 26863 healthd-729 ( 729) [002] ...1 1034723.481202: tracing_mark_write: B|729|HIDL::IBase::notifySyspropsChanged::server 26864 hwservicemanag-570 ( 570) [003] ...1 1034723.481288: tracing_mark_write: E|570 26865 healthd-729 ( 729) [002] ...1 1034723.481303: tracing_mark_write: E|729 26866 atrace-27096 (27096) [005] ...1 1034723.481332: tracing_mark_write: E|27096 26867 atrace-27096 (27096) [005] ...1 1034723.481336: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client 26868 atrace-27096 (27096) [005] ...1 1034723.481376: tracing_mark_write: E|27096 26869 atrace-27096 (27096) [005] ...1 1034723.481387: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client 26870 hwservicemanag-570 ( 570) [003] ...1 1034723.481427: tracing_mark_write: B|570|HIDL::IServiceManager::get::server 26871 health@2.0-ser-744 ( 744) [001] ...1 1034723.481445: tracing_mark_write: B|744|HIDL::IBase::notifySyspropsChanged::server 26872 hwservicemanag-570 ( 570) [003] ...1 1034723.481549: tracing_mark_write: E|570 26873 health@2.0-ser-744 ( 744) [001] ...1 1034723.481561: tracing_mark_write: E|744 26874 atrace-27096 (27096) [005] ...1 1034723.481592: tracing_mark_write: E|27096 26875 atrace-27096 (27096) [005] ...1 1034723.481597: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client 26876 atrace-27096 (27096) [005] ...1 1034723.481637: tracing_mark_write: E|27096 26877 atrace-27096 (27096) [005] ...1 1034723.481648: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client 26878 keyprimary@3.0--588 ( 588) [006] ...1 1034723.481686: tracing_mark_write: B|588|HIDL::IBase::notifySyspropsChanged::server 26879 hwservicemanag-570 ( 570) [002] ...1 1034723.481693: tracing_mark_write: B|570|HIDL::IServiceManager::get::server 26880 hwservicemanag-570 ( 570) [002] ...1 1034723.481813: tracing_mark_write: E|570 26881 keyprimary@3.0--588 ( 588) [006] ...1 1034723.481829: tracing_mark_write: E|588 26882 atrace-27096 (27096) [005] ...1 1034723.481857: tracing_mark_write: E|27096 26883 atrace-27096 (27096) [005] ...1 1034723.481862: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client 26884 atrace-27096 (27096) [005] ...1 1034723.481899: tracing_mark_write: E|27096 26885 atrace-27096 (27096) [005] ...1 1034723.481910: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client 26886 keyprimary@4.0--589 ( 589) [007] ...1 1034723.481945: tracing_mark_write: B|589|HIDL::IBase::notifySyspropsChanged::server 26887 hwservicemanag-570 ( 570) [002] ...1 1034723.481953: tracing_mark_write: B|570|HIDL::IServiceManager::get::server 26888 hwservicemanag-570 ( 570) [002] ...1 1034723.482041: tracing_mark_write: E|570 26889 keyprimary@4.0--589 ( 589) [007] ...1 1034723.482081: tracing_mark_write: E|589 26890 atrace-27096 (27096) [005] ...1 1034723.482083: tracing_mark_write: E|27096 26891 atrace-27096 (27096) [005] ...1 1034723.482087: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client 26892 atrace-27096 (27096) [005] ...1 1034723.482128: tracing_mark_write: E|27096 26893 atrace-27096 (27096) [005] ...1 1034723.482139: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client 26894 light@2.0-serv-745 ( 745) [007] ...1 1034723.482170: tracing_mark_write: B|745|HIDL::IBase::notifySyspropsChanged::server 26895 hwservicemanag-570 ( 570) [002] ...1 1034723.482179: tracing_mark_write: B|570|HIDL::IServiceManager::get::server 26896 hwservicemanag-570 ( 570) [002] ...1 1034723.482270: tracing_mark_write: E|570 26897 light@2.0-serv-745 ( 745) [007] ...1 1034723.482302: tracing_mark_write: E|745 26898 atrace-27096 (27096) [005] ...1 1034723.482312: tracing_mark_write: E|27096 26899 atrace-27096 (27096) [005] ...1 1034723.482317: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client 26900 atrace-27096 (27096) [005] ...1 1034723.482362: tracing_mark_write: E|27096 26901 atrace-27096 (27096) [005] ...1 1034723.482384: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client 26902 omx@1.0-servic-914 ( 914) [006] ...1 1034723.482411: tracing_mark_write: B|914|HIDL::IBase::notifySyspropsChanged::server 26903 hwservicemanag-570 ( 570) [002] ...1 1034723.482425: tracing_mark_write: B|570|HIDL::IServiceManager::get::server 26904 hwservicemanag-570 ( 570) [002] ...1 1034723.482528: tracing_mark_write: E|570 26905 omx@1.0-servic-914 ( 914) [006] ...1 1034723.482549: tracing_mark_write: E|914 26906 atrace-27096 (27096) [005] ...1 1034723.482571: tracing_mark_write: E|27096 26907 atrace-27096 (27096) [005] ...1 1034723.482575: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client 26908 atrace-27096 (27096) [005] ...1 1034723.482598: tracing_mark_write: E|27096 26909 atrace-27096 (27096) [005] ...1 1034723.482609: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client 26910 omx@1.0-servic-914 ( 914) [006] ...1 1034723.482613: tracing_mark_write: B|914|HIDL::IBase::notifySyspropsChanged::server 26911 hwservicemanag-570 ( 570) [002] ...1 1034723.482644: tracing_mark_write: B|570|HIDL::IServiceManager::get::server 26912 omx@1.0-servic-914 ( 914) [006] ...1 1034723.482692: tracing_mark_write: E|914 26913 hwservicemanag-570 ( 570) [002] ...1 1034723.482748: tracing_mark_write: E|570 26914 atrace-27096 (27096) [006] ...1 1034723.482810: tracing_mark_write: E|27096 26915 atrace-27096 (27096) [006] ...1 1034723.482817: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client 26916 atrace-27096 (27096) [006] ...1 1034723.482863: tracing_mark_write: E|27096 26917 atrace-27096 (27096) [006] ...1 1034723.482878: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client 26918 memtrack@1.0-s-748 ( 748) [000] ...1 1034723.482904: tracing_mark_write: B|748|HIDL::IBase::notifySyspropsChanged::server 26919 hwservicemanag-570 ( 570) [002] ...1 1034723.482919: tracing_mark_write: B|570|HIDL::IServiceManager::get::server 26920 memtrack@1.0-s-748 ( 748) [000] ...1 1034723.483020: tracing_mark_write: E|748 26921 hwservicemanag-570 ( 570) [002] ...1 1034723.483027: tracing_mark_write: E|570 26922 atrace-27096 (27096) [005] ...1 1034723.483075: tracing_mark_write: E|27096 26923 atrace-27096 (27096) [005] ...1 1034723.483080: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client 26924 atrace-27096 (27096) [005] ...1 1034723.483125: tracing_mark_write: E|27096 26925 atrace-27096 (27096) [005] ...1 1034723.483136: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client 26926 neuralnetworks-756 ( 756) [006] ...1 1034723.483153: tracing_mark_write: B|756|HIDL::IBase::notifySyspropsChanged::server 26927 hwservicemanag-570 ( 570) [003] ...1 1034723.483178: tracing_mark_write: B|570|HIDL::IServiceManager::get::server 26928 hwservicemanag-570 ( 570) [003] ...1 1034723.483294: tracing_mark_write: E|570 26929 neuralnetworks-756 ( 756) [006] ...1 1034723.483309: tracing_mark_write: E|756 26930 atrace-27096 (27096) [004] ...1 1034723.483552: tracing_mark_write: E|27096 26931 atrace-27096 (27096) [004] ...1 1034723.483567: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client 26932 atrace-27096 (27096) [004] ...1 1034723.483656: tracing_mark_write: E|27096 26933 atrace-27096 (27096) [004] ...1 1034723.483685: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client 26934 nfc@1.0-servic-759 ( 759) [005] ...1 1034723.483735: tracing_mark_write: B|759|HIDL::IBase::notifySyspropsChanged::server 26935 hwservicemanag-570 ( 570) [002] ...1 1034723.483756: tracing_mark_write: B|570|HIDL::IServiceManager::get::server 26936 hwservicemanag-570 ( 570) [002] ...1 1034723.483858: tracing_mark_write: E|570 26937 nfc@1.0-servic-759 ( 759) [005] ...1 1034723.484019: tracing_mark_write: E|759 26938 atrace-27096 (27096) [005] ...1 1034723.484119: tracing_mark_write: E|27096 26939 atrace-27096 (27096) [005] ...1 1034723.484131: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client 26940 atrace-27096 (27096) [005] ...1 1034723.484215: tracing_mark_write: E|27096 26941 atrace-27096 (27096) [005] ...1 1034723.484240: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client 26942 oemlock@1.0-se-760 ( 760) [006] ...1 1034723.484290: tracing_mark_write: B|760|HIDL::IBase::notifySyspropsChanged::server 26943 hwservicemanag-570 ( 570) [003] ...1 1034723.484308: tracing_mark_write: B|570|HIDL::IServiceManager::get::server 26944 hwservicemanag-570 ( 570) [003] ...1 1034723.484399: tracing_mark_write: E|570 26945 atrace-27096 (27096) [004] ...1 1034723.484480: tracing_mark_write: E|27096 26946 atrace-27096 (27096) [004] ...1 1034723.484491: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client 26947 oemlock@1.0-se-760 ( 760) [006] ...1 1034723.484527: tracing_mark_write: E|760 26948 atrace-27096 (27096) [004] ...1 1034723.484575: tracing_mark_write: E|27096 26949 atrace-27096 (27096) [004] ...1 1034723.484600: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client 26950 power@1.2-serv-773 ( 773) [005] ...1 1034723.484654: tracing_mark_write: B|773|HIDL::IBase::notifySyspropsChanged::server 26951 hwservicemanag-570 ( 570) [002] ...1 1034723.484664: tracing_mark_write: B|570|HIDL::IServiceManager::get::server 26952 hwservicemanag-570 ( 570) [002] ...1 1034723.484757: tracing_mark_write: E|570 26953 power@1.2-serv-773 ( 773) [005] ...1 1034723.484927: tracing_mark_write: E|773 26954 atrace-27096 (27096) [005] ...1 1034723.485030: tracing_mark_write: E|27096 26955 atrace-27096 (27096) [005] ...1 1034723.485043: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client 26956 atrace-27096 (27096) [005] ...1 1034723.485099: tracing_mark_write: E|27096 26957 atrace-27096 (27096) [005] ...1 1034723.485123: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client 26958 power@1.2-serv-773 ( 773) [004] ...1 1034723.485125: tracing_mark_write: B|773|HIDL::IBase::notifySyspropsChanged::server 26959 hwservicemanag-570 ( 570) [003] ...1 1034723.485184: tracing_mark_write: B|570|HIDL::IServiceManager::get::server 26960 hwservicemanag-570 ( 570) [003] ...1 1034723.485274: tracing_mark_write: E|570 26961 power@1.2-serv-773 ( 773) [004] ...1 1034723.485275: tracing_mark_write: E|773 26962 atrace-27096 (27096) [004] ...1 1034723.485365: tracing_mark_write: E|27096 26963 atrace-27096 (27096) [004] ...1 1034723.485378: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client 26964 atrace-27096 (27096) [004] ...1 1034723.485438: tracing_mark_write: E|27096 26965 power@1.2-serv-773 ( 773) [005] ...1 1034723.485460: tracing_mark_write: B|773|HIDL::IBase::notifySyspropsChanged::server 26966 atrace-27096 (27096) [004] ...1 1034723.485464: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client 26967 power@1.2-serv-773 ( 773) [005] ...1 1034723.485599: tracing_mark_write: E|773 26968 surfaceflinger-591 ( 591) [000] ...1 1034723.485748: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 26969 hwservicemanag-570 ( 570) [000] ...1 1034723.485878: tracing_mark_write: B|570|HIDL::IServiceManager::get::server 26970 composer@2.1-s-593 ( 593) [001] ...1 1034723.485887: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 26971 composer@2.1-s-593 ( 593) [001] ...1 1034723.485953: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 26972 composer@2.1-s-593 ( 593) [001] ...1 1034723.485963: tracing_mark_write: E|593 26973 composer@2.1-s-593 ( 593) [001] ...1 1034723.485967: tracing_mark_write: B|593|HWCSession::ValidateDisplay:: 26974 hwservicemanag-570 ( 570) [000] ...1 1034723.486020: tracing_mark_write: E|570 26975 atrace-27096 (27096) [005] ...1 1034723.486105: tracing_mark_write: E|27096 26976 atrace-27096 (27096) [005] ...1 1034723.486117: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client 26977 composer@2.1-s-593 ( 593) [001] ...1 1034723.486241: tracing_mark_write: B|593|HWDevice::Validate:: 26978 rild-917 ( 917) [005] ...1 1034723.486278: tracing_mark_write: B|917|HIDL::IBase::notifySyspropsChanged::server 26979 composer@2.1-s-593 ( 593) [001] ...1 1034723.486328: tracing_mark_write: E|593 26980 composer@2.1-s-593 ( 593) [001] ...1 1034723.486349: tracing_mark_write: E|593 26981 composer@2.1-s-593 ( 593) [001] ...1 1034723.486368: tracing_mark_write: E|593 26982 surfaceflinger-591 ( 591) [000] ...1 1034723.486422: tracing_mark_write: E|591 26983 surfaceflinger-591 ( 591) [000] ...1 1034723.486504: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client 26984 composer@2.1-s-593 ( 593) [001] ...1 1034723.486551: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server 26985 composer@2.1-s-593 ( 593) [001] ...1 1034723.486561: tracing_mark_write: B|593|HWCSession::PresentDisplay:: 26986 composer@2.1-s-593 ( 593) [001] ...1 1034723.486572: tracing_mark_write: B|593|HWDevice::Commit:: 26987 rild-917 ( 917) [005] ...1 1034723.486631: tracing_mark_write: E|917 26988 atrace-27096 (27096) [005] ...1 1034723.486712: tracing_mark_write: E|27096 26989 composer@2.1-s-593 ( 593) [001] ...1 1034723.486744: tracing_mark_write: E|593 26990 atrace-27096 (27096) [005] ...1 1034723.486748: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client 26991 composer@2.1-s-593 ( 593) [001] ...1 1034723.486763: tracing_mark_write: E|593 26992 composer@2.1-s-593 ( 593) [001] ...1 1034723.486784: tracing_mark_write: E|593 26993 surfaceflinger-591 ( 591) [000] ...1 1034723.486836: tracing_mark_write: E|591 26994 hwservicemanag-570 ( 570) [000] ...1 1034723.487129: tracing_mark_write: B|570|HIDL::IServiceManager::get::server 26995 hwservicemanag-570 ( 570) [000] ...1 1034723.487284: tracing_mark_write: E|570 26996 atrace-27096 (27096) [005] ...1 1034723.487412: tracing_mark_write: E|27096 26997 atrace-27096 (27096) [005] ...1 1034723.487426: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client 26998 HwBinder:778_1-1087 ( 778) [000] ...1 1034723.487483: tracing_mark_write: E|778 26999 rild-917 ( 917) [005] ...1 1034723.487521: tracing_mark_write: B|917|HIDL::IBase::notifySyspropsChanged::server 27000 SensorService-1283 ( 1151) [001] ...1 1034723.487549: tracing_mark_write: E|1151 27001 SensorService-1283 ( 1151) [001] ...1 1034723.487619: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 27002 HwBinder:778_1-1087 ( 778) [000] ...1 1034723.487662: tracing_mark_write: B|778|HIDL::ISensors::poll::server 27003 rild-917 ( 917) [005] ...1 1034723.487674: tracing_mark_write: E|917 27004 atrace-27096 (27096) [005] ...1 1034723.487729: tracing_mark_write: E|27096 27005 atrace-27096 (27096) [005] ...1 1034723.487761: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client 27006 hwservicemanag-570 ( 570) [000] ...1 1034723.487840: tracing_mark_write: B|570|HIDL::IServiceManager::get::server 27007 hwservicemanag-570 ( 570) [000] ...1 1034723.487949: tracing_mark_write: E|570 27008 atrace-27096 (27096) [000] ...1 1034723.488019: tracing_mark_write: E|27096 27009 atrace-27096 (27096) [000] ...1 1034723.488031: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client 27010 atrace-27096 (27096) [000] ...1 1034723.488062: tracing_mark_write: E|27096 27011 atrace-27096 (27096) [000] ...1 1034723.488080: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client 27012 rild-917 ( 917) [005] ...1 1034723.488105: tracing_mark_write: B|917|HIDL::IBase::notifySyspropsChanged::server 27013 hwservicemanag-570 ( 570) [001] ...1 1034723.488120: tracing_mark_write: B|570|HIDL::IServiceManager::get::server 27014 hwservicemanag-570 ( 570) [001] ...1 1034723.488217: tracing_mark_write: E|570 27015 atrace-27096 (27096) [001] ...1 1034723.488265: tracing_mark_write: E|27096 27016 atrace-27096 (27096) [001] ...1 1034723.488271: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client 27017 rild-917 ( 917) [005] ...1 1034723.488285: tracing_mark_write: E|917 27018 atrace-27096 (27096) [001] ...1 1034723.488299: tracing_mark_write: E|27096 27019 atrace-27096 (27096) [001] ...1 1034723.488312: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client 27020 HwBinder:917_1-1223 ( 917) [004] ...1 1034723.488346: tracing_mark_write: B|917|HIDL::IBase::notifySyspropsChanged::server 27021 hwservicemanag-570 ( 570) [000] ...1 1034723.488350: tracing_mark_write: B|570|HIDL::IServiceManager::get::server 27022 hwservicemanag-570 ( 570) [000] ...1 1034723.488447: tracing_mark_write: E|570 27023 atrace-27096 (27096) [000] ...1 1034723.488493: tracing_mark_write: E|27096 27024 atrace-27096 (27096) [000] ...1 1034723.488499: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client 27025 HwBinder:917_1-1223 ( 917) [004] ...1 1034723.488503: tracing_mark_write: E|917 27026 atrace-27096 (27096) [000] ...1 1034723.488528: tracing_mark_write: E|27096 27027 atrace-27096 (27096) [000] ...1 1034723.488542: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client 27028 rild-917 ( 917) [005] ...1 1034723.488562: tracing_mark_write: B|917|HIDL::IBase::notifySyspropsChanged::server 27029 hwservicemanag-570 ( 570) [001] ...1 1034723.488579: tracing_mark_write: B|570|HIDL::IServiceManager::get::server 27030 rild-917 ( 917) [005] ...1 1034723.488688: tracing_mark_write: E|917 27031 hwservicemanag-570 ( 570) [001] ...1 1034723.488704: tracing_mark_write: E|570 27032 atrace-27096 (27096) [005] ...1 1034723.488789: tracing_mark_write: E|27096 27033 atrace-27096 (27096) [005] ...1 1034723.488807: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client 27034 atrace-27096 (27096) [005] ...1 1034723.488903: tracing_mark_write: E|27096 27035 atrace-27096 (27096) [005] ...1 1034723.488933: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client 27036 sensors@1.0-se-778 ( 778) [007] ...1 1034723.488946: tracing_mark_write: B|778|HIDL::IBase::notifySyspropsChanged::server 27037 hwservicemanag-570 ( 570) [001] ...1 1034723.489005: tracing_mark_write: B|570|HIDL::IServiceManager::get::server 27038 hwservicemanag-570 ( 570) [001] ...1 1034723.489138: tracing_mark_write: E|570 27039 sensors@1.0-se-778 ( 778) [007] ...1 1034723.489173: tracing_mark_write: E|778 27040 atrace-27096 (27096) [001] ...1 1034723.489203: tracing_mark_write: E|27096 27041 atrace-27096 (27096) [001] ...1 1034723.489210: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client 27042 atrace-27096 (27096) [001] ...1 1034723.489242: tracing_mark_write: E|27096 27043 atrace-27096 (27096) [001] ...1 1034723.489255: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client 27044 hwservicemanag-570 ( 570) [000] ...1 1034723.489293: tracing_mark_write: B|570|HIDL::IServiceManager::get::server 27045 HwBinder:733_3-1347 ( 733) [007] ...1 1034723.489312: tracing_mark_write: B|733|HIDL::IBase::notifySyspropsChanged::server 27046 hwservicemanag-570 ( 570) [000] ...1 1034723.489414: tracing_mark_write: E|570 27047 atrace-27096 (27096) [000] ...1 1034723.489460: tracing_mark_write: E|27096 27048 atrace-27096 (27096) [000] ...1 1034723.489466: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client 27049 atrace-27096 (27096) [000] ...1 1034723.489482: tracing_mark_write: E|27096 27050 atrace-27096 (27096) [000] ...1 1034723.489494: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client 27051 HwBinder:733_3-1347 ( 733) [007] ...1 1034723.489518: tracing_mark_write: E|733 27052 hwservicemanag-570 ( 570) [001] ...1 1034723.489529: tracing_mark_write: B|570|HIDL::IServiceManager::get::server 27053 HwBinder:733_3-1347 ( 733) [007] ...1 1034723.489611: tracing_mark_write: B|733|HIDL::IBase::notifySyspropsChanged::server 27054 hwservicemanag-570 ( 570) [001] ...1 1034723.489657: tracing_mark_write: E|570 27055 atrace-27096 (27096) [001] ...1 1034723.489705: tracing_mark_write: E|27096 27056 atrace-27096 (27096) [001] ...1 1034723.489710: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client 27057 HwBinder:733_3-1347 ( 733) [007] ...1 1034723.489746: tracing_mark_write: E|733 27058 atrace-27096 (27096) [001] ...1 1034723.489756: tracing_mark_write: E|27096 27059 atrace-27096 (27096) [001] ...1 1034723.489768: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client 27060 hwservicemanag-570 ( 570) [000] ...1 1034723.489804: tracing_mark_write: B|570|HIDL::IServiceManager::get::server 27061 HwBinder:898_1-951 ( 898) [004] ...1 1034723.489900: tracing_mark_write: B|898|HIDL::IBase::notifySyspropsChanged::server 27062 hwservicemanag-570 ( 570) [000] ...1 1034723.489990: tracing_mark_write: E|570 27063 atrace-27096 (27096) [000] ...1 1034723.490038: tracing_mark_write: E|27096 27064 atrace-27096 (27096) [000] ...1 1034723.490043: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client 27065 atrace-27096 (27096) [000] ...1 1034723.490060: tracing_mark_write: E|27096 27066 atrace-27096 (27096) [000] ...1 1034723.490072: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client 27067 hwservicemanag-570 ( 570) [002] ...1 1034723.490110: tracing_mark_write: B|570|HIDL::IServiceManager::get::server 27068 HwBinder:898_1-951 ( 898) [004] ...1 1034723.490193: tracing_mark_write: E|898 27069 hwservicemanag-570 ( 570) [002] ...1 1034723.490217: tracing_mark_write: E|570 27070 HwBinder:898_1-951 ( 898) [004] ...1 1034723.490261: tracing_mark_write: B|898|HIDL::IBase::notifySyspropsChanged::server 27071 atrace-27096 (27096) [002] ...1 1034723.490267: tracing_mark_write: E|27096 27072 atrace-27096 (27096) [002] ...1 1034723.490273: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client 27073 atrace-27096 (27096) [002] ...1 1034723.490312: tracing_mark_write: E|27096 27074 atrace-27096 (27096) [002] ...1 1034723.490324: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client 27075 hwservicemanag-570 ( 570) [000] ...1 1034723.490360: tracing_mark_write: B|570|HIDL::IServiceManager::get::server 27076 HwBinder:730_1-747 ( 730) [005] ...1 1034723.490383: tracing_mark_write: B|730|HIDL::IBase::notifySyspropsChanged::server 27077 HwBinder:898_1-951 ( 898) [004] ...1 1034723.490384: tracing_mark_write: E|898 27078 hwservicemanag-570 ( 570) [000] ...1 1034723.490463: tracing_mark_write: E|570 27079 atrace-27096 (27096) [000] ...1 1034723.490508: tracing_mark_write: E|27096 27080 atrace-27096 (27096) [000] ...1 1034723.490513: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client 27081 atrace-27096 (27096) [000] ...1 1034723.490528: tracing_mark_write: E|27096 27082 atrace-27096 (27096) [000] ...1 1034723.490540: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client 27083 hwservicemanag-570 ( 570) [002] ...1 1034723.490575: tracing_mark_write: B|570|HIDL::IServiceManager::get::server 27084 HwBinder:730_1-747 ( 730) [005] ...1 1034723.490648: tracing_mark_write: E|730 27085 hwservicemanag-570 ( 570) [002] ...1 1034723.490688: tracing_mark_write: E|570 27086 HwBinder:730_1-747 ( 730) [005] ...1 1034723.490712: tracing_mark_write: B|730|HIDL::IBase::notifySyspropsChanged::server 27087 atrace-27096 (27096) [002] ...1 1034723.490734: tracing_mark_write: E|27096 27088 atrace-27096 (27096) [002] ...1 1034723.490739: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client 27089 atrace-27096 (27096) [002] ...1 1034723.490785: tracing_mark_write: E|27096 27090 atrace-27096 (27096) [002] ...1 1034723.490798: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client 27091 HwBinder:730_1-747 ( 730) [005] ...1 1034723.490831: tracing_mark_write: E|730 27092 hwservicemanag-570 ( 570) [000] ...1 1034723.490833: tracing_mark_write: B|570|HIDL::IServiceManager::get::server 27093 usb@1.1-servic-787 ( 787) [003] ...1 1034723.490837: tracing_mark_write: B|787|HIDL::IBase::notifySyspropsChanged::server 27094 hwservicemanag-570 ( 570) [000] ...1 1034723.490924: tracing_mark_write: E|570 27095 atrace-27096 (27096) [000] ...1 1034723.490987: tracing_mark_write: E|27096 27096 atrace-27096 (27096) [000] ...1 1034723.490992: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client 27097 usb@1.1-servic-787 ( 787) [003] ...1 1034723.491009: tracing_mark_write: E|787 27098 atrace-27096 (27096) [000] ...1 1034723.491019: tracing_mark_write: E|27096 27099 atrace-27096 (27096) [000] ...1 1034723.491031: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client 27100 HwBinder:787_1-957 ( 787) [001] ...1 1034723.491035: tracing_mark_write: B|787|HIDL::IBase::notifySyspropsChanged::server 27101 hwservicemanag-570 ( 570) [002] ...1 1034723.491067: tracing_mark_write: B|570|HIDL::IServiceManager::get::server 27102 HwBinder:787_1-957 ( 787) [001] ...1 1034723.491104: tracing_mark_write: E|787 27103 hwservicemanag-570 ( 570) [002] ...1 1034723.491158: tracing_mark_write: E|570 27104 atrace-27096 (27096) [002] ...1 1034723.491204: tracing_mark_write: E|27096 27105 atrace-27096 (27096) [002] ...1 1034723.491209: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client 27106 atrace-27096 (27096) [002] ...1 1034723.491231: tracing_mark_write: E|27096 27107 HwBinder:787_1-957 ( 787) [001] ...1 1034723.491239: tracing_mark_write: B|787|HIDL::IBase::notifySyspropsChanged::server 27108 atrace-27096 (27096) [002] ...1 1034723.491243: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client 27109 hwservicemanag-570 ( 570) [000] ...1 1034723.491277: tracing_mark_write: B|570|HIDL::IServiceManager::get::server 27110 HwBinder:787_1-957 ( 787) [001] ...1 1034723.491298: tracing_mark_write: E|787 27111 hwservicemanag-570 ( 570) [000] ...1 1034723.491395: tracing_mark_write: E|570 27112 atrace-27096 (27096) [000] ...1 1034723.491442: tracing_mark_write: E|27096 27113 atrace-27096 (27096) [000] ...1 1034723.491447: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client 27114 atrace-27096 (27096) [000] ...1 1034723.491491: tracing_mark_write: E|27096 27115 atrace-27096 (27096) [000] ...1 1034723.491502: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client 27116 hwservicemanag-570 ( 570) [002] ...1 1034723.491541: tracing_mark_write: B|570|HIDL::IServiceManager::get::server 27117 vibrator@1.2-s-793 ( 793) [005] ...1 1034723.491591: tracing_mark_write: B|793|HIDL::IBase::notifySyspropsChanged::server 27118 hwservicemanag-570 ( 570) [002] ...1 1034723.491647: tracing_mark_write: E|570 27119 atrace-27096 (27096) [002] ...1 1034723.491693: tracing_mark_write: E|27096 27120 atrace-27096 (27096) [002] ...1 1034723.491699: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client 27121 atrace-27096 (27096) [002] ...1 1034723.491714: tracing_mark_write: E|27096 27122 atrace-27096 (27096) [002] ...1 1034723.491725: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client 27123 hwservicemanag-570 ( 570) [000] ...1 1034723.491759: tracing_mark_write: B|570|HIDL::IServiceManager::get::server 27124 vibrator@1.2-s-793 ( 793) [005] ...1 1034723.491839: tracing_mark_write: E|793 27125 hwservicemanag-570 ( 570) [000] ...1 1034723.491862: tracing_mark_write: E|570 27126 vibrator@1.2-s-793 ( 793) [005] ...1 1034723.491896: tracing_mark_write: B|793|HIDL::IBase::notifySyspropsChanged::server 27127 atrace-27096 (27096) [000] ...1 1034723.491910: tracing_mark_write: E|27096 27128 atrace-27096 (27096) [000] ...1 1034723.491915: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client 27129 atrace-27096 (27096) [000] ...1 1034723.491932: tracing_mark_write: E|27096 27130 atrace-27096 (27096) [000] ...1 1034723.491943: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client 27131 hwservicemanag-570 ( 570) [002] ...1 1034723.491977: tracing_mark_write: B|570|HIDL::IServiceManager::get::server 27132 vibrator@1.2-s-793 ( 793) [005] ...1 1034723.492010: tracing_mark_write: E|793 27133 vibrator@1.2-s-793 ( 793) [005] ...1 1034723.492043: tracing_mark_write: B|793|HIDL::IBase::notifySyspropsChanged::server 27134 hwservicemanag-570 ( 570) [002] ...1 1034723.492063: tracing_mark_write: E|570 27135 atrace-27096 (27096) [002] ...1 1034723.492109: tracing_mark_write: E|27096 27136 atrace-27096 (27096) [002] ...1 1034723.492114: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client 27137 atrace-27096 (27096) [002] ...1 1034723.492153: tracing_mark_write: E|27096 27138 atrace-27096 (27096) [002] ...1 1034723.492164: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client 27139 vibrator@1.2-s-793 ( 793) [005] ...1 1034723.492188: tracing_mark_write: E|793 27140 hwservicemanag-570 ( 570) [000] ...1 1034723.492199: tracing_mark_write: B|570|HIDL::IServiceManager::get::server 27141 vr@1.0-service-802 ( 802) [006] ...1 1034723.492259: tracing_mark_write: B|802|HIDL::IBase::notifySyspropsChanged::server 27142 hwservicemanag-570 ( 570) [000] ...1 1034723.492305: tracing_mark_write: E|570 27143 atrace-27096 (27096) [000] ...1 1034723.492351: tracing_mark_write: E|27096 27144 atrace-27096 (27096) [000] ...1 1034723.492357: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client 27145 atrace-27096 (27096) [000] ...1 1034723.492398: tracing_mark_write: E|27096 27146 atrace-27096 (27096) [000] ...1 1034723.492410: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client 27147 hwservicemanag-570 ( 570) [002] ...1 1034723.492444: tracing_mark_write: B|570|HIDL::IServiceManager::get::server 27148 esed-813 ( 813) [005] ...1 1034723.492495: tracing_mark_write: B|813|HIDL::IBase::notifySyspropsChanged::server 27149 vr@1.0-service-802 ( 802) [006] ...1 1034723.492522: tracing_mark_write: E|802 27150 hwservicemanag-570 ( 570) [002] ...1 1034723.492560: tracing_mark_write: E|570 27151 atrace-27096 (27096) [006] ...1 1034723.492732: tracing_mark_write: E|27096 27152 esed-813 ( 813) [005] ...1 1034723.492732: tracing_mark_write: E|813 27153 atrace-27096 (27096) [006] ...1 1034723.492739: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client 27154 atrace-27096 (27096) [006] ...1 1034723.492797: tracing_mark_write: E|27096 27155 atrace-27096 (27096) [006] ...1 1034723.492814: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client 27156 offload@1.0-se-807 ( 807) [004] ...1 1034723.492845: tracing_mark_write: B|807|HIDL::IBase::notifySyspropsChanged::server 27157 hwservicemanag-570 ( 570) [000] ...1 1034723.492871: tracing_mark_write: B|570|HIDL::IServiceManager::get::server 27158 hwservicemanag-570 ( 570) [000] ...1 1034723.492961: tracing_mark_write: E|570 27159 offload@1.0-se-807 ( 807) [004] ...1 1034723.493007: tracing_mark_write: E|807 27160 atrace-27096 (27096) [000] ...1 1034723.493017: tracing_mark_write: E|27096 27161 atrace-27096 (27096) [000] ...1 1034723.493023: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client 27162 atrace-27096 (27096) [000] ...1 1034723.493059: tracing_mark_write: E|27096 27163 atrace-27096 (27096) [000] ...1 1034723.493071: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client 27164 hwservicemanag-570 ( 570) [002] ...1 1034723.493107: tracing_mark_write: B|570|HIDL::IServiceManager::get::server 27165 android.hardwa-812 ( 812) [006] ...1 1034723.493116: tracing_mark_write: B|812|HIDL::IBase::notifySyspropsChanged::server 27166 hwservicemanag-570 ( 570) [002] ...1 1034723.493191: tracing_mark_write: E|570 27167 atrace-27096 (27096) [002] ...1 1034723.493253: tracing_mark_write: E|27096 27168 atrace-27096 (27096) [002] ...1 1034723.493259: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client 27169 atrace-27096 (27096) [002] ...1 1034723.493274: tracing_mark_write: E|27096 27170 atrace-27096 (27096) [002] ...1 1034723.493286: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client 27171 android.hardwa-812 ( 812) [006] ...1 1034723.493299: tracing_mark_write: E|812 27172 hwservicemanag-570 ( 570) [000] ...1 1034723.493321: tracing_mark_write: B|570|HIDL::IServiceManager::get::server 27173 android.hardwa-812 ( 812) [006] ...1 1034723.493334: tracing_mark_write: B|812|HIDL::IBase::notifySyspropsChanged::server 27174 android.hardwa-812 ( 812) [006] ...1 1034723.493398: tracing_mark_write: E|812 27175 hwservicemanag-570 ( 570) [000] ...1 1034723.493408: tracing_mark_write: E|570 27176 atrace-27096 (27096) [000] ...1 1034723.493454: tracing_mark_write: E|27096 27177 atrace-27096 (27096) [000] ...1 1034723.493460: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client 27178 atrace-27096 (27096) [000] ...1 1034723.493483: tracing_mark_write: E|27096 27179 atrace-27096 (27096) [000] ...1 1034723.493494: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client 27180 android.hardwa-812 ( 812) [006] ...1 1034723.493504: tracing_mark_write: B|812|HIDL::IBase::notifySyspropsChanged::server 27181 hwservicemanag-570 ( 570) [002] ...1 1034723.493528: tracing_mark_write: B|570|HIDL::IServiceManager::get::server 27182 android.hardwa-812 ( 812) [006] ...1 1034723.493570: tracing_mark_write: E|812 27183 hwservicemanag-570 ( 570) [002] ...1 1034723.493630: tracing_mark_write: E|570 27184 atrace-27096 (27096) [002] ...1 1034723.493681: tracing_mark_write: E|27096 27185 atrace-27096 (27096) [002] ...1 1034723.493687: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client 27186 atrace-27096 (27096) [002] ...1 1034723.493730: tracing_mark_write: E|27096 27187 atrace-27096 (27096) [002] ...1 1034723.493743: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client 27188 allocator@1.0--731 ( 731) [005] ...1 1034723.493772: tracing_mark_write: B|731|HIDL::IBase::notifySyspropsChanged::server 27189 hwservicemanag-570 ( 570) [000] ...1 1034723.493778: tracing_mark_write: B|570|HIDL::IServiceManager::get::server 27190 hwservicemanag-570 ( 570) [000] ...1 1034723.493865: tracing_mark_write: E|570 27191 allocator@1.0--731 ( 731) [005] ...1 1034723.493901: tracing_mark_write: E|731 27192 atrace-27096 (27096) [000] ...1 1034723.493911: tracing_mark_write: E|27096 27193 atrace-27096 (27096) [000] ...1 1034723.493916: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client 27194 atrace-27096 (27096) [000] ...1 1034723.493956: tracing_mark_write: E|27096 27195 atrace-27096 (27096) [000] ...1 1034723.493969: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client 27196 hwservicemanag-570 ( 570) [002] ...1 1034723.494004: tracing_mark_write: B|570|HIDL::IServiceManager::get::server 27197 hwservicemanag-570 ( 570) [002] ...1 1034723.494089: tracing_mark_write: E|570 27198 atrace-27096 (27096) [002] ...1 1034723.494139: tracing_mark_write: E|27096 27199 atrace-27096 (27096) [002] ...1 1034723.494144: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client 27200 atrace-27096 (27096) [002] ...1 1034723.494168: tracing_mark_write: E|27096 27201 atrace-27096 (27096) [002] ...1 1034723.494180: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client 27202 allocator@1.0--731 ( 731) [005] ...1 1034723.494188: tracing_mark_write: B|731|HIDL::IBase::notifySyspropsChanged::server 27203 hwservicemanag-570 ( 570) [000] ...1 1034723.494215: tracing_mark_write: B|570|HIDL::IServiceManager::get::server 27204 allocator@1.0--731 ( 731) [005] ...1 1034723.494241: tracing_mark_write: E|731 27205 hwservicemanag-570 ( 570) [000] ...1 1034723.494300: tracing_mark_write: E|570 27206 atrace-27096 (27096) [000] ...1 1034723.494353: tracing_mark_write: E|27096 27207 atrace-27096 (27096) [000] ...1 1034723.494359: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client 27208 atrace-27096 (27096) [000] ...1 1034723.494398: tracing_mark_write: E|27096 27209 atrace-27096 (27096) [000] ...1 1034723.494410: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client 27210 healthd-729 ( 729) [002] ...1 1034723.494434: tracing_mark_write: B|729|HIDL::IBase::notifySyspropsChanged::server 27211 hwservicemanag-570 ( 570) [000] ...1 1034723.494450: tracing_mark_write: B|570|HIDL::IServiceManager::get::server 27212 healthd-729 ( 729) [002] ...1 1034723.494492: tracing_mark_write: E|729 27213 hwservicemanag-570 ( 570) [000] ...1 1034723.494533: tracing_mark_write: E|570 27214 atrace-27096 (27096) [005] ...1 1034723.494595: tracing_mark_write: E|27096 27215 atrace-27096 (27096) [005] ...1 1034723.494603: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client 27216 atrace-27096 (27096) [005] ...1 1034723.494654: tracing_mark_write: E|27096 27217 atrace-27096 (27096) [005] ...1 1034723.494670: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client 27218 HwBinder:741_4-23194 ( 741) [006] ...1 1034723.494678: tracing_mark_write: B|741|HIDL::IBase::notifySyspropsChanged::server 27219 hwservicemanag-570 ( 570) [000] ...1 1034723.494713: tracing_mark_write: B|570|HIDL::IServiceManager::get::server 27220 HwBinder:741_4-23194 ( 741) [006] ...1 1034723.494764: tracing_mark_write: E|741 27221 hwservicemanag-570 ( 570) [000] ...1 1034723.494795: tracing_mark_write: E|570 27222 atrace-27096 (27096) [000] ...1 1034723.494850: tracing_mark_write: E|27096 27223 atrace-27096 (27096) [000] ...1 1034723.494857: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client 27224 atrace-27096 (27096) [000] ...1 1034723.494899: tracing_mark_write: E|27096 27225 atrace-27096 (27096) [000] ...1 1034723.494911: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client 27226 hwservicemanag-570 ( 570) [002] ...1 1034723.494947: tracing_mark_write: B|570|HIDL::IServiceManager::get::server 27227 HwBinder:890_1-946 ( 890) [005] ...1 1034723.494972: tracing_mark_write: B|890|HIDL::IBase::notifySyspropsChanged::server 27228 hwservicemanag-570 ( 570) [002] ...1 1034723.495033: tracing_mark_write: E|570 27229 atrace-27096 (27096) [002] ...1 1034723.495080: tracing_mark_write: E|27096 27230 atrace-27096 (27096) [002] ...1 1034723.495086: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client 27231 atrace-27096 (27096) [002] ...1 1034723.495113: tracing_mark_write: E|27096 27232 atrace-27096 (27096) [002] ...1 1034723.495125: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client 27233 HwBinder:890_1-946 ( 890) [005] ...1 1034723.495134: tracing_mark_write: E|890 27234 HwBinder:1151_-1194 ( 1151) [007] ...1 1034723.495155: tracing_mark_write: B|1151|HIDL::IBase::notifySyspropsChanged::server 27235 hwservicemanag-570 ( 570) [000] ...1 1034723.495160: tracing_mark_write: B|570|HIDL::IServiceManager::get::server 27236 hwservicemanag-570 ( 570) [000] ...1 1034723.495247: tracing_mark_write: E|570 27237 atrace-27096 (27096) [000] ...1 1034723.495293: tracing_mark_write: E|27096 27238 atrace-27096 (27096) [000] ...1 1034723.495298: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client 27239 atrace-27096 (27096) [000] ...1 1034723.495325: tracing_mark_write: E|27096 27240 atrace-27096 (27096) [000] ...1 1034723.495337: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client 27241 neuralnetworks-756 ( 756) [005] ...1 1034723.495360: tracing_mark_write: B|756|HIDL::IBase::notifySyspropsChanged::server 27242 hwservicemanag-570 ( 570) [002] ...1 1034723.495370: tracing_mark_write: B|570|HIDL::IServiceManager::get::server 27243 neuralnetworks-756 ( 756) [005] ...1 1034723.495446: tracing_mark_write: E|756 27244 hwservicemanag-570 ( 570) [002] ...1 1034723.495466: tracing_mark_write: E|570 27245 atrace-27096 (27096) [002] ...1 1034723.495512: tracing_mark_write: E|27096 27246 atrace-27096 (27096) [002] ...1 1034723.495518: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client 27247 atrace-27096 (27096) [002] ...1 1034723.495543: tracing_mark_write: E|27096 27248 atrace-27096 (27096) [002] ...1 1034723.495555: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client 27249 rild-917 ( 917) [005] ...1 1034723.495575: tracing_mark_write: B|917|HIDL::IBase::notifySyspropsChanged::server 27250 hwservicemanag-570 ( 570) [000] ...1 1034723.495590: tracing_mark_write: B|570|HIDL::IServiceManager::get::server 27251 rild-917 ( 917) [005] ...1 1034723.495655: tracing_mark_write: E|917 27252 hwservicemanag-570 ( 570) [000] ...1 1034723.495674: tracing_mark_write: E|570 27253 atrace-27096 (27096) [000] ...1 1034723.495722: tracing_mark_write: E|27096 27254 atrace-27096 (27096) [000] ...1 1034723.495727: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client 27255 atrace-27096 (27096) [000] ...1 1034723.495752: tracing_mark_write: E|27096 27256 atrace-27096 (27096) [000] ...1 1034723.495764: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client 27257 provider@2.4-s-736 ( 736) [005] ...1 1034723.495793: tracing_mark_write: B|736|HIDL::IBase::notifySyspropsChanged::server 27258 hwservicemanag-570 ( 570) [002] ...1 1034723.495797: tracing_mark_write: B|570|HIDL::IServiceManager::get::server 27259 hwservicemanag-570 ( 570) [002] ...1 1034723.495900: tracing_mark_write: E|570 27260 provider@2.4-s-736 ( 736) [005] ...1 1034723.495904: tracing_mark_write: E|736 27261 HwBinder:1151_-1194 ( 1151) [007] ...1 1034723.495939: tracing_mark_write: E|1151 27262 atrace-27096 (27096) [005] ...1 1034723.495978: tracing_mark_write: E|27096 27263 atrace-27096 (27096) [005] ...1 1034723.495985: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client 27264 rild-917 ( 917) [005] ...1 1034723.496033: tracing_mark_write: B|917|HIDL::IBase::notifySyspropsChanged::server 27265 rild-917 ( 917) [005] ...1 1034723.496112: tracing_mark_write: E|917 27266 atrace-27096 (27096) [005] ...1 1034723.496143: tracing_mark_write: E|27096 27267 atrace-27096 (27096) [005] ...1 1034723.496161: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client 27268 hwservicemanag-570 ( 570) [000] ...1 1034723.496281: tracing_mark_write: B|570|HIDL::IServiceManager::get::server 27269 hwservicemanag-570 ( 570) [000] ...1 1034723.496478: tracing_mark_write: E|570 27270 atrace-27096 (27096) [000] ...1 1034723.496574: tracing_mark_write: E|27096 27271 atrace-27096 (27096) [000] ...1 1034723.496584: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client 27272 atrace-27096 (27096) [000] ...1 1034723.496619: tracing_mark_write: E|27096 27273 rild-917 ( 917) [005] ...1 1034723.496637: tracing_mark_write: B|917|HIDL::IBase::notifySyspropsChanged::server 27274 atrace-27096 (27096) [000] ...1 1034723.496638: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client 27275 hwservicemanag-570 ( 570) [001] ...1 1034723.496693: tracing_mark_write: B|570|HIDL::IServiceManager::get::server 27276 rild-917 ( 917) [005] ...1 1034723.496714: tracing_mark_write: E|917 27277 hwservicemanag-570 ( 570) [001] ...1 1034723.496819: tracing_mark_write: E|570 27278 atrace-27096 (27096) [001] ...1 1034723.496917: tracing_mark_write: E|27096 27279 atrace-27096 (27096) [001] ...1 1034723.496926: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client 27280 atrace-27096 (27096) [001] ...1 1034723.497001: tracing_mark_write: E|27096 27281 atrace-27096 (27096) [001] ...1 1034723.497022: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client 27282 HwBinder:732_1-767 ( 732) [002] ...1 1034723.497033: tracing_mark_write: B|732|HIDL::IBase::notifySyspropsChanged::server 27283 hwservicemanag-570 ( 570) [001] ...1 1034723.497070: tracing_mark_write: B|570|HIDL::IServiceManager::get::server 27284 HwBinder:732_1-767 ( 732) [002] ...1 1034723.497095: tracing_mark_write: E|732 27285 hwservicemanag-570 ( 570) [001] ...1 1034723.497151: tracing_mark_write: E|570 27286 atrace-27096 (27096) [005] ...1 1034723.497210: tracing_mark_write: E|27096 27287 atrace-27096 (27096) [005] ...1 1034723.497217: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client 27288 atrace-27096 (27096) [005] ...1 1034723.497262: tracing_mark_write: E|27096 27289 atrace-27096 (27096) [005] ...1 1034723.497277: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client 27290 HwBinder:740_2-23191 ( 740) [006] ...1 1034723.497292: tracing_mark_write: B|740|HIDL::IBase::notifySyspropsChanged::server 27291 hwservicemanag-570 ( 570) [000] ...1 1034723.497329: tracing_mark_write: B|570|HIDL::IServiceManager::get::server 27292 HwBinder:740_2-23191 ( 740) [006] ...1 1034723.497394: tracing_mark_write: E|740 27293 hwservicemanag-570 ( 570) [000] ...1 1034723.497446: tracing_mark_write: E|570 27294 atrace-27096 (27096) [000] ...1 1034723.497501: tracing_mark_write: E|27096 27295 atrace-27096 (27096) [000] ...1 1034723.497508: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client 27296 atrace-27096 (27096) [000] ...1 1034723.497533: tracing_mark_write: E|27096 27297 hwservicemanag-570 ( 570) [001] ...1 1034723.497543: tracing_mark_write: B|570|HIDL::IBase::notifySyspropsChanged::server 27298 atrace-27096 (27096) [000] ...1 1034723.497545: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client 27299 hwservicemanag-570 ( 570) [001] ...1 1034723.500417: tracing_mark_write: E|570 27300 hwservicemanag-570 ( 570) [001] ...1 1034723.500433: tracing_mark_write: B|570|HIDL::IServiceManager::get::server 27301 hwservicemanag-570 ( 570) [001] ...1 1034723.500545: tracing_mark_write: E|570 27302 atrace-27096 (27096) [001] ...1 1034723.500591: tracing_mark_write: E|27096 27303 atrace-27096 (27096) [001] ...1 1034723.500596: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client 27304 atrace-27096 (27096) [001] ...1 1034723.500619: tracing_mark_write: E|27096 27305 hwservicemanag-570 ( 570) [000] ...1 1034723.500629: tracing_mark_write: B|570|HIDL::IBase::notifySyspropsChanged::server 27306 atrace-27096 (27096) [001] ...1 1034723.500631: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client 27307 hwservicemanag-570 ( 570) [000] ...1 1034723.503454: tracing_mark_write: E|570 27308 hwservicemanag-570 ( 570) [000] ...1 1034723.503470: tracing_mark_write: B|570|HIDL::IServiceManager::get::server 27309 hwservicemanag-570 ( 570) [000] ...1 1034723.503572: tracing_mark_write: E|570 27310 atrace-27096 (27096) [005] ...1 1034723.503623: tracing_mark_write: E|27096 27311 atrace-27096 (27096) [005] ...1 1034723.503629: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client 27312 atrace-27096 (27096) [005] ...1 1034723.503659: tracing_mark_write: E|27096 27313 atrace-27096 (27096) [005] ...1 1034723.503672: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client 27314 hwservicemanag-570 ( 570) [001] ...1 1034723.503679: tracing_mark_write: B|570|HIDL::IBase::notifySyspropsChanged::server 27315 hwservicemanag-570 ( 570) [001] ...1 1034723.506461: tracing_mark_write: E|570 27316 hwservicemanag-570 ( 570) [001] ...1 1034723.506479: tracing_mark_write: B|570|HIDL::IServiceManager::get::server 27317 hwservicemanag-570 ( 570) [001] ...1 1034723.506597: tracing_mark_write: E|570 27318 HwBinder:778_1-1087 ( 778) [000] ...1 1034723.506605: tracing_mark_write: E|778 27319 atrace-27096 (27096) [004] ...1 1034723.506661: tracing_mark_write: E|27096 27320 SensorService-1283 ( 1151) [001] ...1 1034723.506663: tracing_mark_write: E|1151 27321 atrace-27096 (27096) [004] ...1 1034723.506670: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client 27322 atrace-27096 (27096) [004] ...1 1034723.506705: tracing_mark_write: E|27096 27323 atrace-27096 (27096) [004] ...1 1034723.506721: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client 27324 SensorService-1283 ( 1151) [001] ...1 1034723.506725: tracing_mark_write: B|1151|HIDL::ISensors::poll::client 27325 HwBinder:685_1-717 ( 685) [006] ...1 1034723.506739: tracing_mark_write: B|685|HIDL::IBase::notifySyspropsChanged::server 27326 HwBinder:778_1-1087 ( 778) [000] ...1 1034723.506769: tracing_mark_write: B|778|HIDL::ISensors::poll::server 27327 hwservicemanag-570 ( 570) [001] ...1 1034723.506776: tracing_mark_write: B|570|HIDL::IServiceManager::get::server 27328 HwBinder:685_1-717 ( 685) [006] ...1 1034723.506845: tracing_mark_write: E|685 27329 hwservicemanag-570 ( 570) [001] ...1 1034723.506892: tracing_mark_write: E|570 27330 atrace-27096 (27096) [006] ...1 1034723.506957: tracing_mark_write: E|27096 27331 atrace-27096 (27096) [006] ...1 1034723.506964: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client 27332 atrace-27096 (27096) [006] ...1 1034723.507006: tracing_mark_write: E|27096 27333 atrace-27096 (27096) [006] ...1 1034723.507022: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client 27334 HwBinder:904_1-997 ( 904) [007] ...1 1034723.507047: tracing_mark_write: B|904|HIDL::IBase::notifySyspropsChanged::server 27335 hwservicemanag-570 ( 570) [000] ...1 1034723.507073: tracing_mark_write: B|570|HIDL::IServiceManager::get::server 27336 HwBinder:904_1-997 ( 904) [007] ...1 1034723.507127: tracing_mark_write: E|904 27337 hwservicemanag-570 ( 570) [000] ...1 1034723.507182: tracing_mark_write: E|570 27338 atrace-27096 (27096) [007] ...1 1034723.507253: tracing_mark_write: E|27096 27339 atrace-27096 (27096) [007] ...1 1034723.507262: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client 27340 atrace-27096 (27096) [007] ...1 1034723.507301: tracing_mark_write: E|27096 27341 rild-917 ( 917) [004] ...1 1034723.507317: tracing_mark_write: B|917|HIDL::IBase::notifySyspropsChanged::server 27342 atrace-27096 (27096) [007] ...1 1034723.507318: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client 27343 hwservicemanag-570 ( 570) [003] ...1 1034723.507371: tracing_mark_write: B|570|HIDL::IServiceManager::get::server 27344 rild-917 ( 917) [004] ...1 1034723.507398: tracing_mark_write: E|917 27345 hwservicemanag-570 ( 570) [003] ...1 1034723.507481: tracing_mark_write: E|570 27346 atrace-27096 (27096) [003] ...1 1034723.507546: tracing_mark_write: E|27096 27347 atrace-27096 (27096) [003] ...1 1034723.507553: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client 27348 atrace-27096 (27096) [003] ...1 1034723.507581: tracing_mark_write: E|27096 27349 atrace-27096 (27096) [003] ...1 1034723.507595: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client 27350 rild-917 ( 917) [004] ...1 1034723.507601: tracing_mark_write: B|917|HIDL::IBase::notifySyspropsChanged::server 27351 hwservicemanag-570 ( 570) [000] ...1 1034723.507631: tracing_mark_write: B|570|HIDL::IServiceManager::get::server 27352 rild-917 ( 917) [004] ...1 1034723.507674: tracing_mark_write: E|917 27353 hwservicemanag-570 ( 570) [000] ...1 1034723.507745: tracing_mark_write: E|570 27354 atrace-27096 (27096) [004] ...1 1034723.507807: tracing_mark_write: E|27096 27355 atrace-27096 (27096) [004] ...1 1034723.507816: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client 27356 atrace-27096 (27096) [004] ...1 1034723.507852: tracing_mark_write: E|27096 27357 rild-917 ( 917) [006] ...1 1034723.507867: tracing_mark_write: B|917|HIDL::IBase::notifySyspropsChanged::server 27358 atrace-27096 (27096) [004] ...1 1034723.507869: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client 27359 hwservicemanag-570 ( 570) [003] ...1 1034723.507916: tracing_mark_write: B|570|HIDL::IServiceManager::get::server 27360 rild-917 ( 917) [006] ...1 1034723.507950: tracing_mark_write: E|917 27361 hwservicemanag-570 ( 570) [003] ...1 1034723.508010: tracing_mark_write: E|570 27362 atrace-27096 (27096) [003] ...1 1034723.508066: tracing_mark_write: E|27096 27363 atrace-27096 (27096) [003] ...1 1034723.508072: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client 27364 atrace-27096 (27096) [003] ...1 1034723.508100: tracing_mark_write: E|27096 27365 atrace-27096 (27096) [003] ...1 1034723.508111: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client 27366 HwBinder:890_1-946 ( 890) [006] ...1 1034723.508130: tracing_mark_write: B|890|HIDL::IBase::notifySyspropsChanged::server 27367 hwservicemanag-570 ( 570) [000] ...1 1034723.508145: tracing_mark_write: B|570|HIDL::IServiceManager::get::server 27368 HwBinder:890_1-946 ( 890) [006] ...1 1034723.508215: tracing_mark_write: E|890 27369 hwservicemanag-570 ( 570) [000] ...1 1034723.508232: tracing_mark_write: E|570 27370 atrace-27096 (27096) [006] ...1 1034723.508313: tracing_mark_write: E|27096 27371 atrace-27096 (27096) [006] ...1 1034723.508321: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client 27372 atrace-27096 (27096) [006] ...1 1034723.508353: tracing_mark_write: E|27096 27373 atrace-27096 (27096) [006] ...1 1034723.508368: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client 27374 HwBinder:890_1-946 ( 890) [004] ...1 1034723.508368: tracing_mark_write: B|890|HIDL::IBase::notifySyspropsChanged::server 27375 hwservicemanag-570 ( 570) [003] ...1 1034723.508415: tracing_mark_write: B|570|HIDL::IServiceManager::get::server 27376 HwBinder:890_1-946 ( 890) [004] ...1 1034723.508448: tracing_mark_write: E|890 27377 hwservicemanag-570 ( 570) [003] ...1 1034723.508507: tracing_mark_write: E|570 27378 atrace-27096 (27096) [003] ...1 1034723.508563: tracing_mark_write: E|27096 27379 atrace-27096 (27096) [003] ...1 1034723.508569: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client 27380 atrace-27096 (27096) [003] ...1 1034723.508598: tracing_mark_write: E|27096 27381 atrace-27096 (27096) [003] ...1 1034723.508610: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client 27382 hwservicemanag-570 ( 570) [003] ...1 1034723.508650: tracing_mark_write: B|570|HIDL::IServiceManager::get::server 27383 hwservicemanag-570 ( 570) [003] ...1 1034723.508740: tracing_mark_write: E|570 27384 atrace-27096 (27096) [004] ...1 1034723.508800: tracing_mark_write: E|27096 27385 atrace-27096 (27096) [004] ...1 1034723.508808: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client 27386 atrace-27096 (27096) [004] ...1 1034723.508848: tracing_mark_write: E|27096 27387 atrace-27096 (27096) [004] ...1 1034723.508862: tracing_mark_write: E|27096 27388 rild-917 ( 917) [006] ...1 1034723.508863: tracing_mark_write: B|917|HIDL::IBase::notifySyspropsChanged::server 27389 rild-917 ( 917) [006] ...1 1034723.508939: tracing_mark_write: E|917 27390 </script> 27391 <script class="trace-data" type="application/text"> 27392{"traceEvents": [{"category": "process_argv", "name": "process_argv", "args": {"argv": ["/tmp/sar.systrace_sh.sar.0.9CzsyqQ9sZ/systrace_sh.runfiles/google3/third_party/java/android/android_sdk_linux/platforms/experimental/build-tools/systrace/systrace.py", "-e", "FA7BN1A03755", "-o", "/var/www/mh_lab_gen_files/c5d48edf-3a6f-4f85-8d5d-476a33a7834b/test_83e62778-66cb-4be0-94b2-c991ec74574e/systrace.html", "nnapi", "hal", "--app=com.google.android.testing.mlts.benchmark.mobileiq", "-b", "131072"]}, "pid": 102360, "ts": 12743874060593.143, "tid": 139948335695616, "ph": "M"}, {"category": "python", "name": "clock_sync", "args": {"issue_ts": 12743897028173.988, "sync_id": "ed6e2e24-98d1-4b4b-83d2-7509d113d490"}, "pid": 102360, "ts": 12743897032380.14, "tid": 139948390774592, "ph": "c"}], "metadata": {"clock-domain": "SYSTRACE"}} </script> 27393<!-- END TRACE --> 27394</body> 27395</html> 27396