docs: def read_object(ctx, pin, object_id):
      """
      Read arbitrary PIV object.
  
      Read PIV object by providing the object id.
  
      \b
      OBJECT-ID       Id of PIV object in HEX.
      """
  
      controller = ctx.obj['controller']
  
      def do_read_object(retry=True):
          try:
              click.echo(controller.get_data(object_id))
          except APDUError as e:
              if e.sw == SW.NOT_FOUND:
                  ctx.fail('No data found.')
              elif e.sw == SW.SECURITY_CONDITION_NOT_SATISFIED:
                  _verify_pin(ctx, controller, pin)
                  do_read_object(retry=False)
              else:
                  raise
  
      do_read_object()