{
  "results": [
    {
      "crash": {
        "engineVariant": {
          "os": "ios",
          "arch": "arm64",
          "mode": "release"
        },
        "frames": [
          {
            "no": "0",
            "binary": "IOGPU",
            "pc": 7703464844,
            "symbol": "-[IOGPUMetalCommandBuffer commandBufferResourceInfo]",
            "offset": 12,
            "location": "",
            "runtimeType": "ios"
          },
          {
            "no": "1",
            "binary": "AGXMetalA9",
            "pc": 7920088288,
            "symbol": "(Missing)",
            "offset": null,
            "location": "",
            "runtimeType": "ios"
          },
          {
            "no": "2",
            "binary": "AGXMetalA9",
            "pc": 7919559688,
            "symbol": "(Missing)",
            "offset": null,
            "location": "",
            "runtimeType": "ios"
          },
          {
            "no": "3",
            "binary": "AGXMetalA9",
            "pc": 7919611888,
            "symbol": "(Missing)",
            "offset": null,
            "location": "",
            "runtimeType": "ios"
          },
          {
            "no": "4",
            "binary": "Flutter",
            "pc": 4395708724,
            "symbol": "(Missing)",
            "offset": null,
            "location": "",
            "runtimeType": "ios"
          },
          {
            "no": "5",
            "binary": "Flutter",
            "pc": 4395721188,
            "symbol": "(Missing)",
            "offset": null,
            "location": "",
            "runtimeType": "ios"
          },
          {
            "no": "6",
            "binary": "Flutter",
            "pc": 4394745476,
            "symbol": "(Missing)",
            "offset": null,
            "location": "",
            "runtimeType": "ios"
          },
          {
            "no": "7",
            "binary": "Flutter",
            "pc": 4394744548,
            "symbol": "(Missing)",
            "offset": null,
            "location": "",
            "runtimeType": "ios"
          },
          {
            "no": "8",
            "binary": "Flutter",
            "pc": 4394867300,
            "symbol": "(Missing)",
            "offset": null,
            "location": "",
            "runtimeType": "ios"
          },
          {
            "no": "9",
            "binary": "Flutter",
            "pc": 4394792692,
            "symbol": "(Missing)",
            "offset": null,
            "location": "",
            "runtimeType": "ios"
          },
          {
            "no": "10",
            "binary": "Flutter",
            "pc": 4394914004,
            "symbol": "(Missing)",
            "offset": null,
            "location": "",
            "runtimeType": "ios"
          },
          {
            "no": "11",
            "binary": "Flutter",
            "pc": 4394791632,
            "symbol": "(Missing)",
            "offset": null,
            "location": "",
            "runtimeType": "ios"
          },
          {
            "no": "12",
            "binary": "Flutter",
            "pc": 4394648788,
            "symbol": "(Missing)",
            "offset": null,
            "location": "",
            "runtimeType": "ios"
          },
          {
            "no": "13",
            "binary": "Flutter",
            "pc": 4395403972,
            "symbol": "(Missing)",
            "offset": null,
            "location": "",
            "runtimeType": "ios"
          },
          {
            "no": "14",
            "binary": "Flutter",
            "pc": 4396742256,
            "symbol": "(Missing)",
            "offset": null,
            "location": "",
            "runtimeType": "ios"
          },
          {
            "no": "15",
            "binary": "Flutter",
            "pc": 4393174888,
            "symbol": "(Missing)",
            "offset": null,
            "location": "",
            "runtimeType": "ios"
          },
          {
            "no": "16",
            "binary": "Flutter",
            "pc": 4396740432,
            "symbol": "(Missing)",
            "offset": null,
            "location": "",
            "runtimeType": "ios"
          },
          {
            "no": "17",
            "binary": "Flutter",
            "pc": 4393169996,
            "symbol": "(Missing)",
            "offset": null,
            "location": "",
            "runtimeType": "ios"
          },
          {
            "no": "18",
            "binary": "Flutter",
            "pc": 4393178048,
            "symbol": "(Missing)",
            "offset": null,
            "location": "",
            "runtimeType": "ios"
          },
          {
            "no": "19",
            "binary": "CoreFoundation",
            "pc": 6747212336,
            "symbol": "__CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__",
            "offset": 28,
            "location": "",
            "runtimeType": "ios"
          },
          {
            "no": "20",
            "binary": "CoreFoundation",
            "pc": 6747211316,
            "symbol": "__CFRunLoopDoTimer",
            "offset": 1004,
            "location": "",
            "runtimeType": "ios"
          },
          {
            "no": "21",
            "binary": "CoreFoundation",
            "pc": 6747208468,
            "symbol": "__CFRunLoopDoTimers",
            "offset": 324,
            "location": "",
            "runtimeType": "ios"
          },
          {
            "no": "22",
            "binary": "CoreFoundation",
            "pc": 6747184816,
            "symbol": "__CFRunLoopRun",
            "offset": 1912,
            "location": "",
            "runtimeType": "ios"
          },
          {
            "no": "23",
            "binary": "CoreFoundation",
            "pc": 6747181568,
            "symbol": "CFRunLoopRunSpecific",
            "offset": 572,
            "location": "",
            "runtimeType": "ios"
          },
          {
            "no": "24",
            "binary": "Flutter",
            "pc": 4393177756,
            "symbol": "(Missing)",
            "offset": null,
            "location": "",
            "runtimeType": "ios"
          },
          {
            "no": "25",
            "binary": "Flutter",
            "pc": 4393176100,
            "symbol": "(Missing)",
            "offset": null,
            "location": "",
            "runtimeType": "ios"
          },
          {
            "no": "26",
            "binary": "libsystem_pthread.dylib",
            "pc": 7914433392,
            "symbol": "_pthread_start",
            "offset": 288,
            "location": "",
            "runtimeType": "ios"
          },
          {
            "no": "27",
            "binary": "libsystem_pthread.dylib",
            "pc": 7914453120,
            "symbol": "thread_start",
            "offset": 8,
            "location": "",
            "runtimeType": "ios"
          }
        ],
        "format": "native",
        "androidMajorVersion": null
      },
      "engineBuild": {
        "engineHash": "b8752bbfff0419c8bf616b602bc59fd28f6a3d1b",
        "variant": {
          "os": "ios",
          "arch": "arm64",
          "mode": "release"
        }
      },
      "symbolized": "#00 00000001cb298b8c IOGPU -[IOGPUMetalCommandBuffer commandBufferResourceInfo] + 12\n#01 00000001d812f4e0 AGXMetalA9 (Missing)\n#02 00000001d80ae408 AGXMetalA9 (Missing)\n#03 00000001d80baff0 AGXMetalA9 (Missing)\n#04 0000000106013134 Flutter Flutter + 2781492\n                             GrMtlCommandBuffer::getBlitCommandEncoder()\n                             third_party/skia/src/gpu/mtl/GrMtlCommandBuffer.mm:45:37\n#05 00000001060161e4 Flutter Flutter + 2793956\n                             GrMtlGpu::uploadToTexture(GrMtlTexture*, int, int, int, int, GrColorType, GrMipLevel const*, int)\n                             third_party/skia/src/gpu/mtl/GrMtlGpu.mm:364:71\n                             GrMtlGpu::onWritePixels(GrSurface*, int, int, int, int, GrColorType, GrColorType, GrMipLevel const*, int, bool)\n                             third_party/skia/src/gpu/mtl/GrMtlGpu.mm:1205:0\n#06 0000000105f27e84 Flutter Flutter + 1818244\n                             GrGpu::writePixels(GrSurface*, int, int, int, int, GrColorType, GrColorType, GrMipLevel const*, int, bool)\n                             third_party/skia/src/gpu/GrGpu.cpp:465:15\n#07 0000000105f27ae4 Flutter Flutter + 1817316\n                             GrGpu::createTexture(SkISize, GrBackendFormat const&, GrRenderable, int, SkBudgeted, GrProtected, GrColorType, GrColorType, GrMipLevel const*, int)\n                             third_party/skia/src/gpu/GrGpu.cpp:205:24\n#08 0000000105f45a64 Flutter Flutter + 1940068\n                             GrResourceProvider::createTexture(SkISize, GrBackendFormat const&, GrColorType, GrRenderable, int, SkBudgeted, GrProtected, GrMipLevel const*, int)\n                             third_party/skia/src/gpu/GrResourceProvider.cpp:86:18\n#09 0000000105f336f4 Flutter Flutter + 1865460\n                             GrProxyProvider::createMippedProxyFromBitmap(SkBitmap const&, SkBudgeted)::$_1::operator()(GrResourceProvider*, GrSurfaceProxy::LazySurfaceDesc const&) const\n                             third_party/skia/src/gpu/GrProxyProvider.cpp:376:61\n                             decltype(std::__1::forward<GrProxyProvider::createMippedProxyFromBitmap(SkBitmap const&, SkBudgeted)::$_1&>(fp)(std::__1::forward<GrResourceProvider*>(fp0), std::__1::forward<GrSurfaceProxy::LazySurfaceDesc const&>(fp0))) std::__1::__invoke<GrProxyProvider::createMippedProxyFromBitmap(SkBitmap const&, SkBudgeted)::$_1&, GrResourceProvider*, GrSurfaceProxy::LazySurfaceDesc const&>(GrProxyProvider::createMippedProxyFromBitmap(SkBitmap const&, SkBudgeted)::$_1&, GrResourceProvider*&&, GrSurfaceProxy::LazySurfaceDesc const&)\n                             /opt/s/w/ir/cache/osx_sdk/XCode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/type_traits:4361:0\n                             GrSurfaceProxy::LazyCallbackResult std::__1::__invoke_void_return_wrapper<GrSurfaceProxy::LazyCallbackResult>::__call<GrProxyProvider::createMippedProxyFromBitmap(SkBitmap const&, SkBudgeted)::$_1&, GrResourceProvider*, GrSurfaceProxy::LazySurfaceDesc const&>(GrProxyProvider::createMippedProxyFromBitmap(SkBitmap const&, SkBudgeted)::$_1&, GrResourceProvider*&&, GrSurfaceProxy::LazySurfaceDesc const&)\n                             /opt/s/w/ir/cache/osx_sdk/XCode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/__functional_base:318:0\n                             std::__1::__function::__alloc_func<GrProxyProvider::createMippedProxyFromBitmap(SkBitmap const&, SkBudgeted)::$_1, std::__1::allocator<GrProxyProvider::createMippedProxyFromBitmap(SkBitmap const&, SkBudgeted)::$_1>, GrSurfaceProxy::LazyCallbackResult (GrResourceProvider*, GrSurfaceProxy::LazySurfaceDesc const&)>::operator()(GrResourceProvider*&&, GrSurfaceProxy::LazySurfaceDesc const&)\n                             /opt/s/w/ir/cache/osx_sdk/XCode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional:1527:0\n                             std::__1::__function::__func<GrProxyProvider::createMippedProxyFromBitmap(SkBitmap const&, SkBudgeted)::$_1, std::__1::allocator<GrProxyProvider::createMippedProxyFromBitmap(SkBitmap const&, SkBudgeted)::$_1>, GrSurfaceProxy::LazyCallbackResult (GrResourceProvider*, GrSurfaceProxy::LazySurfaceDesc const&)>::operator()(GrResourceProvider*&&, GrSurfaceProxy::LazySurfaceDesc const&)\n                             /opt/s/w/ir/cache/osx_sdk/XCode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional:1651:0\n#10 0000000105f510d4 Flutter Flutter + 1986772\n                             std::__1::__function::__value_func<GrSurfaceProxy::LazyCallbackResult (GrResourceProvider*, GrSurfaceProxy::LazySurfaceDesc const&)>::operator()(GrResourceProvider*&&, GrSurfaceProxy::LazySurfaceDesc const&) const\n                             /opt/s/w/ir/cache/osx_sdk/XCode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional:1799:16\n                             std::__1::function<GrSurfaceProxy::LazyCallbackResult (GrResourceProvider*, GrSurfaceProxy::LazySurfaceDesc const&)>::operator()(GrResourceProvider*, GrSurfaceProxy::LazySurfaceDesc const&) const\n                             /opt/s/w/ir/cache/osx_sdk/XCode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional:2347:0\n                             GrSurfaceProxyPriv::doLazyInstantiation(GrResourceProvider*)\n                             third_party/skia/src/gpu/GrSurfaceProxy.cpp:375:0\n#11 0000000105f332d0 Flutter Flutter + 1864400\n                             GrProxyProvider::createProxyFromBitmap(SkBitmap const&, GrMipmapped, SkBackingFit, SkBudgeted)\n                             third_party/skia/src/gpu/GrProxyProvider.cpp:305:28\n#12 0000000105f104d4 Flutter Flutter + 1721556\n                             GrBitmapTextureMaker::refOriginalTextureProxyView(GrMipmapped)\n                             third_party/skia/src/gpu/GrBitmapTextureMaker.cpp:90:36\n#13 0000000105fc8ac4 Flutter Flutter + 2476740\n                             SkImage::MakeCrossContextFromPixmap(GrDirectContext*, SkPixmap const&, bool, bool)\n                             third_party/skia/src/image/SkImage_Gpu.cpp:637:29\n#14 000000010610f670 Flutter Flutter + 3815024\n                             flutter::UploadRasterImage(sk_sp<SkImage>, fml::WeakPtr<flutter::IOManager>, fml::tracing::TraceFlow const&)::$_3::operator()() const\n                             flutter/lib/ui/painting/image_decoder.cc:199:44\n                             decltype(std::__1::forward<flutter::UploadRasterImage(sk_sp<SkImage>, fml::WeakPtr<flutter::IOManager>, fml::tracing::TraceFlow const&)::$_3&>(fp)()) std::__1::__invoke<flutter::UploadRasterImage(sk_sp<SkImage>, fml::WeakPtr<flutter::IOManager>, fml::tracing::TraceFlow const&)::$_3&>(flutter::UploadRasterImage(sk_sp<SkImage>, fml::WeakPtr<flutter::IOManager>, fml::tracing::TraceFlow const&)::$_3&)\n                             /opt/s/w/ir/cache/osx_sdk/XCode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/type_traits:4361:0\n                             void std::__1::__invoke_void_return_wrapper<void>::__call<flutter::UploadRasterImage(sk_sp<SkImage>, fml::WeakPtr<flutter::IOManager>, fml::tracing::TraceFlow const&)::$_3&>(flutter::UploadRasterImage(sk_sp<SkImage>, fml::WeakPtr<flutter::IOManager>, fml::tracing::TraceFlow const&)::$_3&)\n                             /opt/s/w/ir/cache/osx_sdk/XCode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/__functional_base:349:0\n                             std::__1::__function::__alloc_func<flutter::UploadRasterImage(sk_sp<SkImage>, fml::WeakPtr<flutter::IOManager>, fml::tracing::TraceFlow const&)::$_3, std::__1::allocator<flutter::UploadRasterImage(sk_sp<SkImage>, fml::WeakPtr<flutter::IOManager>, fml::tracing::TraceFlow const&)::$_3>, void ()>::operator()()\n                             /opt/s/w/ir/cache/osx_sdk/XCode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional:1527:0\n                             std::__1::__function::__func<flutter::UploadRasterImage(sk_sp<SkImage>, fml::WeakPtr<flutter::IOManager>, fml::tracing::TraceFlow const&)::$_3, std::__1::allocator<flutter::UploadRasterImage(sk_sp<SkImage>, fml::WeakPtr<flutter::IOManager>, fml::tracing::TraceFlow const&)::$_3>, void ()>::operator()()\n                             /opt/s/w/ir/cache/osx_sdk/XCode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional:1651:0\n#15 0000000105da8768 Flutter Flutter + 247656\n                             fml::SyncSwitch::Execute(fml::SyncSwitch::Handlers const&)\n                             flutter/fml/synchronization/sync_switch.cc:0:0\n#16 000000010610ef50 Flutter Flutter + 3813200\n                             flutter::UploadRasterImage(sk_sp<SkImage>, fml::WeakPtr<flutter::IOManager>, fml::tracing::TraceFlow const&)\n                             flutter/lib/ui/painting/image_decoder.cc:184:45\n                             flutter::ImageDecoder::Decode(fml::RefPtr<flutter::ImageDescriptor>, unsigned int, unsigned int, std::__1::function<void (flutter::SkiaGPUObject<SkImage>)> const&)::$_1::operator()()::'lambda'()::operator()()\n                             flutter/lib/ui/painting/image_decoder.cc:295:0\n                             auto fml::internal::CopyableLambda<flutter::ImageDecoder::Decode(fml::RefPtr<flutter::ImageDescriptor>, unsigned int, unsigned int, std::__1::function<void (flutter::SkiaGPUObject<SkImage>)> const&)::$_1::operator()()::'lambda'()>::operator()<>() const\n                             flutter/fml/make_copyable.h:24:0\n                             decltype(std::__1::forward<fml::internal::CopyableLambda<flutter::ImageDecoder::Decode(fml::RefPtr<flutter::ImageDescriptor>, unsigned int, unsigned int, std::__1::function<void (flutter::SkiaGPUObject<SkImage>)> const&)::$_1::operator()()::'lambda'()>&>(fp)()) std::__1::__invoke<fml::internal::CopyableLambda<flutter::ImageDecoder::Decode(fml::RefPtr<flutter::ImageDescriptor>, unsigned int, unsigned int, std::__1::function<void (flutter::SkiaGPUObject<SkImage>)> const&)::$_1::operator()()::'lambda'()>&>(fml::internal::CopyableLambda<flutter::ImageDecoder::Decode(fml::RefPtr<flutter::ImageDescriptor>, unsigned int, unsigned int, std::__1::function<void (flutter::SkiaGPUObject<SkImage>)> const&)::$_1::operator()()::'lambda'()>&)\n                             /opt/s/w/ir/cache/osx_sdk/XCode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/type_traits:4361:0\n                             void std::__1::__invoke_void_return_wrapper<void>::__call<fml::internal::CopyableLambda<flutter::ImageDecoder::Decode(fml::RefPtr<flutter::ImageDescriptor>, unsigned int, unsigned int, std::__1::function<void (flutter::SkiaGPUObject<SkImage>)> const&)::$_1::operator()()::'lambda'()>&>(fml::internal::CopyableLambda<flutter::ImageDecoder::Decode(fml::RefPtr<flutter::ImageDescriptor>, unsigned int, unsigned int, std::__1::function<void (flutter::SkiaGPUObject<SkImage>)> const&)::$_1::operator()()::'lambda'()>&)\n                             /opt/s/w/ir/cache/osx_sdk/XCode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/__functional_base:349:0\n                             std::__1::__function::__alloc_func<fml::internal::CopyableLambda<flutter::ImageDecoder::Decode(fml::RefPtr<flutter::ImageDescriptor>, unsigned int, unsigned int, std::__1::function<void (flutter::SkiaGPUObject<SkImage>)> const&)::$_1::operator()()::'lambda'()>, std::__1::allocator<fml::internal::CopyableLambda<flutter::ImageDecoder::Decode(fml::RefPtr<flutter::ImageDescriptor>, unsigned int, unsigned int, std::__1::function<void (flutter::SkiaGPUObject<SkImage>)> const&)::$_1::operator()()::'lambda'()> >, void ()>::operator()()\n                             /opt/s/w/ir/cache/osx_sdk/XCode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional:1527:0\n                             std::__1::__function::__func<fml::internal::CopyableLambda<flutter::ImageDecoder::Decode(fml::RefPtr<flutter::ImageDescriptor>, unsigned int, unsigned int, std::__1::function<void (flutter::SkiaGPUObject<SkImage>)> const&)::$_1::operator()()::'lambda'()>, std::__1::allocator<fml::internal::CopyableLambda<flutter::ImageDecoder::Decode(fml::RefPtr<flutter::ImageDescriptor>, unsigned int, unsigned int, std::__1::function<void (flutter::SkiaGPUObject<SkImage>)> const&)::$_1::operator()()::'lambda'()> >, void ()>::operator()()\n                             /opt/s/w/ir/cache/osx_sdk/XCode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional:1651:0\n#17 0000000105da744c Flutter Flutter + 242764\n                             std::__1::__function::__value_func<void ()>::operator()() const\n                             /opt/s/w/ir/cache/osx_sdk/XCode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional:1799:16\n                             std::__1::function<void ()>::operator()() const\n                             /opt/s/w/ir/cache/osx_sdk/XCode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional:2347:0\n                             fml::MessageLoopImpl::FlushTasks(fml::FlushType)\n                             flutter/fml/message_loop_impl.cc:130:0\n#18 0000000105da93c0 Flutter Flutter + 250816\n                             fml::MessageLoopImpl::RunExpiredTasksNow()\n                             flutter/fml/message_loop_impl.cc:143:3\n                             fml::MessageLoopDarwin::OnTimerFire(__CFRunLoopTimer*, fml::MessageLoopDarwin*)\n                             flutter/fml/platform/darwin/message_loop_darwin.mm:75:0\n#19 00000001922a4a30 CoreFoundation __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__ + 28\n#20 00000001922a4634 CoreFoundation __CFRunLoopDoTimer + 1004\n#21 00000001922a3b14 CoreFoundation __CFRunLoopDoTimers + 324\n#22 000000019229deb0 CoreFoundation __CFRunLoopRun + 1912\n#23 000000019229d200 CoreFoundation CFRunLoopRunSpecific + 572\n#24 0000000105da929c Flutter Flutter + 250524\n                             fml::MessageLoopDarwin::Run()\n                             flutter/fml/platform/darwin/message_loop_darwin.mm:46:20\n#25 0000000105da8c24 Flutter Flutter + 248868\n                             fml::MessageLoopImpl::DoRun()\n                             flutter/fml/message_loop_impl.cc:96:3\n                             fml::MessageLoop::Run()\n                             flutter/fml/message_loop.cc:49:0\n                             fml::Thread::Thread(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)::$_0::operator()() const\n                             flutter/fml/thread.cc:36:0\n                             decltype(std::__1::forward<fml::Thread::Thread(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)::$_0>(fp)()) std::__1::__invoke<fml::Thread::Thread(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)::$_0>(fml::Thread::Thread(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)::$_0&&)\n                             /opt/s/w/ir/cache/osx_sdk/XCode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/type_traits:4361:0\n                             void std::__1::__thread_execute<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, fml::Thread::Thread(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)::$_0>(std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, fml::Thread::Thread(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)::$_0>&, std::__1::__tuple_indices<>)\n                             /opt/s/w/ir/cache/osx_sdk/XCode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/thread:342:0\n                             void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, fml::Thread::Thread(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)::$_0> >(void*)\n                             /opt/s/w/ir/cache/osx_sdk/XCode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/thread:352:0\n#26 00000001d7bcab70 libsystem_pthread.dylib _pthread_start + 288\n#27 00000001d7bcf880 libsystem_pthread.dylib thread_start + 8\n",
      "notes": [
        {
          "kind": "loadBaseDetected",
          "message": "0000000105d6c000"
        }
      ]
    }
  ],
  "runtimeType": "ok"
}