The GCSToLocalFilesystemOperator in Google Provider <=3.0.0  had wrong import for apply_defaults. It used

```
from airflow.sensors.base_sensor_operator import apply_defaults
```

instead of 

```
from airflow.utils.decorators import apply_defaults
```

When we removed `apply_defaults` in #15667, the base_sensor_operator import was removed as well which made the GCSToLocalFilestystemOperator stops working in 2.1.0

The import in base_sensor_operator will be restored in 2.1.1  and Google Provider 4.0.0 will work without problems after it is released. Workaround for 2.1.0 Airflow is to copy the code of the operator to DAG and use it temporarily until new versions are released. 
airflow/sensors/base.py
"""
        Register ti in smart sensor service
        :param ti: Task instance object.
        :param context: TaskInstance template context from the ti.
        :return: boolean
        """
        poke_context = self.get_poke_context(context)
        execution_context = self.get_execution_context(context)
        return SensorInstance.register(ti, poke_context, execution_context)
    def get_poke_context(self, context):
        """
        Return a dictionary with all attributes in poke_context_fields. The
        poke_context with operator class can be used to identify a unique
        sensor job.
        :param context: TaskInstance template context.
        :return: A dictionary with key in poke_context_fields.
        """
        if not context:
            self.log.info("Function get_poke_context doesn't have a context input.")
        poke_context_fields = getattr(self.__class__, "poke_context_fields", None)
        result = {key: getattr(self, key, None) for key in poke_context_fields}
        return result
    def get_execution_context(self, context):