code: def uninstall_wic(self, wic_slot_number):
          
  
          # WICs are always installed on adapters in slot 0
          slot_number = 0
  
          # Do not check if slot has an adapter because adapters with WICs interfaces
          # must be inserted by default in the router and cannot be removed.
          adapter = self._slots[slot_number]
  
          if wic_slot_number > len(adapter.wics) - 1:
              raise DynamipsError("WIC slot {wic_slot_number} doesn't exist".format(wic_slot_number=wic_slot_number))
  
          if adapter.wic_slot_available(wic_slot_number):
              raise DynamipsError("No WIC is installed in WIC slot {wic_slot_number}".format(wic_slot_number=wic_slot_number))
  
          # Dynamips WICs slot IDs start on a multiple of 16
          # WIC1 = 16, WIC2 = 32 and WIC3 = 48
          internal_wic_slot_number = 16 * (wic_slot_number + 1)
          yield from self._hypervisor.send('vm slot_remove_binding "{name}" {slot_number} {wic_slot_number}'.format(name=self._name,
                                                                                                                    slot_number=slot_number,
                                                                                                                    wic_slot_number=internal_wic_slot_number))
  
          log.info('Router "{name}" [{id}]: {wic} removed from WIC slot {wic_slot_number}'.format(name=self._name,
                                                                                                  id=self._id,
                                                                                                  wic=adapter.wics[wic_slot_number],
                                                                                                  wic_slot_number=wic_slot_number))
          adapter.uninstall_wic(wic_slot_number)
docs: Uninstalls a WIC adapter from this router.
  
          :param wic_slot_number: WIC slot number