// WARNING: This file is machine generated by fidlgen.

#![feature(futures_api, pin, arbitrary_self_types, nll)]
#![allow(warnings)]

extern crate fuchsia_async;
extern crate fuchsia_zircon as zx;
#[macro_use]
extern crate fidl;
#[macro_use]
extern crate futures;
use fidl::encoding::{Encodable, Decodable};
use futures::{Future, Stream, StreamExt};
use std::ops::Deref;

