Traceback (most recent call last):
  File "/Users/magicliang/Desktop/Programming/git/hexo-blog/examples/system-design/labs/35/session-ticket/check_capture_protocol.py", line 72, in <module>
    results = list(pool.map(recover, range(16)))
  File "/opt/homebrew/Cellar/python@3.14/3.14.4/Frameworks/Python.framework/Versions/3.14/lib/python3.14/concurrent/futures/_base.py", line 639, in result_iterator
    yield _result_or_cancel(fs.pop())
          ~~~~~~~~~~~~~~~~~^^^^^^^^^^
  File "/opt/homebrew/Cellar/python@3.14/3.14.4/Frameworks/Python.framework/Versions/3.14/lib/python3.14/concurrent/futures/_base.py", line 311, in _result_or_cancel
    return fut.result(timeout)
           ~~~~~~~~~~^^^^^^^^^
  File "/opt/homebrew/Cellar/python@3.14/3.14.4/Frameworks/Python.framework/Versions/3.14/lib/python3.14/concurrent/futures/_base.py", line 443, in result
    return self.__get_result()
           ~~~~~~~~~~~~~~~~~^^
  File "/opt/homebrew/Cellar/python@3.14/3.14.4/Frameworks/Python.framework/Versions/3.14/lib/python3.14/concurrent/futures/_base.py", line 395, in __get_result
    raise self._exception
  File "/opt/homebrew/Cellar/python@3.14/3.14.4/Frameworks/Python.framework/Versions/3.14/lib/python3.14/concurrent/futures/thread.py", line 86, in run
    result = ctx.run(self.task)
  File "/opt/homebrew/Cellar/python@3.14/3.14.4/Frameworks/Python.framework/Versions/3.14/lib/python3.14/concurrent/futures/thread.py", line 73, in run
    return fn(*args, **kwargs)
  File "/Users/magicliang/Desktop/Programming/git/hexo-blog/examples/system-design/labs/35/session-ticket/check_capture_protocol.py", line 68, in recover
    return store.recover('concurrent-recovery')
           ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/magicliang/Desktop/Programming/git/hexo-blog/examples/system-design/labs/35/session-ticket/capture_protocol.py", line 172, in recover
    raise Conflict('provider charged before inventory pin; strong promise violated')
tickets.Conflict: provider charged before inventory pin; strong promise violated
