code: def landsat_c1_sr_cloud_mask(input_img, cloud_confidence=3, snow_flag=False):
      
      qa_img = input_img.select(['pixel_qa'])
      cloud_mask = qa_img.rightShift(5).bitwiseAnd(1).neq(0)\
          .And(qa_img.rightShift(6).bitwiseAnd(3).gte(cloud_confidence))\
          .Or(qa_img.rightShift(3).bitwiseAnd(1).neq(0))
      if snow_flag:
          cloud_mask = cloud_mask.Or(qa_img.rightShift(4).bitwiseAnd(1).neq(0))
  
      # Set cloudy pixels to 0 and clear to 1
      return cloud_mask.Not()
docs: Extract cloud mask from the Landsat Collection 1 SR pixel_qa band
  
      Parameters
      ----------
      img : ee.Image
          Image from a Landsat Collection 1 SR image collection with a pixel_qa
          band (e.g. LANDSAT/LE07/C01/T1_SR).
      cloud_confidence : int
          Minimum cloud confidence value (the default is 3).
      snow_flag : bool
          If true, mask snow pixels (the default is False).
  
      Returns
      -------
      ee.Image
  
      Notes
      -----
      Output image is structured to be applied directly with updateMask()
          i.e. 0 is cloud, 1 is cloud free
  
      Assuming Cloud must be set to check Cloud Confidence
  
      Bits
          0: Fill
          1: Clear
          2: Water
          3: Cloud Shadow
          4: Snow
          5: Cloud
          6-7: Cloud Confidence
  
      Confidence values
          00: "None"
          01: "Low"
          10: "Medium"
          11: "High"
  
      References
      ----------
      https://landsat.usgs.gov/landsat-surface-reflectance-quality-assessment