from collections import deque
from itertools import count


price = {}


class PricingLogic:

    def __repr__(self):
        return "<PricingLogic: {}>".format(self.panel_id)


# Method that's meaningfully faster than sum(1 for i in it) when the iterable may be long
# while maintaining fixed memory overhead behavior
def ilen(it):
    # Make a stateful counting iterator
    cnt = count()
    # zip it with the input iterator, then drain until input exhausted at C level
    deque(zip(it, cnt), 0)  # cnt must be second zip arg to avoid advancing too far
    # Since count 0 based, the next value is the count
    return next(cnt)


def recur_collection_search(collection):
    for v in (collection.values() if isinstance(collection, dict) else collection):
        if isinstance(v, list):
            if len(v) > 10:
                yield True
            # search list deeper
            yield from recur_collection_search(v)
        elif isinstance(v, dict):
            # search dict deeper
            yield from recur_collection_search(v)

dc44c3421e352be22829b64f95704de3e85eaa4d
<mask token>


class PricingLogic:

    def __repr__(self):
        return '<PricingLogic: {}>'.format(self.panel_id)


<mask token>


def recur_collection_search(collection):
    for v in (collection.values() if isinstance(collection, dict) else
        collection):
        if isinstance(v, list):
            if len(v) > 10:
                yield True
            yield from recur_collection_search(v)
        elif isinstance(v, dict):
            yield from recur_collection_search(v)

<mask token>


class PricingLogic:

    def __repr__(self):
        return '<PricingLogic: {}>'.format(self.panel_id)


def ilen(it):
    cnt = count()
    deque(zip(it, cnt), 0)
    return next(cnt)


def recur_collection_search(collection):
    for v in (collection.values() if isinstance(collection, dict) else
        collection):
        if isinstance(v, list):
            if len(v) > 10:
                yield True
            yield from recur_collection_search(v)
        elif isinstance(v, dict):
            yield from recur_collection_search(v)

<mask token>
price = {}


class PricingLogic:

    def __repr__(self):
        return '<PricingLogic: {}>'.format(self.panel_id)


def ilen(it):
    cnt = count()
    deque(zip(it, cnt), 0)
    return next(cnt)


def recur_collection_search(collection):
    for v in (collection.values() if isinstance(collection, dict) else
        collection):
        if isinstance(v, list):
            if len(v) > 10:
                yield True
            yield from recur_collection_search(v)
        elif isinstance(v, dict):
            yield from recur_collection_search(v)

from collections import deque
from itertools import count
price = {}


class PricingLogic:

    def __repr__(self):
        return '<PricingLogic: {}>'.format(self.panel_id)


def ilen(it):
    cnt = count()
    deque(zip(it, cnt), 0)
    return next(cnt)


def recur_collection_search(collection):
    for v in (collection.values() if isinstance(collection, dict) else
        collection):
        if isinstance(v, list):
            if len(v) > 10:
                yield True
            yield from recur_collection_search(v)
        elif isinstance(v, dict):
            yield from recur_collection_search(v)

from collections import deque
from itertools import count


price = {}


class PricingLogic:

    def __repr__(self):
        return "<PricingLogic: {}>".format(self.panel_id)


# Method that's meaningfully faster than sum(1 for i in it) when the iterable may be long
# while maintaining fixed memory overhead behavior
def ilen(it):
    # Make a stateful counting iterator
    cnt = count()
    # zip it with the input iterator, then drain until input exhausted at C level
    deque(zip(it, cnt), 0)  # cnt must be second zip arg to avoid advancing too far
    # Since count 0 based, the next value is the count
    return next(cnt)


def recur_collection_search(collection):
    for v in (collection.values() if isinstance(collection, dict) else collection):
        if isinstance(v, list):
            if len(v) > 10:
                yield True
            # search list deeper
            yield from recur_collection_search(v)
        elif isinstance(v, dict):
            # search dict deeper
            yield from recur_collection_search(v)
