end==end
        &#34;&#34;&#34;
        for intvl in self._by_start.irange(
            minimum=(start, 0, 0), maximum=(start, sys.maxsize, sys.maxsize)
        ):
            if intvl[1] == end:
                yield intvl

    def within(self, start, end):
        &#34;&#34;&#34;
        Returns intervals which are fully contained within start...end
        &#34;&#34;&#34;
        # get all the intervals that start within the range, then keep those which also end within the range
        for intvl in sel